diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e445c9d..4a04c78b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## v1.3.4 + +- [x] make streaming optional #109 +- [x] patch at-rule syntax for @font-feature-value #110 +- [x] support percentage in transform() and scale() #111 +- [x] allow arrays in visitor definition #112 + ## v1.3.3 - [x] relative color computation bug #105 diff --git a/README.md b/README.md index cfb0c905..fd1332f3 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ # css-parser -CSS parser and minifier for node and the browser +CSS parser, minifier and validator for node and the browser ## Installation @@ -101,7 +101,7 @@ Javascript module from cdn +
@tbela99/css-parser
    Preparing search index...

    Class SourceMapInternal

    Source map class

    -
    Index

    Constructors

    Index

    Constructors

    Methods

    Properties

    Constructors

    Methods

    Properties

    lastLocation: null | Location = null

    Last location

    -

    css‑parser is a fast, fault‑tolerant and dependency‑free CSS toolkit for Node.js & browsers. +It follows CSS Syntax Module Level 3 and validation using syntax rules from MDN Data. +According to this benchmark, it is one of the most efficient CSS minifier available.

    +

    See the full documentation at the CSS Parser documentation site

    +

    Try it online

    +
    diff --git a/docs/documents/Guide.Ast.html b/docs/documents/Guide.Ast.html new file mode 100644 index 00000000..da9053b3 --- /dev/null +++ b/docs/documents/Guide.Ast.html @@ -0,0 +1,210 @@ +Ast | @tbela99/css-parser

    the ast tree returned by the parser is always a AstStyleSheet node. +the other nodes +are AstRule, AstAtRule, AstDeclaration, AstComment, AstInvalidRule, AstInvalidAtRule, AstInvalidDeclaration

    +

    Ast rule tokens attribute is an array +of Token representing the parsed selector. +the sel attribute string that contains the rule's selector. +modifying the sel attribute does not affect the tokens attribute, and similarly, changes to the tokens attribute do not +update the sel attribute.

    +

    import {AstRule, parseDeclarations, ParserOptions, transform, parseDeclarations} from '@tbela99/css-parser';

    const options: ParserOptions = {

    visitor: {

    async Rule(node: AstRule): AstRule {

    node.sel = '.foo,.bar,.fubar';

    node.chi.push(...await parseDeclarations('width: 3px'));
    return node;
    }
    }
    };

    const css = `

    .foo {

    height: calc(100px * 2/ 15);
    }
    `;

    const result = await transform(css, options);
    console.debug(result.code);

    // .foo,.bar,.fubar{height:calc(40px/3);width:3px} +
    + +

    Ast at-rule tokens attribute is either null or an array +of Token representing the parsed prelude. +the val attribute string that contains the at-rule's prelude.

    +

    modifying the val attribute does not affect the tokens attribute, and similarly, changes to the tokens attribute do not +update the val attribute.

    +
    import {ParserOptions, transform, AstAtRule} from '@tbela99/css-parser';

    const options: ParserOptions = {

    visitor: {

    AtRule: {

    media: (node: AstAtRule): AstAtRule => {

    node.val = 'all';
    return node
    }
    }
    }
    };

    const css = `

    @media screen {

    .foo {

    height: calc(100px * 2/ 15);
    }
    }
    `;

    const result = await transform(css, options);
    console.debug(result.code);

    // .foo{height:calc(40px/3)} +
    + +

    Ast declaration nam attribute is the declaration name. the val +attribute is an array of Token representing the declaration's value.

    +

    import {AstDeclaration, EnumToken, LengthToken, ParserOptions, transform} from '@tbela99/css-parser';

    const options: ParserOptions = {

    visitor: {

    Declaration: {

    // called only for height declaration
    height: (node: AstDeclaration): AstDeclaration[] => {


    return [
    node,
    {

    typ: EnumToken.DeclarationNodeType,
    nam: 'width',
    val: [
    <LengthToken>{
    typ: EnumToken.LengthTokenType,
    val: 3,
    unit: 'px'
    }
    ]
    }
    ];
    }
    }
    }
    };

    const css = `

    .foo {
    height: calc(100px * 2/ 15);
    }
    .selector {
    color: lch(from peru calc(l * 0.8) calc(c * 0.7) calc(h + 180))
    }
    `;

    const result = await transform(css, options);
    console.debug(result.code);

    // .foo{height:calc(40px/3);width:3px}.selector{color:#0880b0} +
    + +

    ast traversal is achieved using walk()

    +

    import {walk} from '@tbela99/css-parser';

    const css = `
    body { color: color(from var(--base-color) display-p3 r calc(g + 0.24) calc(b + 0.15)); }

    html,
    body {
    line-height: 1.474;
    }

    .ruler {

    height: 10px;
    }
    `;

    for (const {node, parent, root} of walk(ast)) {

    // do something with node
    } +
    + +

    ast traversal can be controlled using a filter function. the filter function returns a value of type WalkerOption.

    +

    import {EnumToken, transform, walk, WalkerOptionEnum} from '@tbela99/css-parser';

    const css = `
    body { color: color(from var(--base-color) display-p3 r calc(g + 0.24) calc(b + 0.15)); }

    html,
    body {
    line-height: 1.474;
    }

    .ruler {

    height: 10px;
    }
    `;

    function filter(node) {

    if (node.typ == EnumToken.AstRule && node.sel.includes('html')) {

    // skip the children of the current node
    return WalkerOptionEnum.IgnoreChildren;
    }
    }

    const result = await transform(css);
    for (const {node} of walk(result.ast, filter)) {

    console.error([EnumToken[node.typ]]);
    }

    // [ "StyleSheetNodeType" ]
    // [ "RuleNodeType" ]
    // [ "DeclarationNodeType" ]
    // [ "RuleNodeType" ]
    // [ "DeclarationNodeType" ]
    // [ "RuleNodeType" ]
    // [ "DeclarationNodeType" ]
    +
    + +

    the function walkValues() is used to walk the node attribute's tokens.

    +

    import {AstDeclaration, EnumToken, transform, walkValues} from '@tbela99/css-parser';

    const css = `
    body { color: color(from var(--base-color) display-p3 r calc(g + 0.24) calc(b + 0.15)); }
    `;

    const result = await transform(css);
    const declaration = result.ast.chi[0].chi[0] as AstDeclaration;

    // walk the node attribute's tokens in reverse order
    for (const {value} of walkValues(declaration.val, null, null,true)) {

    console.error([EnumToken[value.typ], value.val]);
    }

    // [ "Color", "color" ]
    // [ "FunctionTokenType", "calc" ]
    // [ "Number", 0.15 ]
    // [ "Add", undefined ]
    // [ "Iden", "b" ]
    // [ "Whitespace", undefined ]
    // [ "FunctionTokenType", "calc" ]
    // [ "Number", 0.24 ]
    // [ "Add", undefined ]
    // [ "Iden", "g" ]
    // [ "Whitespace", undefined ]
    // [ "Iden", "r" ]
    // [ "Whitespace", undefined ]
    // [ "Iden", "display-p3" ]
    // [ "Whitespace", undefined ]
    // [ "FunctionTokenType", "var" ]
    // [ "DashedIden", "--base-color" ]
    // [ "Whitespace", undefined ]
    // [ "Iden", "from" ] +
    + +
    diff --git a/docs/documents/Guide.Custom_transform.html b/docs/documents/Guide.Custom_transform.html index 48d2e637..03536590 100644 --- a/docs/documents/Guide.Custom_transform.html +++ b/docs/documents/Guide.Custom_transform.html @@ -156,36 +156,38 @@ --md-sys-color-surface-container-high: #efe7de; --md-sys-color-surface-container-highest: #e9e1d9 } -

    visitors are used to alter the ast. they should return null or nodes of the same type as the node they are called on. -non null values will replace the current node.

    +

    visitors are used to alter the ast tree produced by the parser. for more information about the visitor object see the typescript definition

    +

    visitors can be called when the node is entered, visited or left.

    +

    import {AstAtRule, ParserOptions, transform, VisitorNodeMap, WalkerEvent} from "@tbela99/css-parser";
    const options: ParserOptions = {

    visitor: [
    {

    AtRule: [
    (node: AstAtRule): AstAtRule => {

    console.error(`> visiting '@${node.nam}' node at position ${node.loc!.sta.lin}:${node.loc!.sta.col}`);
    return node
    }, {

    media: (node: AstAtRule): AstAtRule => {

    console.error(`> visiting only '@${node.nam}' node at position ${node.loc!.sta.lin}:${node.loc!.sta.col}`);
    return node
    }
    }, {

    type: WalkerEvent.Leave,
    handler: (node: AstAtRule): AstAtRule => {

    console.error(`> leaving '@${node.nam}' node at position ${node.loc!.sta.lin}:${node.loc!.sta.col}`)
    return node
    }
    },
    {
    type: WalkerEvent.Enter,
    handler: (node: AstAtRule): AstAtRule => {

    console.error(`> enter '@${node.nam}' node at position ${node.loc!.sta.lin}:${node.loc!.sta.col}`);
    return node
    }
    }]
    }] as VisitorNodeMap[]
    };

    const css = `

    @media screen {

    .foo {

    height: calc(100px * 2/ 15);
    }
    }

    @supports (height: 30pt) {

    .foo {

    height: calc(100px * 2/ 15);
    }
    }
    `;

    const result = await transform(css, options);

    console.debug(result.code);

    // > enter '@media' node at position 3:1
    // > visiting '@media' node at position 3:1
    // > visiting only '@media' node at position 3:1
    // > leaving '@media' node at position 3:1
    // > enter '@supports' node at position 11:1
    // > visiting '@supports' node at position 11:1
    // > leaving '@supports' node at position 11:1
    +
    +

    Example: change media at-rule prelude

    -

    import {transform, AstAtRule, ParserOptions} from "@tbela99/css-parser";

    const options: ParserOptions = {

    visitor: {

    AtRule: {

    media: (node: AstAtRule): AstAtRule => {

    node.val = 'tv,screen';
    return node
    }
    }
    }
    };

    const css = `

    @media screen {

    .foo {

    height: calc(100px * 2/ 15);
    }
    }
    `;

    const result = await transform(css, options);

    console.debug(result.code);

    // @media tv,screen{.foo{height:calc(40px/3)}} +

    import {transform, AstAtRule, ParserOptions} from "@tbela99/css-parser";
    const options: ParserOptions = {

    visitor: {

    AtRule: {

    media: (node: AstAtRule): AstAtRule => {

    node.val = 'tv,screen';
    return node
    }
    }
    }
    };

    const css = `

    @media screen {

    .foo {

    height: calc(100px * 2/ 15);
    }
    }
    `;

    const result = await transform(css, options);

    console.debug(result.code);

    // @media tv,screen{.foo{height:calc(40px/3)}}

    Example: add 'width: 3px' everytime a declaration with the name 'height' is found

    -

    import {transform, parseDeclarations} from "@tbela99/css-parser";

    const options: ParserOptions = {

    removeEmpty: false,
    visitor: {

    Declaration: {

    // called only for height declaration
    height: (node: AstDeclaration): AstDeclaration[] => {

    return [
    node,
    {

    typ: EnumToken.DeclarationNodeType,
    nam: 'width',
    val: [
    <LengthToken>{
    typ: EnumToken.LengthTokenType,
    val: 3,
    unit: 'px'
    }
    ]
    }
    ];
    }
    }
    }
    };

    const css = `

    .foo {
    height: calc(100px * 2/ 15);
    }
    .selector {
    color: lch(from peru calc(l * 0.8) calc(c * 0.7) calc(h + 180))
    }
    `;

    console.debug(await transform(css, options));

    // .foo{height:calc(40px/3);width:3px}.selector{color:#0880b0} +

    import {transform, parseDeclarations} from "@tbela99/css-parser";
    const options: ParserOptions = {

    removeEmpty: false,
    visitor: {

    Declaration: {

    // called only for height declaration
    height: (node: AstDeclaration): AstDeclaration[] => {

    return [
    node,
    {

    typ: EnumToken.DeclarationNodeType,
    nam: 'width',
    val: [
    <LengthToken>{
    typ: EnumToken.LengthTokenType,
    val: 3,
    unit: 'px'
    }
    ]
    }
    ];
    }
    }
    }
    };

    const css = `

    .foo {
    height: calc(100px * 2/ 15);
    }
    .selector {
    color: lch(from peru calc(l * 0.8) calc(c * 0.7) calc(h + 180))
    }
    `;

    console.debug(await transform(css, options));

    // .foo{height:calc(40px/3);width:3px}.selector{color:#0880b0}

    Example: rename 'margin' to 'padding' and 'height' to 'width'

    -
    import {AstDeclaration, ParserOptions, transform} from "../src/node.ts";

    const options: ParserOptions = {

    visitor: {

    // called for every declaration
    Declaration: (node: AstDeclaration): null => {


    if (node.nam == 'height') {

    node.nam = 'width';
    }

    else if (node.nam == 'margin') {

    node.nam = 'padding'
    }

    return null;
    }
    }
    };

    const css = `

    .foo {
    height: calc(100px * 2/ 15);
    margin: 10px;
    }
    .selector {

    margin: 20px;}
    `;

    const result = await transform(css, options);

    console.debug(result.code);

    // .foo{width:calc(40px/3);padding:10px}.selector{padding:20px} +

    import {AstDeclaration, ParserOptions, transform} from "../src/node.ts";
    const options: ParserOptions = {

    visitor: {

    // called for every declaration
    Declaration: (node: AstDeclaration): null => {


    if (node.nam == 'height') {

    node.nam = 'width';
    }

    else if (node.nam == 'margin') {

    node.nam = 'padding'
    }

    return null;
    }
    }
    };

    const css = `

    .foo {
    height: calc(100px * 2/ 15);
    margin: 10px;
    }
    .selector {

    margin: 20px;}
    `;

    const result = await transform(css, options);

    console.debug(result.code);

    // .foo{width:calc(40px/3);padding:10px}.selector{padding:20px}
    -

    rule visitor

    -

    Example: add 'width: 3px' to every rule with the selector '.foo'

    -

    import {transform, parseDeclarations} from "@tbela99/css-parser";

    const options: ParserOptions = {

    removeEmpty: false,
    visitor: {

    Rule: async (node: AstRule): Promise<AstRule | null> => {

    if (node.sel == '.foo') {

    node.chi.push(...await parseDeclarations('width: 3px'));
    return node;
    }

    return null;
    }
    }
    };

    const css = `

    .foo {
    .foo {
    }
    }
    `;

    console.debug(await transform(css, options));

    // .foo{width:3px;.foo{width:3px}} +

    Example: add 'width: 3px' to every rule with the selector '.foo'

    +

    import {transform, parseDeclarations} from "@tbela99/css-parser";
    const options: ParserOptions = {

    removeEmpty: false,
    visitor: {

    Rule: async (node: AstRule): Promise<AstRule | null> => {

    if (node.sel == '.foo') {

    node.chi.push(...await parseDeclarations('width: 3px'));
    return node;
    }

    return null;
    }
    }
    };

    const css = `

    .foo {
    .foo {
    }
    }
    `;

    console.debug(await transform(css, options));

    // .foo{width:3px;.foo{width:3px}}

    keyframes rule visitor is called on each keyframes rule node.

    the keyframes at-rule visitor is called on each keyframes at-rule node. the visitor can be a function or an object with a property named after the keyframes at-rule prelude.

    -

    import {transform} from "@tbela99/css-parser";

    const css = `
    @keyframes slide-in {
    from {
    transform: translateX(0%);
    }

    to {
    transform: translateX(100%);
    }
    }
    @keyframes identifier {
    0% {
    top: 0;
    left: 0;
    }
    30% {
    top: 50px;
    }
    68%,
    72% {
    left: 50px;
    }
    100% {
    top: 100px;
    left: 100%;
    }
    }
    `;

    const result = await transform(css, {
    removePrefix: true,
    beautify: true,
    visitor: {
    KeyframesAtRule: {
    slideIn(node) {
    node.val = 'slide-in-out';
    return node;
    }
    }
    }
    });
    +

    import {transform} from "@tbela99/css-parser";
    const css = `
    @keyframes slide-in {
    from {
    transform: translateX(0%);
    }

    to {
    transform: translateX(100%);
    }
    }
    @keyframes identifier {
    0% {
    top: 0;
    left: 0;
    }
    30% {
    top: 50px;
    }
    68%,
    72% {
    left: 50px;
    }
    100% {
    top: 100px;
    left: 100%;
    }
    }
    `;

    const result = await transform(css, {
    removePrefix: true,
    beautify: true,
    visitor: {
    KeyframesAtRule: {
    slideIn(node) {
    node.val = 'slide-in-out';
    return node;
    }
    }
    }
    });

    the value visitor is called on each token of the selector node, declaration value and the at-rule prelude, etc.

    -

    generic token visitor is a function whose name is a keyof EnumToken. they are called for every token of the specified type.

    -

    import {transform, parse, parseDeclarations} from "@tbela99/css-parser";

    const options: ParserOptions = {

    inlineCssVariables: true,
    visitor: {

    // Stylesheet node visitor
    StyleSheetNodeType: async (node) => {

    // insert a new rule
    node.chi.unshift(await parse('html {--base-color: pink}').then(result => result.ast.chi[0]))
    },
    ColorTokenType: (node) => {

    // dump all color tokens
    // console.debug(node);
    },
    FunctionTokenType: (node) => {

    // dump all function tokens
    // console.debug(node);
    },
    DeclarationNodeType: (node) => {

    // dump all declaration nodes
    // console.debug(node);
    }
    }
    };

    const css = `

    body { color: color(from var(--base-color) display-p3 r calc(g + 0.24) calc(b + 0.15)); }
    `;

    console.debug(await transform(css, options));

    // body {color:#f3fff0} +

    generic token visitor is a function whose name is a keyof EnumToken. it is called for every token of the specified type.

    +

    import {transform, parse, parseDeclarations} from "@tbela99/css-parser";
    const options: ParserOptions = {

    inlineCssVariables: true,
    visitor: {

    // Stylesheet node visitor
    StyleSheetNodeType: async (node) => {

    // insert a new rule
    node.chi.unshift(await parse('html {--base-color: pink}').then(result => result.ast.chi[0]))
    },
    ColorTokenType: (node) => {

    // dump all color tokens
    // console.debug(node);
    },
    FunctionTokenType: (node) => {

    // dump all function tokens
    // console.debug(node);
    },
    DeclarationNodeType: (node) => {

    // dump all declaration nodes
    // console.debug(node);
    }
    }
    };

    const css = `

    body { color: color(from var(--base-color) display-p3 r calc(g + 0.24) calc(b + 0.15)); }
    `;

    console.debug(await transform(css, options));

    // body {color:#f3fff0}
    -

    a non-exhaustive list of features is provided below:

    +
      +
    • no dependency
    • +
    • fault-tolerant parser that tries to fix invalid tokens.
    • +
    • CSS validation based upon mdn-data
    • +
    • fast and efficient minification without unsafe transforms
    • +
    • minify colors: color(), lab(), lch(), oklab(), oklch(), color-mix(), light-dark(), system colors and +relative color
    • +
    • convert colors to any supported color format
    • +
    • automatically generate nested css rules
    • +
    • convert nested css rules to legacy syntax
    • +
    • generate sourcemap
    • +
    • compute css shorthands.
    • +
    • minify css transform functions: translate(), scale(), etc.
    • +
    • evaluate math functions: calc(), clamp(), min(), max(), etc.
    • +
    • inline css variables
    • +
    • remove duplicate properties
    • +
    • flatten @import rules
    • +
    • experimental CSS prefix removal
    • +
    +
    diff --git a/docs/documents/Guide.Getting_started.html b/docs/documents/Guide.Getting_started.html index f226cb08..3639edcb 100644 --- a/docs/documents/Guide.Getting_started.html +++ b/docs/documents/Guide.Getting_started.html @@ -162,15 +162,15 @@
    $ deno add @tbela99/css-parser
     
    -

    the library can be imported as a module in the browser

    -
    <script type="module">

    import {transform, ColorType} from 'https://esm.sh/@tbela99/css-parser@1.3.2/web';

    ...
    </script> +

    the library can be imported as a module in the browser

    +
    <script type="module">

    import {transform, ColorType} from 'https://esm.sh/@tbela99/css-parser@1.3.4/web';

    const css = `

    .table {
    border-collapse: collapse;
    width: 100%;
    }

    .table td, .table th {
    border: 1px solid #ddd;
    padding: 8px;
    }

    .table tr:nth-child(even){background-color: #f2f2f2;}

    .table tr:hover {background-color: #ddd;}

    .table th {
    padding-top: 12px;
    padding-bottom: 12px;
    text-align: left;
    background-color: #4CAF50;
    color: white;
    }
    `;

    console.debug(await transform(css, {beautify: true, convertColor:.ColorType.OKLCH}).then(r => r.code));
    })();
    </script>
    -

    it can also be imported as umd module

    -

    <script src="https://unpkg.com/@tbela99/css-parser@1.3.2/dist/index-umd-web.js"></script>
    <script>

    (async () => {

    const css = `

    .table {
    border-collapse: collapse;
    width: 100%;
    }

    .table td, .table th {
    border: 1px solid #ddd;
    padding: 8px;
    }

    .table tr:nth-child(even){background-color: #f2f2f2;}

    .table tr:hover {background-color: #ddd;}

    .table th {
    padding-top: 12px;
    padding-bottom: 12px;
    text-align: left;
    background-color: #4CAF50;
    color: white;
    }
    `;

    console.debug(await CSSParser.transform(css, {beautify: true, convertColor: CSSParser.ColorType.OKLCH}).then(r => r.code));
    })();

    </script> +

    it can also be imported as umd module

    +

    <script src="https://unpkg.com/@tbela99/css-parser@1.3.4/dist/index-umd-web.js"></script>
    <script>

    (async () => {

    const css = `

    .table {
    border-collapse: collapse;
    width: 100%;
    }

    .table td, .table th {
    border: 1px solid #ddd;
    padding: 8px;
    }

    .table tr:nth-child(even){background-color: #f2f2f2;}

    .table tr:hover {background-color: #ddd;}

    .table th {
    padding-top: 12px;
    padding-bottom: 12px;
    text-align: left;
    background-color: #4CAF50;
    color: white;
    }
    `;

    console.debug(await CSSParser.transform(css, {beautify: true, convertColor: CSSParser.ColorType.OKLCH}).then(r => r.code));
    })();

    </script>
    -

    import {transform, ColorType} from '@tbela99/css-parser';

    const css = `

    .ruler {

    height: 10px;
    background-color: orange
    }
    .hsl { color: #b3222280; }
    `;

    const result = await transform(css, {

    beautify: true,
    convertColor: ColorType.SRGB
    });

    console.debug(result.code); +

    import {transform, ColorType} from '@tbela99/css-parser';

    const css = `

    .ruler {

    height: 10px;
    background-color: orange
    }
    .hsl { color: #b3222280; }
    `;

    const result = await transform(css, {

    beautify: true,
    convertColor: ColorType.SRGB
    });

    console.debug(result.code);
    -

    the library exposes two entrypoints

    +

    the library exposes three entry points

      -
    • @tbela99/css-parser or @tbela99/css-parser/node which relies on node fs package to read files
    • -
    • @tbela99/css-parser/cjs same as the previous except it exports a commonjs module
    • -
    • @tbela99/css-parser/web which relies on the fetch api to read files
    • +
    • @tbela99/css-parser or @tbela99/css-parser/node which relies on node fs and fs/promises to read files
    • +
    • @tbela99/css-parser/cjs same as the previous except it is exported as a commonjs module
    • +
    • @tbela99/css-parser/web which relies on the web fetch api to read files

    the default file loader can be overridden via the options ParseOptions.load or TransformOptions.load of parse() and transform() functions

    load as javascript module

    -
    <script type="module">

    import {transform, ColorType} from 'https://esm.sh/@tbela99/css-parser@1.3.2/web';

    const css = `

    .ruler {

    height: 10px;
    background-color: orange
    }
    .hsl { color: #b3222280; }
    `;

    const result = await transform(css, {

    beautify: true,
    convertColor: ColorType.RGB
    });

    console.debug(result.code);

    </script> +
    <script type="module">

    import {transform, ColorType} from 'https://esm.sh/@tbela99/css-parser@1.3.2/web';

    const css = `

    .ruler {

    height: 10px;
    background-color: orange
    }
    .hsl { color: #b3222280; }
    `;

    const result = await transform(css, {

    beautify: true,
    convertColor: ColorType.RGB
    });

    console.debug(result.code);

    </script>

    load as umd module

    -

    <script src="https://unpkg.com/@tbela99/css-parser@1.3.2/dist/index-umd-web.js"></script>
    <script>

    (async () => {

    const css = `

    .table {
    border-collapse: collapse;
    width: 100%;
    }

    .table td, .table th {
    border: 1px solid #ddd;
    padding: 8px;
    }

    .table tr:nth-child(even){background-color: #f2f2f2;}

    .table tr:hover {background-color: #ddd;}

    .table th {
    padding-top: 12px;
    padding-bottom: 12px;
    text-align: left;
    background-color: #4CAF50;
    color: white;
    }
    `;

    console.debug(await CSSParser.transform(css, {beautify: true, convertColor: CSSParser.ColorType.OKLCH}).then(r => r.code));
    })();

    </script> +

    <script src="https://unpkg.com/@tbela99/css-parser@1.3.2/dist/index-umd-web.js"></script>
    <script>

    (async () => {

    const css = `

    .table {
    border-collapse: collapse;
    width: 100%;
    }

    .table td, .table th {
    border: 1px solid #ddd;
    padding: 8px;
    }

    .table tr:nth-child(even){background-color: #f2f2f2;}

    .table tr:hover {background-color: #ddd;}

    .table th {
    padding-top: 12px;
    padding-bottom: 12px;
    text-align: left;
    background-color: #4CAF50;
    color: white;
    }
    `;

    console.debug(await CSSParser.transform(css, {beautify: true, convertColor: CSSParser.ColorType.OKLCH}).then(r => r.code));
    })();

    </script>

    parsing is achieved using the parse() or transform() function. the transform() function will also provide the css code as a result which comes handing if you do not want an additional step of rendering the ast.

    -
    import {parse, render} from '@tbela99/css-parser';

    const css = `...`;

    const result = await parse(css);
    console.debug(result.ast);
    console.debug(result.stats);

    const rendered = render(result.ast);
    console.debug(rendered.code);
    console.debug(result.stats); +
    import {parse, render} from '@tbela99/css-parser';

    const css = `...`;

    const result = await parse(css);
    console.debug(result.ast);
    console.debug(result.stats);

    const rendered = render(result.ast);
    console.debug(rendered.code);
    console.debug(result.stats);

    or

    -
    import {transform} from '@tbela99/css-parser';

    const css = `...`;

    const result = await transform(css);
    console.debug(result.ast);
    console.debug(result.code);
    console.debug(result.stats); +
    import {transform} from '@tbela99/css-parser';

    const css = `...`;

    const result = await transform(css);
    console.debug(result.ast);
    console.debug(result.code);
    console.debug(result.stats);

    the parseFile() and transformFile() functions can be used to parse files. they both accept a file url or path as first argument.

    -
    import {transformFile} from '@tbela99/css-parser';

    const css = `https://docs.deno.com/styles.css`;

    const result = await transformFile(css);
    console.debug(result.code);
    +
    import {transformFile} from '@tbela99/css-parser';

    const css = `https://docs.deno.com/styles.css`;

    let result = await transformFile(css);
    console.debug(result.code);

    // load file as readable stream
    result = await transformFile(css, true);
    console.debug(result.code);

    the parse() and transform() functions accept a string or readable stream as first argument.

    -
    import {parse} from '@tbela99/css-parser';
    import {Readable} from "node:stream";

    // usage: node index.ts < styles.css or cat styles.css | node index.ts

    const readableStream = Readable.toWeb(process.stdin);
    const result = await parse(readableStream, {beautify: true});

    console.log(result.ast); +
    import {parse} from '@tbela99/css-parser';
    import {Readable} from "node:stream";

    // usage: node index.ts < styles.css or cat styles.css | node index.ts

    const readableStream = Readable.toWeb(process.stdin);
    const result = await parse(readableStream, {beautify: true});

    console.log(result.ast);
    -

    a response.body object can also be passed as well

    -
    import {transformFile} from '@tbela99/css-parser';

    const response = await fetch(`https://docs.deno.com/styles.css`);

    const result = await transform(response.body); // or parse(response.body)
    console.debug(result.code);
    +

    a response body object can also be passed to parseFile() or transformFile() functions

    +

    import {transformFile} from '@tbela99/css-parser';

    const response = await fetch(`https://docs.deno.com/styles.css`);
    const result = await transformFile(response.body); // or parse(response.body)
    console.debug(result.code);

    rendering options can be passed to both transform() and render() functions.

    by default css output is minified. that behavior can be changed by passing the {beautify:true} option.

    -

    const result = await transform(css, {beautify: true});
    // or render(ast, {beautify: true})

    console.log(result.code);
    +

    const result = await transform(css, {beautify: true});
    // or render(ast, {beautify: true})

    console.log(result.code);

    by default all comments are removed. they can be preserved by passing the {removeComments:false} option,

    if you only want to preserve license comments, and remove other comments, you can pass {preserveLicense:true} instead.

    -

    const css = `/*!
    * Bootstrap v5.3.3 (https://getbootstrap.com/)
    * Copyright 2011-2024 The Bootstrap Authors
    * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
    */
    [data-bs-theme=dark] {
    color-scheme: dark;

    ...`;

    const result = await transform(css, {preserveLicense: true}); +

    const css = `/*!
    * Bootstrap v5.3.3 (https://getbootstrap.com/)
    * Copyright 2011-2024 The Bootstrap Authors
    * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
    */
    [data-bs-theme=dark] {
    color-scheme: dark;

    ...`;

    const result = await transform(css, {preserveLicense: true});

    color conversion is controlled by the convertColor option. colors are converted to the HEX format by default. @@ -226,7 +226,7 @@

    validation is performed using mdn-data. the validation level can be configured using the validation option. +possible values are boolean or ValidationLevel:

    + +

    import {transform, TransformOptions, ValidationLevel} from "@tbela99/css-parser";

    const options: TransformOptions = {

    validation: ValidationLevel.All,
    beautify: true,
    removeDuplicateDeclarations: 'height'
    };

    const css = `

    @supports(height: 30pti) {

    .foo {

    height: calc(100px * 2/ 15);
    height: 'new';
    height: auto;
    }
    }
    `;

    const result = await transform(css, options);
    console.debug(result.code);

    // @supports (height:30pti) {
    // .foo {
    // height: calc(40px/3);
    // height: auto
    // }
    // } +
    + +

    the parser is lenient. this means that invalid nodes are kept in the ast but they are not rendered. +this behavior can be changed using the lenient option.

    +

    validation errors are returned with parse result or transform result. +check the typescript definition of ErrorDescription for more details.

    +

    console.debug(result.errors); +
    + +

    bad tokens are thrown out during parsing. visitor functions can be used to catch and fix invalid tokens.

    +

    import {EnumToken, transform, TransformOptions, ValidationLevel} from "@tbela99/css-parser";
    const options: TransformOptions = {

    validation: ValidationLevel.All,
    beautify: true,
    removeDuplicateDeclarations: 'height',
    visitor: {
    InvalidRuleTokenType(node) {

    console.debug(`> found '${EnumToken[node.typ]}'`);
    },
    InvalidAtRuleTokenType(node) {
    console.debug(`> found '${EnumToken[node.typ]}' in '${node.loc.src}' at ${node.loc.sta.lin}:${node.loc.sta.col}`);
    },
    InvalidDeclarationNodeType(node) {
    console.debug(`> found '${EnumToken[node.typ]}' in '${node.loc.src}' at ${node.loc.sta.lin}:${node.loc.sta.col}`);
    },
    InvalidClassSelectorTokenType(node) {
    console.debug(`> found '${EnumToken[node.typ]}' in '${node.loc.src}' at ${node.loc.sta.lin}:${node.loc.sta.col}`);
    },
    InvalidAttrTokenType(node) {
    console.debug(`> found '${EnumToken[node.typ]}' in '${node.loc.src}' at ${node.loc.sta.lin}:${node.loc.sta.col}`);
    },
    InvalidAtRuleNodeType(node) {
    console.debug(`> found '${EnumToken[node.typ]}' in '${node.loc.src}' at ${node.loc.sta.lin}:${node.loc.sta.col}`);
    }
    }
    };

    const css = `

    @supports(height: 30pti) {

    .foo {

    height: calc(100px * 2/ 15);
    height: 'new';
    height: auto;
    }
    }

    @supports(height: 30pti);
    `;

    const result = await transform(css, options);

    //> found 'InvalidDeclarationNodeType' in '' at 8:13
    //> found 'InvalidAtRuleTokenType' in '' at 13:1
    +
    + +
    diff --git a/docs/documents/Guide.html b/docs/documents/Guide.html index c80682a6..e1abda26 100644 --- a/docs/documents/Guide.html +++ b/docs/documents/Guide.html @@ -157,12 +157,24 @@ --md-sys-color-surface-container-highest: #e9e1d9 }

    Enumeration ColorType

    supported color types enum

    -
    Index

    Enumeration Members

    Index

    Enumeration Members

    A98_RGB CMYK COLOR COLOR_MIX @@ -185,33 +185,33 @@ XYZ_D50 XYZ_D65

    Enumeration Members

    A98_RGB: 15

    color using a98-rgb values

    -
    CMYK: 7

    colors as cmyk values

    -
    COLOR: 12

    colors using color() function

    -
    COLOR_MIX: 22

    color-mix() color function

    -
    DEVICE_CMYK: 7

    alias for cmyk

    -
    DISPLAY_P3: 17

    color using display-p3 values

    -
    DPSYS: 1

    deprecated system colors

    -
    HEX: 3

    colors as hex values

    -
    HSL: 5

    alias for hsl

    -
    HSLA: 5

    colors as hsl values

    -
    HWB: 6

    colors as hwb values

    -
    LAB: 10

    colors as lab values

    -
    LCH: 11

    colors as lch values

    -
    LIGHT_DARK: 21

    light-dark() color function

    -
    LIT: 2

    colors as literals

    -
    OKLAB: 8

    colors as oklab values

    -
    OKLCH: 9

    colors as oklch values

    -
    PROPHOTO_RGB: 14

    color using prophoto-rgb values

    -
    REC2020: 16

    color using rec2020 values

    -
    RGB: 4

    alias for rgba

    -
    RGBA: 4

    colors as rgb values

    -
    SRGB: 13

    color using srgb values

    -
    SRGB_LINEAR: 18

    color using srgb-linear values

    -
    SYS: 0

    system colors

    -
    XYZ: 20

    alias for xyz-d65

    -
    XYZ_D50: 19

    color using xyz-d50 values

    -
    XYZ_D65: 20

    color using xyz-d65 values

    -

    Enumeration EnumToken

    enum of all token types

    -
    Index

    Enumeration Members

    Add +
    Index

    Enumeration Members

    Enumeration Members

    Add: 60

    addition token type

    -
    Angle: 24

    alias for angle token type

    -
    AngleTokenType: 24

    angle token type

    -
    AtRuleNodeType: 3

    at-rule node type

    -
    AtRuleTokenType: 13

    at-rule token type

    -
    AttrEndTokenType: 32

    attribute end token type

    -
    AttrStartTokenType: 31

    attribute start token type

    -
    AttrTokenType: 51

    attribute token type

    -
    BadCdoTokenType: 53

    bad cdo token type

    -
    BadCommentTokenType: 52

    bad comment token type

    -
    BadStringTokenType: 55

    bad string token type

    -
    BadUrlTokenType: 54

    bad URL token type

    -
    BinaryExpressionTokenType: 56

    binary expression token type

    -
    BlockEndTokenType: 30

    block end token type

    -
    BlockStartTokenType: 29

    block start token type

    -
    CDOCOMMNodeType: 1

    alias for cdata section node type

    -
    CDOCOMMTokenType: 1

    cdata section token

    -
    ChildCombinatorTokenType: 76

    child combinator token type

    -
    ClassSelectorTokenType: 74

    class selector token type

    -
    ColonTokenType: 10

    colon token type

    -
    Color: 50

    alias for color token type

    -
    ColorTokenType: 50

    color token type

    -
    ColumnCombinatorTokenType: 64

    column combinator token type

    -
    Comma: 9

    alias for comma token type

    -
    CommaTokenType: 9

    comma token type

    -
    Comment: 0

    alias for comment token type

    -
    CommentNodeType: 0

    alias for comment node type

    -
    CommentTokenType: 0

    comment token

    -
    ContainMatchTokenType: 65

    contain match token type

    -
    DashedIden: 8

    alias for dashed identifier token type

    -
    DashedIdenTokenType: 8

    dashed identifier token type

    -
    DashMatchTokenType: 38

    dash match token type

    -
    DeclarationNodeType: 5

    declaration node type

    -
    DelimTokenType: 46

    delimiter token type

    -
    DescendantCombinatorTokenType: 77

    descendant combinator token type

    -
    Dimension: 22

    alias for dimension token type

    -
    DimensionTokenType: 22

    dimension token type

    -
    Div: 62

    division token type

    -
    EndMatchTokenType: 67

    end match token type

    -
    EndParensTokenType: 34

    end parentheses token type

    -
    EOF: 48

    alias for end of file token type

    -
    EOFTokenType: 48

    end of file token type

    -
    EqualMatchTokenType: 39

    equal match token type

    -
    Flex: 58

    alias for flex token type

    -
    FlexTokenType: 58

    flex token type

    -
    FractionTokenType: 70

    fraction token type

    -
    Frequency: 26

    alias for frequency token type

    -
    FrequencyTokenType: 26

    frequency token type

    -
    FunctionTokenType: 15

    function token type

    -
    GridTemplateFunc: 72

    alias for grid template function token type

    -
    GridTemplateFuncTokenType: 72

    grid template function token type

    -
    GteTokenType: 43

    greater than or equal to token type

    -
    GtTokenType: 42

    greater than token type

    -
    Hash: 28

    alias for hash token type

    -
    HashTokenType: 28

    hash token type

    -
    Iden: 7

    alias for identifier token type

    -
    IdenList: 71

    alias for identifier list token type

    -
    IdenListTokenType: 71

    identifier list token type

    -
    IdenTokenType: 7

    identifier token type

    -
    ImageFunc: 19

    alias for image function token type

    -
    ImageFunctionTokenType: 19

    image function token type

    -
    ImportantTokenType: 49

    important token type

    -
    IncludeMatchTokenType: 37

    include match token type

    -
    InvalidAtRuleTokenType: 84

    invalid at rule token type

    -
    InvalidAttrTokenType: 83

    invalid attribute token type

    -
    InvalidClassSelectorTokenType: 82

    invalid class selector token type

    -
    InvalidDeclarationNodeType: 94

    invalid declaration node type

    -
    InvalidRuleTokenType: 81

    invalid rule token type

    -
    KeyframesAtRuleNodeType: 93

    keyframe at rule node type

    -
    KeyFramesRuleNodeType: 73

    keyframe rule node type

    -
    Length: 23

    alias for length token type

    -
    LengthTokenType: 23

    length token type

    -
    ListToken: 59

    token list token type

    -
    Literal: 6

    alias for literal token type

    -
    LiteralTokenType: 6

    literal token type

    -
    LteTokenType: 41

    less than or equal to token type

    -
    LtTokenType: 40

    less than token type

    -
    MatchExpressionTokenType: 68

    match expression token type

    -
    MediaFeatureAndTokenType: 89

    media feature and token type

    -
    MediaFeatureNotTokenType: 88

    media feature not token type

    -
    MediaFeatureOnlyTokenType: 87

    media feature only token type

    -
    MediaFeatureOrTokenType: 90

    media feature or token type

    -
    MediaFeatureTokenType: 86

    media feature token type

    -
    MediaQueryConditionTokenType: 85

    media query condition token type

    -
    Mul: 61

    multiplication token type

    -
    NameSpaceAttributeTokenType: 69

    namespace attribute token type

    -
    NestingSelectorTokenType: 80

    nesting selector token type

    -
    NextSiblingCombinatorTokenType: 78

    next sibling combinator token type

    -
    Number: 12

    alias for number token type

    -
    NumberTokenType: 12

    number token type

    -
    ParensTokenType: 35

    parentheses token type

    -
    Perc: 14

    alias for percentage token type

    -
    PercentageTokenType: 14

    percentage token type

    -
    PseudoClassFuncTokenType: 45

    pseudo-class function token type

    -
    PseudoClassTokenType: 44

    pseudo-class token type

    -
    PseudoElementTokenType: 92

    pseudo element token type

    -
    PseudoPageTokenType: 91

    pseudo page token type

    -
    Resolution: 27

    alias for resolution token type

    -
    ResolutionTokenType: 27

    resolution token type

    -
    RuleNodeType: 4

    rule node type

    -
    SemiColonTokenType: 11

    semicolon token type

    -
    StartMatchTokenType: 66

    start match token type

    -
    StartParensTokenType: 33

    start parentheses token type

    -
    String: 20

    alias for string token type

    -
    StringTokenType: 20

    string token type

    -
    StyleSheetNodeType: 2

    style sheet node type

    -
    Sub: 63

    subtraction token type

    -
    SubsequentSiblingCombinatorTokenType: 79

    subsequent sibling combinator token type

    -
    Time: 25

    alias for time token type

    -
    TimelineFunction: 16

    alias for timeline function token type

    -
    TimelineFunctionTokenType: 16

    timeline function token type

    -
    TimeTokenType: 25

    time token type

    -
    TimingFunction: 17

    alias for timing function token type

    -
    TimingFunctionTokenType: 17

    timing function token type

    -
    UnaryExpressionTokenType: 57

    unary expression token type

    -
    UnclosedStringTokenType: 21

    unclosed string token type

    -
    UniversalSelectorTokenType: 75

    universal selector token type

    -
    UrlFunc: 18

    alias for url function token type

    -
    UrlFunctionTokenType: 18

    url function token type

    -
    UrlTokenTokenType: 47

    URL token type

    -
    Whitespace: 36

    alias for whitespace token type

    -
    WhitespaceTokenType: 36

    whitespace token type

    -

    Enumeration FeatureWalkModeInternal

    feature walk mode

    -
    Index

    Enumeration Members

    Index

    Enumeration Members

    Enumeration Members

    Post

    Post: 2

    post process

    -
    Pre: 1

    pre process

    -

    Enumeration ValidationLevel

    enum of validation levels

    -
    Index

    Enumeration Members

    All +
    Index

    Enumeration Members

    Enumeration Members

    All: 2

    validate selectors, at-rules and declarations

    -
    Default: 1

    validate selectors and at-rules

    -
    None: 0

    disable validation

    -

    Enumeration WalkerValueEvent

    event types for the walkValues function

    -
    Index

    Enumeration Members

    Enter +

    Enumeration WalkerEvent

    event types for the walkValues function

    +
    Index

    Enumeration Members

    Enumeration Members

    Enter: 1

    enter node

    -
    Leave: 2

    leave node

    -

    Enumeration WalkerOptionEnum

    options for the walk function

    -
    Index

    Enumeration Members

    Index

    Enumeration Members

    Enumeration Members

    Children: 4

    ignore node and process children

    -
    Ignore: 1

    ignore the current node and its children

    -
    IgnoreChildren: 8

    ignore children

    -
    Stop: 2

    stop walking the tree

    -

    Function parse

    • parse css

      -

      Parameters

      • stream: string | ReadableStream<Uint8Array<ArrayBufferLike>>
      • options: ParserOptions = {}

        Example:

        -

        import {parse} from '@tbela99/css-parser';

        // css string
        let result = await parse(css);
        console.log(result.ast); +

        Parameters

        • stream: string | ReadableStream<Uint8Array<ArrayBufferLike>>
        • options: ParserOptions = {}

          Example:

          +

          import {parse} from '@tbela99/css-parser';

          // css string
          let result = await parse(css);
          console.log(result.ast);

          Example using stream

          -

          import {parse} from '@tbela99/css-parser';
          import {Readable} from "node:stream";

          // usage: node index.ts < styles.css or cat styles.css | node index.ts

          const readableStream = Readable.toWeb(process.stdin);
          let result = await parse(readableStream, {beautify: true});

          console.log(result.ast); +

          import {parse} from '@tbela99/css-parser';
          import {Readable} from "node:stream";

          // usage: node index.ts < styles.css or cat styles.css | node index.ts

          const readableStream = Readable.toWeb(process.stdin);
          let result = await parse(readableStream, {beautify: true});

          console.log(result.ast);

          Example using fetch and readable stream

          -

          import {parse} from '@tbela99/css-parser';

          const response = await fetch('https://docs.deno.com/styles.css');
          const result = await parse(response.body, {beautify: true});

          console.log(result.ast); +

          import {parse} from '@tbela99/css-parser';

          const response = await fetch('https://docs.deno.com/styles.css');
          const result = await parse(response.body, {beautify: true});

          console.log(result.ast);
          -

        Returns Promise<ParseResult>

    Function parseDeclarations

    • parse a string as an array of declaration nodes

      Parameters

      • declaration: string

        Example:

        -

        const declarations = await parseDeclarations('color: red; background: blue');
        console.log(declarations);
        +

        const declarations = await parseDeclarations('color: red; background: blue');
        console.log(declarations);
        -

      Returns Promise<(AstDeclaration | AstComment)[]>

    Function parseFile

    • parse css file

      +

      Function parseFile

      • parse css file

        Parameters

        Returns Promise<ParseResult>

        Error file not found

        +
      • options: ParserOptions = {}
      • asStream: boolean = false

        load file as stream

        +

      Returns Promise<ParseResult>

      Error file not found

      Example:

      -

      import {parseFile} from '@tbela99/css-parser';

      // remote file
      let result = await parseFile('https://docs.deno.com/styles.css');
      console.log(result.ast);

      // local file
      result = await parseFile('./css/styles.css');
      console.log(result.ast); +

      import {parseFile} from '@tbela99/css-parser';

      // remote file
      let result = await parseFile('https://docs.deno.com/styles.css');
      console.log(result.ast);

      // local file
      result = await parseFile('./css/styles.css');
      console.log(result.ast);
      -

    Function render

    • render the ast tree

      -

      Parameters

      • data: AstNode
      • options: RenderOptions = {}

        Example:

        -

        import {render, ColorType} from '@tbela99/css-parser';

        const css = 'body { color: color(from hsl(0 100% 50%) xyz x y z); }';
        const parseResult = await parse(css);

        let renderResult = render(parseResult.ast);
        console.log(result.code);

        // body{color:red}


        renderResult = render(parseResult.ast, {beautify: true, convertColor: ColorType.SRGB});
        console.log(renderResult.code);

        // body {
        // color: color(srgb 1 0 0)
        // } +

        Parameters

        • data: AstNode
        • options: RenderOptions = {}

          Example:

          +

          import {render, ColorType} from '@tbela99/css-parser';

          const css = 'body { color: color(from hsl(0 100% 50%) xyz x y z); }';
          const parseResult = await parse(css);

          let renderResult = render(parseResult.ast);
          console.log(result.code);

          // body{color:red}


          renderResult = render(parseResult.ast, {beautify: true, convertColor: ColorType.SRGB});
          console.log(renderResult.code);

          // body {
          // color: color(srgb 1 0 0)
          // }
          -

        Returns RenderResult

    Function transform

    • transform css

      -

      Parameters

      • css: string | ReadableStream<Uint8Array<ArrayBufferLike>>
      • options: TransformOptions = {}

        Example:

        -

        import {transform} from '@tbela99/css-parser';

        // css string
        const result = await transform(css);
        console.log(result.code); +

        Parameters

        • css: string | ReadableStream<Uint8Array<ArrayBufferLike>>
        • options: TransformOptions = {}

          Example:

          +

          import {transform} from '@tbela99/css-parser';

          // css string
          const result = await transform(css);
          console.log(result.code);

          Example using stream

          -

          import {transform} from '@tbela99/css-parser';
          import {Readable} from "node:stream";

          // usage: node index.ts < styles.css or cat styles.css | node index.ts

          const readableStream = Readable.toWeb(process.stdin);
          const result = await transform(readableStream, {beautify: true});

          console.log(result.code); +

          import {transform} from '@tbela99/css-parser';
          import {Readable} from "node:stream";

          // usage: node index.ts < styles.css or cat styles.css | node index.ts

          const readableStream = Readable.toWeb(process.stdin);
          const result = await transform(readableStream, {beautify: true});

          console.log(result.code);

          Example using fetch

          -

          import {transform} from '@tbela99/css-parser';

          const response = await fetch('https://docs.deno.com/styles.css');
          result = await transform(response.body, {beautify: true});

          console.log(result.code); +

          import {transform} from '@tbela99/css-parser';

          const response = await fetch('https://docs.deno.com/styles.css');
          result = await transform(response.body, {beautify: true});

          console.log(result.code);
          -

        Returns Promise<TransformResult>

    Function transformFile

    • transform css file

      +

      Function transformFile

      Returns Promise<TransformResult>

      Error file not found

      Example:

      -

      import {transformFile} from '@tbela99/css-parser';

      // remote file
      let result = await transformFile('https://docs.deno.com/styles.css');
      console.log(result.code);

      // local file
      result = await transformFile('./css/styles.css');
      console.log(result.code); +

      import {transformFile} from '@tbela99/css-parser';

      // remote file
      let result = await transformFile('https://docs.deno.com/styles.css');
      console.log(result.code);

      // local file
      result = await transformFile('./css/styles.css');
      console.log(result.code);
      -

    Function walk

    • walk ast nodes

      Parameters

      • node: AstNode

        initial node

        -
      • Optionalfilter: null | WalkerFilter

        control the walk process

        -
      • Optionalreverse: boolean

        walk in reverse order

        -

        import {walk} from '@tbela99/css-parser';

        const css = `
        body { color: color(from var(--base-color) display-p3 r calc(g + 0.24) calc(b + 0.15)); }

        html,
        body {
        line-height: 1.474;
        }

        .ruler {

        height: 10px;
        }
        `;

        for (const {node, parent, root} of walk(ast)) {

        // do something with node
        } +
      • Optionalfilter: null | WalkerFilter

        control the walk process

        +
      • Optionalreverse: boolean

        walk in reverse order

        +

        import {walk} from '@tbela99/css-parser';

        const css = `
        body { color: color(from var(--base-color) display-p3 r calc(g + 0.24) calc(b + 0.15)); }

        html,
        body {
        line-height: 1.474;
        }

        .ruler {

        height: 10px;
        }
        `;

        for (const {node, parent, root} of walk(ast)) {

        // do something with node
        }
        -

        Using a filter to control the walk process:

        -

        import {walk} from '@tbela99/css-parser';

        const css = `
        body { color: color(from var(--base-color) display-p3 r calc(g + 0.24) calc(b + 0.15)); }

        html,
        body {
        line-height: 1.474;
        }

        .ruler {

        height: 10px;
        }
        `;

        for (const {node, parent, root} of walk(ast, (node) => {

        if (node.typ == EnumToken.AstRule && node.sel.includes('html')) {

        // skip the children of the current node
        return WalkerOptionEnum.IgnoreChildren;
        }
        })) {

        // do something with node
        } +

        Using a filter function to control the ast traversal. the filter function returns a value of type WalkerOption.

        +
        import {EnumToken, transform, walk, WalkerOptionEnum} from '@tbela99/css-parser';

        const css = `
        body { color: color(from var(--base-color) display-p3 r calc(g + 0.24) calc(b + 0.15)); }

        html,
        body {
        line-height: 1.474;
        }

        .ruler {

        height: 10px;
        }
        `;

        function filter(node) {

        if (node.typ == EnumToken.AstRule && node.sel.includes('html')) {

        // skip the children of the current node
        return WalkerOptionEnum.IgnoreChildren;
        }
        }

        const result = await transform(css);
        for (const {node} of walk(result.ast, filter)) {

        console.error([EnumToken[node.typ]]);
        }

        // [ "StyleSheetNodeType" ]
        // [ "RuleNodeType" ]
        // [ "DeclarationNodeType" ]
        // [ "RuleNodeType" ]
        // [ "DeclarationNodeType" ]
        // [ "RuleNodeType" ]
        // [ "DeclarationNodeType" ]
        -

      Returns Generator<WalkResult>

    Function walkValues

    • walk ast node value tokens

      -

      Parameters

      • values: Token[]
      • root:
            | null
            | ColorToken
            | InvalidClassSelectorToken
            | InvalidAttrToken
            | LiteralToken
            | IdentToken
            | IdentListToken
            | DashedIdentToken
            | CommaToken
            | ColonToken
            | SemiColonToken
            | ClassSelectorToken
            | UniversalSelectorToken
            | ChildCombinatorToken
            | DescendantCombinatorToken
            | NextSiblingCombinatorToken
            | SubsequentCombinatorToken
            | ColumnCombinatorToken
            | NestingSelectorToken
            | MediaQueryConditionToken
            | MediaFeatureToken
            | MediaFeatureNotToken
            | MediaFeatureOnlyToken
            | MediaFeatureAndToken
            | MediaFeatureOrToken
            | AstDeclaration
            | NumberToken
            | AtRuleToken
            | PercentageToken
            | FlexToken
            | FunctionURLToken
            | FunctionImageToken
            | TimingFunctionToken
            | TimelineFunctionToken
            | FunctionToken
            | GridTemplateFuncToken
            | DimensionToken
            | LengthToken
            | AngleToken
            | StringToken
            | TimeToken
            | FrequencyToken
            | ResolutionToken
            | UnclosedStringToken
            | HashToken
            | BadStringToken
            | BlockStartToken
            | BlockEndToken
            | AttrStartToken
            | AttrEndToken
            | ParensStartToken
            | ParensEndToken
            | ParensToken
            | CDOCommentToken
            | BadCDOCommentToken
            | CommentToken
            | BadCommentToken
            | WhitespaceToken
            | IncludeMatchToken
            | StartMatchToken
            | EndMatchToken
            | ContainMatchToken
            | MatchExpressionToken
            | NameSpaceAttributeToken
            | DashMatchToken
            | EqualMatchToken
            | LessThanToken
            | LessThanOrEqualToken
            | GreaterThanToken
            | GreaterThanOrEqualToken
            | ListToken
            | PseudoClassToken
            | PseudoPageToken
            | PseudoElementToken
            | PseudoClassFunctionToken
            | DelimToken
            | BinaryExpressionToken
            | UnaryExpression
            | FractionToken
            | AddToken
            | SubToken
            | DivToken
            | MulToken
            | BadUrlToken
            | UrlToken
            | ImportantToken
            | AttrToken
            | EOFToken
            | AstRuleList
            | AstStyleSheet
            | AstComment
            | AstAtRule
            | AstRule
            | AstKeyframesAtRule
            | AstKeyFrameRule
            | AstInvalidRule
            | AstInvalidDeclaration = null
      • Optionalfilter:
            | null
            | WalkerValueFilter
            | {
                event?: WalkerValueEvent;
                fn?: WalkerValueFilter;
                type?: EnumToken
                | EnumToken[]
                | ((token: Token) => boolean);
            }
      • Optionalreverse: boolean

        Example:

        -

        import {EnumToken, walk} from '@tbela99/css-parser';

        const css = `
        body { color: color(from var(--base-color) display-p3 r calc(g + 0.24) calc(b + 0.15)); }

        html,
        body {
        line-height: 1.474;
        }

        .ruler {

        height: 10px;
        }
        `;

        for (const {value} of walkValues(result.ast.chi[0].chi[0].val, null, null,true)) {

        console.error([EnumToken[value.typ], value.val]);
        +

        Function walkValues

        Function parse

        • parse css

          -

          Parameters

          • stream: string | ReadableStream<Uint8Array<ArrayBufferLike>>
          • options: ParserOptions = {}

            Example:

            -

            import {parse} from '@tbela99/css-parser/web';

            // css string
            const result = await parse(css);
            console.log(result.ast); +

            Parameters

            • stream: string | ReadableStream<Uint8Array<ArrayBufferLike>>
            • options: ParserOptions = {}

              Example:

              +

              import {parse} from '@tbela99/css-parser/web';

              // css string
              const result = await parse(css);
              console.log(result.ast);

              Example using fetch and readable stream

              -

              import {parse} from '@tbela99/css-parser/web';

              const response = await fetch('https://docs.deno.com/styles.css');
              const result = await parse(response.body, {beautify: true});

              console.log(result.ast); +

              import {parse} from '@tbela99/css-parser/web';

              const response = await fetch('https://docs.deno.com/styles.css');
              const result = await parse(response.body, {beautify: true});

              console.log(result.ast);
              -

            Returns Promise<ParseResult>

        Function parseFile

        • parse css file

          +

          Function parseFile

          • parse css file

            Parameters

            Returns Promise<ParseResult>

            Error file not found

            +
          • options: ParserOptions = {}
          • asStream: boolean = false

            load file as stream

            +

          Returns Promise<ParseResult>

          Error file not found

          Example:

          -

          import {parseFile} from '@tbela99/css-parser/web';

          // remote file
          let result = await parseFile('https://docs.deno.com/styles.css');
          console.log(result.ast);

          // local file
          result = await parseFile('./css/styles.css');
          console.log(result.ast); +

          import {parseFile} from '@tbela99/css-parser/web';

          // remote file
          let result = await parseFile('https://docs.deno.com/styles.css');
          console.log(result.ast);

          // local file
          result = await parseFile('./css/styles.css');
          console.log(result.ast);
          -

        Function render

        • render the ast tree

          -

          Parameters

          • data: AstNode
          • options: RenderOptions = {}

            Example:

            -

            import {render, ColorType} from '@tbela99/css-parser';

            const css = 'body { color: color(from hsl(0 100% 50%) xyz x y z); }';
            const parseResult = await parse(css);

            let renderResult = render(parseResult.ast);
            console.log(result.code);

            // body{color:red}


            renderResult = render(parseResult.ast, {beautify: true, convertColor: ColorType.SRGB});
            console.log(renderResult.code);

            // body {
            // color: color(srgb 1 0 0)
            // } +

            Parameters

            • data: AstNode
            • options: RenderOptions = {}

              Example:

              +

              import {render, ColorType} from '@tbela99/css-parser';

              const css = 'body { color: color(from hsl(0 100% 50%) xyz x y z); }';
              const parseResult = await parse(css);

              let renderResult = render(parseResult.ast);
              console.log(result.code);

              // body{color:red}


              renderResult = render(parseResult.ast, {beautify: true, convertColor: ColorType.SRGB});
              console.log(renderResult.code);

              // body {
              // color: color(srgb 1 0 0)
              // }
              -

            Returns RenderResult

        Function transform

        • transform css

          -

          Parameters

          • css: string | ReadableStream<Uint8Array<ArrayBufferLike>>
          • options: TransformOptions = {}

            Example:

            -

            import {transform} from '@tbela99/css-parser/web';

            // css string
            let result = await transform(css);
            console.log(result.code);

            // using readable stream
            const response = await fetch('https://docs.deno.com/styles.css');
            result = await transform(response.body, {beautify: true});

            console.log(result.code); +

            Parameters

            • css: string | ReadableStream<Uint8Array<ArrayBufferLike>>
            • options: TransformOptions = {}

              Example:

              +

              import {transform} from '@tbela99/css-parser/web';

              // css string
              let result = await transform(css);
              console.log(result.code);

              // using readable stream
              const response = await fetch('https://docs.deno.com/styles.css');
              result = await transform(response.body, {beautify: true});

              console.log(result.code);
              -

            Returns Promise<TransformResult>

        Function transformFile

        • transform css file

          +

          Function transformFile

          • transform css file

            Parameters

            • file: string

              url or path

              -
            • options: TransformOptions = {}

              Example:

              -

              import {transformFile} from '@tbela99/css-parser/web';

              // remote file
              let result = await transformFile('https://docs.deno.com/styles.css');
              console.log(result.code);

              // local file
              result = await transformFile('./css/styles.css');
              console.log(result.code); +
            • options: TransformOptions = {}
            • asStream: boolean = false

              load file as stream

              +

              Example:

              +

              import {transformFile} from '@tbela99/css-parser/web';

              // remote file
              let result = await transformFile('https://docs.deno.com/styles.css');
              console.log(result.code);

              // local file
              result = await transformFile('./css/styles.css');
              console.log(result.code);
              -

            Returns Promise<TransformResult>

          @tbela99/css-parser

          Hierarchy Summary

          @tbela99/css-parser

          Hierarchy Summary

          @tbela99/css-parser

          playground npm npm cov Doc NPM Downloads bundle size

          -

          css-parser

          CSS parser and minifier for node and the browser

          -

          From npm

          -
          $ npm install @tbela99/css-parser
          -
          - -

          from jsr

          -
          $ deno add @tbela99/css-parser
          -
          - -
            -
          • no dependency
          • -
          • CSS validation based upon mdn-data
          • -
          • fault-tolerant parser, will try to fix invalid tokens according to the CSS syntax module 3 recommendations.
          • -
          • fast and efficient minification without unsafe transforms, -see benchmark
          • -
          • minify colors: color(), lab(), lch(), oklab(), oklch(), color-mix(), light-dark(), system colors and -relative color
          • -
          • generate nested css rules
          • -
          • convert nested css rules to legacy syntax
          • -
          • convert colors to any supported color format
          • -
          • generate sourcemap
          • -
          • compute css shorthands. see supported properties list below
          • -
          • minify css transform functions
          • -
          • evaluate math functions: calc(), clamp(), min(), max(), etc.
          • -
          • inline css variables
          • -
          • remove duplicate properties
          • -
          • flatten @import rules
          • -
          • experimental CSS prefix removal
          • -
          -

          See the full documentation at the CSS Parser documentation site

          -

          Try it online

          -

          There are several ways to import the library into your application.

          -

          import as a module

          -

          import {transform} from '@tbela99/css-parser';

          // ... -
          - -

          import as a module

          -

          import {transform} from '@tbela99/css-parser';

          // ... -
          - -

          import as a CommonJS module

          -

          const {transform} = require('@tbela99/css-parser/cjs');

          // ... -
          - -

          Programmatic import

          -

          import {transform} from '@tbela99/css-parser/web';

          // ... -
          - -

          Javascript module from cdn

          -

          <script type="module">

          import {transform} from 'https://esm.sh/@tbela99/css-parser@1.3.3/web';

          const css = `
          .s {

          background: color-mix(in hsl, color(display-p3 0 1 0) 80%, yellow);
          }
          `;

          console.debug(await transform(css).then(r => r.code));

          </script> -
          - -

          Javascript module

          -

          <script src="dist/web.js" type="module"></script> -
          - -

          Javascript umd module from cdn

          -

          <script src="https://unpkg.com/@tbela99/css-parser@1.3.2/dist/index-umd-web.js"></script>
          <script>

          (async () => {

          const css = `

          .table {
          border-collapse: collapse;
          width: 100%;
          }

          .table td, .table th {
          border: 1px solid #ddd;
          padding: 8px;
          }

          .table tr:nth-child(even){background-color: #f2f2f2;}

          .table tr:hover {background-color: #ddd;}

          .table th {
          padding-top: 12px;
          padding-bottom: 12px;
          text-align: left;
          background-color: #4CAF50;
          color: white;
          }
          `;

          console.debug(await CSSParser.transform(css, {beautify: true, convertColor: CSSParser.ColorType.OKLCH}).then(r => r.code));
          })();

          </script> -
          - -

          Parse and render css in a single pass.

          -

          transform(css: string | ReadableStream<string>, transformOptions: TransformOptions = {}): TransformResult
          parse(css: string | ReadableStream<string>, parseOptions: ParseOptions = {}): ParseResult;
          render(ast: AstNode, renderOptions: RenderOptions = {}): RenderResult; -
          - -

          import {transform} from '@tbela99/css-parser';

          const {ast, code, map, errors, stats} = await transform(css, {minify: true, resolveImport: true, cwd: 'files/css'}); -
          - -

          Read from stdin with node using readable stream

          -
          import {transform} from "../src/node";
          import {Readable} from "node:stream";
          import type {TransformResult} from '../src/@types/index.d.ts';

          const readableStream: ReadableStream<string> = Readable.toWeb(process.stdin) as ReadableStream<string>;
          const result: TransformResult = await transform(readableStream, {beautify: true});

          console.log(result.code); -
          - -

          Include ParseOptions and RenderOptions

          -
          -

          Minify Options

          -
          -
            -
          • minify: boolean, optional. default to true. optimize ast.
          • -
          • pass: number, optional. minification pass. default to 1
          • -
          • nestingRules: boolean, optional. automatically generated nested rules.
          • -
          • expandNestingRules: boolean, optional. convert nesting rules into separate rules. will automatically set nestingRules -to false.
          • -
          • removeDuplicateDeclarations: boolean, optional. remove duplicate declarations.
          • -
          • computeTransform: boolean, optional. compute css transform functions.
          • -
          • computeShorthand: boolean, optional. compute shorthand properties.
          • -
          • computeCalcExpression: boolean, optional. evaluate calc() expression
          • -
          • inlineCssVariables: boolean, optional. replace some css variables with their actual value. they must be declared once -in the :root {} or html {} rule.
          • -
          • removeEmpty: boolean, optional. remove empty rule lists from the ast.
          • -
          -
          -

          CSS Prefix Removal Options

          -
          -
            -
          • removePrefix: boolean, optional. remove CSS prefixes.
          • -
          -
          -

          Validation Options

          -
          -
            -
          • validation: ValidationLevel | boolean, optional. enable validation. permitted values are: -
              -
            • ValidationLevel.None: no validation
            • -
            • ValidationLevel.Default: validate selectors and at-rules (default)
            • -
            • ValidationLevel.All. validate all nodes
            • -
            • true: same as ValidationLevel.All.
            • -
            • false: same as ValidationLevel.None
            • -
            -
          • -
          • lenient: boolean, optional. preserve invalid tokens.
          • -
          -
          -

          Sourcemap Options

          -
          -
            -
          • src: string, optional. original css file location to be used with sourcemap, also used to resolve url().
          • -
          • sourcemap: boolean, optional. preserve node location data.
          • -
          -
          -

          Ast Traversal Options

          -
          -
            -
          • visitor: VisitorNodeMap, optional. node visitor used to transform the ast.
          • -
          -
          -

          Urls and @import Options

          -
          -
            -
          • resolveImport: boolean, optional. replace @import rule by the content of the referenced stylesheet.
          • -
          • resolveUrls: boolean, optional. resolve css 'url()' according to the parameters 'src' and 'cwd'
          • -
          -
          -

          Misc Options

          -
          -
            -
          • removeCharset: boolean, optional. remove @charset.
          • -
          • cwd: string, optional. destination directory used to resolve url().
          • -
          • signal: AbortSignal, optional. abort parsing.
          • -
          -
          -

          Minify Options

          -
          -
            -
          • beautify: boolean, optional. default to false. beautify css output.
          • -
          • minify: boolean, optional. default to true. minify css values.
          • -
          • withParents: boolean, optional. render this node and its parents.
          • -
          • removeEmpty: boolean, optional. remove empty rule lists from the ast.
          • -
          • expandNestingRules: boolean, optional. expand nesting rules.
          • -
          • preserveLicense: boolean, force preserving comments starting with '/*!' when minify is enabled.
          • -
          • removeComments: boolean, remove comments in generated css.
          • -
          • convertColor: boolean | ColorType, convert colors to the specified color. default to ColorType.HEX. supported values are: -
              -
            • true: same as ColorType.HEX
            • -
            • false: no color conversion
            • -
            • ColorType.HEX
            • -
            • ColorType.RGB or ColorType.RGBA
            • -
            • ColorType.HSL
            • -
            • ColorType.HWB
            • -
            • ColorType.CMYK or ColorType.DEVICE_CMYK
            • -
            • ColorType.SRGB
            • -
            • ColorType.SRGB_LINEAR
            • -
            • ColorType.DISPLAY_P3
            • -
            • ColorType.PROPHOTO_RGB
            • -
            • ColorType.A98_RGB
            • -
            • ColorType.REC2020
            • -
            • ColorType.XYZ or ColorType.XYZ_D65
            • -
            • ColorType.XYZ_D50
            • -
            • ColorType.LAB
            • -
            • ColorType.LCH
            • -
            • ColorType.OKLAB
            • -
            • ColorType.OKLCH
            • -
            -
          • -
          -
          -

          Sourcemap Options

          -
          -
            -
          • sourcemap: boolean | 'inline', optional. generate sourcemap.
          • -
          -
          -

          Misc Options

          -
          -
            -
          • indent: string, optional. css indention string. uses space character by default.
          • -
          • newLine: string, optional. new line character.
          • -
          • output: string, optional. file where to store css. url() are resolved according to the specified value. no file is -created though.
          • -
          • cwd: string, optional. destination directory used to resolve url().
          • -
          -

          parse(css, parseOptions = {}) -
          - -

          const {ast, errors, stats} = await parse(css); -
          - -
          render(ast, RenderOptions = {});
          -
          - -

          Rendering ast

          -
          import {parse, render} from '@tbela99/css-parser';

          const css = `
          @media screen and (min-width: 40em) {
          .featurette-heading {
          font-size: 50px;
          }
          .a {
          color: red;
          width: 3px;
          }
          }
          `;

          const result = await parse(css, options);

          // print declaration without parents
          console.error(render(result.ast.chi[0].chi[1].chi[1], {withParents: false}));
          // -> width:3px

          // print declaration with parents
          console.debug(render(result.ast.chi[0].chi[1].chi[1], {withParents: true}));
          // -> @media screen and (min-width:40em){.a{width:3px}}
          -
          - -
          import {transform, ColorType} from '@tbela99/css-parser';


          const css = `
          .hsl { color: #b3222280; }
          `;
          const result: TransformResult = await transform(css, {
          beautify: true,
          convertColor: ColorType.SRGB
          });

          console.log(result.css);
          -
          - -

          result

          -
          .hsl {
          color: color(srgb .7019607843137254 .13333333333333333 .13333333333333333/50%)
          } -
          - -

          CSS

          -

          .clear {
          width: 0;
          height: 0;
          color: transparent;
          }

          .clearfix:before {

          height: 0;
          width: 0;
          } -
          - -

          import {transform} from '@tbela99/css-parser';

          const result = await transform(css);
          -
          - -

          Result

          -
          .clear, .clearfix:before {
          height: 0;
          width: 0
          }

          .clear {
          color: #0000
          } -
          - -

          CSS

          -
          const {parse, render} = require("@tbela99/css-parser/cjs");

          const css = `
          table.colortable td {
          text-align:center;
          }
          table.colortable td.c {
          text-transform:uppercase;
          }
          table.colortable td:first-child, table.colortable td:first-child+td {
          border:1px solid black;
          }
          table.colortable th {
          text-align:center;
          background:black;
          color:white;
          }
          `;

          const result = await parse(css, {nestingRules: true}).then(result => render(result.ast, {minify: false}).code); -
          - -

          Result

          -
          table.colortable {
          & td {
          text-align: center;

          &.c {
          text-transform: uppercase
          }

          &:first-child, &:first-child + td {
          border: 1px solid #000
          }
          }

          & th {
          text-align: center;
          background: #000;
          color: #fff
          }
          } -
          - -

          CSS

          -

          #404 {
          --animate-duration: 1s;
          }

          .s, #404 {
          --animate-duration: 1s;
          }

          .s [type="text" {
          --animate-duration: 1s;
          }

          .s [type="text"]]
          {
          --animate-duration: 1s;
          }

          .s [type="text"] {
          --animate-duration: 1s;
          }

          .s [type="text" i] {
          --animate-duration: 1s;
          }

          .s [type="text" s]
          {
          --animate-duration: 1s
          ;
          }

          .s [type="text" b]
          {
          --animate-duration: 1s;
          }

          .s [type="text" b],{
          --animate-duration: 1s
          ;
          }

          .s [type="text" b]
          + {
          --animate-duration: 1s;
          }

          .s [type="text" b]
          + b {
          --animate-duration: 1s;
          }

          .s [type="text" i] + b {
          --animate-duration: 1s;
          }


          .s [type="text"())]{
          --animate-duration: 1s;
          }
          .s(){
          --animate-duration: 1s;
          }
          .s:focus {
          --animate-duration: 1s;
          } -
          - -

          with validation enabled

          -
          import {parse, render} from '@tbela99/css-parser';

          const options = {minify: true, validate: true};
          const {code} = await parse(css, options).then(result => render(result.ast, {minify: false}));
          //
          console.debug(code); -
          - -
          .s:is([type=text],[type=text i],[type=text s],[type=text i]+b,:focus) {
          --animate-duration: 1s
          } -
          - -

          with validation disabled

          -
          import {parse, render} from '@tbela99/css-parser';

          const options = {minify: true, validate: false};
          const {code} = await parse(css, options).then(result => render(result.ast, {minify: false}));
          //
          console.debug(code); -
          - -
          .s:is([type=text],[type=text i],[type=text s],[type=text b],[type=text b]+b,[type=text i]+b,:focus) {
          --animate-duration: 1s
          } -
          - -

          CSS

          -
          table.colortable {
          & td {
          text-align: center;

          &.c {
          text-transform: uppercase
          }

          &:first-child, &:first-child + td {
          border: 1px solid #000
          }
          }

          & th {
          text-align: center;
          background: #000;
          color: #fff
          }
          } -
          - -

          Javascript

          -
          import {parse, render} from '@tbela99/css-parser';

          const options = {minify: true};
          const {code} = await parse(css, options).then(result => render(result.ast, {minify: false, expandNestingRules: true}));
          //
          console.debug(code); -
          - -

          Result

          -

          table.colortable td {
          text-align: center;
          }

          table.colortable td.c {
          text-transform: uppercase;
          }

          table.colortable td:first-child, table.colortable td:first-child + td {
          border: 1px solid black;
          }

          table.colortable th {
          text-align: center;
          background: black;
          color: white;
          } -
          - -

          import {parse, render} from '@tbela99/css-parser';

          const css = `
          a {

          width: calc(100px * log(625, 5));
          }
          .foo-bar {
          width: calc(100px * 2);
          height: calc(((75.37% - 63.5px) - 900px) + (2 * 100px));
          max-width: calc(3.5rem + calc(var(--bs-border-width) * 2));
          }
          `;

          const prettyPrint = await parse(css).then(result => render(result.ast, {minify: false}).code);
          -
          - -

          result

          -
          a {
          width: 400px;
          }

          .foo-bar {
          width: 200px;
          height: calc(75.37% - 763.5px);
          max-width: calc(3.5rem + var(--bs-border-width) * 2)
          } -
          - -

          import {parse, render} from '@tbela99/css-parser';

          const css = `

          :root {

          --preferred-width: 20px;
          }
          .foo-bar {

          width: calc(calc(var(--preferred-width) + 1px) / 3 + 5px);
          height: calc(100% / 4);}
          `

          const prettyPrint = await parse(css, {inlineCssVariables: true}).then(result => render(result.ast, {minify: false}).code);
          -
          - -

          result

          -
          .foo-bar {
          width: 12px;
          height: 25%
          }
          -
          - -

          import {parse, render} from '@tbela99/css-parser';

          const css = `

          :root {
          --color: green;
          }
          ._19_u :focus {
          color: hsl(from var(--color) calc(h * 2) s l);

          }
          `

          const prettyPrint = await parse(css, {inlineCssVariables: true}).then(result => render(result.ast, {minify: false}).code);
          -
          - -

          result

          -
          ._19_u :focus {
          color: navy
          }
          -
          - -

          import {parse, render} from '@tbela99/css-parser';

          const css = `

          html { --bluegreen: oklab(54.3% -22.5% -5%); }
          .overlay {
          background: oklab(from var(--bluegreen) calc(1.0 - l) calc(a * 0.8) b);
          }
          `

          const prettyPrint = await parse(css, {inlineCssVariables: true}).then(result => render(result.ast, {minify: false}).code);
          -
          - -

          result

          -
          .overlay {
          background: #0c6464
          }
          -
          - -

          Node Walker

          import {walk} from '@tbela99/css-parser';

          for (const {node, parent, root} of walk(ast)) {

          // do something
          } -
          - -
            -
          • typ: number
          • -
          • val: string, the comment
          • -
          -
            -
          • typ: number
          • -
          • nam: string, declaration name
          • -
          • val: array of tokens
          • -
          -
            -
          • typ: number
          • -
          • sel: string, css selector
          • -
          • chi: array of children
          • -
          -
            -
          • typ: number
          • -
          • nam: string. AtRule name
          • -
          • val: rule prelude
          • -
          -
            -
          • typ: number
          • -
          • chi: array of children
          • -
          -
            -
          • typ: number
          • -
          • sel: string, css selector
          • -
          • chi: array of children
          • -
          -
            -
          • [x] sourcemap generation
          • -
          -
            -
          • [x] minify keyframes
          • -
          • [x] minify transform functions
          • -
          • [x] evaluate math functions calc(), clamp(), min(), max(), round(), mod(), rem(), sin(), cos(), tan(), asin(), -acos(), atan(), atan2(), pow(), sqrt(), hypot(), log(), exp(), abs(), sign()
          • -
          • [x] minify colors
          • -
          • [x] minify numbers and Dimensions tokens
          • -
          • [x] multi-pass minification
          • -
          • [x] inline css variables
          • -
          • [x] merge identical rules
          • -
          • [x] merge adjacent rules
          • -
          • [x] compute shorthand: see the list below
          • -
          • [x] remove redundant declarations
          • -
          • [x] conditionally unwrap :is()
          • -
          • [x] automatic css nesting
          • -
          • [x] automatically wrap selectors using :is()
          • -
          • [x] avoid reparsing (declarations, selectors, at-rule)
          • -
          • [x] node and browser versions
          • -
          • [x] decode and replace utf-8 escape sequence
          • -
          • [x] experimental CSS prefix removal
          • -
          -
            -
          • [ ] ~all~
          • -
          • [x] animation
          • -
          • [x] background
          • -
          • [x] border
          • -
          • [ ] border-block-end
          • -
          • [ ] border-block-start
          • -
          • [x] border-bottom
          • -
          • [x] border-color
          • -
          • [ ] border-image
          • -
          • [ ] border-inline-end
          • -
          • [ ] border-inline-start
          • -
          • [x] border-left
          • -
          • [x] border-radius
          • -
          • [x] border-right
          • -
          • [x] border-style
          • -
          • [x] border-top
          • -
          • [x] border-width
          • -
          • [x] column-rule
          • -
          • [x] columns
          • -
          • [x] container
          • -
          • [ ] contain-intrinsic-size
          • -
          • [x] flex
          • -
          • [x] flex-flow
          • -
          • [x] font
          • -
          • [ ] font-synthesis
          • -
          • [ ] font-variant
          • -
          • [x] gap
          • -
          • [ ] grid
          • -
          • [ ] grid-area
          • -
          • [ ] grid-column
          • -
          • [ ] grid-row
          • -
          • [ ] grid-template
          • -
          • [x] inset
          • -
          • [x] list-style
          • -
          • [x] margin
          • -
          • [ ] mask
          • -
          • [ ] offset
          • -
          • [x] outline
          • -
          • [x] overflow
          • -
          • [x] padding
          • -
          • [ ] place-content
          • -
          • [ ] place-items
          • -
          • [ ] place-self
          • -
          • [ ] scroll-margin
          • -
          • [ ] scroll-padding
          • -
          • [ ] scroll-timeline
          • -
          • [x] text-decoration
          • -
          • [x] text-emphasis
          • -
          • [x] transition
          • -
          -
            -
          • [x] flatten @import
          • -
          -

          Ast can be transformed using node visitors

          -

          the visitor is called for any declaration encountered

          -

          import {AstDeclaration, ParserOptions} from "../src/@types";

          const options: ParserOptions = {

          visitor: {

          Declaration: (node: AstDeclaration) => {

          if (node.nam == '-webkit-transform') {

          node.nam = 'transform'
          }
          }
          }
          }

          const css = `

          .foo {
          -webkit-transform: scale(calc(100 * 2/ 15));
          }
          `;

          console.debug(await transform(css, options));

          // .foo{transform:scale(calc(40/3))} -
          - -

          the visitor is called only on 'height' declarations

          -

          import {AstDeclaration, LengthToken, ParserOptions} from "../src/@types";
          import {EnumToken} from "../src/lib";
          import {transform} from "../src/node";

          const options: ParserOptions = {

          visitor: {

          Declaration: {

          // called only for height declaration
          height: (node: AstDeclaration): AstDeclaration[] => {


          return [
          node,
          {

          typ: EnumToken.DeclarationNodeType,
          nam: 'width',
          val: [
          <LengthToken>{
          typ: EnumToken.LengthTokenType,
          val: 3,
          unit: 'px'
          }
          ]
          }
          ];
          }
          }
          }
          };

          const css = `

          .foo {
          height: calc(100px * 2/ 15);
          }
          .selector {
          color: lch(from peru calc(l * 0.8) calc(c * 0.7) calc(h + 180))
          }
          `;

          console.debug(await transform(css, options));

          // .foo{height:calc(40px/3);width:3px}.selector{color:#0880b0}
          -
          - -

          the visitor is called on any at-rule

          -

          import {AstAtRule, ParserOptions} from "../src/@types";
          import {transform} from "../src/node";


          const options: ParserOptions = {

          visitor: {

          AtRule: (node: AstAtRule): AstAtRule => {

          if (node.nam == 'media') {

          return {...node, val: 'all'}
          }
          }
          }
          };

          const css = `

          @media screen {

          .foo {

          height: calc(100px * 2/ 15);
          }
          }
          `;

          console.debug(await transform(css, options));

          // .foo{height:calc(40px/3)}
          -
          - -

          the visitor is called only for at-rule media

          -

          import {AstAtRule, ParserOptions} from "../src/@types";
          import {transform} from "../src/node";

          const options: ParserOptions = {

          visitor: {

          AtRule: {

          media: (node: AstAtRule): AstAtRule => {

          node.val = 'all';
          return node
          }
          }
          }
          };

          const css = `

          @media screen {

          .foo {

          height: calc(100px * 2/ 15);
          }
          }
          `;

          console.debug(await transform(css, options));

          // .foo{height:calc(40px/3)}
          -
          - -

          the visitor is called on any Rule

          -

          import {AstAtRule, ParserOptions} from "../src/@types";
          import {transform} from "../src/node";

          const options: ParserOptions = {

          visitor: {


          Rule(node: AstRule): AstRule {

          return {...node, sel: '.foo,.bar,.fubar'};
          }
          }
          };

          const css = `

          .foo {

          height: calc(100px * 2/ 15);
          }
          `;

          console.debug(await transform(css, options));

          // .foo,.bar,.fubar{height:calc(40px/3)}
          -
          - -

          Adding declarations to any rule

          -

          import {transform} from "../src/node";
          import {AstRule, ParserOptions} from "../src/@types";
          import {parseDeclarations} from "../src/lib";

          const options: ParserOptions = {

          removeEmpty: false,
          visitor: {

          Rule: async (node: AstRule): Promise<AstRule | null> => {

          if (node.sel == '.foo') {

          node.chi.push(...await parseDeclarations('width: 3px'));
          return node;
          }

          return null;
          }
          }
          };

          const css = `

          .foo {
          }
          `;

          console.debug(await transform(css, options));

          // .foo{width:3px}
          -
          - -

          @tbela99/css-parser

          Interface AddToken

          Add token

          -
          interface AddToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: Add;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface AddToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: Add;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -
          typ: Add

          token type

          -

          Interface AngleToken

          Angle token

          -
          interface AngleToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: AngleTokenType;
              unit: string;
              val: number | FractionToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface AngleToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: AngleTokenType;
              unit: string;
              val: number | FractionToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          unit: string
          val: number | FractionToken

          Interface AstAtRule

          at rule node

          -
          interface AstAtRule {
              chi?:
                  | (AstDeclaration | AstComment | AstInvalidDeclaration)[]
                  | (AstComment | AstRule)[];
              loc?: Location;
              nam: string;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: AtRuleNodeType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface AstAtRule {
              chi?:
                  | (AstDeclaration | AstComment | AstInvalidDeclaration)[]
                  | (AstRule | AstComment)[];
              loc?: Location;
              nam: string;
              parent?: any;
              tokens?: null | Token[];
              typ: AtRuleNodeType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi?:
              | (AstDeclaration | AstComment | AstInvalidDeclaration)[]
              | (AstComment | AstRule)[]
          loc?: Location

          location info

          -
          nam: string
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface AstComment

          comment node

          -
          interface AstComment {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: CommentTokenType | CDOCOMMTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface AstComment {
              loc?: Location;
              parent?: any;
              tokens?: null;
              typ: CommentTokenType | CDOCOMMTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface AstDeclaration

          declaration node

          -
          interface AstDeclaration {
              loc?: Location;
              nam: string;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: DeclarationNodeType;
              val: Token[];
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface AstDeclaration {
              loc?: Location;
              nam: string;
              parent?: any;
              tokens?: null;
              typ: DeclarationNodeType;
              val: Token[];
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          nam: string
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: Token[]

          Interface AstInvalidAtRule

          invalid at rule node

          -
          interface AstInvalidAtRule {
              chi?: AstNode[];
              loc?: Location;
              nam: string;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: InvalidAtRuleTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface AstInvalidAtRule {
              chi?: AstNode[];
              loc?: Location;
              nam: string;
              parent?: any;
              tokens?: null | Token[];
              typ: InvalidAtRuleTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi?: AstNode[]
          loc?: Location

          location info

          -
          nam: string
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface AstInvalidDeclaration

          invalid declaration node

          -
          interface AstInvalidDeclaration {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: InvalidDeclarationNodeType;
              val: AstNode[];
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface AstInvalidDeclaration {
              loc?: Location;
              parent?: any;
              tokens?: null;
              typ: InvalidDeclarationNodeType;
              val: Token[];
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: AstNode[]

          Interface AstInvalidRule

          invalid rule node

          -
          interface AstInvalidRule {
              chi: AstNode[];
              loc?: Location;
              parent?: null | AstRuleList;
              sel: string;
              tokens?: null | Token[];
              typ: InvalidRuleTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi +
          interface AstInvalidRule {
              chi: AstNode[];
              loc?: Location;
              parent?: any;
              sel: string;
              tokens?: null | Token[];
              typ: InvalidRuleTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi: AstNode[]
          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          sel: string
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface AstKeyFrameRule

          keyframe rule node

          -
          interface AstKeyFrameRule {
              chi: (AstDeclaration | AstComment)[];
              loc?: Location;
              optimized?: OptimizedSelector;
              parent?: null | AstRuleList;
              raw?: RawSelectorTokens;
              sel: string;
              tokens?: Token[];
              typ: KeyFramesRuleNodeType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi +
          interface AstKeyFrameRule {
              chi: (AstDeclaration | AstComment | AstInvalidDeclaration)[];
              loc?: Location;
              optimized?: OptimizedSelector;
              parent?: any;
              raw?: RawSelectorTokens;
              sel: string;
              tokens?: Token[];
              typ: KeyFramesRuleNodeType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi loc? optimized? parent? @@ -165,11 +165,11 @@ sel tokens? typ -

          Properties

          loc?: Location

          location info

          -
          optimized?: OptimizedSelector
          parent?: null | AstRuleList

          parent node

          -
          sel: string
          tokens?: Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface AstKeyFrameRule

          keyframe rule node

          -
          interface AstKeyFrameRule {
              chi: (AstDeclaration | AstComment)[];
              loc?: Location;
              optimized?: OptimizedSelector;
              parent?: null | AstRuleList;
              raw?: RawSelectorTokens;
              sel: string;
              tokens?: Token[];
              typ: KeyFramesRuleNodeType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi +
          interface AstKeyFrameRule {
              chi: (AstDeclaration | AstComment | AstInvalidDeclaration)[];
              loc?: Location;
              optimized?: OptimizedSelector;
              parent?: any;
              raw?: RawSelectorTokens;
              sel: string;
              tokens?: Token[];
              typ: KeyFramesRuleNodeType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi loc? optimized? parent? @@ -165,11 +165,11 @@ sel tokens? typ -

          Properties

          loc?: Location

          location info

          -
          optimized?: OptimizedSelector
          parent?: null | AstRuleList

          parent node

          -
          sel: string
          tokens?: Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface AstKeyframesAtRule

          keyframe at rule node

          -
          interface AstKeyframesAtRule {
              chi: (AstComment | AstKeyframesRule)[];
              loc?: Location;
              nam: string;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: KeyframesAtRuleNodeType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi +
          interface AstKeyframesAtRule {
              chi: (AstComment | AstKeyframesRule)[];
              loc?: Location;
              nam: string;
              parent?: any;
              tokens?: null | Token[];
              typ: KeyframesAtRuleNodeType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          nam: string
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface AstKeyframesRule

          keyframe rule node

          -
          interface AstKeyframesRule {
              chi: (AstDeclaration | AstRuleList | AstComment | AstInvalidDeclaration)[];
              loc?: Location;
              optimized?: OptimizedSelector;
              parent?: null | AstRuleList;
              raw?: RawSelectorTokens;
              sel: string;
              tokens?: null | Token[];
              typ: KeyFramesRuleNodeType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi +
          interface AstKeyframesRule {
              chi: (AstDeclaration | AstRuleList | AstComment | AstInvalidDeclaration)[];
              loc?: Location;
              optimized?: OptimizedSelector;
              parent?: any;
              raw?: RawSelectorTokens;
              sel: string;
              tokens?: null | Token[];
              typ: KeyFramesRuleNodeType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi loc? optimized? parent? @@ -165,11 +165,11 @@ sel tokens? typ -

          Properties

          loc?: Location

          location info

          -
          optimized?: OptimizedSelector
          parent?: null | AstRuleList

          parent node

          -
          sel: string
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface AstRule

          rule node

          -
          interface AstRule {
              chi: (AstDeclaration | AstRuleList | AstComment)[];
              loc?: Location;
              optimized?: null | OptimizedSelector;
              parent?: null | AstRuleList;
              raw?: null | RawSelectorTokens;
              sel: string;
              tokens?: null | Token[];
              typ: RuleNodeType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi +
          interface AstRule {
              chi: (
                  | AstDeclaration
                  | AstAtRule
                  | AstInvalidRule
                  | AstInvalidAtRule
                  | AstRule
                  | AstComment
                  | AstInvalidDeclaration
              )[];
              loc?: Location;
              optimized?: null
              | OptimizedSelector;
              parent?: any;
              raw?: null | RawSelectorTokens;
              sel: string;
              tokens?: null | Token[];
              typ: RuleNodeType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi loc? optimized? parent? @@ -165,11 +165,11 @@ sel tokens? typ -

          Properties

          loc?: Location

          location info

          -
          optimized?: null | OptimizedSelector
          parent?: null | AstRuleList

          parent node

          -
          raw?: null | RawSelectorTokens
          sel: string
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface AstRuleList

          rule list node

          -
          interface AstRuleList {
              chi: (BaseToken | AstComment)[];
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ:
                  | StyleSheetNodeType
                  | AtRuleNodeType
                  | RuleNodeType
                  | KeyFramesRuleNodeType
                  | InvalidRuleTokenType
                  | InvalidAtRuleTokenType
                  | KeyframesAtRuleNodeType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          diff --git a/docs/interfaces/node.AstStyleSheet.html b/docs/interfaces/node.AstStyleSheet.html new file mode 100644 index 00000000..4a48dc06 --- /dev/null +++ b/docs/interfaces/node.AstStyleSheet.html @@ -0,0 +1,184 @@ +AstStyleSheet | @tbela99/css-parser

          Interface AstStyleSheet

          stylesheet node

          +
          interface AstStyleSheet {
              chi: any[];
              loc?: Location;
              parent?: any;
              tokens?: null;
              typ: StyleSheetNodeType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          chi: any[]
          loc?: Location

          location info

          +
          parent?: any

          parent node

          +
          tokens?: null

          prelude or selector tokens

          +

          token type

          +
          diff --git a/docs/interfaces/node.AtRuleToken.html b/docs/interfaces/node.AtRuleToken.html index fc19ffd9..285e6ffe 100644 --- a/docs/interfaces/node.AtRuleToken.html +++ b/docs/interfaces/node.AtRuleToken.html @@ -157,17 +157,17 @@ --md-sys-color-surface-container-highest: #e9e1d9 }

          Interface AtRuleToken

          At rule token

          -
          interface AtRuleToken {
              loc?: Location;
              parent?: null | AstRuleList;
              pre: string;
              tokens?: null | Token[];
              typ: AtRuleTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface AtRuleToken {
              loc?: Location;
              parent?: any;
              pre: string;
              tokens?: null | Token[];
              typ: AtRuleTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          pre: string
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface AttrEndToken

          Attribute end token

          -
          interface AttrEndToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: AttrEndTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface AttrEndToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: AttrEndTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface AttrStartToken

          Attribute start token

          -
          interface AttrStartToken {
              chi?: Token[];
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: AttrStartTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface AttrStartToken {
              chi?: Token[];
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: AttrStartTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi?: Token[]
          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface AttrToken

          Attribute token

          -
          interface AttrToken {
              chi: Token[];
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: AttrTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi +
          interface AttrToken {
              chi: Token[];
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: AttrTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          chi: Token[]
          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface BadCDOCommentToken

          Bad CDO comment token

          -
          interface BadCDOCommentToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: BadCdoTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface BadCDOCommentToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: BadCdoTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface BadCommentToken

          Bad comment token

          -
          interface BadCommentToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: BadCommentTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface BadCommentToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: BadCommentTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface BadStringToken

          Bad string token

          -
          interface BadStringToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: BadStringTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface BadStringToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: BadStringTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface BadUrlToken

          Bad URL token

          -
          interface BadUrlToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: BadUrlTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface BadUrlToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: BadUrlTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface BaseToken

          interface BaseToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: EnumToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc? +

          Interface BaseToken

          interface BaseToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: EnumToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface BinaryExpressionToken

          Binary expression token

          -
          interface BinaryExpressionToken {
              l:
                  | ColorToken
                  | InvalidClassSelectorToken
                  | InvalidAttrToken
                  | LiteralToken
                  | IdentToken
                  | IdentListToken
                  | DashedIdentToken
                  | CommaToken
                  | ColonToken
                  | SemiColonToken
                  | ClassSelectorToken
                  | UniversalSelectorToken
                  | ChildCombinatorToken
                  | DescendantCombinatorToken
                  | NextSiblingCombinatorToken
                  | SubsequentCombinatorToken
                  | ColumnCombinatorToken
                  | NestingSelectorToken
                  | MediaQueryConditionToken
                  | MediaFeatureToken
                  | MediaFeatureNotToken
                  | MediaFeatureOnlyToken
                  | MediaFeatureAndToken
                  | MediaFeatureOrToken
                  | AstDeclaration
                  | NumberToken
                  | AtRuleToken
                  | PercentageToken
                  | FlexToken
                  | FunctionURLToken
                  | FunctionImageToken
                  | TimingFunctionToken
                  | TimelineFunctionToken
                  | FunctionToken
                  | GridTemplateFuncToken
                  | DimensionToken
                  | LengthToken
                  | AngleToken
                  | StringToken
                  | TimeToken
                  | FrequencyToken
                  | ResolutionToken
                  | UnclosedStringToken
                  | HashToken
                  | BadStringToken
                  | BlockStartToken
                  | BlockEndToken
                  | AttrStartToken
                  | AttrEndToken
                  | ParensStartToken
                  | ParensEndToken
                  | ParensToken
                  | CDOCommentToken
                  | BadCDOCommentToken
                  | CommentToken
                  | BadCommentToken
                  | WhitespaceToken
                  | IncludeMatchToken
                  | StartMatchToken
                  | EndMatchToken
                  | ContainMatchToken
                  | MatchExpressionToken
                  | NameSpaceAttributeToken
                  | DashMatchToken
                  | EqualMatchToken
                  | LessThanToken
                  | LessThanOrEqualToken
                  | GreaterThanToken
                  | GreaterThanOrEqualToken
                  | ListToken
                  | PseudoClassToken
                  | PseudoPageToken
                  | PseudoElementToken
                  | PseudoClassFunctionToken
                  | DelimToken
                  | BinaryExpressionToken
                  | UnaryExpression
                  | FractionToken
                  | AddToken
                  | SubToken
                  | DivToken
                  | MulToken
                  | BadUrlToken
                  | UrlToken
                  | ImportantToken
                  | AttrToken
                  | EOFToken;
              loc?: Location;
              op: Add
              | Mul
              | Div
              | Sub;
              parent?: null | AstRuleList;
              r:
                  | ColorToken
                  | InvalidClassSelectorToken
                  | InvalidAttrToken
                  | LiteralToken
                  | IdentToken
                  | IdentListToken
                  | DashedIdentToken
                  | CommaToken
                  | ColonToken
                  | SemiColonToken
                  | ClassSelectorToken
                  | UniversalSelectorToken
                  | ChildCombinatorToken
                  | DescendantCombinatorToken
                  | NextSiblingCombinatorToken
                  | SubsequentCombinatorToken
                  | ColumnCombinatorToken
                  | NestingSelectorToken
                  | MediaQueryConditionToken
                  | MediaFeatureToken
                  | MediaFeatureNotToken
                  | MediaFeatureOnlyToken
                  | MediaFeatureAndToken
                  | MediaFeatureOrToken
                  | AstDeclaration
                  | NumberToken
                  | AtRuleToken
                  | PercentageToken
                  | FlexToken
                  | FunctionURLToken
                  | FunctionImageToken
                  | TimingFunctionToken
                  | TimelineFunctionToken
                  | FunctionToken
                  | GridTemplateFuncToken
                  | DimensionToken
                  | LengthToken
                  | AngleToken
                  | StringToken
                  | TimeToken
                  | FrequencyToken
                  | ResolutionToken
                  | UnclosedStringToken
                  | HashToken
                  | BadStringToken
                  | BlockStartToken
                  | BlockEndToken
                  | AttrStartToken
                  | AttrEndToken
                  | ParensStartToken
                  | ParensEndToken
                  | ParensToken
                  | CDOCommentToken
                  | BadCDOCommentToken
                  | CommentToken
                  | BadCommentToken
                  | WhitespaceToken
                  | IncludeMatchToken
                  | StartMatchToken
                  | EndMatchToken
                  | ContainMatchToken
                  | MatchExpressionToken
                  | NameSpaceAttributeToken
                  | DashMatchToken
                  | EqualMatchToken
                  | LessThanToken
                  | LessThanOrEqualToken
                  | GreaterThanToken
                  | GreaterThanOrEqualToken
                  | ListToken
                  | PseudoClassToken
                  | PseudoPageToken
                  | PseudoElementToken
                  | PseudoClassFunctionToken
                  | DelimToken
                  | BinaryExpressionToken
                  | UnaryExpression
                  | FractionToken
                  | AddToken
                  | SubToken
                  | DivToken
                  | MulToken
                  | BadUrlToken
                  | UrlToken
                  | ImportantToken
                  | AttrToken
                  | EOFToken;
              tokens?: null
              | Token[];
              typ: BinaryExpressionTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          l +
          interface BinaryExpressionToken {
              l:
                  | ColorToken
                  | InvalidClassSelectorToken
                  | InvalidAttrToken
                  | LiteralToken
                  | IdentToken
                  | IdentListToken
                  | DashedIdentToken
                  | CommaToken
                  | ColonToken
                  | SemiColonToken
                  | ClassSelectorToken
                  | UniversalSelectorToken
                  | ChildCombinatorToken
                  | DescendantCombinatorToken
                  | NextSiblingCombinatorToken
                  | SubsequentCombinatorToken
                  | ColumnCombinatorToken
                  | NestingSelectorToken
                  | MediaQueryConditionToken
                  | MediaFeatureToken
                  | MediaFeatureNotToken
                  | MediaFeatureOnlyToken
                  | MediaFeatureAndToken
                  | MediaFeatureOrToken
                  | AstDeclaration
                  | NumberToken
                  | AtRuleToken
                  | PercentageToken
                  | FlexToken
                  | FunctionURLToken
                  | FunctionImageToken
                  | TimingFunctionToken
                  | TimelineFunctionToken
                  | FunctionToken
                  | GridTemplateFuncToken
                  | DimensionToken
                  | LengthToken
                  | AngleToken
                  | StringToken
                  | TimeToken
                  | FrequencyToken
                  | ResolutionToken
                  | UnclosedStringToken
                  | HashToken
                  | BadStringToken
                  | BlockStartToken
                  | BlockEndToken
                  | AttrStartToken
                  | AttrEndToken
                  | ParensStartToken
                  | ParensEndToken
                  | ParensToken
                  | CDOCommentToken
                  | BadCDOCommentToken
                  | CommentToken
                  | BadCommentToken
                  | WhitespaceToken
                  | IncludeMatchToken
                  | StartMatchToken
                  | EndMatchToken
                  | ContainMatchToken
                  | MatchExpressionToken
                  | NameSpaceAttributeToken
                  | DashMatchToken
                  | EqualMatchToken
                  | LessThanToken
                  | LessThanOrEqualToken
                  | GreaterThanToken
                  | GreaterThanOrEqualToken
                  | ListToken
                  | PseudoClassToken
                  | PseudoPageToken
                  | PseudoElementToken
                  | PseudoClassFunctionToken
                  | DelimToken
                  | BinaryExpressionToken
                  | UnaryExpression
                  | FractionToken
                  | AddToken
                  | SubToken
                  | DivToken
                  | MulToken
                  | BadUrlToken
                  | UrlToken
                  | ImportantToken
                  | AttrToken
                  | EOFToken;
              loc?: Location;
              op: Add
              | Mul
              | Div
              | Sub;
              parent?: any;
              r:
                  | ColorToken
                  | InvalidClassSelectorToken
                  | InvalidAttrToken
                  | LiteralToken
                  | IdentToken
                  | IdentListToken
                  | DashedIdentToken
                  | CommaToken
                  | ColonToken
                  | SemiColonToken
                  | ClassSelectorToken
                  | UniversalSelectorToken
                  | ChildCombinatorToken
                  | DescendantCombinatorToken
                  | NextSiblingCombinatorToken
                  | SubsequentCombinatorToken
                  | ColumnCombinatorToken
                  | NestingSelectorToken
                  | MediaQueryConditionToken
                  | MediaFeatureToken
                  | MediaFeatureNotToken
                  | MediaFeatureOnlyToken
                  | MediaFeatureAndToken
                  | MediaFeatureOrToken
                  | AstDeclaration
                  | NumberToken
                  | AtRuleToken
                  | PercentageToken
                  | FlexToken
                  | FunctionURLToken
                  | FunctionImageToken
                  | TimingFunctionToken
                  | TimelineFunctionToken
                  | FunctionToken
                  | GridTemplateFuncToken
                  | DimensionToken
                  | LengthToken
                  | AngleToken
                  | StringToken
                  | TimeToken
                  | FrequencyToken
                  | ResolutionToken
                  | UnclosedStringToken
                  | HashToken
                  | BadStringToken
                  | BlockStartToken
                  | BlockEndToken
                  | AttrStartToken
                  | AttrEndToken
                  | ParensStartToken
                  | ParensEndToken
                  | ParensToken
                  | CDOCommentToken
                  | BadCDOCommentToken
                  | CommentToken
                  | BadCommentToken
                  | WhitespaceToken
                  | IncludeMatchToken
                  | StartMatchToken
                  | EndMatchToken
                  | ContainMatchToken
                  | MatchExpressionToken
                  | NameSpaceAttributeToken
                  | DashMatchToken
                  | EqualMatchToken
                  | LessThanToken
                  | LessThanOrEqualToken
                  | GreaterThanToken
                  | GreaterThanOrEqualToken
                  | ListToken
                  | PseudoClassToken
                  | PseudoPageToken
                  | PseudoElementToken
                  | PseudoClassFunctionToken
                  | DelimToken
                  | BinaryExpressionToken
                  | UnaryExpression
                  | FractionToken
                  | AddToken
                  | SubToken
                  | DivToken
                  | MulToken
                  | BadUrlToken
                  | UrlToken
                  | ImportantToken
                  | AttrToken
                  | EOFToken;
              tokens?: null
              | Token[];
              typ: BinaryExpressionTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          l:
              | ColorToken
              | InvalidClassSelectorToken
              | InvalidAttrToken
              | LiteralToken
              | IdentToken
              | IdentListToken
              | DashedIdentToken
              | CommaToken
              | ColonToken
              | SemiColonToken
              | ClassSelectorToken
              | UniversalSelectorToken
              | ChildCombinatorToken
              | DescendantCombinatorToken
              | NextSiblingCombinatorToken
              | SubsequentCombinatorToken
              | ColumnCombinatorToken
              | NestingSelectorToken
              | MediaQueryConditionToken
              | MediaFeatureToken
              | MediaFeatureNotToken
              | MediaFeatureOnlyToken
              | MediaFeatureAndToken
              | MediaFeatureOrToken
              | AstDeclaration
              | NumberToken
              | AtRuleToken
              | PercentageToken
              | FlexToken
              | FunctionURLToken
              | FunctionImageToken
              | TimingFunctionToken
              | TimelineFunctionToken
              | FunctionToken
              | GridTemplateFuncToken
              | DimensionToken
              | LengthToken
              | AngleToken
              | StringToken
              | TimeToken
              | FrequencyToken
              | ResolutionToken
              | UnclosedStringToken
              | HashToken
              | BadStringToken
              | BlockStartToken
              | BlockEndToken
              | AttrStartToken
              | AttrEndToken
              | ParensStartToken
              | ParensEndToken
              | ParensToken
              | CDOCommentToken
              | BadCDOCommentToken
              | CommentToken
              | BadCommentToken
              | WhitespaceToken
              | IncludeMatchToken
              | StartMatchToken
              | EndMatchToken
              | ContainMatchToken
              | MatchExpressionToken
              | NameSpaceAttributeToken
              | DashMatchToken
              | EqualMatchToken
              | LessThanToken
              | LessThanOrEqualToken
              | GreaterThanToken
              | GreaterThanOrEqualToken
              | ListToken
              | PseudoClassToken
              | PseudoPageToken
              | PseudoElementToken
              | PseudoClassFunctionToken
              | DelimToken
              | BinaryExpressionToken
              | UnaryExpression
              | FractionToken
              | AddToken
              | SubToken
              | DivToken
              | MulToken
              | BadUrlToken
              | UrlToken
              | ImportantToken
              | AttrToken
              | EOFToken
          loc?: Location

          location info

          -
          op: Add | Mul | Div | Sub
          parent?: null | AstRuleList

          parent node

          -
          r:
              | ColorToken
              | InvalidClassSelectorToken
              | InvalidAttrToken
              | LiteralToken
              | IdentToken
              | IdentListToken
              | DashedIdentToken
              | CommaToken
              | ColonToken
              | SemiColonToken
              | ClassSelectorToken
              | UniversalSelectorToken
              | ChildCombinatorToken
              | DescendantCombinatorToken
              | NextSiblingCombinatorToken
              | SubsequentCombinatorToken
              | ColumnCombinatorToken
              | NestingSelectorToken
              | MediaQueryConditionToken
              | MediaFeatureToken
              | MediaFeatureNotToken
              | MediaFeatureOnlyToken
              | MediaFeatureAndToken
              | MediaFeatureOrToken
              | AstDeclaration
              | NumberToken
              | AtRuleToken
              | PercentageToken
              | FlexToken
              | FunctionURLToken
              | FunctionImageToken
              | TimingFunctionToken
              | TimelineFunctionToken
              | FunctionToken
              | GridTemplateFuncToken
              | DimensionToken
              | LengthToken
              | AngleToken
              | StringToken
              | TimeToken
              | FrequencyToken
              | ResolutionToken
              | UnclosedStringToken
              | HashToken
              | BadStringToken
              | BlockStartToken
              | BlockEndToken
              | AttrStartToken
              | AttrEndToken
              | ParensStartToken
              | ParensEndToken
              | ParensToken
              | CDOCommentToken
              | BadCDOCommentToken
              | CommentToken
              | BadCommentToken
              | WhitespaceToken
              | IncludeMatchToken
              | StartMatchToken
              | EndMatchToken
              | ContainMatchToken
              | MatchExpressionToken
              | NameSpaceAttributeToken
              | DashMatchToken
              | EqualMatchToken
              | LessThanToken
              | LessThanOrEqualToken
              | GreaterThanToken
              | GreaterThanOrEqualToken
              | ListToken
              | PseudoClassToken
              | PseudoPageToken
              | PseudoElementToken
              | PseudoClassFunctionToken
              | DelimToken
              | BinaryExpressionToken
              | UnaryExpression
              | FractionToken
              | AddToken
              | SubToken
              | DivToken
              | MulToken
              | BadUrlToken
              | UrlToken
              | ImportantToken
              | AttrToken
              | EOFToken
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface BlockEndToken

          Block end token

          -
          interface BlockEndToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: BlockEndTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface BlockEndToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: BlockEndTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface BlockStartToken

          Block start token

          -
          interface BlockStartToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: BlockStartTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface BlockStartToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: BlockStartTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface CDOCommentToken

          CDO comment token

          -
          interface CDOCommentToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: CDOCOMMTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface CDOCommentToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: CDOCOMMTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface ChildCombinatorToken

          Child combinator token

          -
          interface ChildCombinatorToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: ChildCombinatorTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface ChildCombinatorToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: ChildCombinatorTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface ClassSelectorToken

          Class selector token

          -
          interface ClassSelectorToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: ClassSelectorTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface ClassSelectorToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: ClassSelectorTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface ColonToken

          Colon token

          -
          interface ColonToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: ColonTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface ColonToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: ColonTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface ColorToken

          Color token

          -
          interface ColorToken {
              cal?: "rel" | "mix";
              chi?: Token[];
              kin: ColorType;
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: ColorTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface ColorToken {
              cal?: "rel" | "mix";
              chi?: Token[];
              kin: ColorType;
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: ColorTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          cal? chi? kin loc? @@ -165,11 +165,11 @@ tokens? typ val -

          Properties

          cal?: "rel" | "mix"
          chi?: Token[]
          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface ColumnCombinatorToken

          Column combinator token

          -
          interface ColumnCombinatorToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: ColumnCombinatorTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface ColumnCombinatorToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: ColumnCombinatorTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface CommaToken

          Comma token

          -
          interface CommaToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: CommaTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface CommaToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: CommaTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface CommentToken

          Comment token

          -
          interface CommentToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: CommentTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface CommentToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: CommentTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface ContainMatchToken

          Contain match token

          -
          interface ContainMatchToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: ContainMatchTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface ContainMatchToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: ContainMatchTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface Context<Type>

          interface Context<Type> {
              index: number;
              length: number;
              clone<Type>(): Context<Type>;
              consume<Type>(token: Type, howMany?: number): boolean;
              consume<Type>(token: Type, howMany?: number): boolean;
              current<Type>(): null | Type;
              done(): boolean;
              next<Type>(): null | Type;
              peek<Type>(): null | Type;
              slice<Type>(): Type[];
              update<Type>(context: Context<Type>): void;
          }

          Type Parameters

          • Type
          Index

          Methods

          clone +

          Interface Context<Type>

          interface Context<Type> {
              index: number;
              length: number;
              clone<Type>(): Context<Type>;
              consume<Type>(token: Type, howMany?: number): boolean;
              consume<Type>(token: Type, howMany?: number): boolean;
              current<Type>(): null | Type;
              done(): boolean;
              next<Type>(): null | Type;
              peek<Type>(): null | Type;
              slice<Type>(): Type[];
              update<Type>(context: Context<Type>): void;
          }

          Type Parameters

          • Type
          Index

          Methods

          clone consume current done @@ -166,8 +166,8 @@ update

          Properties

          Methods

          Properties

          index: number
          length: number

          The length of the context tokens to be consumed

          -

          Interface DashMatchToken

          Dash match token

          -
          interface DashMatchToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: DashMatchTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface DashMatchToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: DashMatchTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface DashedIdentToken

          Dashed ident token

          -
          interface DashedIdentToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: DashedIdenTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface DashedIdentToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: DashedIdenTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface DelimToken

          Delim token

          -
          interface DelimToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: DelimTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface DelimToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: DelimTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface DescendantCombinatorToken

          Descendant combinator token

          -
          interface DescendantCombinatorToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: DescendantCombinatorTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface DescendantCombinatorToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: DescendantCombinatorTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface DimensionToken

          Dimension token

          -
          interface DimensionToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: DimensionTokenType;
              unit: string;
              val: number | FractionToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface DimensionToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: DimensionTokenType;
              unit: string;
              val: number | FractionToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          unit: string
          val: number | FractionToken

          Interface DivToken

          Div token

          -
          interface DivToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: Div;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface DivToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: Div;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -
          typ: Div

          token type

          -

          Interface EOFToken

          EOF token

          -
          interface EOFToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: EOFTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface EOFToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: EOFTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface EndMatchToken

          End match token

          -
          interface EndMatchToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: EndMatchTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface EndMatchToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: EndMatchTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface EqualMatchToken

          Equal match token

          -
          interface EqualMatchToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: EqualMatchTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface EqualMatchToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: EqualMatchTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface ErrorDescription

          error description

          -
          interface ErrorDescription {
              action: "drop" | "ignore";
              error?: Error;
              location?: Location;
              message: string;
              node?:
                  | null
                  | ColorToken
                  | InvalidClassSelectorToken
                  | InvalidAttrToken
                  | LiteralToken
                  | IdentToken
                  | IdentListToken
                  | DashedIdentToken
                  | CommaToken
                  | ColonToken
                  | SemiColonToken
                  | ClassSelectorToken
                  | UniversalSelectorToken
                  | ChildCombinatorToken
                  | DescendantCombinatorToken
                  | NextSiblingCombinatorToken
                  | SubsequentCombinatorToken
                  | ColumnCombinatorToken
                  | NestingSelectorToken
                  | MediaQueryConditionToken
                  | MediaFeatureToken
                  | MediaFeatureNotToken
                  | MediaFeatureOnlyToken
                  | MediaFeatureAndToken
                  | MediaFeatureOrToken
                  | AstDeclaration
                  | NumberToken
                  | AtRuleToken
                  | PercentageToken
                  | FlexToken
                  | FunctionURLToken
                  | FunctionImageToken
                  | TimingFunctionToken
                  | TimelineFunctionToken
                  | FunctionToken
                  | GridTemplateFuncToken
                  | DimensionToken
                  | LengthToken
                  | AngleToken
                  | StringToken
                  | TimeToken
                  | FrequencyToken
                  | ResolutionToken
                  | UnclosedStringToken
                  | HashToken
                  | BadStringToken
                  | BlockStartToken
                  | BlockEndToken
                  | AttrStartToken
                  | AttrEndToken
                  | ParensStartToken
                  | ParensEndToken
                  | ParensToken
                  | CDOCommentToken
                  | BadCDOCommentToken
                  | CommentToken
                  | BadCommentToken
                  | WhitespaceToken
                  | IncludeMatchToken
                  | StartMatchToken
                  | EndMatchToken
                  | ContainMatchToken
                  | MatchExpressionToken
                  | NameSpaceAttributeToken
                  | DashMatchToken
                  | EqualMatchToken
                  | LessThanToken
                  | LessThanOrEqualToken
                  | GreaterThanToken
                  | GreaterThanOrEqualToken
                  | ListToken
                  | PseudoClassToken
                  | PseudoPageToken
                  | PseudoElementToken
                  | PseudoClassFunctionToken
                  | DelimToken
                  | BinaryExpressionToken
                  | UnaryExpression
                  | FractionToken
                  | AddToken
                  | SubToken
                  | DivToken
                  | MulToken
                  | BadUrlToken
                  | UrlToken
                  | ImportantToken
                  | AttrToken
                  | EOFToken
                  | AstRuleList
                  | AstStyleSheet
                  | AstComment
                  | AstAtRule
                  | AstRule
                  | AstKeyframesAtRule
                  | AstKeyFrameRule
                  | AstInvalidRule
                  | AstInvalidDeclaration;
              rawTokens?: TokenizeResult[];
              syntax?: null
              | string;
          }
          Index

          Properties

          interface ErrorDescription {
              action: "drop" | "ignore";
              error?: Error;
              location?: Location;
              message: string;
              node?:
                  | null
                  | ColorToken
                  | InvalidClassSelectorToken
                  | InvalidAttrToken
                  | LiteralToken
                  | IdentToken
                  | IdentListToken
                  | DashedIdentToken
                  | CommaToken
                  | ColonToken
                  | SemiColonToken
                  | ClassSelectorToken
                  | UniversalSelectorToken
                  | ChildCombinatorToken
                  | DescendantCombinatorToken
                  | NextSiblingCombinatorToken
                  | SubsequentCombinatorToken
                  | ColumnCombinatorToken
                  | NestingSelectorToken
                  | MediaQueryConditionToken
                  | MediaFeatureToken
                  | MediaFeatureNotToken
                  | MediaFeatureOnlyToken
                  | MediaFeatureAndToken
                  | MediaFeatureOrToken
                  | AstDeclaration
                  | NumberToken
                  | AtRuleToken
                  | PercentageToken
                  | FlexToken
                  | FunctionURLToken
                  | FunctionImageToken
                  | TimingFunctionToken
                  | TimelineFunctionToken
                  | FunctionToken
                  | GridTemplateFuncToken
                  | DimensionToken
                  | LengthToken
                  | AngleToken
                  | StringToken
                  | TimeToken
                  | FrequencyToken
                  | ResolutionToken
                  | UnclosedStringToken
                  | HashToken
                  | BadStringToken
                  | BlockStartToken
                  | BlockEndToken
                  | AttrStartToken
                  | AttrEndToken
                  | ParensStartToken
                  | ParensEndToken
                  | ParensToken
                  | CDOCommentToken
                  | BadCDOCommentToken
                  | CommentToken
                  | BadCommentToken
                  | WhitespaceToken
                  | IncludeMatchToken
                  | StartMatchToken
                  | EndMatchToken
                  | ContainMatchToken
                  | MatchExpressionToken
                  | NameSpaceAttributeToken
                  | DashMatchToken
                  | EqualMatchToken
                  | LessThanToken
                  | LessThanOrEqualToken
                  | GreaterThanToken
                  | GreaterThanOrEqualToken
                  | ListToken
                  | PseudoClassToken
                  | PseudoPageToken
                  | PseudoElementToken
                  | PseudoClassFunctionToken
                  | DelimToken
                  | BinaryExpressionToken
                  | UnaryExpression
                  | FractionToken
                  | AddToken
                  | SubToken
                  | DivToken
                  | MulToken
                  | BadUrlToken
                  | UrlToken
                  | ImportantToken
                  | AttrToken
                  | EOFToken
                  | AstAtRule
                  | AstKeyframesAtRule
                  | AstKeyFrameRule
                  | AstInvalidRule
                  | AstInvalidAtRule
                  | AstStyleSheet
                  | AstRule
                  | AstComment
                  | AstInvalidDeclaration;
              rawTokens?: TokenizeResult[];
              syntax?: null
              | string;
          }
          Index

          Properties

          Properties

          action: "drop" | "ignore"

          drop rule or declaration

          -
          error?: Error

          error object

          -
          location?: Location

          error location

          -
          message: string

          error message

          -
          node?:
              | null
              | ColorToken
              | InvalidClassSelectorToken
              | InvalidAttrToken
              | LiteralToken
              | IdentToken
              | IdentListToken
              | DashedIdentToken
              | CommaToken
              | ColonToken
              | SemiColonToken
              | ClassSelectorToken
              | UniversalSelectorToken
              | ChildCombinatorToken
              | DescendantCombinatorToken
              | NextSiblingCombinatorToken
              | SubsequentCombinatorToken
              | ColumnCombinatorToken
              | NestingSelectorToken
              | MediaQueryConditionToken
              | MediaFeatureToken
              | MediaFeatureNotToken
              | MediaFeatureOnlyToken
              | MediaFeatureAndToken
              | MediaFeatureOrToken
              | AstDeclaration
              | NumberToken
              | AtRuleToken
              | PercentageToken
              | FlexToken
              | FunctionURLToken
              | FunctionImageToken
              | TimingFunctionToken
              | TimelineFunctionToken
              | FunctionToken
              | GridTemplateFuncToken
              | DimensionToken
              | LengthToken
              | AngleToken
              | StringToken
              | TimeToken
              | FrequencyToken
              | ResolutionToken
              | UnclosedStringToken
              | HashToken
              | BadStringToken
              | BlockStartToken
              | BlockEndToken
              | AttrStartToken
              | AttrEndToken
              | ParensStartToken
              | ParensEndToken
              | ParensToken
              | CDOCommentToken
              | BadCDOCommentToken
              | CommentToken
              | BadCommentToken
              | WhitespaceToken
              | IncludeMatchToken
              | StartMatchToken
              | EndMatchToken
              | ContainMatchToken
              | MatchExpressionToken
              | NameSpaceAttributeToken
              | DashMatchToken
              | EqualMatchToken
              | LessThanToken
              | LessThanOrEqualToken
              | GreaterThanToken
              | GreaterThanOrEqualToken
              | ListToken
              | PseudoClassToken
              | PseudoPageToken
              | PseudoElementToken
              | PseudoClassFunctionToken
              | DelimToken
              | BinaryExpressionToken
              | UnaryExpression
              | FractionToken
              | AddToken
              | SubToken
              | DivToken
              | MulToken
              | BadUrlToken
              | UrlToken
              | ImportantToken
              | AttrToken
              | EOFToken
              | AstRuleList
              | AstStyleSheet
              | AstComment
              | AstAtRule
              | AstRule
              | AstKeyframesAtRule
              | AstKeyFrameRule
              | AstInvalidRule
              | AstInvalidDeclaration

          error node

          -
          rawTokens?: TokenizeResult[]

          raw tokens

          -
          syntax?: null | string

          syntax error description

          -

          Interface FlexToken

          Flex token

          -
          interface FlexToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: FlexTokenType;
              val: number | FractionToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface FlexToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: FlexTokenType;
              val: number | FractionToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: number | FractionToken

          Interface FractionToken

          Fraction token

          -
          interface FractionToken {
              l: NumberToken;
              loc?: Location;
              parent?: null | AstRuleList;
              r: NumberToken;
              tokens?: null | Token[];
              typ: FractionTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          l +
          interface FractionToken {
              l: NumberToken;
              loc?: Location;
              parent?: any;
              r: NumberToken;
              tokens?: null | Token[];
              typ: FractionTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface FrequencyToken

          Frequency token

          -
          interface FrequencyToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: FrequencyTokenType;
              unit: "Hz" | "Khz";
              val: number | FractionToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface FrequencyToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: FrequencyTokenType;
              unit: "Hz" | "Khz";
              val: number | FractionToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          unit: "Hz" | "Khz"
          val: number | FractionToken

          Interface FunctionImageToken

          Function image token

          -
          interface FunctionImageToken {
              chi: (CommentToken | UrlToken)[];
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: ImageFunctionTokenType;
              val:
                  | "linear-gradient"
                  | "radial-gradient"
                  | "repeating-linear-gradient"
                  | "repeating-radial-gradient"
                  | "conic-gradient"
                  | "image"
                  | "image-set"
                  | "element"
                  | "cross-fade";
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi +
          interface FunctionImageToken {
              chi: (CommentToken | UrlToken)[];
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: ImageFunctionTokenType;
              val:
                  | "linear-gradient"
                  | "radial-gradient"
                  | "repeating-linear-gradient"
                  | "repeating-radial-gradient"
                  | "conic-gradient"
                  | "image"
                  | "image-set"
                  | "element"
                  | "cross-fade";
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val:
              | "linear-gradient"
              | "radial-gradient"
              | "repeating-linear-gradient"
              | "repeating-radial-gradient"
              | "conic-gradient"
              | "image"
              | "image-set"
              | "element"
              | "cross-fade"

          Interface FunctionToken

          Function token

          -
          interface FunctionToken {
              chi: Token[];
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: FunctionTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi +
          interface FunctionToken {
              chi: Token[];
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: FunctionTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi: Token[]
          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface FunctionURLToken

          Function URL token

          -
          interface FunctionURLToken {
              chi: (CommentToken | UrlToken)[];
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: UrlFunctionTokenType;
              val: "url";
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi +
          interface FunctionURLToken {
              chi: (CommentToken | UrlToken)[];
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: UrlFunctionTokenType;
              val: "url";
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: "url"

          Interface GreaterThanOrEqualToken

          Greater than or equal token

          -
          interface GreaterThanOrEqualToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: GteTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface GreaterThanOrEqualToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: GteTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface GreaterThanToken

          Greater than token

          -
          interface GreaterThanToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: GtTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface GreaterThanToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: GtTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface GridTemplateFuncToken

          Grid template function token

          -
          interface GridTemplateFuncToken {
              chi: Token[];
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: GridTemplateFuncTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi +
          interface GridTemplateFuncToken {
              chi: Token[];
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: GridTemplateFuncTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi: Token[]
          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface HashToken

          Hash token

          -
          interface HashToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: HashTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface HashToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: HashTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface IdentListToken

          Ident list token

          -
          interface IdentListToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: IdenListTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface IdentListToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: IdenListTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface IdentToken

          Ident token

          -
          interface IdentToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: IdenTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface IdentToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: IdenTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface ImportantToken

          Important token

          -
          interface ImportantToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: ImportantTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface ImportantToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: ImportantTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface IncludeMatchToken

          Include match token

          -
          interface IncludeMatchToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: IncludeMatchTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface IncludeMatchToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: IncludeMatchTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface InvalidAttrToken

          Invalid attribute token

          -
          interface InvalidAttrToken {
              chi: Token[];
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: InvalidAttrTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi +
          interface InvalidAttrToken {
              chi: Token[];
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: InvalidAttrTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          chi: Token[]
          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface InvalidClassSelectorToken

          Invalid class selector token

          -
          interface InvalidClassSelectorToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: InvalidClassSelectorTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface InvalidClassSelectorToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: InvalidClassSelectorTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface LengthToken

          Length token

          -
          interface LengthToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: LengthTokenType;
              unit: string;
              val: number | FractionToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface LengthToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: LengthTokenType;
              unit: string;
              val: number | FractionToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          unit: string
          val: number | FractionToken

          Interface LessThanOrEqualToken

          Less than or equal token

          -
          interface LessThanOrEqualToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: LteTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface LessThanOrEqualToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: LteTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface LessThanToken

          Less than token

          -
          interface LessThanToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: LtTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface LessThanToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: LtTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface ListToken

          List token

          -
          interface ListToken {
              chi: Token[];
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: ListToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi +
          interface ListToken {
              chi: Token[];
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: ListToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          chi: Token[]
          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface LiteralToken

          Literal token

          -
          interface LiteralToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: LiteralTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface LiteralToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: LiteralTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface Location

          token or node location

          -
          interface Location {
              end: Position;
              src: string;
              sta: Position;
          }
          Index

          Properties

          end +
          interface Location {
              end: Position;
              src: string;
              sta: Position;
          }
          Index

          Properties

          Properties

          end position

          -
          src: string

          source file

          -

          start position

          -

          Interface MatchExpressionToken

          Match expression token

          -
          interface MatchExpressionToken {
              attr?: "s" | "i";
              l: Token;
              loc?: Location;
              op:
                  | IncludeMatchToken
                  | StartMatchToken
                  | EndMatchToken
                  | ContainMatchToken
                  | DashMatchToken
                  | EqualMatchToken;
              parent?: null
              | AstRuleList;
              r: Token;
              tokens?: null | Token[];
              typ: MatchExpressionTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface MatchExpressionToken {
              attr?: "s" | "i";
              l: Token;
              loc?: Location;
              op:
                  | IncludeMatchToken
                  | StartMatchToken
                  | EndMatchToken
                  | ContainMatchToken
                  | DashMatchToken
                  | EqualMatchToken;
              parent?: any;
              r: Token;
              tokens?: null
              | Token[];
              typ: MatchExpressionTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          attr? l loc? op @@ -165,11 +165,11 @@ r tokens? typ -

          Properties

          attr?: "s" | "i"
          loc?: Location

          location info

          -
          op:
              | IncludeMatchToken
              | StartMatchToken
              | EndMatchToken
              | ContainMatchToken
              | DashMatchToken
              | EqualMatchToken
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface MatchedSelectorInternal

          matched selector object

          -
          interface MatchedSelector {
              eq: boolean;
              match: string[][];
              selector1: string[][];
              selector2: string[][];
          }
          Index

          Properties

          eq +
          interface MatchedSelector {
              eq: boolean;
              match: string[][];
              selector1: string[][];
              selector2: string[][];
          }
          Index

          Properties

          eq: boolean

          selectors partially match

          -
          match: string[][]

          matched selector

          -
          selector1: string[][]

          selector 1

          -
          selector2: string[][]

          selector 2

          -

          Interface MediaFeatureAndToken

          Media feature and token

          -
          interface MediaFeatureAndToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: MediaFeatureAndTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface MediaFeatureAndToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: MediaFeatureAndTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface MediaFeatureNotToken

          Media feature not token

          -
          interface MediaFeatureNotToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: MediaFeatureNotTokenType;
              val: Token;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface MediaFeatureNotToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: MediaFeatureNotTokenType;
              val: Token;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: Token

          Interface MediaFeatureOnlyToken

          Media feature only token

          -
          interface MediaFeatureOnlyToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: MediaFeatureOnlyTokenType;
              val: Token;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface MediaFeatureOnlyToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: MediaFeatureOnlyTokenType;
              val: Token;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: Token

          Interface MediaFeatureOrToken

          Media feature or token

          -
          interface MediaFeatureOrToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: MediaFeatureOrTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface MediaFeatureOrToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: MediaFeatureOrTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface MediaFeatureToken

          Media feature token

          -
          interface MediaFeatureToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: MediaFeatureTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface MediaFeatureToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: MediaFeatureTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface MediaQueryConditionToken

          Media query condition token

          -
          interface MediaQueryConditionToken {
              l: Token;
              loc?: Location;
              op:
                  | ColonToken
                  | LessThanToken
                  | LessThanOrEqualToken
                  | GreaterThanToken
                  | GreaterThanOrEqualToken;
              parent?: null
              | AstRuleList;
              r: Token[];
              tokens?: null | Token[];
              typ: MediaQueryConditionTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          l +
          interface MediaQueryConditionToken {
              l: Token;
              loc?: Location;
              op:
                  | ColonToken
                  | LessThanToken
                  | LessThanOrEqualToken
                  | GreaterThanToken
                  | GreaterThanOrEqualToken;
              parent?: any;
              r: Token[];
              tokens?: null
              | Token[];
              typ: MediaQueryConditionTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          r: Token[]
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface MinifyFeatureInternal

          minify feature

          -
          interface MinifyFeature {
              ordering: number;
              processMode: FeatureWalkMode;
              register: (options: ParserOptions | MinifyFeatureOptions) => void;
              run: (
                  ast: AstAtRule | AstRule,
                  options: ParserOptions,
                  parent: AstStyleSheet | AstAtRule | AstRule,
                  context: { [key: string]: any },
                  mode: FeatureWalkMode,
              ) => null | AstNode;
          }
          Index

          Properties

          interface MinifyFeature {
              accept?: Set<EnumToken>;
              ordering: number;
              processMode: FeatureWalkMode;
              register: (options: ParserOptions | MinifyFeatureOptions) => void;
              run: (
                  ast: AstAtRule | AstRule,
                  options: ParserOptions,
                  parent: AstAtRule | AstStyleSheet | AstRule,
                  context: { [key: string]: any },
                  mode: FeatureWalkMode,
              ) => null | AstNode;
          }
          Index

          Properties

          ordering: number

          ordering

          -
          processMode: FeatureWalkMode

          process mode

          -
          register: (options: ParserOptions | MinifyFeatureOptions) => void

          register feature

          -
          run: (
              ast: AstAtRule | AstRule,
              options: ParserOptions,
              parent: AstStyleSheet | AstAtRule | AstRule,
              context: { [key: string]: any },
              mode: FeatureWalkMode,
          ) => null | AstNode

          run feature

          -

          Interface MinifyFeatureOptionsInternal

          minify feature options

          -

          Hierarchy (View Summary)

          Interface MinifyOptions

          minify options

          -
          interface MinifyOptions {
              computeCalcExpression?: boolean;
              computeShorthand?: boolean;
              computeTransform?: boolean;
              inlineCssVariables?: boolean;
              minify?: boolean;
              nestingRules?: boolean;
              parseColor?: boolean;
              pass?: number;
              removeDuplicateDeclarations?: boolean | string[];
              removeEmpty?: boolean;
              removePrefix?: boolean;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface MinifyOptions {
              computeCalcExpression?: boolean;
              computeShorthand?: boolean;
              computeTransform?: boolean;
              inlineCssVariables?: boolean;
              minify?: boolean;
              nestingRules?: boolean;
              parseColor?: boolean;
              pass?: number;
              removeDuplicateDeclarations?: string | boolean | string[];
              removeEmpty?: boolean;
              removePrefix?: boolean;
          }

          Hierarchy (View Summary)

          Index

          Properties

          computeCalcExpression?: boolean

          compute math functions see supported functions mathFuncs

          -
          computeShorthand?: boolean

          compute shorthand properties

          -
          computeTransform?: boolean

          compute transform functions +

          computeShorthand?: boolean

          compute shorthand properties

          +
          computeTransform?: boolean

          compute transform functions see supported functions transformFunctions

          -
          inlineCssVariables?: boolean

          inline css variables

          -
          minify?: boolean

          enable minification

          -
          nestingRules?: boolean

          generate nested rules

          -
          parseColor?: boolean

          parse color tokens

          -
          pass?: number

          define minification passes.

          -
          removeDuplicateDeclarations?: boolean | string[]

          remove duplicate declarations from the same rule. if passed as a string array, duplicated declarations are removed, except for those in the array

          -

          import {transform} from '@tbela99/css-parser';

          const css = `

          .table {

          width: 100%;
          width: calc(100% + 40px);
          margin-left: 20px;
          margin-left: min(100% , 20px)
          }

          `;
          const result = await transform(css, {

          beautify: true,
          validation: true,
          removeDuplicateDeclarations: ['width']
          }
          );

          console.log(result.code);
          +
          inlineCssVariables?: boolean

          inline css variables

          +
          minify?: boolean

          enable minification

          +
          nestingRules?: boolean

          generate nested rules

          +
          parseColor?: boolean

          parse color tokens

          +
          pass?: number

          define minification passes.

          +
          removeDuplicateDeclarations?: string | boolean | string[]

          remove duplicate declarations from the same rule. if passed as a string array, duplicated declarations are removed, except for those in the array

          +

          import {transform} from '@tbela99/css-parser';

          const css = `

          .table {

          width: 100%;
          width: calc(100% + 40px);
          margin-left: 20px;
          margin-left: min(100% , 20px)
          }

          `;
          const result = await transform(css, {

          beautify: true,
          validation: true,
          removeDuplicateDeclarations: ['width']
          }
          );

          console.log(result.code);
          -
          removeEmpty?: boolean

          remove empty ast nodes

          -
          removePrefix?: boolean

          remove css prefix

          -

          Interface MulToken

          Mul token

          -
          interface MulToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: Mul;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface MulToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: Mul;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -
          typ: Mul

          token type

          -

          Interface NameSpaceAttributeToken

          Name space attribute token

          -
          interface NameSpaceAttributeToken {
              l?: Token;
              loc?: Location;
              parent?: null | AstRuleList;
              r: Token;
              tokens?: null | Token[];
              typ: NameSpaceAttributeTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          l? +
          interface NameSpaceAttributeToken {
              l?: Token;
              loc?: Location;
              parent?: any;
              r: Token;
              tokens?: null | Token[];
              typ: NameSpaceAttributeTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          l?: Token
          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface NestingSelectorToken

          Nesting selector token

          -
          interface NestingSelectorToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: NestingSelectorTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface NestingSelectorToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: NestingSelectorTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface NextSiblingCombinatorToken

          Next sibling combinator token

          -
          interface NextSiblingCombinatorToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: NextSiblingCombinatorTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface NextSiblingCombinatorToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: NextSiblingCombinatorTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface NumberToken

          Number token

          -
          interface NumberToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: NumberTokenType;
              val: number | FractionToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface NumberToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: NumberTokenType;
              val: number | FractionToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: number | FractionToken

          Interface ParensEndToken

          Parenthesis end token

          -
          interface ParensEndToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: EndParensTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface ParensEndToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: EndParensTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface ParensStartToken

          Parenthesis start token

          -
          interface ParensStartToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: StartParensTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface ParensStartToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: StartParensTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface ParensToken

          Parenthesis token

          -
          interface ParensToken {
              chi: Token[];
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: ParensTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi +
          interface ParensToken {
              chi: Token[];
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: ParensTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          chi: Token[]
          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface ParseInfo

          interface ParseInfo {
              buffer: string;
              currentPosition: Position;
              position: Position;
              stream: string;
          }
          Index

          Properties

          buffer +

          Interface ParseInfo

          parse info

          +
          interface ParseInfo {
              buffer: string;
              currentPosition: Position;
              position: Position;
              stream: string;
          }
          Index

          Properties

          buffer: string
          currentPosition: Position
          position: Position
          stream: string

          Interface ParseResult

          parse result object

          -
          interface ParseResult {
              ast: AstStyleSheet;
              errors: ErrorDescription[];
              stats: ParseResultStats;
          }

          Hierarchy (View Summary)

          Index

          Properties

          ast +
          interface ParseResult {
              ast: AstStyleSheet;
              errors: ErrorDescription[];
              stats: ParseResultStats;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          parsed ast tree

          -

          parse errors

          -

          parse stats

          -

          Interface ParseResultStats

          parse result stats object

          -
          interface ParseResultStats {
              bytesIn: number;
              importedBytesIn: number;
              imports: ParseResultStats[];
              minify: string;
              parse: string;
              src: string;
              total: string;
          }
          Index

          Properties

          interface ParseResultStats {
              bytesIn: number;
              importedBytesIn: number;
              imports: ParseResultStats[];
              minify: string;
              nodesCount: number;
              parse: string;
              src: string;
              tokensCount: number;
              total: string;
          }
          Index

          Properties

          bytesIn: number

          bytes read

          -
          importedBytesIn: number

          bytes read from imported files

          -
          imports: ParseResultStats[]

          imported files stats

          -
          minify: string

          minify time

          -
          parse: string

          parse time

          -
          src: string

          source file

          -
          total: string

          total time

          -

          Interface ParseTokenOptions

          parse token options

          -
          interface ParseTokenOptions {
              computeCalcExpression?: boolean;
              computeShorthand?: boolean;
              computeTransform?: boolean;
              cwd?: string;
              expandNestingRules?: boolean;
              inlineCssVariables?: boolean;
              lenient?: boolean;
              load?: (url: string, currentUrl: string) => LoadResult;
              minify?: boolean;
              nestingRules?: boolean;
              parseColor?: boolean;
              pass?: number;
              removeCharset?: boolean;
              removeDuplicateDeclarations?: boolean | string[];
              removeEmpty?: boolean;
              removePrefix?: boolean;
              resolve?: (
                  url: string,
                  currentUrl: string,
                  currentWorkingDirectory?: string,
              ) => { absolute: string; relative: string };
              resolveImport?: boolean;
              resolveUrls?: boolean;
              signal?: AbortSignal;
              sourcemap?: boolean | "inline";
              src?: string;
              validation?: boolean | ValidationLevel;
              visitor?: VisitorNodeMap;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface ParseTokenOptions {
              computeCalcExpression?: boolean;
              computeShorthand?: boolean;
              computeTransform?: boolean;
              cwd?: string;
              expandNestingRules?: boolean;
              inlineCssVariables?: boolean;
              lenient?: boolean;
              load?: (url: string, currentUrl: string, asStream?: boolean) => LoadResult;
              minify?: boolean;
              nestingRules?: boolean;
              parseColor?: boolean;
              pass?: number;
              removeCharset?: boolean;
              removeDuplicateDeclarations?: string | boolean | string[];
              removeEmpty?: boolean;
              removePrefix?: boolean;
              resolve?: (
                  url: string,
                  currentUrl: string,
                  currentWorkingDirectory?: string,
              ) => { absolute: string; relative: string };
              resolveImport?: boolean;
              resolveUrls?: boolean;
              signal?: AbortSignal;
              sourcemap?: boolean | "inline";
              src?: string;
              validation?: boolean | ValidationLevel;
              visitor?: VisitorNodeMap | VisitorNodeMap[];
          }

          Hierarchy (View Summary)

          Index

          Properties

          computeCalcExpression?: boolean

          compute math functions see supported functions mathFuncs

          -
          computeShorthand?: boolean

          compute shorthand properties

          -
          computeTransform?: boolean

          compute transform functions +

          computeShorthand?: boolean

          compute shorthand properties

          +
          computeTransform?: boolean

          compute transform functions see supported functions transformFunctions

          -
          cwd?: string

          current working directory

          -
          expandNestingRules?: boolean

          expand nested rules

          -
          inlineCssVariables?: boolean

          inline css variables

          -
          lenient?: boolean

          lenient validation. retain nodes that failed validation

          -
          load?: (url: string, currentUrl: string) => LoadResult

          url and file loader

          -
          minify?: boolean

          enable minification

          -
          nestingRules?: boolean

          generate nested rules

          -
          parseColor?: boolean

          parse color tokens

          -
          pass?: number

          define minification passes.

          -
          removeCharset?: boolean

          remove at-rule charset

          -
          removeDuplicateDeclarations?: boolean | string[]

          remove duplicate declarations from the same rule. if passed as a string array, duplicated declarations are removed, except for those in the array

          -

          import {transform} from '@tbela99/css-parser';

          const css = `

          .table {

          width: 100%;
          width: calc(100% + 40px);
          margin-left: 20px;
          margin-left: min(100% , 20px)
          }

          `;
          const result = await transform(css, {

          beautify: true,
          validation: true,
          removeDuplicateDeclarations: ['width']
          }
          );

          console.log(result.code);
          +
          cwd?: string

          current working directory

          +
          expandNestingRules?: boolean

          expand nested rules

          +
          inlineCssVariables?: boolean

          inline css variables

          +
          lenient?: boolean

          lenient validation. retain nodes that failed validation

          +
          load?: (url: string, currentUrl: string, asStream?: boolean) => LoadResult

          url and file loader

          +
          minify?: boolean

          enable minification

          +
          nestingRules?: boolean

          generate nested rules

          +
          parseColor?: boolean

          parse color tokens

          +
          pass?: number

          define minification passes.

          +
          removeCharset?: boolean

          remove at-rule charset

          +
          removeDuplicateDeclarations?: string | boolean | string[]

          remove duplicate declarations from the same rule. if passed as a string array, duplicated declarations are removed, except for those in the array

          +

          import {transform} from '@tbela99/css-parser';

          const css = `

          .table {

          width: 100%;
          width: calc(100% + 40px);
          margin-left: 20px;
          margin-left: min(100% , 20px)
          }

          `;
          const result = await transform(css, {

          beautify: true,
          validation: true,
          removeDuplicateDeclarations: ['width']
          }
          );

          console.log(result.code);
          -
          removeEmpty?: boolean

          remove empty ast nodes

          -
          removePrefix?: boolean

          remove css prefix

          -
          resolve?: (
              url: string,
              currentUrl: string,
              currentWorkingDirectory?: string,
          ) => { absolute: string; relative: string }

          url and path resolver

          -
          resolveImport?: boolean

          resolve import

          -
          resolveUrls?: boolean

          resolve urls

          -
          signal?: AbortSignal

          abort signal

          +
          removeEmpty?: boolean

          remove empty ast nodes

          +
          removePrefix?: boolean

          remove css prefix

          +
          resolve?: (
              url: string,
              currentUrl: string,
              currentWorkingDirectory?: string,
          ) => { absolute: string; relative: string }

          url and path resolver

          +
          resolveImport?: boolean

          resolve import

          +
          resolveUrls?: boolean

          resolve urls

          +
          signal?: AbortSignal

          abort signal

          Example: abort after 10 seconds

          -

          const result = await parse(cssString, {
          signal: AbortSignal.timeout(10000)
          });
          +

          const result = await parse(cssString, {
          signal: AbortSignal.timeout(10000)
          });
          -
          sourcemap?: boolean | "inline"

          include sourcemap in the ast. sourcemap info is always generated

          -
          src?: string

          source file to be used for sourcemap

          -
          validation?: boolean | ValidationLevel

          enable css validation

          +
          sourcemap?: boolean | "inline"

          include sourcemap in the ast. sourcemap info is always generated

          +
          src?: string

          source file to be used for sourcemap

          +
          validation?: boolean | ValidationLevel

          enable css validation

          see ValidationLevel

          -
          visitor?: VisitorNodeMap

          node visitor -VisitorNodeMap

          -

          Interface ParserOptions

          parser options

          -
          interface ParserOptions {
              computeCalcExpression?: boolean;
              computeShorthand?: boolean;
              computeTransform?: boolean;
              cwd?: string;
              expandNestingRules?: boolean;
              inlineCssVariables?: boolean;
              lenient?: boolean;
              load?: (url: string, currentUrl: string) => LoadResult;
              minify?: boolean;
              nestingRules?: boolean;
              parseColor?: boolean;
              pass?: number;
              removeCharset?: boolean;
              removeDuplicateDeclarations?: boolean | string[];
              removeEmpty?: boolean;
              removePrefix?: boolean;
              resolve?: (
                  url: string,
                  currentUrl: string,
                  currentWorkingDirectory?: string,
              ) => { absolute: string; relative: string };
              resolveImport?: boolean;
              resolveUrls?: boolean;
              signal?: AbortSignal;
              sourcemap?: boolean | "inline";
              src?: string;
              validation?: boolean | ValidationLevel;
              visitor?: VisitorNodeMap;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface ParserOptions {
              computeCalcExpression?: boolean;
              computeShorthand?: boolean;
              computeTransform?: boolean;
              cwd?: string;
              expandNestingRules?: boolean;
              inlineCssVariables?: boolean;
              lenient?: boolean;
              load?: (url: string, currentUrl: string, asStream?: boolean) => LoadResult;
              minify?: boolean;
              nestingRules?: boolean;
              parseColor?: boolean;
              pass?: number;
              removeCharset?: boolean;
              removeDuplicateDeclarations?: string | boolean | string[];
              removeEmpty?: boolean;
              removePrefix?: boolean;
              resolve?: (
                  url: string,
                  currentUrl: string,
                  currentWorkingDirectory?: string,
              ) => { absolute: string; relative: string };
              resolveImport?: boolean;
              resolveUrls?: boolean;
              signal?: AbortSignal;
              sourcemap?: boolean | "inline";
              src?: string;
              validation?: boolean | ValidationLevel;
              visitor?: VisitorNodeMap | VisitorNodeMap[];
          }

          Hierarchy (View Summary)

          Index

          Properties

          computeCalcExpression?: boolean

          compute math functions see supported functions mathFuncs

          -
          computeShorthand?: boolean

          compute shorthand properties

          -
          computeTransform?: boolean

          compute transform functions +

          computeShorthand?: boolean

          compute shorthand properties

          +
          computeTransform?: boolean

          compute transform functions see supported functions transformFunctions

          -
          cwd?: string

          current working directory

          -
          expandNestingRules?: boolean

          expand nested rules

          -
          inlineCssVariables?: boolean

          inline css variables

          -
          lenient?: boolean

          lenient validation. retain nodes that failed validation

          -
          load?: (url: string, currentUrl: string) => LoadResult

          url and file loader

          -
          minify?: boolean

          enable minification

          -
          nestingRules?: boolean

          generate nested rules

          -
          parseColor?: boolean

          parse color tokens

          -
          pass?: number

          define minification passes.

          -
          removeCharset?: boolean

          remove at-rule charset

          -
          removeDuplicateDeclarations?: boolean | string[]

          remove duplicate declarations from the same rule. if passed as a string array, duplicated declarations are removed, except for those in the array

          -

          import {transform} from '@tbela99/css-parser';

          const css = `

          .table {

          width: 100%;
          width: calc(100% + 40px);
          margin-left: 20px;
          margin-left: min(100% , 20px)
          }

          `;
          const result = await transform(css, {

          beautify: true,
          validation: true,
          removeDuplicateDeclarations: ['width']
          }
          );

          console.log(result.code);
          +
          cwd?: string

          current working directory

          +
          expandNestingRules?: boolean

          expand nested rules

          +
          inlineCssVariables?: boolean

          inline css variables

          +
          lenient?: boolean

          lenient validation. retain nodes that failed validation

          +
          load?: (url: string, currentUrl: string, asStream?: boolean) => LoadResult

          url and file loader

          +
          minify?: boolean

          enable minification

          +
          nestingRules?: boolean

          generate nested rules

          +
          parseColor?: boolean

          parse color tokens

          +
          pass?: number

          define minification passes.

          +
          removeCharset?: boolean

          remove at-rule charset

          +
          removeDuplicateDeclarations?: string | boolean | string[]

          remove duplicate declarations from the same rule. if passed as a string array, duplicated declarations are removed, except for those in the array

          +

          import {transform} from '@tbela99/css-parser';

          const css = `

          .table {

          width: 100%;
          width: calc(100% + 40px);
          margin-left: 20px;
          margin-left: min(100% , 20px)
          }

          `;
          const result = await transform(css, {

          beautify: true,
          validation: true,
          removeDuplicateDeclarations: ['width']
          }
          );

          console.log(result.code);
          -
          removeEmpty?: boolean

          remove empty ast nodes

          -
          removePrefix?: boolean

          remove css prefix

          -
          resolve?: (
              url: string,
              currentUrl: string,
              currentWorkingDirectory?: string,
          ) => { absolute: string; relative: string }

          url and path resolver

          -
          resolveImport?: boolean

          resolve import

          -
          resolveUrls?: boolean

          resolve urls

          -
          signal?: AbortSignal

          abort signal

          +
          removeEmpty?: boolean

          remove empty ast nodes

          +
          removePrefix?: boolean

          remove css prefix

          +
          resolve?: (
              url: string,
              currentUrl: string,
              currentWorkingDirectory?: string,
          ) => { absolute: string; relative: string }

          url and path resolver

          +
          resolveImport?: boolean

          resolve import

          +
          resolveUrls?: boolean

          resolve urls

          +
          signal?: AbortSignal

          abort signal

          Example: abort after 10 seconds

          -

          const result = await parse(cssString, {
          signal: AbortSignal.timeout(10000)
          });
          +

          const result = await parse(cssString, {
          signal: AbortSignal.timeout(10000)
          });
          -
          sourcemap?: boolean | "inline"

          include sourcemap in the ast. sourcemap info is always generated

          -
          src?: string

          source file to be used for sourcemap

          -
          validation?: boolean | ValidationLevel

          enable css validation

          +
          sourcemap?: boolean | "inline"

          include sourcemap in the ast. sourcemap info is always generated

          +
          src?: string

          source file to be used for sourcemap

          +
          validation?: boolean | ValidationLevel

          enable css validation

          see ValidationLevel

          -
          visitor?: VisitorNodeMap

          node visitor -VisitorNodeMap

          -

          Interface PercentageToken

          Percentage token

          -
          interface PercentageToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: PercentageTokenType;
              val: number | FractionToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface PercentageToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: PercentageTokenType;
              val: number | FractionToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: number | FractionToken

          Interface Position

          Position

          -
          interface Position {
              col: number;
              ind: number;
              lin: number;
          }
          Index

          Properties

          col +
          interface Position {
              col: number;
              ind: number;
              lin: number;
          }
          Index

          Properties

          Properties

          col: number

          column number

          -
          ind: number

          index in the source

          -
          lin: number

          line number

          -

          Interface PropertyListOptions

          interface PropertyListOptions {
              computeShorthand?: boolean;
              removeDuplicateDeclarations?: boolean;
          }

          Hierarchy (View Summary)

          Index

          Properties

          computeShorthand? +

          Interface PropertyListOptions

          interface PropertyListOptions {
              computeShorthand?: boolean;
              removeDuplicateDeclarations?: string | boolean | string[];
          }

          Hierarchy (View Summary)

          Index

          Properties

          computeShorthand?: boolean
          removeDuplicateDeclarations?: boolean

          Interface PropertyMapType

          interface PropertyMapType {
              constraints?: { [key: string]: { [key: string]: any } };
              default: string[];
              keywords: string[];
              mapping?: Record<string, string>;
              multiple?: boolean;
              prefix?: {
                  typ:
                      | "toString"
                      | "toLocaleString"
                      | "toFixed"
                      | "toExponential"
                      | "toPrecision"
                      | "valueOf";
                  val: string;
              };
              previous?: string;
              required?: boolean;
              separator?: {
                  typ: | "toString"
                  | "toLocaleString"
                  | "toFixed"
                  | "toExponential"
                  | "toPrecision"
                  | "valueOf";
              };
              types: string[];
          }
          Index

          Properties

          constraints? +

          Interface PropertyMapType

          interface PropertyMapType {
              constraints?: { [key: string]: { [key: string]: any } };
              default: string[];
              keywords: string[];
              mapping?: Record<string, string>;
              multiple?: boolean;
              prefix?: {
                  typ:
                      | "toString"
                      | "toLocaleString"
                      | "toFixed"
                      | "toExponential"
                      | "toPrecision"
                      | "valueOf";
                  val: string;
              };
              previous?: string;
              required?: boolean;
              separator?: {
                  typ: | "toString"
                  | "toLocaleString"
                  | "toFixed"
                  | "toExponential"
                  | "toPrecision"
                  | "valueOf";
              };
              types: string[];
          }
          Index

          Properties

          constraints?: { [key: string]: { [key: string]: any } }
          default: string[]
          keywords: string[]
          mapping?: Record<string, string>
          multiple?: boolean
          prefix?: {
              typ:
                  | "toString"
                  | "toLocaleString"
                  | "toFixed"
                  | "toExponential"
                  | "toPrecision"
                  | "valueOf";
              val: string;
          }
          previous?: string
          required?: boolean
          separator?: {
              typ:
                  | "toString"
                  | "toLocaleString"
                  | "toFixed"
                  | "toExponential"
                  | "toPrecision"
                  | "valueOf";
          }
          types: string[]

          Interface PropertySetType

          Indexable

          Interface PropertySetType

          Indexable

          Interface PropertyType

          interface PropertyType {
              shorthand: string;
          }
          Index

          Properties

          Properties

          shorthand: string

          Interface PropertyType

          interface PropertyType {
              shorthand: string;
          }
          Index

          Properties

          Properties

          shorthand: string

          Interface PseudoClassFunctionToken

          Pseudo class function token

          -
          interface PseudoClassFunctionToken {
              chi: Token[];
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: PseudoClassFuncTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi +
          interface PseudoClassFunctionToken {
              chi: Token[];
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: PseudoClassFuncTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi: Token[]
          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface PseudoClassToken

          Pseudo class token

          -
          interface PseudoClassToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: PseudoClassTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface PseudoClassToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: PseudoClassTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface PseudoElementToken

          Pseudo element token

          -
          interface PseudoElementToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: PseudoElementTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface PseudoElementToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: PseudoElementTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface PseudoPageToken

          Pseudo page token

          -
          interface PseudoPageToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: PseudoPageTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface PseudoPageToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: PseudoPageTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface RenderOptions

          ast node render options

          -
          interface RenderOptions {
              beautify?: boolean;
              convertColor?: boolean | ColorType;
              cwd?: string;
              expandNestingRules?: boolean;
              indent?: string;
              minify?: boolean;
              newLine?: string;
              output?: string;
              preserveLicense?: boolean;
              removeComments?: boolean;
              removeEmpty?: boolean;
              resolve?: (
                  url: string,
                  currentUrl: string,
                  currentWorkingDirectory?: string,
              ) => ResolvedPath;
              sourcemap?: boolean | "inline";
              withParents?: boolean;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface RenderOptions {
              beautify?: boolean;
              convertColor?: boolean | ColorType;
              cwd?: string;
              expandNestingRules?: boolean;
              indent?: string;
              minify?: boolean;
              newLine?: string;
              output?: string;
              preserveLicense?: boolean;
              removeComments?: boolean;
              removeEmpty?: boolean;
              resolve?: (
                  url: string,
                  currentUrl: string,
                  currentWorkingDirectory?: string,
              ) => ResolvedPath;
              sourcemap?: boolean | "inline";
              withParents?: boolean;
          }

          Hierarchy (View Summary)

          Index

          Properties

          beautify?: boolean

          pretty print css

          -
          const result = await transform(css, {beautify: true});
          +
          const result = await transform(css, {beautify: true});
           
          -
          convertColor?: boolean | ColorType

          convert color to the specified color space. 'true' will convert to HEX

          -
          cwd?: string

          current working directory

          -
          expandNestingRules?: boolean

          expand nesting rules

          -
          indent?: string

          indent string

          -
          minify?: boolean

          minify css values.

          -
          newLine?: string

          new line string

          -
          output?: string

          output file. used for url resolution

          -
          preserveLicense?: boolean

          preserve license comments. license comments are comments that start with /*!

          -
          removeComments?: boolean

          remove comments

          -
          removeEmpty?: boolean

          remove empty nodes. empty nodes are removed by default

          -

          const css = `
          @supports selector(:-ms-input-placeholder) {

          :-ms-input-placeholder {

          }
          }`;
          const result = await transform(css, {removeEmpty: false}); +
          convertColor?: boolean | ColorType

          convert color to the specified color space. 'true' will convert to HEX

          +
          cwd?: string

          current working directory

          +
          expandNestingRules?: boolean

          expand nesting rules

          +
          indent?: string

          indent string

          +
          minify?: boolean

          minify css values.

          +
          newLine?: string

          new line string

          +
          output?: string

          output file. used for url resolution

          +
          preserveLicense?: boolean

          preserve license comments. license comments are comments that start with /*!

          +
          removeComments?: boolean

          remove comments

          +
          removeEmpty?: boolean

          remove empty nodes. empty nodes are removed by default

          +

          const css = `
          @supports selector(:-ms-input-placeholder) {

          :-ms-input-placeholder {

          }
          }`;
          const result = await transform(css, {removeEmpty: false});
          -
          resolve?: (
              url: string,
              currentUrl: string,
              currentWorkingDirectory?: string,
          ) => ResolvedPath

          resolve path

          -
          sourcemap?: boolean | "inline"

          generate sourcemap object. 'inline' will embed it in the css

          -
          withParents?: boolean

          render the node along with its parents

          -

          Interface RenderResult

          render result object

          -
          interface RenderResult {
              code: string;
              errors: ErrorDescription[];
              map?: SourceMap;
              stats: { total: string };
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface RenderResult {
              code: string;
              errors: ErrorDescription[];
              map?: SourceMap;
              stats: { total: string };
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          code: string

          rendered css

          -

          render errors

          -
          map?: SourceMap

          source map

          -
          stats: { total: string }

          render stats

          -

          Type declaration

          • total: string

            render time

            -

          Interface ResolutionToken

          Resolution token

          -
          interface ResolutionToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: ResolutionTokenType;
              unit: "x" | "dpi" | "dpcm" | "dppx";
              val: number | FractionToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface ResolutionToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: ResolutionTokenType;
              unit: "x" | "dpi" | "dpcm" | "dppx";
              val: number | FractionToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          unit: "x" | "dpi" | "dpcm" | "dppx"
          val: number | FractionToken

          Interface ResolvedPathInternal

          resolved path

          -
          interface ResolvedPath {
              absolute: string;
              relative: string;
          }
          Index

          Properties

          interface ResolvedPath {
              absolute: string;
              relative: string;
          }
          Index

          Properties

          Properties

          absolute: string

          absolute path

          -
          relative: string

          relative path

          -

          Interface SemiColonToken

          Semicolon token

          -
          interface SemiColonToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: SemiColonTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface SemiColonToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: SemiColonTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface ShorthandDef

          interface ShorthandDef {
              defaults: string[];
              keywords: string;
              multiple?: boolean;
              pattern: string;
              separator?: string;
              shorthand: string;
          }
          Index

          Properties

          defaults +

          Interface ShorthandDef

          interface ShorthandDef {
              defaults: string[];
              keywords: string;
              multiple?: boolean;
              pattern: string;
              separator?: string;
              shorthand: string;
          }
          Index

          Properties

          defaults: string[]
          keywords: string
          multiple?: boolean
          pattern: string
          separator?: string
          shorthand: string

          Interface ShorthandMapType

          interface ShorthandMapType {
              default: string[];
              keywords: string[];
              mapping?: Record<string, string>;
              multiple?: boolean;
              pattern: string;
              properties: { [property: string]: PropertyMapType };
              separator?: {
                  typ:
                      | "toString"
                      | "toLocaleString"
                      | "toFixed"
                      | "toExponential"
                      | "toPrecision"
                      | "valueOf";
                  val?: string;
              };
              set?: Record<string, string[]>;
              shorthand: string;
          }
          Index

          Properties

          default +

          Interface ShorthandMapType

          interface ShorthandMapType {
              default: string[];
              keywords: string[];
              mapping?: Record<string, string>;
              multiple?: boolean;
              pattern: string;
              properties: { [property: string]: PropertyMapType };
              separator?: {
                  typ:
                      | "toString"
                      | "toLocaleString"
                      | "toFixed"
                      | "toExponential"
                      | "toPrecision"
                      | "valueOf";
                  val?: string;
              };
              set?: Record<string, string[]>;
              shorthand: string;
          }
          Index

          Properties

          Properties

          default: string[]
          keywords: string[]
          mapping?: Record<string, string>
          multiple?: boolean
          pattern: string
          properties: { [property: string]: PropertyMapType }
          separator?: {
              typ:
                  | "toString"
                  | "toLocaleString"
                  | "toFixed"
                  | "toExponential"
                  | "toPrecision"
                  | "valueOf";
              val?: string;
          }
          set?: Record<string, string[]>
          shorthand: string

          Interface ShorthandProperties

          interface ShorthandProperties {
              constraints?: any[];
              default: string[];
              keywords: string[];
              mapping?: { [key: string]: any };
              multiple?: boolean;
              prefix?: string;
              required?: boolean;
              types: EnumToken[];
              validation?: { [key: string]: any };
          }
          Index

          Properties

          constraints? +

          Interface ShorthandProperties

          interface ShorthandProperties {
              constraints?: any[];
              default: string[];
              keywords: string[];
              mapping?: { [key: string]: any };
              multiple?: boolean;
              prefix?: string;
              required?: boolean;
              types: EnumToken[];
              validation?: { [key: string]: any };
          }
          Index

          Properties

          constraints?: any[]
          default: string[]
          keywords: string[]
          mapping?: { [key: string]: any }
          multiple?: boolean
          prefix?: string
          required?: boolean
          types: EnumToken[]
          validation?: { [key: string]: any }

          Interface ShorthandPropertyType

          interface ShorthandPropertyType {
              keywords: string[];
              map?: string;
              multiple: boolean;
              properties: string[];
              separator: {
                  typ:
                      | "toString"
                      | "toLocaleString"
                      | "toFixed"
                      | "toExponential"
                      | "toPrecision"
                      | "valueOf";
                  val: string;
              };
              shorthand: string;
              types: string[];
          }
          Index

          Properties

          keywords +

          Interface ShorthandPropertyType

          interface ShorthandPropertyType {
              keywords: string[];
              map?: string;
              multiple: boolean;
              properties: string[];
              separator: {
                  typ:
                      | "toString"
                      | "toLocaleString"
                      | "toFixed"
                      | "toExponential"
                      | "toPrecision"
                      | "valueOf";
                  val: string;
              };
              shorthand: string;
              types: string[];
          }
          Index

          Properties

          keywords: string[]
          map?: string
          multiple: boolean
          properties: string[]
          separator: {
              typ:
                  | "toString"
                  | "toLocaleString"
                  | "toFixed"
                  | "toExponential"
                  | "toPrecision"
                  | "valueOf";
              val: string;
          }
          shorthand: string
          types: string[]

          Interface ShorthandType

          interface ShorthandType {
              properties: ShorthandProperties;
              shorthand: string;
          }
          Index

          Properties

          properties +

          Interface ShorthandType

          interface ShorthandType {
              properties: ShorthandProperties;
              shorthand: string;
          }
          Index

          Properties

          Properties

          shorthand: string

          Interface SourceMapObjectInternal

          source map object

          -
          interface SourceMapObject {
              file?: string;
              mappings: string;
              names?: string[];
              sourceRoot?: string;
              sources?: string[];
              sourcesContent?: (null | string)[];
              version: number;
          }
          Index

          Properties

          interface SourceMapObject {
              file?: string;
              mappings: string;
              names?: string[];
              sourceRoot?: string;
              sources?: string[];
              sourcesContent?: (null | string)[];
              version: number;
          }
          Index

          Properties

          file?: string
          mappings: string
          names?: string[]
          sourceRoot?: string
          sources?: string[]
          sourcesContent?: (null | string)[]
          version: number

          Interface StartMatchToken

          Start match token

          -
          interface StartMatchToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: StartMatchTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface StartMatchToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: StartMatchTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface StringToken

          String token

          -
          interface StringToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: StringTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface StringToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: StringTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface SubToken

          Sub token

          -
          interface SubToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: Sub;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface SubToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: Sub;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -
          typ: Sub

          token type

          -

          Interface SubsequentCombinatorToken

          Subsequent sibling combinator token

          -
          interface SubsequentCombinatorToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: SubsequentSiblingCombinatorTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface SubsequentCombinatorToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: SubsequentSiblingCombinatorTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface TimeToken

          Time token

          -
          interface TimeToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: TimeTokenType;
              unit: "s" | "ms";
              val: number | FractionToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface TimeToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: TimeTokenType;
              unit: "s" | "ms";
              val: number | FractionToken;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          unit: "s" | "ms"
          val: number | FractionToken

          Interface TimelineFunctionToken

          Timeline function token

          -
          interface TimelineFunctionToken {
              chi: Token[];
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: TimelineFunctionTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi +
          interface TimelineFunctionToken {
              chi: Token[];
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: TimelineFunctionTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi: Token[]
          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface TimingFunctionToken

          Timing function token

          -
          interface TimingFunctionToken {
              chi: Token[];
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: TimingFunctionTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi +
          interface TimingFunctionToken {
              chi: Token[];
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: TimingFunctionTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi: Token[]
          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface TokenizeResultInternal

          tokenize result object

          -
          interface TokenizeResult {
              bytesIn: number;
              end: Position;
              hint?: EnumToken;
              len: number;
              sta: Position;
              token: string;
          }
          Index

          Properties

          interface TokenizeResult {
              bytesIn: number;
              end: Position;
              hint?: EnumToken;
              len: number;
              sta: Position;
              token: string;
          }
          Index

          Properties

          bytesIn: number

          bytes in

          -

          token end position

          -
          hint?: EnumToken

          token type hint

          -
          len: number

          token length

          -

          token start position

          -
          token: string

          token

          -

          Interface TransformOptions

          transform options

          -
          interface TransformOptions {
              beautify?: boolean;
              computeCalcExpression?: boolean;
              computeShorthand?: boolean;
              computeTransform?: boolean;
              convertColor?: boolean | ColorType;
              cwd?: string;
              expandNestingRules?: boolean;
              indent?: string;
              inlineCssVariables?: boolean;
              lenient?: boolean;
              load?: (url: string, currentUrl: string) => LoadResult;
              minify?: boolean;
              nestingRules?: boolean;
              newLine?: string;
              output?: string;
              parseColor?: boolean;
              pass?: number;
              preserveLicense?: boolean;
              removeCharset?: boolean;
              removeComments?: boolean;
              removeDuplicateDeclarations?: boolean | string[];
              removeEmpty?: boolean;
              removePrefix?: boolean;
              resolve?: (
                  url: string,
                  currentUrl: string,
                  currentWorkingDirectory?: string,
              ) => { absolute: string; relative: string };
              resolveImport?: boolean;
              resolveUrls?: boolean;
              signal?: AbortSignal;
              sourcemap?: boolean | "inline";
              src?: string;
              validation?: boolean | ValidationLevel;
              visitor?: VisitorNodeMap;
              withParents?: boolean;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface TransformOptions {
              beautify?: boolean;
              computeCalcExpression?: boolean;
              computeShorthand?: boolean;
              computeTransform?: boolean;
              convertColor?: boolean | ColorType;
              cwd?: string;
              expandNestingRules?: boolean;
              indent?: string;
              inlineCssVariables?: boolean;
              lenient?: boolean;
              load?: (url: string, currentUrl: string, asStream?: boolean) => LoadResult;
              minify?: boolean;
              nestingRules?: boolean;
              newLine?: string;
              output?: string;
              parseColor?: boolean;
              pass?: number;
              preserveLicense?: boolean;
              removeCharset?: boolean;
              removeComments?: boolean;
              removeDuplicateDeclarations?: string | boolean | string[];
              removeEmpty?: boolean;
              removePrefix?: boolean;
              resolve?: (
                  url: string,
                  currentUrl: string,
                  currentWorkingDirectory?: string,
              ) => { absolute: string; relative: string };
              resolveImport?: boolean;
              resolveUrls?: boolean;
              signal?: AbortSignal;
              sourcemap?: boolean | "inline";
              src?: string;
              validation?: boolean | ValidationLevel;
              visitor?: VisitorNodeMap | VisitorNodeMap[];
              withParents?: boolean;
          }

          Hierarchy (View Summary)

          Index

          Properties

          beautify?: boolean

          pretty print css

          -
          const result = await transform(css, {beautify: true});
          +
          const result = await transform(css, {beautify: true});
           
          -
          computeCalcExpression?: boolean

          compute math functions +

          computeCalcExpression?: boolean

          compute math functions see supported functions mathFuncs

          -
          computeShorthand?: boolean

          compute shorthand properties

          -
          computeTransform?: boolean

          compute transform functions +

          computeShorthand?: boolean

          compute shorthand properties

          +
          computeTransform?: boolean

          compute transform functions see supported functions transformFunctions

          -
          convertColor?: boolean | ColorType

          convert color to the specified color space. 'true' will convert to HEX

          -
          cwd?: string

          current working directory

          -
          expandNestingRules?: boolean

          expand nested rules

          -
          indent?: string

          indent string

          -
          inlineCssVariables?: boolean

          inline css variables

          -
          lenient?: boolean

          lenient validation. retain nodes that failed validation

          -
          load?: (url: string, currentUrl: string) => LoadResult

          url and file loader

          -
          minify?: boolean

          enable minification

          -
          nestingRules?: boolean

          generate nested rules

          -
          newLine?: string

          new line string

          -
          output?: string

          output file. used for url resolution

          -
          parseColor?: boolean

          parse color tokens

          -
          pass?: number

          define minification passes.

          -
          preserveLicense?: boolean

          preserve license comments. license comments are comments that start with /*!

          -
          removeCharset?: boolean

          remove at-rule charset

          -
          removeComments?: boolean

          remove comments

          -
          removeDuplicateDeclarations?: boolean | string[]

          remove duplicate declarations from the same rule. if passed as a string array, duplicated declarations are removed, except for those in the array

          -

          import {transform} from '@tbela99/css-parser';

          const css = `

          .table {

          width: 100%;
          width: calc(100% + 40px);
          margin-left: 20px;
          margin-left: min(100% , 20px)
          }

          `;
          const result = await transform(css, {

          beautify: true,
          validation: true,
          removeDuplicateDeclarations: ['width']
          }
          );

          console.log(result.code);
          +
          convertColor?: boolean | ColorType

          convert color to the specified color space. 'true' will convert to HEX

          +
          cwd?: string

          current working directory

          +
          expandNestingRules?: boolean

          expand nested rules

          +
          indent?: string

          indent string

          +
          inlineCssVariables?: boolean

          inline css variables

          +
          lenient?: boolean

          lenient validation. retain nodes that failed validation

          +
          load?: (url: string, currentUrl: string, asStream?: boolean) => LoadResult

          url and file loader

          +
          minify?: boolean

          enable minification

          +
          nestingRules?: boolean

          generate nested rules

          +
          newLine?: string

          new line string

          +
          output?: string

          output file. used for url resolution

          +
          parseColor?: boolean

          parse color tokens

          +
          pass?: number

          define minification passes.

          +
          preserveLicense?: boolean

          preserve license comments. license comments are comments that start with /*!

          +
          removeCharset?: boolean

          remove at-rule charset

          +
          removeComments?: boolean

          remove comments

          +
          removeDuplicateDeclarations?: string | boolean | string[]

          remove duplicate declarations from the same rule. if passed as a string array, duplicated declarations are removed, except for those in the array

          +

          import {transform} from '@tbela99/css-parser';

          const css = `

          .table {

          width: 100%;
          width: calc(100% + 40px);
          margin-left: 20px;
          margin-left: min(100% , 20px)
          }

          `;
          const result = await transform(css, {

          beautify: true,
          validation: true,
          removeDuplicateDeclarations: ['width']
          }
          );

          console.log(result.code);
          -
          removeEmpty?: boolean

          remove empty ast nodes

          -
          removePrefix?: boolean

          remove css prefix

          -
          resolve?: (
              url: string,
              currentUrl: string,
              currentWorkingDirectory?: string,
          ) => { absolute: string; relative: string }

          url and path resolver

          -
          resolveImport?: boolean

          resolve import

          -
          resolveUrls?: boolean

          resolve urls

          -
          signal?: AbortSignal

          abort signal

          +
          removeEmpty?: boolean

          remove empty ast nodes

          +
          removePrefix?: boolean

          remove css prefix

          +
          resolve?: (
              url: string,
              currentUrl: string,
              currentWorkingDirectory?: string,
          ) => { absolute: string; relative: string }

          url and path resolver

          +
          resolveImport?: boolean

          resolve import

          +
          resolveUrls?: boolean

          resolve urls

          +
          signal?: AbortSignal

          abort signal

          Example: abort after 10 seconds

          -

          const result = await parse(cssString, {
          signal: AbortSignal.timeout(10000)
          });
          +

          const result = await parse(cssString, {
          signal: AbortSignal.timeout(10000)
          });
          -
          sourcemap?: boolean | "inline"

          include sourcemap in the ast. sourcemap info is always generated

          -
          src?: string

          source file to be used for sourcemap

          -
          validation?: boolean | ValidationLevel

          enable css validation

          +
          sourcemap?: boolean | "inline"

          include sourcemap in the ast. sourcemap info is always generated

          +
          src?: string

          source file to be used for sourcemap

          +
          validation?: boolean | ValidationLevel

          enable css validation

          see ValidationLevel

          -
          visitor?: VisitorNodeMap

          node visitor -VisitorNodeMap

          -
          withParents?: boolean

          render the node along with its parents

          -

          Interface TransformResult

          transform result object

          -
          interface TransformResult {
              ast: AstStyleSheet;
              code: string;
              errors: ErrorDescription[];
              map?: SourceMap;
              stats: {
                  bytesIn: number;
                  bytesOut: number;
                  importedBytesIn: number;
                  imports: ParseResultStats[];
                  minify: string;
                  parse: string;
                  render: string;
                  src: string;
                  total: string;
              };
          }

          Hierarchy (View Summary)

          Index

          Properties

          ast +
          interface TransformResult {
              ast: AstStyleSheet;
              code: string;
              errors: ErrorDescription[];
              map?: SourceMap;
              stats: {
                  bytesIn: number;
                  bytesOut: number;
                  importedBytesIn: number;
                  imports: ParseResultStats[];
                  minify: string;
                  parse: string;
                  render: string;
                  src: string;
                  total: string;
              };
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          parsed ast tree

          -
          code: string

          rendered css

          -

          parse errors

          -
          map?: SourceMap

          source map

          -
          stats: {
              bytesIn: number;
              bytesOut: number;
              importedBytesIn: number;
              imports: ParseResultStats[];
              minify: string;
              parse: string;
              render: string;
              src: string;
              total: string;
          }

          transform stats

          -

          Type declaration

          • bytesIn: number

            bytes read

            -
          • bytesOut: number

            generated css size

            -
          • importedBytesIn: number

            bytes read from imported files

            -
          • imports: ParseResultStats[]

            imported files stats

            -
          • minify: string

            minify time

            -
          • parse: string

            parse time

            -
          • render: string

            render time

            -
          • src: string

            source file

            -
          • total: string

            total time

            -

          Interface UnaryExpression

          Unary expression token

          -
          interface UnaryExpression {
              loc?: Location;
              parent?: null | AstRuleList;
              sign: Add | Sub;
              tokens?: null | Token[];
              typ: UnaryExpressionTokenType;
              val: UnaryExpressionNode;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface UnaryExpression {
              loc?: Location;
              parent?: any;
              sign: Add | Sub;
              tokens?: null | Token[];
              typ: UnaryExpressionTokenType;
              val: UnaryExpressionNode;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          sign: Add | Sub
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface UnclosedStringToken

          Unclosed string token

          -
          interface UnclosedStringToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: UnclosedStringTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface UnclosedStringToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: UnclosedStringTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface UniversalSelectorToken

          Universal selector token

          -
          interface UniversalSelectorToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: UniversalSelectorTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface UniversalSelectorToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: UniversalSelectorTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface UrlToken

          URL token

          -
          interface UrlToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: UrlTokenTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface UrlToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: UrlTokenTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -
          val: string

          Interface ValidationConfiguration

          Index

          Properties

          atRules +

          Interface ValidationConfiguration

          Index

          Properties

          declarations: ValidationSyntaxNode

          Interface ValidationOptions

          css validation options

          -
          interface ValidationOptions {
              lenient?: boolean;
              validation?: boolean | ValidationLevel;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface ValidationOptions {
              lenient?: boolean;
              validation?: boolean | ValidationLevel;
          }

          Hierarchy (View Summary)

          Index

          Properties

          lenient?: boolean

          lenient validation. retain nodes that failed validation

          -
          validation?: boolean | ValidationLevel

          enable css validation

          +
          validation?: boolean | ValidationLevel

          enable css validation

          see ValidationLevel

          -

          Interface ValidationResult

          interface ValidationResult {
              cycle?: boolean;
              error: string;
              node:
                  | null
                  | ColorToken
                  | InvalidClassSelectorToken
                  | InvalidAttrToken
                  | LiteralToken
                  | IdentToken
                  | IdentListToken
                  | DashedIdentToken
                  | CommaToken
                  | ColonToken
                  | SemiColonToken
                  | ClassSelectorToken
                  | UniversalSelectorToken
                  | ChildCombinatorToken
                  | DescendantCombinatorToken
                  | NextSiblingCombinatorToken
                  | SubsequentCombinatorToken
                  | ColumnCombinatorToken
                  | NestingSelectorToken
                  | MediaQueryConditionToken
                  | MediaFeatureToken
                  | MediaFeatureNotToken
                  | MediaFeatureOnlyToken
                  | MediaFeatureAndToken
                  | MediaFeatureOrToken
                  | AstDeclaration
                  | NumberToken
                  | AtRuleToken
                  | PercentageToken
                  | FlexToken
                  | FunctionURLToken
                  | FunctionImageToken
                  | TimingFunctionToken
                  | TimelineFunctionToken
                  | FunctionToken
                  | GridTemplateFuncToken
                  | DimensionToken
                  | LengthToken
                  | AngleToken
                  | StringToken
                  | TimeToken
                  | FrequencyToken
                  | ResolutionToken
                  | UnclosedStringToken
                  | HashToken
                  | BadStringToken
                  | BlockStartToken
                  | BlockEndToken
                  | AttrStartToken
                  | AttrEndToken
                  | ParensStartToken
                  | ParensEndToken
                  | ParensToken
                  | CDOCommentToken
                  | BadCDOCommentToken
                  | CommentToken
                  | BadCommentToken
                  | WhitespaceToken
                  | IncludeMatchToken
                  | StartMatchToken
                  | EndMatchToken
                  | ContainMatchToken
                  | MatchExpressionToken
                  | NameSpaceAttributeToken
                  | DashMatchToken
                  | EqualMatchToken
                  | LessThanToken
                  | LessThanOrEqualToken
                  | GreaterThanToken
                  | GreaterThanOrEqualToken
                  | ListToken
                  | PseudoClassToken
                  | PseudoPageToken
                  | PseudoElementToken
                  | PseudoClassFunctionToken
                  | DelimToken
                  | BinaryExpressionToken
                  | UnaryExpression
                  | FractionToken
                  | AddToken
                  | SubToken
                  | DivToken
                  | MulToken
                  | BadUrlToken
                  | UrlToken
                  | ImportantToken
                  | AttrToken
                  | EOFToken
                  | AstRuleList
                  | AstStyleSheet
                  | AstComment
                  | AstAtRule
                  | AstRule
                  | AstKeyframesAtRule
                  | AstKeyFrameRule
                  | AstInvalidRule
                  | AstInvalidDeclaration;
              syntax: null
              | string
              | ValidationToken;
              valid: SyntaxValidationResult;
          }

          Hierarchy (View Summary)

          Index

          Properties

          cycle? +

          Interface ValidationResult

          interface ValidationResult {
              cycle?: boolean;
              error: string;
              node:
                  | null
                  | ColorToken
                  | InvalidClassSelectorToken
                  | InvalidAttrToken
                  | LiteralToken
                  | IdentToken
                  | IdentListToken
                  | DashedIdentToken
                  | CommaToken
                  | ColonToken
                  | SemiColonToken
                  | ClassSelectorToken
                  | UniversalSelectorToken
                  | ChildCombinatorToken
                  | DescendantCombinatorToken
                  | NextSiblingCombinatorToken
                  | SubsequentCombinatorToken
                  | ColumnCombinatorToken
                  | NestingSelectorToken
                  | MediaQueryConditionToken
                  | MediaFeatureToken
                  | MediaFeatureNotToken
                  | MediaFeatureOnlyToken
                  | MediaFeatureAndToken
                  | MediaFeatureOrToken
                  | AstDeclaration
                  | NumberToken
                  | AtRuleToken
                  | PercentageToken
                  | FlexToken
                  | FunctionURLToken
                  | FunctionImageToken
                  | TimingFunctionToken
                  | TimelineFunctionToken
                  | FunctionToken
                  | GridTemplateFuncToken
                  | DimensionToken
                  | LengthToken
                  | AngleToken
                  | StringToken
                  | TimeToken
                  | FrequencyToken
                  | ResolutionToken
                  | UnclosedStringToken
                  | HashToken
                  | BadStringToken
                  | BlockStartToken
                  | BlockEndToken
                  | AttrStartToken
                  | AttrEndToken
                  | ParensStartToken
                  | ParensEndToken
                  | ParensToken
                  | CDOCommentToken
                  | BadCDOCommentToken
                  | CommentToken
                  | BadCommentToken
                  | WhitespaceToken
                  | IncludeMatchToken
                  | StartMatchToken
                  | EndMatchToken
                  | ContainMatchToken
                  | MatchExpressionToken
                  | NameSpaceAttributeToken
                  | DashMatchToken
                  | EqualMatchToken
                  | LessThanToken
                  | LessThanOrEqualToken
                  | GreaterThanToken
                  | GreaterThanOrEqualToken
                  | ListToken
                  | PseudoClassToken
                  | PseudoPageToken
                  | PseudoElementToken
                  | PseudoClassFunctionToken
                  | DelimToken
                  | BinaryExpressionToken
                  | UnaryExpression
                  | FractionToken
                  | AddToken
                  | SubToken
                  | DivToken
                  | MulToken
                  | BadUrlToken
                  | UrlToken
                  | ImportantToken
                  | AttrToken
                  | EOFToken
                  | AstAtRule
                  | AstKeyframesAtRule
                  | AstKeyFrameRule
                  | AstInvalidRule
                  | AstInvalidAtRule
                  | AstStyleSheet
                  | AstRule
                  | AstComment
                  | AstInvalidDeclaration;
              syntax: null
              | string
              | ValidationToken;
              valid: SyntaxValidationResult;
          }

          Hierarchy (View Summary)

          Index

          Properties

          cycle?: boolean
          error: string
          node:
              | null
              | ColorToken
              | InvalidClassSelectorToken
              | InvalidAttrToken
              | LiteralToken
              | IdentToken
              | IdentListToken
              | DashedIdentToken
              | CommaToken
              | ColonToken
              | SemiColonToken
              | ClassSelectorToken
              | UniversalSelectorToken
              | ChildCombinatorToken
              | DescendantCombinatorToken
              | NextSiblingCombinatorToken
              | SubsequentCombinatorToken
              | ColumnCombinatorToken
              | NestingSelectorToken
              | MediaQueryConditionToken
              | MediaFeatureToken
              | MediaFeatureNotToken
              | MediaFeatureOnlyToken
              | MediaFeatureAndToken
              | MediaFeatureOrToken
              | AstDeclaration
              | NumberToken
              | AtRuleToken
              | PercentageToken
              | FlexToken
              | FunctionURLToken
              | FunctionImageToken
              | TimingFunctionToken
              | TimelineFunctionToken
              | FunctionToken
              | GridTemplateFuncToken
              | DimensionToken
              | LengthToken
              | AngleToken
              | StringToken
              | TimeToken
              | FrequencyToken
              | ResolutionToken
              | UnclosedStringToken
              | HashToken
              | BadStringToken
              | BlockStartToken
              | BlockEndToken
              | AttrStartToken
              | AttrEndToken
              | ParensStartToken
              | ParensEndToken
              | ParensToken
              | CDOCommentToken
              | BadCDOCommentToken
              | CommentToken
              | BadCommentToken
              | WhitespaceToken
              | IncludeMatchToken
              | StartMatchToken
              | EndMatchToken
              | ContainMatchToken
              | MatchExpressionToken
              | NameSpaceAttributeToken
              | DashMatchToken
              | EqualMatchToken
              | LessThanToken
              | LessThanOrEqualToken
              | GreaterThanToken
              | GreaterThanOrEqualToken
              | ListToken
              | PseudoClassToken
              | PseudoPageToken
              | PseudoElementToken
              | PseudoClassFunctionToken
              | DelimToken
              | BinaryExpressionToken
              | UnaryExpression
              | FractionToken
              | AddToken
              | SubToken
              | DivToken
              | MulToken
              | BadUrlToken
              | UrlToken
              | ImportantToken
              | AttrToken
              | EOFToken
              | AstRuleList
              | AstStyleSheet
              | AstComment
              | AstAtRule
              | AstRule
              | AstKeyframesAtRule
              | AstKeyFrameRule
              | AstInvalidRule
              | AstInvalidDeclaration
          syntax: null | string | ValidationToken
          valid: SyntaxValidationResult

          Interface ValidationSelectorOptions

          css validation options

          -
          interface ValidationSelectorOptions {
              lenient?: boolean;
              nestedSelector?: boolean;
              validation?: boolean | ValidationLevel;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface ValidationSelectorOptions {
              lenient?: boolean;
              nestedSelector?: boolean;
              validation?: boolean | ValidationLevel;
          }

          Hierarchy (View Summary)

          Index

          Properties

          lenient?: boolean

          lenient validation. retain nodes that failed validation

          -
          nestedSelector?: boolean
          validation?: boolean | ValidationLevel

          enable css validation

          +
          nestedSelector?: boolean
          validation?: boolean | ValidationLevel

          enable css validation

          see ValidationLevel

          -

          Interface ValidationSyntaxNode

          interface ValidationSyntaxNode {
              ast?: ValidationToken[];
              syntax: string;
          }
          Index

          Properties

          ast? +

          Interface ValidationSyntaxNode

          interface ValidationSyntaxNode {
              ast?: ValidationToken[];
              syntax: string;
          }
          Index

          Properties

          Properties

          ast?: ValidationToken[]
          syntax: string

          Interface ValidationSyntaxResult

          interface ValidationSyntaxResult {
              context: Token[] | Context<Token>;
              cycle?: boolean;
              error: string;
              node:
                  | null
                  | ColorToken
                  | InvalidClassSelectorToken
                  | InvalidAttrToken
                  | LiteralToken
                  | IdentToken
                  | IdentListToken
                  | DashedIdentToken
                  | CommaToken
                  | ColonToken
                  | SemiColonToken
                  | ClassSelectorToken
                  | UniversalSelectorToken
                  | ChildCombinatorToken
                  | DescendantCombinatorToken
                  | NextSiblingCombinatorToken
                  | SubsequentCombinatorToken
                  | ColumnCombinatorToken
                  | NestingSelectorToken
                  | MediaQueryConditionToken
                  | MediaFeatureToken
                  | MediaFeatureNotToken
                  | MediaFeatureOnlyToken
                  | MediaFeatureAndToken
                  | MediaFeatureOrToken
                  | AstDeclaration
                  | NumberToken
                  | AtRuleToken
                  | PercentageToken
                  | FlexToken
                  | FunctionURLToken
                  | FunctionImageToken
                  | TimingFunctionToken
                  | TimelineFunctionToken
                  | FunctionToken
                  | GridTemplateFuncToken
                  | DimensionToken
                  | LengthToken
                  | AngleToken
                  | StringToken
                  | TimeToken
                  | FrequencyToken
                  | ResolutionToken
                  | UnclosedStringToken
                  | HashToken
                  | BadStringToken
                  | BlockStartToken
                  | BlockEndToken
                  | AttrStartToken
                  | AttrEndToken
                  | ParensStartToken
                  | ParensEndToken
                  | ParensToken
                  | CDOCommentToken
                  | BadCDOCommentToken
                  | CommentToken
                  | BadCommentToken
                  | WhitespaceToken
                  | IncludeMatchToken
                  | StartMatchToken
                  | EndMatchToken
                  | ContainMatchToken
                  | MatchExpressionToken
                  | NameSpaceAttributeToken
                  | DashMatchToken
                  | EqualMatchToken
                  | LessThanToken
                  | LessThanOrEqualToken
                  | GreaterThanToken
                  | GreaterThanOrEqualToken
                  | ListToken
                  | PseudoClassToken
                  | PseudoPageToken
                  | PseudoElementToken
                  | PseudoClassFunctionToken
                  | DelimToken
                  | BinaryExpressionToken
                  | UnaryExpression
                  | FractionToken
                  | AddToken
                  | SubToken
                  | DivToken
                  | MulToken
                  | BadUrlToken
                  | UrlToken
                  | ImportantToken
                  | AttrToken
                  | EOFToken
                  | AstRuleList
                  | AstStyleSheet
                  | AstComment
                  | AstAtRule
                  | AstRule
                  | AstKeyframesAtRule
                  | AstKeyFrameRule
                  | AstInvalidRule
                  | AstInvalidDeclaration;
              syntax: null
              | string
              | ValidationToken;
              valid: SyntaxValidationResult;
          }

          Hierarchy (View Summary)

          Index

          Properties

          context +

          Interface ValidationSyntaxResult

          interface ValidationSyntaxResult {
              context: Token[] | Context<Token>;
              cycle?: boolean;
              error: string;
              node:
                  | null
                  | ColorToken
                  | InvalidClassSelectorToken
                  | InvalidAttrToken
                  | LiteralToken
                  | IdentToken
                  | IdentListToken
                  | DashedIdentToken
                  | CommaToken
                  | ColonToken
                  | SemiColonToken
                  | ClassSelectorToken
                  | UniversalSelectorToken
                  | ChildCombinatorToken
                  | DescendantCombinatorToken
                  | NextSiblingCombinatorToken
                  | SubsequentCombinatorToken
                  | ColumnCombinatorToken
                  | NestingSelectorToken
                  | MediaQueryConditionToken
                  | MediaFeatureToken
                  | MediaFeatureNotToken
                  | MediaFeatureOnlyToken
                  | MediaFeatureAndToken
                  | MediaFeatureOrToken
                  | AstDeclaration
                  | NumberToken
                  | AtRuleToken
                  | PercentageToken
                  | FlexToken
                  | FunctionURLToken
                  | FunctionImageToken
                  | TimingFunctionToken
                  | TimelineFunctionToken
                  | FunctionToken
                  | GridTemplateFuncToken
                  | DimensionToken
                  | LengthToken
                  | AngleToken
                  | StringToken
                  | TimeToken
                  | FrequencyToken
                  | ResolutionToken
                  | UnclosedStringToken
                  | HashToken
                  | BadStringToken
                  | BlockStartToken
                  | BlockEndToken
                  | AttrStartToken
                  | AttrEndToken
                  | ParensStartToken
                  | ParensEndToken
                  | ParensToken
                  | CDOCommentToken
                  | BadCDOCommentToken
                  | CommentToken
                  | BadCommentToken
                  | WhitespaceToken
                  | IncludeMatchToken
                  | StartMatchToken
                  | EndMatchToken
                  | ContainMatchToken
                  | MatchExpressionToken
                  | NameSpaceAttributeToken
                  | DashMatchToken
                  | EqualMatchToken
                  | LessThanToken
                  | LessThanOrEqualToken
                  | GreaterThanToken
                  | GreaterThanOrEqualToken
                  | ListToken
                  | PseudoClassToken
                  | PseudoPageToken
                  | PseudoElementToken
                  | PseudoClassFunctionToken
                  | DelimToken
                  | BinaryExpressionToken
                  | UnaryExpression
                  | FractionToken
                  | AddToken
                  | SubToken
                  | DivToken
                  | MulToken
                  | BadUrlToken
                  | UrlToken
                  | ImportantToken
                  | AttrToken
                  | EOFToken
                  | AstAtRule
                  | AstKeyframesAtRule
                  | AstKeyFrameRule
                  | AstInvalidRule
                  | AstInvalidAtRule
                  | AstStyleSheet
                  | AstRule
                  | AstComment
                  | AstInvalidDeclaration;
              syntax: null
              | string
              | ValidationToken;
              valid: SyntaxValidationResult;
          }

          Hierarchy (View Summary)

          Index

          Properties

          context: Token[] | Context<Token>
          cycle?: boolean
          error: string
          node:
              | null
              | ColorToken
              | InvalidClassSelectorToken
              | InvalidAttrToken
              | LiteralToken
              | IdentToken
              | IdentListToken
              | DashedIdentToken
              | CommaToken
              | ColonToken
              | SemiColonToken
              | ClassSelectorToken
              | UniversalSelectorToken
              | ChildCombinatorToken
              | DescendantCombinatorToken
              | NextSiblingCombinatorToken
              | SubsequentCombinatorToken
              | ColumnCombinatorToken
              | NestingSelectorToken
              | MediaQueryConditionToken
              | MediaFeatureToken
              | MediaFeatureNotToken
              | MediaFeatureOnlyToken
              | MediaFeatureAndToken
              | MediaFeatureOrToken
              | AstDeclaration
              | NumberToken
              | AtRuleToken
              | PercentageToken
              | FlexToken
              | FunctionURLToken
              | FunctionImageToken
              | TimingFunctionToken
              | TimelineFunctionToken
              | FunctionToken
              | GridTemplateFuncToken
              | DimensionToken
              | LengthToken
              | AngleToken
              | StringToken
              | TimeToken
              | FrequencyToken
              | ResolutionToken
              | UnclosedStringToken
              | HashToken
              | BadStringToken
              | BlockStartToken
              | BlockEndToken
              | AttrStartToken
              | AttrEndToken
              | ParensStartToken
              | ParensEndToken
              | ParensToken
              | CDOCommentToken
              | BadCDOCommentToken
              | CommentToken
              | BadCommentToken
              | WhitespaceToken
              | IncludeMatchToken
              | StartMatchToken
              | EndMatchToken
              | ContainMatchToken
              | MatchExpressionToken
              | NameSpaceAttributeToken
              | DashMatchToken
              | EqualMatchToken
              | LessThanToken
              | LessThanOrEqualToken
              | GreaterThanToken
              | GreaterThanOrEqualToken
              | ListToken
              | PseudoClassToken
              | PseudoPageToken
              | PseudoElementToken
              | PseudoClassFunctionToken
              | DelimToken
              | BinaryExpressionToken
              | UnaryExpression
              | FractionToken
              | AddToken
              | SubToken
              | DivToken
              | MulToken
              | BadUrlToken
              | UrlToken
              | ImportantToken
              | AttrToken
              | EOFToken
              | AstRuleList
              | AstStyleSheet
              | AstComment
              | AstAtRule
              | AstRule
              | AstKeyframesAtRule
              | AstKeyFrameRule
              | AstInvalidRule
              | AstInvalidDeclaration
          syntax: null | string | ValidationToken
          valid: SyntaxValidationResult

          Interface VariableScopeInfoInternal

          variable scope info object

          -
          interface VariableScopeInfo {
              declarationCount: number;
              globalScope: boolean;
              node: AstDeclaration;
              parent: Set<AstAtRule | AstRule>;
              replaceable: boolean;
              values: Token[];
          }
          Index

          Properties

          interface VariableScopeInfo {
              declarationCount: number;
              globalScope: boolean;
              node: AstDeclaration;
              parent: Set<AstAtRule | AstRule>;
              replaceable: boolean;
              values: Token[];
          }
          Index

          Properties

          declarationCount: number

          declaration count

          -
          globalScope: boolean

          global scope

          -

          declaration node

          -
          parent: Set<AstAtRule | AstRule>

          parent nodes

          -
          replaceable: boolean

          replaceable

          -
          values: Token[]

          declaration values

          -

          Interface VisitorNodeMap

          node visitor callback map

          -
          interface VisitorNodeMap {
              AtRule?: GenericVisitorAstNodeHandlerMap<AstAtRule>;
              Declaration?: GenericVisitorAstNodeHandlerMap<AstDeclaration>;
              KeyframesAtRule?:
                  | GenericVisitorAstNodeHandlerMap<AstKeyframesAtRule>
                  | Record<string, GenericVisitorAstNodeHandlerMap<AstKeyframesAtRule>>;
              KeyframesRule?: GenericVisitorAstNodeHandlerMap<AstKeyframesRule>;
              Rule?: GenericVisitorAstNodeHandlerMap<AstRule>;
              Value?:
                  | GenericVisitorHandler<Token>
                  | Record<string | number | symbol, GenericVisitorHandler<Token>>
                  | {
                      handler:
                          | GenericVisitorHandler<Token>
                          | Record<string | number | symbol, GenericVisitorHandler<Token>>;
                      type: VisitorEventType;
                  };
              [key: string
              | number
              | symbol]:
                  | GenericVisitorHandler<Token>
                  | { handler: GenericVisitorHandler<Token>; type: VisitorEventType };
          }

          Indexable

          • [key: string | number | symbol]:
                | GenericVisitorHandler<Token>
                | { handler: GenericVisitorHandler<Token>; type: VisitorEventType }

            generic token visitor. the key name is of type keyof EnumToken. -generic tokens are called for every token of the specified type.

            -

            import {transform, parse, parseDeclarations} from "@tbela99/css-parser";

            const options: ParserOptions = {

            inlineCssVariables: true,
            visitor: {

            // Stylesheet node visitor
            StyleSheetNodeType: async (node) => {

            // insert a new rule
            node.chi.unshift(await parse('html {--base-color: pink}').then(result => result.ast.chi[0]))
            },
            ColorTokenType: (node) => {

            // dump all color tokens
            // console.debug(node);
            },
            FunctionTokenType: (node) => {

            // dump all function tokens
            // console.debug(node);
            },
            DeclarationNodeType: (node) => {

            // dump all declaration nodes
            // console.debug(node);
            }
            }
            };

            const css = `

            body { color: color(from var(--base-color) display-p3 r calc(g + 0.24) calc(b + 0.15)); }
            `;

            console.debug(await transform(css, options));

            // body {color:#f3fff0} -
            - -
          Index

          Properties

          Index

          Properties

          Properties

          at rule visitor

          Example: change media at-rule prelude

          -

          import {transform, AstAtRule, ParserOptions} from "@tbela99/css-parser";

          const options: ParserOptions = {

          visitor: {

          AtRule: {

          media: (node: AstAtRule): AstAtRule => {

          node.val = 'tv,screen';
          return node
          }
          }
          }
          };

          const css = `

          @media screen {

          .foo {

          height: calc(100px * 2/ 15);
          }
          }
          `;

          const result = await transform(css, options);

          console.debug(result.code);

          // @media tv,screen{.foo{height:calc(40px/3)}} +

          import {transform, AstAtRule, ParserOptions} from "@tbela99/css-parser";

          const options: ParserOptions = {

          visitor: {

          AtRule: {

          media: (node: AstAtRule): AstAtRule => {

          node.val = 'tv,screen';
          return node
          }
          }
          }
          };

          const css = `

          @media screen {

          .foo {

          height: calc(100px * 2/ 15);
          }
          }
          `;

          const result = await transform(css, options);

          console.debug(result.code);

          // @media tv,screen{.foo{height:calc(40px/3)}}
          -

          declaration visitor

          +

          declaration visitor

          Example: add 'width: 3px' everytime a declaration with the name 'height' is found

          -

          import {transform, parseDeclarations} from "@tbela99/css-parser";

          const options: ParserOptions = {

          removeEmpty: false,
          visitor: {

          Declaration: {

          // called only for height declaration
          height: (node: AstDeclaration): AstDeclaration[] => {


          return [
          node,
          {

          typ: EnumToken.DeclarationNodeType,
          nam: 'width',
          val: [
          <LengthToken>{
          typ: EnumToken.LengthTokenType,
          val: 3,
          unit: 'px'
          }
          ]
          }
          ];
          }
          }
          }
          };

          const css = `

          .foo {
          height: calc(100px * 2/ 15);
          }
          .selector {
          color: lch(from peru calc(l * 0.8) calc(c * 0.7) calc(h + 180))
          }
          `;

          console.debug(await transform(css, options));

          // .foo{height:calc(40px/3);width:3px}.selector{color:#0880b0} +

          import {transform, parseDeclarations} from "@tbela99/css-parser";

          const options: ParserOptions = {

          removeEmpty: false,
          visitor: {

          Declaration: {

          // called only for height declaration
          height: (node: AstDeclaration): AstDeclaration[] => {


          return [
          node,
          {

          typ: EnumToken.DeclarationNodeType,
          nam: 'width',
          val: [
          <LengthToken>{
          typ: EnumToken.LengthTokenType,
          val: 3,
          unit: 'px'
          }
          ]
          }
          ];
          }
          }
          }
          };

          const css = `

          .foo {
          height: calc(100px * 2/ 15);
          }
          .selector {
          color: lch(from peru calc(l * 0.8) calc(c * 0.7) calc(h + 180))
          }
          `;

          console.debug(await transform(css, options));

          // .foo{height:calc(40px/3);width:3px}.selector{color:#0880b0}

          Example: rename 'margin' to 'padding' and 'height' to 'width'

          -
          import {AstDeclaration, ParserOptions, transform} from "../src/node.ts";

          const options: ParserOptions = {

          visitor: {

          // called for every declaration
          Declaration: (node: AstDeclaration): null => {


          if (node.nam == 'height') {

          node.nam = 'width';
          }

          else if (node.nam == 'margin') {

          node.nam = 'padding'
          }

          return null;
          }
          }
          };

          const css = `

          .foo {
          height: calc(100px * 2/ 15);
          margin: 10px;
          }
          .selector {

          margin: 20px;}
          `;

          const result = await transform(css, options);

          console.debug(result.code);

          // .foo{width:calc(40px/3);padding:10px}.selector{padding:20px} +
          import {AstDeclaration, ParserOptions, transform} from "../src/node.ts";

          const options: ParserOptions = {

          visitor: {

          // called for every declaration
          Declaration: (node: AstDeclaration): null => {


          if (node.nam == 'height') {

          node.nam = 'width';
          }

          else if (node.nam == 'margin') {

          node.nam = 'padding'
          }

          return null;
          }
          }
          };

          const css = `

          .foo {
          height: calc(100px * 2/ 15);
          margin: 10px;
          }
          .selector {

          margin: 20px;}
          `;

          const result = await transform(css, options);

          console.debug(result.code);

          // .foo{width:calc(40px/3);padding:10px}.selector{padding:20px}
          -

          rule visitor

          +

          rule visitor

          Example: add 'width: 3px' to every rule with the selector '.foo'

          -

          import {transform, parseDeclarations} from "@tbela99/css-parser";

          const options: ParserOptions = {

          removeEmpty: false,
          visitor: {

          Rule: async (node: AstRule): Promise<AstRule | null> => {

          if (node.sel == '.foo') {

          node.chi.push(...await parseDeclarations('width: 3px'));
          return node;
          }

          return null;
          }
          }
          };

          const css = `

          .foo {
          .foo {
          }
          }
          `;

          console.debug(await transform(css, options));

          // .foo{width:3px;.foo{width:3px}} +

          import {transform, parseDeclarations} from "@tbela99/css-parser";

          const options: ParserOptions = {

          removeEmpty: false,
          visitor: {

          Rule: async (node: AstRule): Promise<AstRule | null> => {

          if (node.sel == '.foo') {

          node.chi.push(...await parseDeclarations('width: 3px'));
          return node;
          }

          return null;
          }
          }
          };

          const css = `

          .foo {
          .foo {
          }
          }
          `;

          console.debug(await transform(css, options));

          // .foo{width:3px;.foo{width:3px}}
          -
          Value?:
              | GenericVisitorHandler<Token>
              | Record<string | number | symbol, GenericVisitorHandler<Token>>
              | {
                  handler:
                      | GenericVisitorHandler<Token>
                      | Record<string | number | symbol, GenericVisitorHandler<Token>>;
                  type: VisitorEventType;
              }

          value visitor

          -

          Interface WalkAttributesResult

          interface WalkAttributesResult {
              nextValue: null | Token;
              parent:
                  | null
                  | ColorToken
                  | InvalidClassSelectorToken
                  | InvalidAttrToken
                  | LiteralToken
                  | IdentToken
                  | IdentListToken
                  | DashedIdentToken
                  | CommaToken
                  | ColonToken
                  | SemiColonToken
                  | ClassSelectorToken
                  | UniversalSelectorToken
                  | ChildCombinatorToken
                  | DescendantCombinatorToken
                  | NextSiblingCombinatorToken
                  | SubsequentCombinatorToken
                  | ColumnCombinatorToken
                  | NestingSelectorToken
                  | MediaQueryConditionToken
                  | MediaFeatureToken
                  | MediaFeatureNotToken
                  | MediaFeatureOnlyToken
                  | MediaFeatureAndToken
                  | MediaFeatureOrToken
                  | AstDeclaration
                  | NumberToken
                  | AtRuleToken
                  | PercentageToken
                  | FlexToken
                  | FunctionURLToken
                  | FunctionImageToken
                  | TimingFunctionToken
                  | TimelineFunctionToken
                  | FunctionToken
                  | GridTemplateFuncToken
                  | DimensionToken
                  | LengthToken
                  | AngleToken
                  | StringToken
                  | TimeToken
                  | FrequencyToken
                  | ResolutionToken
                  | UnclosedStringToken
                  | HashToken
                  | BadStringToken
                  | BlockStartToken
                  | BlockEndToken
                  | AttrStartToken
                  | AttrEndToken
                  | ParensStartToken
                  | ParensEndToken
                  | ParensToken
                  | CDOCommentToken
                  | BadCDOCommentToken
                  | CommentToken
                  | BadCommentToken
                  | WhitespaceToken
                  | IncludeMatchToken
                  | StartMatchToken
                  | EndMatchToken
                  | ContainMatchToken
                  | MatchExpressionToken
                  | NameSpaceAttributeToken
                  | DashMatchToken
                  | EqualMatchToken
                  | LessThanToken
                  | LessThanOrEqualToken
                  | GreaterThanToken
                  | GreaterThanOrEqualToken
                  | ListToken
                  | PseudoClassToken
                  | PseudoPageToken
                  | PseudoElementToken
                  | PseudoClassFunctionToken
                  | DelimToken
                  | BinaryExpressionToken
                  | UnaryExpression
                  | FractionToken
                  | AddToken
                  | SubToken
                  | DivToken
                  | MulToken
                  | BadUrlToken
                  | UrlToken
                  | ImportantToken
                  | AttrToken
                  | EOFToken
                  | AstRuleList
                  | AstStyleSheet
                  | AstComment
                  | AstAtRule
                  | AstRule
                  | AstKeyframesAtRule
                  | AstKeyFrameRule
                  | AstInvalidRule
                  | AstInvalidDeclaration;
              previousValue: null
              | Token;
              root?:
                  | null
                  | ColorToken
                  | InvalidClassSelectorToken
                  | InvalidAttrToken
                  | LiteralToken
                  | IdentToken
                  | IdentListToken
                  | DashedIdentToken
                  | CommaToken
                  | ColonToken
                  | SemiColonToken
                  | ClassSelectorToken
                  | UniversalSelectorToken
                  | ChildCombinatorToken
                  | DescendantCombinatorToken
                  | NextSiblingCombinatorToken
                  | SubsequentCombinatorToken
                  | ColumnCombinatorToken
                  | NestingSelectorToken
                  | MediaQueryConditionToken
                  | MediaFeatureToken
                  | MediaFeatureNotToken
                  | MediaFeatureOnlyToken
                  | MediaFeatureAndToken
                  | MediaFeatureOrToken
                  | AstDeclaration
                  | NumberToken
                  | AtRuleToken
                  | PercentageToken
                  | FlexToken
                  | FunctionURLToken
                  | FunctionImageToken
                  | TimingFunctionToken
                  | TimelineFunctionToken
                  | FunctionToken
                  | GridTemplateFuncToken
                  | DimensionToken
                  | LengthToken
                  | AngleToken
                  | StringToken
                  | TimeToken
                  | FrequencyToken
                  | ResolutionToken
                  | UnclosedStringToken
                  | HashToken
                  | BadStringToken
                  | BlockStartToken
                  | BlockEndToken
                  | AttrStartToken
                  | AttrEndToken
                  | ParensStartToken
                  | ParensEndToken
                  | ParensToken
                  | CDOCommentToken
                  | BadCDOCommentToken
                  | CommentToken
                  | BadCommentToken
                  | WhitespaceToken
                  | IncludeMatchToken
                  | StartMatchToken
                  | EndMatchToken
                  | ContainMatchToken
                  | MatchExpressionToken
                  | NameSpaceAttributeToken
                  | DashMatchToken
                  | EqualMatchToken
                  | LessThanToken
                  | LessThanOrEqualToken
                  | GreaterThanToken
                  | GreaterThanOrEqualToken
                  | ListToken
                  | PseudoClassToken
                  | PseudoPageToken
                  | PseudoElementToken
                  | PseudoClassFunctionToken
                  | DelimToken
                  | BinaryExpressionToken
                  | UnaryExpression
                  | FractionToken
                  | AddToken
                  | SubToken
                  | DivToken
                  | MulToken
                  | BadUrlToken
                  | UrlToken
                  | ImportantToken
                  | AttrToken
                  | EOFToken
                  | AstRuleList
                  | AstStyleSheet
                  | AstComment
                  | AstAtRule
                  | AstRule
                  | AstKeyframesAtRule
                  | AstKeyFrameRule
                  | AstInvalidRule
                  | AstInvalidDeclaration;
              value: Token;
          }
          Index

          Properties

          nextValue +

          Interface WalkAttributesResult

          interface WalkAttributesResult {
              nextValue: null | Token;
              parent:
                  | null
                  | ColorToken
                  | InvalidClassSelectorToken
                  | InvalidAttrToken
                  | LiteralToken
                  | IdentToken
                  | IdentListToken
                  | DashedIdentToken
                  | CommaToken
                  | ColonToken
                  | SemiColonToken
                  | ClassSelectorToken
                  | UniversalSelectorToken
                  | ChildCombinatorToken
                  | DescendantCombinatorToken
                  | NextSiblingCombinatorToken
                  | SubsequentCombinatorToken
                  | ColumnCombinatorToken
                  | NestingSelectorToken
                  | MediaQueryConditionToken
                  | MediaFeatureToken
                  | MediaFeatureNotToken
                  | MediaFeatureOnlyToken
                  | MediaFeatureAndToken
                  | MediaFeatureOrToken
                  | AstDeclaration
                  | NumberToken
                  | AtRuleToken
                  | PercentageToken
                  | FlexToken
                  | FunctionURLToken
                  | FunctionImageToken
                  | TimingFunctionToken
                  | TimelineFunctionToken
                  | FunctionToken
                  | GridTemplateFuncToken
                  | DimensionToken
                  | LengthToken
                  | AngleToken
                  | StringToken
                  | TimeToken
                  | FrequencyToken
                  | ResolutionToken
                  | UnclosedStringToken
                  | HashToken
                  | BadStringToken
                  | BlockStartToken
                  | BlockEndToken
                  | AttrStartToken
                  | AttrEndToken
                  | ParensStartToken
                  | ParensEndToken
                  | ParensToken
                  | CDOCommentToken
                  | BadCDOCommentToken
                  | CommentToken
                  | BadCommentToken
                  | WhitespaceToken
                  | IncludeMatchToken
                  | StartMatchToken
                  | EndMatchToken
                  | ContainMatchToken
                  | MatchExpressionToken
                  | NameSpaceAttributeToken
                  | DashMatchToken
                  | EqualMatchToken
                  | LessThanToken
                  | LessThanOrEqualToken
                  | GreaterThanToken
                  | GreaterThanOrEqualToken
                  | ListToken
                  | PseudoClassToken
                  | PseudoPageToken
                  | PseudoElementToken
                  | PseudoClassFunctionToken
                  | DelimToken
                  | BinaryExpressionToken
                  | UnaryExpression
                  | FractionToken
                  | AddToken
                  | SubToken
                  | DivToken
                  | MulToken
                  | BadUrlToken
                  | UrlToken
                  | ImportantToken
                  | AttrToken
                  | EOFToken
                  | AstAtRule
                  | AstKeyframesAtRule
                  | AstKeyFrameRule
                  | AstInvalidRule
                  | AstInvalidAtRule
                  | AstStyleSheet
                  | AstRule
                  | AstComment
                  | AstInvalidDeclaration;
              previousValue: null
              | Token;
              root?:
                  | null
                  | ColorToken
                  | InvalidClassSelectorToken
                  | InvalidAttrToken
                  | LiteralToken
                  | IdentToken
                  | IdentListToken
                  | DashedIdentToken
                  | CommaToken
                  | ColonToken
                  | SemiColonToken
                  | ClassSelectorToken
                  | UniversalSelectorToken
                  | ChildCombinatorToken
                  | DescendantCombinatorToken
                  | NextSiblingCombinatorToken
                  | SubsequentCombinatorToken
                  | ColumnCombinatorToken
                  | NestingSelectorToken
                  | MediaQueryConditionToken
                  | MediaFeatureToken
                  | MediaFeatureNotToken
                  | MediaFeatureOnlyToken
                  | MediaFeatureAndToken
                  | MediaFeatureOrToken
                  | AstDeclaration
                  | NumberToken
                  | AtRuleToken
                  | PercentageToken
                  | FlexToken
                  | FunctionURLToken
                  | FunctionImageToken
                  | TimingFunctionToken
                  | TimelineFunctionToken
                  | FunctionToken
                  | GridTemplateFuncToken
                  | DimensionToken
                  | LengthToken
                  | AngleToken
                  | StringToken
                  | TimeToken
                  | FrequencyToken
                  | ResolutionToken
                  | UnclosedStringToken
                  | HashToken
                  | BadStringToken
                  | BlockStartToken
                  | BlockEndToken
                  | AttrStartToken
                  | AttrEndToken
                  | ParensStartToken
                  | ParensEndToken
                  | ParensToken
                  | CDOCommentToken
                  | BadCDOCommentToken
                  | CommentToken
                  | BadCommentToken
                  | WhitespaceToken
                  | IncludeMatchToken
                  | StartMatchToken
                  | EndMatchToken
                  | ContainMatchToken
                  | MatchExpressionToken
                  | NameSpaceAttributeToken
                  | DashMatchToken
                  | EqualMatchToken
                  | LessThanToken
                  | LessThanOrEqualToken
                  | GreaterThanToken
                  | GreaterThanOrEqualToken
                  | ListToken
                  | PseudoClassToken
                  | PseudoPageToken
                  | PseudoElementToken
                  | PseudoClassFunctionToken
                  | DelimToken
                  | BinaryExpressionToken
                  | UnaryExpression
                  | FractionToken
                  | AddToken
                  | SubToken
                  | DivToken
                  | MulToken
                  | BadUrlToken
                  | UrlToken
                  | ImportantToken
                  | AttrToken
                  | EOFToken
                  | AstAtRule
                  | AstKeyframesAtRule
                  | AstKeyFrameRule
                  | AstInvalidRule
                  | AstInvalidAtRule
                  | AstStyleSheet
                  | AstRule
                  | AstComment
                  | AstInvalidDeclaration;
              value: Token;
          }
          Index

          Properties

          nextValue: null | Token
          parent:
              | null
              | ColorToken
              | InvalidClassSelectorToken
              | InvalidAttrToken
              | LiteralToken
              | IdentToken
              | IdentListToken
              | DashedIdentToken
              | CommaToken
              | ColonToken
              | SemiColonToken
              | ClassSelectorToken
              | UniversalSelectorToken
              | ChildCombinatorToken
              | DescendantCombinatorToken
              | NextSiblingCombinatorToken
              | SubsequentCombinatorToken
              | ColumnCombinatorToken
              | NestingSelectorToken
              | MediaQueryConditionToken
              | MediaFeatureToken
              | MediaFeatureNotToken
              | MediaFeatureOnlyToken
              | MediaFeatureAndToken
              | MediaFeatureOrToken
              | AstDeclaration
              | NumberToken
              | AtRuleToken
              | PercentageToken
              | FlexToken
              | FunctionURLToken
              | FunctionImageToken
              | TimingFunctionToken
              | TimelineFunctionToken
              | FunctionToken
              | GridTemplateFuncToken
              | DimensionToken
              | LengthToken
              | AngleToken
              | StringToken
              | TimeToken
              | FrequencyToken
              | ResolutionToken
              | UnclosedStringToken
              | HashToken
              | BadStringToken
              | BlockStartToken
              | BlockEndToken
              | AttrStartToken
              | AttrEndToken
              | ParensStartToken
              | ParensEndToken
              | ParensToken
              | CDOCommentToken
              | BadCDOCommentToken
              | CommentToken
              | BadCommentToken
              | WhitespaceToken
              | IncludeMatchToken
              | StartMatchToken
              | EndMatchToken
              | ContainMatchToken
              | MatchExpressionToken
              | NameSpaceAttributeToken
              | DashMatchToken
              | EqualMatchToken
              | LessThanToken
              | LessThanOrEqualToken
              | GreaterThanToken
              | GreaterThanOrEqualToken
              | ListToken
              | PseudoClassToken
              | PseudoPageToken
              | PseudoElementToken
              | PseudoClassFunctionToken
              | DelimToken
              | BinaryExpressionToken
              | UnaryExpression
              | FractionToken
              | AddToken
              | SubToken
              | DivToken
              | MulToken
              | BadUrlToken
              | UrlToken
              | ImportantToken
              | AttrToken
              | EOFToken
              | AstRuleList
              | AstStyleSheet
              | AstComment
              | AstAtRule
              | AstRule
              | AstKeyframesAtRule
              | AstKeyFrameRule
              | AstInvalidRule
              | AstInvalidDeclaration
          previousValue: null | Token
          root?:
              | null
              | ColorToken
              | InvalidClassSelectorToken
              | InvalidAttrToken
              | LiteralToken
              | IdentToken
              | IdentListToken
              | DashedIdentToken
              | CommaToken
              | ColonToken
              | SemiColonToken
              | ClassSelectorToken
              | UniversalSelectorToken
              | ChildCombinatorToken
              | DescendantCombinatorToken
              | NextSiblingCombinatorToken
              | SubsequentCombinatorToken
              | ColumnCombinatorToken
              | NestingSelectorToken
              | MediaQueryConditionToken
              | MediaFeatureToken
              | MediaFeatureNotToken
              | MediaFeatureOnlyToken
              | MediaFeatureAndToken
              | MediaFeatureOrToken
              | AstDeclaration
              | NumberToken
              | AtRuleToken
              | PercentageToken
              | FlexToken
              | FunctionURLToken
              | FunctionImageToken
              | TimingFunctionToken
              | TimelineFunctionToken
              | FunctionToken
              | GridTemplateFuncToken
              | DimensionToken
              | LengthToken
              | AngleToken
              | StringToken
              | TimeToken
              | FrequencyToken
              | ResolutionToken
              | UnclosedStringToken
              | HashToken
              | BadStringToken
              | BlockStartToken
              | BlockEndToken
              | AttrStartToken
              | AttrEndToken
              | ParensStartToken
              | ParensEndToken
              | ParensToken
              | CDOCommentToken
              | BadCDOCommentToken
              | CommentToken
              | BadCommentToken
              | WhitespaceToken
              | IncludeMatchToken
              | StartMatchToken
              | EndMatchToken
              | ContainMatchToken
              | MatchExpressionToken
              | NameSpaceAttributeToken
              | DashMatchToken
              | EqualMatchToken
              | LessThanToken
              | LessThanOrEqualToken
              | GreaterThanToken
              | GreaterThanOrEqualToken
              | ListToken
              | PseudoClassToken
              | PseudoPageToken
              | PseudoElementToken
              | PseudoClassFunctionToken
              | DelimToken
              | BinaryExpressionToken
              | UnaryExpression
              | FractionToken
              | AddToken
              | SubToken
              | DivToken
              | MulToken
              | BadUrlToken
              | UrlToken
              | ImportantToken
              | AttrToken
              | EOFToken
              | AstRuleList
              | AstStyleSheet
              | AstComment
              | AstAtRule
              | AstRule
              | AstKeyframesAtRule
              | AstKeyFrameRule
              | AstInvalidRule
              | AstInvalidDeclaration
          value: Token

          Interface WalkResult

          interface WalkResult {
              node: AstNode;
              parent?: AstRuleList;
              root?: AstNode;
          }
          Index

          Properties

          node +

          Interface WalkResult

          interface WalkResult {
              node: AstNode;
              parent?: AstRuleList;
              root?: AstNode;
          }
          Index

          Properties

          Properties

          node: AstNode
          parent?: AstRuleList
          root?: AstNode

          Interface WhitespaceToken

          Whitespace token

          -
          interface WhitespaceToken {
              loc?: Location;
              parent?: null | AstRuleList;
              tokens?: null | Token[];
              typ: WhitespaceTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          interface WhitespaceToken {
              loc?: Location;
              parent?: any;
              tokens?: null | Token[];
              typ: WhitespaceTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          -
          parent?: null | AstRuleList

          parent node

          -
          tokens?: null | Token[]

          prelude or selector tokens

          -

          token type

          -

          Interface AstAtRule

          at rule node

          +
          interface AstAtRule {
              chi?:
                  | (AstDeclaration | AstComment | AstInvalidDeclaration)[]
                  | (AstRule | AstComment)[];
              loc?: Location;
              nam: string;
              parent?: any;
              tokens?: null | Token[];
              typ: AtRuleNodeType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          chi?:
              | (AstDeclaration | AstComment | AstInvalidDeclaration)[]
              | (AstRule | AstComment)[]
          loc?: Location

          location info

          +
          nam: string
          parent?: any

          parent node

          +
          tokens?: null | Token[]

          prelude or selector tokens

          +

          token type

          +
          val: string
          diff --git a/docs/media/node.AstComment.html b/docs/media/node.AstComment.html new file mode 100644 index 00000000..60af63f0 --- /dev/null +++ b/docs/media/node.AstComment.html @@ -0,0 +1,184 @@ +AstComment | @tbela99/css-parser

          Interface AstComment

          comment node

          +
          interface AstComment {
              loc?: Location;
              parent?: any;
              tokens?: null;
              typ: CommentTokenType | CDOCOMMTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          +
          parent?: any

          parent node

          +
          tokens?: null

          prelude or selector tokens

          +

          token type

          +
          val: string
          diff --git a/docs/media/node.AstDeclaration.html b/docs/media/node.AstDeclaration.html new file mode 100644 index 00000000..d06f23b4 --- /dev/null +++ b/docs/media/node.AstDeclaration.html @@ -0,0 +1,185 @@ +AstDeclaration | @tbela99/css-parser

          Interface AstDeclaration

          declaration node

          +
          interface AstDeclaration {
              loc?: Location;
              nam: string;
              parent?: any;
              tokens?: null;
              typ: DeclarationNodeType;
              val: Token[];
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          +
          nam: string
          parent?: any

          parent node

          +
          tokens?: null

          prelude or selector tokens

          +

          token type

          +
          val: Token[]
          diff --git a/docs/media/node.AstInvalidAtRule.html b/docs/media/node.AstInvalidAtRule.html new file mode 100644 index 00000000..ca4ad6af --- /dev/null +++ b/docs/media/node.AstInvalidAtRule.html @@ -0,0 +1,186 @@ +AstInvalidAtRule | @tbela99/css-parser

          Interface AstInvalidAtRule

          invalid at rule node

          +
          interface AstInvalidAtRule {
              chi?: AstNode[];
              loc?: Location;
              nam: string;
              parent?: any;
              tokens?: null | Token[];
              typ: InvalidAtRuleTokenType;
              val: string;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          chi?: AstNode[]
          loc?: Location

          location info

          +
          nam: string
          parent?: any

          parent node

          +
          tokens?: null | Token[]

          prelude or selector tokens

          +

          token type

          +
          val: string
          diff --git a/docs/media/node.AstInvalidDeclaration.html b/docs/media/node.AstInvalidDeclaration.html new file mode 100644 index 00000000..172bd514 --- /dev/null +++ b/docs/media/node.AstInvalidDeclaration.html @@ -0,0 +1,184 @@ +AstInvalidDeclaration | @tbela99/css-parser

          Interface AstInvalidDeclaration

          invalid declaration node

          +
          interface AstInvalidDeclaration {
              loc?: Location;
              parent?: any;
              tokens?: null;
              typ: InvalidDeclarationNodeType;
              val: Token[];
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          loc?: Location

          location info

          +
          parent?: any

          parent node

          +
          tokens?: null

          prelude or selector tokens

          +

          token type

          +
          val: Token[]
          diff --git a/docs/media/node.AstInvalidRule.html b/docs/media/node.AstInvalidRule.html new file mode 100644 index 00000000..36c002f6 --- /dev/null +++ b/docs/media/node.AstInvalidRule.html @@ -0,0 +1,185 @@ +AstInvalidRule | @tbela99/css-parser

          Interface AstInvalidRule

          invalid rule node

          +
          interface AstInvalidRule {
              chi: AstNode[];
              loc?: Location;
              parent?: any;
              sel: string;
              tokens?: null | Token[];
              typ: InvalidRuleTokenType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          chi: AstNode[]
          loc?: Location

          location info

          +
          parent?: any

          parent node

          +
          sel: string
          tokens?: null | Token[]

          prelude or selector tokens

          +

          token type

          +
          diff --git a/docs/media/node.AstRule.html b/docs/media/node.AstRule.html new file mode 100644 index 00000000..ef037508 --- /dev/null +++ b/docs/media/node.AstRule.html @@ -0,0 +1,187 @@ +AstRule | @tbela99/css-parser

          Interface AstRule

          rule node

          +
          interface AstRule {
              chi: (
                  | AstDeclaration
                  | AstAtRule
                  | AstInvalidRule
                  | AstInvalidAtRule
                  | AstRule
                  | AstComment
                  | AstInvalidDeclaration
              )[];
              loc?: Location;
              optimized?: null
              | OptimizedSelector;
              parent?: any;
              raw?: null | RawSelectorTokens;
              sel: string;
              tokens?: null | Token[];
              typ: RuleNodeType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          chi: (
              | AstDeclaration
              | AstAtRule
              | AstInvalidRule
              | AstInvalidAtRule
              | AstRule
              | AstComment
              | AstInvalidDeclaration
          )[]
          loc?: Location

          location info

          +
          optimized?: null | OptimizedSelector
          parent?: any

          parent node

          +
          raw?: null | RawSelectorTokens
          sel: string
          tokens?: null | Token[]

          prelude or selector tokens

          +

          token type

          +
          diff --git a/docs/media/node.AstStyleSheet.html b/docs/media/node.AstStyleSheet.html new file mode 100644 index 00000000..4a48dc06 --- /dev/null +++ b/docs/media/node.AstStyleSheet.html @@ -0,0 +1,184 @@ +AstStyleSheet | @tbela99/css-parser

          Interface AstStyleSheet

          stylesheet node

          +
          interface AstStyleSheet {
              chi: any[];
              loc?: Location;
              parent?: any;
              tokens?: null;
              typ: StyleSheetNodeType;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          chi: any[]
          loc?: Location

          location info

          +
          parent?: any

          parent node

          +
          tokens?: null

          prelude or selector tokens

          +

          token type

          +
          diff --git a/docs/media/node.EnumToken.html b/docs/media/node.EnumToken.html new file mode 100644 index 00000000..9a1ca22d --- /dev/null +++ b/docs/media/node.EnumToken.html @@ -0,0 +1,419 @@ +EnumToken | @tbela99/css-parser

          Enumeration EnumToken

          enum of all token types

          +
          Index

          Enumeration Members

          Add +Angle +AngleTokenType +AtRuleNodeType +AtRuleTokenType +AttrEndTokenType +AttrStartTokenType +AttrTokenType +BadCdoTokenType +BadCommentTokenType +BadStringTokenType +BadUrlTokenType +BinaryExpressionTokenType +BlockEndTokenType +BlockStartTokenType +CDOCOMMNodeType +CDOCOMMTokenType +ChildCombinatorTokenType +ClassSelectorTokenType +ColonTokenType +Color +ColorTokenType +ColumnCombinatorTokenType +Comma +CommaTokenType +Comment +CommentNodeType +CommentTokenType +ContainMatchTokenType +DashedIden +DashedIdenTokenType +DashMatchTokenType +DeclarationNodeType +DelimTokenType +DescendantCombinatorTokenType +Dimension +DimensionTokenType +Div +EndMatchTokenType +EndParensTokenType +EOF +EOFTokenType +EqualMatchTokenType +Flex +FlexTokenType +FractionTokenType +Frequency +FrequencyTokenType +FunctionTokenType +GridTemplateFunc +GridTemplateFuncTokenType +GteTokenType +GtTokenType +Hash +HashTokenType +Iden +IdenList +IdenListTokenType +IdenTokenType +ImageFunc +ImageFunctionTokenType +ImportantTokenType +IncludeMatchTokenType +InvalidAtRuleTokenType +InvalidAttrTokenType +InvalidClassSelectorTokenType +InvalidDeclarationNodeType +InvalidRuleTokenType +KeyframesAtRuleNodeType +KeyFramesRuleNodeType +Length +LengthTokenType +ListToken +Literal +LiteralTokenType +LteTokenType +LtTokenType +MatchExpressionTokenType +MediaFeatureAndTokenType +MediaFeatureNotTokenType +MediaFeatureOnlyTokenType +MediaFeatureOrTokenType +MediaFeatureTokenType +MediaQueryConditionTokenType +Mul +NameSpaceAttributeTokenType +NestingSelectorTokenType +NextSiblingCombinatorTokenType +Number +NumberTokenType +ParensTokenType +Perc +PercentageTokenType +PseudoClassFuncTokenType +PseudoClassTokenType +PseudoElementTokenType +PseudoPageTokenType +Resolution +ResolutionTokenType +RuleNodeType +SemiColonTokenType +StartMatchTokenType +StartParensTokenType +String +StringTokenType +StyleSheetNodeType +Sub +SubsequentSiblingCombinatorTokenType +Time +TimelineFunction +TimelineFunctionTokenType +TimeTokenType +TimingFunction +TimingFunctionTokenType +UnaryExpressionTokenType +UnclosedStringTokenType +UniversalSelectorTokenType +UrlFunc +UrlFunctionTokenType +UrlTokenTokenType +Whitespace +WhitespaceTokenType +

          Enumeration Members

          Add: 60

          addition token type

          +
          Angle: 24

          alias for angle token type

          +
          AngleTokenType: 24

          angle token type

          +
          AtRuleNodeType: 3

          at-rule node type

          +
          AtRuleTokenType: 13

          at-rule token type

          +
          AttrEndTokenType: 32

          attribute end token type

          +
          AttrStartTokenType: 31

          attribute start token type

          +
          AttrTokenType: 51

          attribute token type

          +
          BadCdoTokenType: 53

          bad cdo token type

          +
          BadCommentTokenType: 52

          bad comment token type

          +
          BadStringTokenType: 55

          bad string token type

          +
          BadUrlTokenType: 54

          bad URL token type

          +
          BinaryExpressionTokenType: 56

          binary expression token type

          +
          BlockEndTokenType: 30

          block end token type

          +
          BlockStartTokenType: 29

          block start token type

          +
          CDOCOMMNodeType: 1

          alias for cdata section node type

          +
          CDOCOMMTokenType: 1

          cdata section token

          +
          ChildCombinatorTokenType: 76

          child combinator token type

          +
          ClassSelectorTokenType: 74

          class selector token type

          +
          ColonTokenType: 10

          colon token type

          +
          Color: 50

          alias for color token type

          +
          ColorTokenType: 50

          color token type

          +
          ColumnCombinatorTokenType: 64

          column combinator token type

          +
          Comma: 9

          alias for comma token type

          +
          CommaTokenType: 9

          comma token type

          +
          Comment: 0

          alias for comment token type

          +
          CommentNodeType: 0

          alias for comment node type

          +
          CommentTokenType: 0

          comment token

          +
          ContainMatchTokenType: 65

          contain match token type

          +
          DashedIden: 8

          alias for dashed identifier token type

          +
          DashedIdenTokenType: 8

          dashed identifier token type

          +
          DashMatchTokenType: 38

          dash match token type

          +
          DeclarationNodeType: 5

          declaration node type

          +
          DelimTokenType: 46

          delimiter token type

          +
          DescendantCombinatorTokenType: 77

          descendant combinator token type

          +
          Dimension: 22

          alias for dimension token type

          +
          DimensionTokenType: 22

          dimension token type

          +
          Div: 62

          division token type

          +
          EndMatchTokenType: 67

          end match token type

          +
          EndParensTokenType: 34

          end parentheses token type

          +
          EOF: 48

          alias for end of file token type

          +
          EOFTokenType: 48

          end of file token type

          +
          EqualMatchTokenType: 39

          equal match token type

          +
          Flex: 58

          alias for flex token type

          +
          FlexTokenType: 58

          flex token type

          +
          FractionTokenType: 70

          fraction token type

          +
          Frequency: 26

          alias for frequency token type

          +
          FrequencyTokenType: 26

          frequency token type

          +
          FunctionTokenType: 15

          function token type

          +
          GridTemplateFunc: 72

          alias for grid template function token type

          +
          GridTemplateFuncTokenType: 72

          grid template function token type

          +
          GteTokenType: 43

          greater than or equal to token type

          +
          GtTokenType: 42

          greater than token type

          +
          Hash: 28

          alias for hash token type

          +
          HashTokenType: 28

          hash token type

          +
          Iden: 7

          alias for identifier token type

          +
          IdenList: 71

          alias for identifier list token type

          +
          IdenListTokenType: 71

          identifier list token type

          +
          IdenTokenType: 7

          identifier token type

          +
          ImageFunc: 19

          alias for image function token type

          +
          ImageFunctionTokenType: 19

          image function token type

          +
          ImportantTokenType: 49

          important token type

          +
          IncludeMatchTokenType: 37

          include match token type

          +
          InvalidAtRuleTokenType: 84

          invalid at rule token type

          +
          InvalidAttrTokenType: 83

          invalid attribute token type

          +
          InvalidClassSelectorTokenType: 82

          invalid class selector token type

          +
          InvalidDeclarationNodeType: 94

          invalid declaration node type

          +
          InvalidRuleTokenType: 81

          invalid rule token type

          +
          KeyframesAtRuleNodeType: 93

          keyframe at rule node type

          +
          KeyFramesRuleNodeType: 73

          keyframe rule node type

          +
          Length: 23

          alias for length token type

          +
          LengthTokenType: 23

          length token type

          +
          ListToken: 59

          token list token type

          +
          Literal: 6

          alias for literal token type

          +
          LiteralTokenType: 6

          literal token type

          +
          LteTokenType: 41

          less than or equal to token type

          +
          LtTokenType: 40

          less than token type

          +
          MatchExpressionTokenType: 68

          match expression token type

          +
          MediaFeatureAndTokenType: 89

          media feature and token type

          +
          MediaFeatureNotTokenType: 88

          media feature not token type

          +
          MediaFeatureOnlyTokenType: 87

          media feature only token type

          +
          MediaFeatureOrTokenType: 90

          media feature or token type

          +
          MediaFeatureTokenType: 86

          media feature token type

          +
          MediaQueryConditionTokenType: 85

          media query condition token type

          +
          Mul: 61

          multiplication token type

          +
          NameSpaceAttributeTokenType: 69

          namespace attribute token type

          +
          NestingSelectorTokenType: 80

          nesting selector token type

          +
          NextSiblingCombinatorTokenType: 78

          next sibling combinator token type

          +
          Number: 12

          alias for number token type

          +
          NumberTokenType: 12

          number token type

          +
          ParensTokenType: 35

          parentheses token type

          +
          Perc: 14

          alias for percentage token type

          +
          PercentageTokenType: 14

          percentage token type

          +
          PseudoClassFuncTokenType: 45

          pseudo-class function token type

          +
          PseudoClassTokenType: 44

          pseudo-class token type

          +
          PseudoElementTokenType: 92

          pseudo element token type

          +
          PseudoPageTokenType: 91

          pseudo page token type

          +
          Resolution: 27

          alias for resolution token type

          +
          ResolutionTokenType: 27

          resolution token type

          +
          RuleNodeType: 4

          rule node type

          +
          SemiColonTokenType: 11

          semicolon token type

          +
          StartMatchTokenType: 66

          start match token type

          +
          StartParensTokenType: 33

          start parentheses token type

          +
          String: 20

          alias for string token type

          +
          StringTokenType: 20

          string token type

          +
          StyleSheetNodeType: 2

          style sheet node type

          +
          Sub: 63

          subtraction token type

          +
          SubsequentSiblingCombinatorTokenType: 79

          subsequent sibling combinator token type

          +
          Time: 25

          alias for time token type

          +
          TimelineFunction: 16

          alias for timeline function token type

          +
          TimelineFunctionTokenType: 16

          timeline function token type

          +
          TimeTokenType: 25

          time token type

          +
          TimingFunction: 17

          alias for timing function token type

          +
          TimingFunctionTokenType: 17

          timing function token type

          +
          UnaryExpressionTokenType: 57

          unary expression token type

          +
          UnclosedStringTokenType: 21

          unclosed string token type

          +
          UniversalSelectorTokenType: 75

          universal selector token type

          +
          UrlFunc: 18

          alias for url function token type

          +
          UrlFunctionTokenType: 18

          url function token type

          +
          UrlTokenTokenType: 47

          URL token type

          +
          Whitespace: 36

          alias for whitespace token type

          +
          WhitespaceTokenType: 36

          whitespace token type

          +
          diff --git a/docs/media/node.ErrorDescription.html b/docs/media/node.ErrorDescription.html new file mode 100644 index 00000000..05cc1423 --- /dev/null +++ b/docs/media/node.ErrorDescription.html @@ -0,0 +1,189 @@ +ErrorDescription | @tbela99/css-parser

          Interface ErrorDescription

          error description

          +
          interface ErrorDescription {
              action: "drop" | "ignore";
              error?: Error;
              location?: Location;
              message: string;
              node?:
                  | null
                  | ColorToken
                  | InvalidClassSelectorToken
                  | InvalidAttrToken
                  | LiteralToken
                  | IdentToken
                  | IdentListToken
                  | DashedIdentToken
                  | CommaToken
                  | ColonToken
                  | SemiColonToken
                  | ClassSelectorToken
                  | UniversalSelectorToken
                  | ChildCombinatorToken
                  | DescendantCombinatorToken
                  | NextSiblingCombinatorToken
                  | SubsequentCombinatorToken
                  | ColumnCombinatorToken
                  | NestingSelectorToken
                  | MediaQueryConditionToken
                  | MediaFeatureToken
                  | MediaFeatureNotToken
                  | MediaFeatureOnlyToken
                  | MediaFeatureAndToken
                  | MediaFeatureOrToken
                  | AstDeclaration
                  | NumberToken
                  | AtRuleToken
                  | PercentageToken
                  | FlexToken
                  | FunctionURLToken
                  | FunctionImageToken
                  | TimingFunctionToken
                  | TimelineFunctionToken
                  | FunctionToken
                  | GridTemplateFuncToken
                  | DimensionToken
                  | LengthToken
                  | AngleToken
                  | StringToken
                  | TimeToken
                  | FrequencyToken
                  | ResolutionToken
                  | UnclosedStringToken
                  | HashToken
                  | BadStringToken
                  | BlockStartToken
                  | BlockEndToken
                  | AttrStartToken
                  | AttrEndToken
                  | ParensStartToken
                  | ParensEndToken
                  | ParensToken
                  | CDOCommentToken
                  | BadCDOCommentToken
                  | CommentToken
                  | BadCommentToken
                  | WhitespaceToken
                  | IncludeMatchToken
                  | StartMatchToken
                  | EndMatchToken
                  | ContainMatchToken
                  | MatchExpressionToken
                  | NameSpaceAttributeToken
                  | DashMatchToken
                  | EqualMatchToken
                  | LessThanToken
                  | LessThanOrEqualToken
                  | GreaterThanToken
                  | GreaterThanOrEqualToken
                  | ListToken
                  | PseudoClassToken
                  | PseudoPageToken
                  | PseudoElementToken
                  | PseudoClassFunctionToken
                  | DelimToken
                  | BinaryExpressionToken
                  | UnaryExpression
                  | FractionToken
                  | AddToken
                  | SubToken
                  | DivToken
                  | MulToken
                  | BadUrlToken
                  | UrlToken
                  | ImportantToken
                  | AttrToken
                  | EOFToken
                  | AstAtRule
                  | AstKeyframesAtRule
                  | AstKeyFrameRule
                  | AstInvalidRule
                  | AstInvalidAtRule
                  | AstStyleSheet
                  | AstRule
                  | AstComment
                  | AstInvalidDeclaration;
              rawTokens?: TokenizeResult[];
              syntax?: null
              | string;
          }
          Index

          Properties

          action: "drop" | "ignore"

          drop rule or declaration

          +
          error?: Error

          error object

          +
          location?: Location

          error location

          +
          message: string

          error message

          +
          node?:
              | null
              | ColorToken
              | InvalidClassSelectorToken
              | InvalidAttrToken
              | LiteralToken
              | IdentToken
              | IdentListToken
              | DashedIdentToken
              | CommaToken
              | ColonToken
              | SemiColonToken
              | ClassSelectorToken
              | UniversalSelectorToken
              | ChildCombinatorToken
              | DescendantCombinatorToken
              | NextSiblingCombinatorToken
              | SubsequentCombinatorToken
              | ColumnCombinatorToken
              | NestingSelectorToken
              | MediaQueryConditionToken
              | MediaFeatureToken
              | MediaFeatureNotToken
              | MediaFeatureOnlyToken
              | MediaFeatureAndToken
              | MediaFeatureOrToken
              | AstDeclaration
              | NumberToken
              | AtRuleToken
              | PercentageToken
              | FlexToken
              | FunctionURLToken
              | FunctionImageToken
              | TimingFunctionToken
              | TimelineFunctionToken
              | FunctionToken
              | GridTemplateFuncToken
              | DimensionToken
              | LengthToken
              | AngleToken
              | StringToken
              | TimeToken
              | FrequencyToken
              | ResolutionToken
              | UnclosedStringToken
              | HashToken
              | BadStringToken
              | BlockStartToken
              | BlockEndToken
              | AttrStartToken
              | AttrEndToken
              | ParensStartToken
              | ParensEndToken
              | ParensToken
              | CDOCommentToken
              | BadCDOCommentToken
              | CommentToken
              | BadCommentToken
              | WhitespaceToken
              | IncludeMatchToken
              | StartMatchToken
              | EndMatchToken
              | ContainMatchToken
              | MatchExpressionToken
              | NameSpaceAttributeToken
              | DashMatchToken
              | EqualMatchToken
              | LessThanToken
              | LessThanOrEqualToken
              | GreaterThanToken
              | GreaterThanOrEqualToken
              | ListToken
              | PseudoClassToken
              | PseudoPageToken
              | PseudoElementToken
              | PseudoClassFunctionToken
              | DelimToken
              | BinaryExpressionToken
              | UnaryExpression
              | FractionToken
              | AddToken
              | SubToken
              | DivToken
              | MulToken
              | BadUrlToken
              | UrlToken
              | ImportantToken
              | AttrToken
              | EOFToken
              | AstAtRule
              | AstKeyframesAtRule
              | AstKeyFrameRule
              | AstInvalidRule
              | AstInvalidAtRule
              | AstStyleSheet
              | AstRule
              | AstComment
              | AstInvalidDeclaration

          error node

          +
          rawTokens?: TokenizeResult[]

          raw tokens

          +
          syntax?: null | string

          syntax error description

          +
          diff --git a/docs/media/node.ParseResult.html b/docs/media/node.ParseResult.html new file mode 100644 index 00000000..d373b487 --- /dev/null +++ b/docs/media/node.ParseResult.html @@ -0,0 +1,181 @@ +ParseResult | @tbela99/css-parser

          Interface ParseResult

          parse result object

          +
          interface ParseResult {
              ast: AstStyleSheet;
              errors: ErrorDescription[];
              stats: ParseResultStats;
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          parsed ast tree

          +

          parse errors

          +

          parse stats

          +
          diff --git a/docs/media/node.ParserOptions.html b/docs/media/node.ParserOptions.html new file mode 100644 index 00000000..0805abaf --- /dev/null +++ b/docs/media/node.ParserOptions.html @@ -0,0 +1,234 @@ +ParserOptions | @tbela99/css-parser

          Interface ParserOptions

          parser options

          +
          interface ParserOptions {
              computeCalcExpression?: boolean;
              computeShorthand?: boolean;
              computeTransform?: boolean;
              cwd?: string;
              expandNestingRules?: boolean;
              inlineCssVariables?: boolean;
              lenient?: boolean;
              load?: (url: string, currentUrl: string, asStream?: boolean) => LoadResult;
              minify?: boolean;
              nestingRules?: boolean;
              parseColor?: boolean;
              pass?: number;
              removeCharset?: boolean;
              removeDuplicateDeclarations?: string | boolean | string[];
              removeEmpty?: boolean;
              removePrefix?: boolean;
              resolve?: (
                  url: string,
                  currentUrl: string,
                  currentWorkingDirectory?: string,
              ) => { absolute: string; relative: string };
              resolveImport?: boolean;
              resolveUrls?: boolean;
              signal?: AbortSignal;
              sourcemap?: boolean | "inline";
              src?: string;
              validation?: boolean | ValidationLevel;
              visitor?: VisitorNodeMap | VisitorNodeMap[];
          }

          Hierarchy (View Summary)

          Index

          Properties

          computeCalcExpression?: boolean

          compute math functions +see supported functions mathFuncs

          +
          computeShorthand?: boolean

          compute shorthand properties

          +
          computeTransform?: boolean

          compute transform functions +see supported functions transformFunctions

          +
          cwd?: string

          current working directory

          +
          expandNestingRules?: boolean

          expand nested rules

          +
          inlineCssVariables?: boolean

          inline css variables

          +
          lenient?: boolean

          lenient validation. retain nodes that failed validation

          +
          load?: (url: string, currentUrl: string, asStream?: boolean) => LoadResult

          url and file loader

          +
          minify?: boolean

          enable minification

          +
          nestingRules?: boolean

          generate nested rules

          +
          parseColor?: boolean

          parse color tokens

          +
          pass?: number

          define minification passes.

          +
          removeCharset?: boolean

          remove at-rule charset

          +
          removeDuplicateDeclarations?: string | boolean | string[]

          remove duplicate declarations from the same rule. if passed as a string array, duplicated declarations are removed, except for those in the array

          +

          import {transform} from '@tbela99/css-parser';

          const css = `

          .table {

          width: 100%;
          width: calc(100% + 40px);
          margin-left: 20px;
          margin-left: min(100% , 20px)
          }

          `;
          const result = await transform(css, {

          beautify: true,
          validation: true,
          removeDuplicateDeclarations: ['width']
          }
          );

          console.log(result.code);
          +
          + +
          removeEmpty?: boolean

          remove empty ast nodes

          +
          removePrefix?: boolean

          remove css prefix

          +
          resolve?: (
              url: string,
              currentUrl: string,
              currentWorkingDirectory?: string,
          ) => { absolute: string; relative: string }

          url and path resolver

          +
          resolveImport?: boolean

          resolve import

          +
          resolveUrls?: boolean

          resolve urls

          +
          signal?: AbortSignal

          abort signal

          +

          Example: abort after 10 seconds

          +

          const result = await parse(cssString, {
          signal: AbortSignal.timeout(10000)
          });
          +
          + +
          sourcemap?: boolean | "inline"

          include sourcemap in the ast. sourcemap info is always generated

          +
          src?: string

          source file to be used for sourcemap

          +
          validation?: boolean | ValidationLevel

          enable css validation

          +

          see ValidationLevel

          +

          node visitor +VisitorNodeMap[]

          +
          diff --git a/docs/media/node.Token.html b/docs/media/node.Token.html new file mode 100644 index 00000000..18aaa639 --- /dev/null +++ b/docs/media/node.Token.html @@ -0,0 +1,175 @@ +Token | @tbela99/css-parser

          Type Alias Token

          Token:
              | InvalidClassSelectorToken
              | InvalidAttrToken
              | LiteralToken
              | IdentToken
              | IdentListToken
              | DashedIdentToken
              | CommaToken
              | ColonToken
              | SemiColonToken
              | ClassSelectorToken
              | UniversalSelectorToken
              | ChildCombinatorToken
              | DescendantCombinatorToken
              | NextSiblingCombinatorToken
              | SubsequentCombinatorToken
              | ColumnCombinatorToken
              | NestingSelectorToken
              | MediaQueryConditionToken
              | MediaFeatureToken
              | MediaFeatureNotToken
              | MediaFeatureOnlyToken
              | MediaFeatureAndToken
              | MediaFeatureOrToken
              | AstDeclaration
              | NumberToken
              | AtRuleToken
              | PercentageToken
              | FlexToken
              | FunctionURLToken
              | FunctionImageToken
              | TimingFunctionToken
              | TimelineFunctionToken
              | FunctionToken
              | GridTemplateFuncToken
              | DimensionToken
              | LengthToken
              | AngleToken
              | StringToken
              | TimeToken
              | FrequencyToken
              | ResolutionToken
              | UnclosedStringToken
              | HashToken
              | BadStringToken
              | BlockStartToken
              | BlockEndToken
              | AttrStartToken
              | AttrEndToken
              | ParensStartToken
              | ParensEndToken
              | ParensToken
              | CDOCommentToken
              | BadCDOCommentToken
              | CommentToken
              | BadCommentToken
              | WhitespaceToken
              | IncludeMatchToken
              | StartMatchToken
              | EndMatchToken
              | ContainMatchToken
              | MatchExpressionToken
              | NameSpaceAttributeToken
              | DashMatchToken
              | EqualMatchToken
              | LessThanToken
              | LessThanOrEqualToken
              | GreaterThanToken
              | GreaterThanOrEqualToken
              | ListToken
              | PseudoClassToken
              | PseudoPageToken
              | PseudoElementToken
              | PseudoClassFunctionToken
              | DelimToken
              | BinaryExpressionToken
              | UnaryExpression
              | FractionToken
              | AddToken
              | SubToken
              | DivToken
              | MulToken
              | BadUrlToken
              | UrlToken
              | ImportantToken
              | ColorToken
              | AttrToken
              | EOFToken

          Token

          +
          diff --git a/docs/media/node.TransformResult.html b/docs/media/node.TransformResult.html new file mode 100644 index 00000000..35bbe3da --- /dev/null +++ b/docs/media/node.TransformResult.html @@ -0,0 +1,194 @@ +TransformResult | @tbela99/css-parser

          Interface TransformResult

          transform result object

          +
          interface TransformResult {
              ast: AstStyleSheet;
              code: string;
              errors: ErrorDescription[];
              map?: SourceMap;
              stats: {
                  bytesIn: number;
                  bytesOut: number;
                  importedBytesIn: number;
                  imports: ParseResultStats[];
                  minify: string;
                  parse: string;
                  render: string;
                  src: string;
                  total: string;
              };
          }

          Hierarchy (View Summary)

          Index

          Properties

          Properties

          parsed ast tree

          +
          code: string

          rendered css

          +

          parse errors

          +
          map?: SourceMap

          source map

          +
          stats: {
              bytesIn: number;
              bytesOut: number;
              importedBytesIn: number;
              imports: ParseResultStats[];
              minify: string;
              parse: string;
              render: string;
              src: string;
              total: string;
          }

          transform stats

          +

          Type Declaration

          • bytesIn: number

            bytes read

            +
          • bytesOut: number

            generated css size

            +
          • importedBytesIn: number

            bytes read from imported files

            +
          • imports: ParseResultStats[]

            imported files stats

            +
          • minify: string

            minify time

            +
          • parse: string

            parse time

            +
          • render: string

            render time

            +
          • src: string

            source file

            +
          • total: string

            total time

            +
          diff --git a/docs/media/node.ValidationLevel-1.html b/docs/media/node.ValidationLevel-1.html new file mode 100644 index 00000000..e20925c7 --- /dev/null +++ b/docs/media/node.ValidationLevel-1.html @@ -0,0 +1,187 @@ +ValidationLevel | @tbela99/css-parser

          Enumeration ValidationLevel

          enum of validation levels

          +
          Index

          Enumeration Members

          Enumeration Members

          All: 7

          validate selectors, at-rules and declarations

          +
          AtRule: 2

          validate at-rules

          +
          Declaration: 4

          validate declarations

          +
          Default: 3

          validate selectors and at-rules

          +
          None: 0

          disable validation

          +
          Selector: 1

          validate selectors

          +
          diff --git a/docs/media/node.ValidationLevel.html b/docs/media/node.ValidationLevel.html new file mode 100644 index 00000000..e20925c7 --- /dev/null +++ b/docs/media/node.ValidationLevel.html @@ -0,0 +1,187 @@ +ValidationLevel | @tbela99/css-parser

          Enumeration ValidationLevel

          enum of validation levels

          +
          Index

          Enumeration Members

          Enumeration Members

          All: 7

          validate selectors, at-rules and declarations

          +
          AtRule: 2

          validate at-rules

          +
          Declaration: 4

          validate declarations

          +
          Default: 3

          validate selectors and at-rules

          +
          None: 0

          disable validation

          +
          Selector: 1

          validate selectors

          +
          diff --git a/docs/media/node.VisitorNodeMap.html b/docs/media/node.VisitorNodeMap.html new file mode 100644 index 00000000..5708e7c3 --- /dev/null +++ b/docs/media/node.VisitorNodeMap.html @@ -0,0 +1,201 @@ +VisitorNodeMap | @tbela99/css-parser

          Interface VisitorNodeMap

          node visitor callback map

          +
          Index

          Properties

          at rule visitor

          +

          Example: change media at-rule prelude

          +

          import {transform, AstAtRule, ParserOptions} from "@tbela99/css-parser";

          const options: ParserOptions = {

          visitor: {

          AtRule: {

          media: (node: AstAtRule): AstAtRule => {

          node.val = 'tv,screen';
          return node
          }
          }
          }
          };

          const css = `

          @media screen {

          .foo {

          height: calc(100px * 2/ 15);
          }
          }
          `;

          const result = await transform(css, options);

          console.debug(result.code);

          // @media tv,screen{.foo{height:calc(40px/3)}} +
          + +

          declaration visitor

          +

          Example: add 'width: 3px' everytime a declaration with the name 'height' is found

          +

          import {transform, parseDeclarations} from "@tbela99/css-parser";

          const options: ParserOptions = {

          removeEmpty: false,
          visitor: {

          Declaration: {

          // called only for height declaration
          height: (node: AstDeclaration): AstDeclaration[] => {


          return [
          node,
          {

          typ: EnumToken.DeclarationNodeType,
          nam: 'width',
          val: [
          <LengthToken>{
          typ: EnumToken.LengthTokenType,
          val: 3,
          unit: 'px'
          }
          ]
          }
          ];
          }
          }
          }
          };

          const css = `

          .foo {
          height: calc(100px * 2/ 15);
          }
          .selector {
          color: lch(from peru calc(l * 0.8) calc(c * 0.7) calc(h + 180))
          }
          `;

          console.debug(await transform(css, options));

          // .foo{height:calc(40px/3);width:3px}.selector{color:#0880b0} +
          + +

          Example: rename 'margin' to 'padding' and 'height' to 'width'

          +
          import {AstDeclaration, ParserOptions, transform} from "../src/node.ts";

          const options: ParserOptions = {

          visitor: {

          // called for every declaration
          Declaration: (node: AstDeclaration): null => {


          if (node.nam == 'height') {

          node.nam = 'width';
          }

          else if (node.nam == 'margin') {

          node.nam = 'padding'
          }

          return null;
          }
          }
          };

          const css = `

          .foo {
          height: calc(100px * 2/ 15);
          margin: 10px;
          }
          .selector {

          margin: 20px;}
          `;

          const result = await transform(css, options);

          console.debug(result.code);

          // .foo{width:calc(40px/3);padding:10px}.selector{padding:20px} +
          + +

          rule visitor

          +

          Example: add 'width: 3px' to every rule with the selector '.foo'

          +

          import {transform, parseDeclarations} from "@tbela99/css-parser";

          const options: ParserOptions = {

          removeEmpty: false,
          visitor: {

          Rule: async (node: AstRule): Promise<AstRule | null> => {

          if (node.sel == '.foo') {

          node.chi.push(...await parseDeclarations('width: 3px'));
          return node;
          }

          return null;
          }
          }
          };

          const css = `

          .foo {
          .foo {
          }
          }
          `;

          console.debug(await transform(css, options));

          // .foo{width:3px;.foo{width:3px}} +
          + +

          value visitor

          +
          diff --git a/docs/types/node.VisitorEventType.html b/docs/media/node.WalkerOption.html similarity index 68% rename from docs/types/node.VisitorEventType.html rename to docs/media/node.WalkerOption.html index c5b7d2d4..b7314536 100644 --- a/docs/types/node.VisitorEventType.html +++ b/docs/media/node.WalkerOption.html @@ -1,4 +1,4 @@ -VisitorEventType | @tbela99/css-parser

          Type Alias VisitorEventType

          VisitorEventType: "Enter" | "Leave"

          Type Alias WalkerOption

          WalkerOption: WalkerOptionEnum | AstNode | Token | null

          node walker option

          +

          Module node

          Functions

          parse
          parseDeclarations
          parseFile
          render
          transform
          transformFile
          walk
          walkValues

          Classes

          SourceMap

          Enumerations

          ColorType
          EnumToken
          FeatureWalkMode
          ValidationLevel
          WalkerEvent
          WalkerOptionEnum

          Interfaces

          AddToken
          AngleToken
          AstAtRule
          AstComment
          AstDeclaration
          AstInvalidAtRule
          AstInvalidDeclaration
          AstInvalidRule
          AstKeyFrameRule
          AstKeyframesAtRule
          AstKeyframesRule
          AstRule
          AstStyleSheet
          AtRuleToken
          AttrEndToken
          AttrStartToken
          AttrToken
          BadCDOCommentToken
          BadCommentToken
          BadStringToken
          BadUrlToken
          BaseToken
          BinaryExpressionToken
          BlockEndToken
          BlockStartToken
          CDOCommentToken
          ChildCombinatorToken
          ClassSelectorToken
          ColonToken
          ColorToken
          ColumnCombinatorToken
          CommaToken
          CommentToken
          ContainMatchToken
          Context
          DashedIdentToken
          DashMatchToken
          DelimToken
          DescendantCombinatorToken
          DimensionToken
          DivToken
          EndMatchToken
          EOFToken
          EqualMatchToken
          ErrorDescription
          FlexToken
          FractionToken
          FrequencyToken
          FunctionImageToken
          FunctionToken
          FunctionURLToken
          GreaterThanOrEqualToken
          GreaterThanToken
          GridTemplateFuncToken
          HashToken
          IdentListToken
          IdentToken
          ImportantToken
          IncludeMatchToken
          InvalidAttrToken
          InvalidClassSelectorToken
          LengthToken
          LessThanOrEqualToken
          LessThanToken
          ListToken
          LiteralToken
          Location
          MatchedSelector
          MatchExpressionToken
          MediaFeatureAndToken
          MediaFeatureNotToken
          MediaFeatureOnlyToken
          MediaFeatureOrToken
          MediaFeatureToken
          MediaQueryConditionToken
          MinifyFeature
          MinifyFeatureOptions
          MinifyOptions
          MulToken
          NameSpaceAttributeToken
          NestingSelectorToken
          NextSiblingCombinatorToken
          NumberToken
          ParensEndToken
          ParensStartToken
          ParensToken
          ParseInfo
          ParseResult
          ParseResultStats
          ParserOptions
          ParseTokenOptions
          PercentageToken
          Position
          PropertyListOptions
          PropertyMapType
          PropertySetType
          PropertyType
          PseudoClassFunctionToken
          PseudoClassToken
          PseudoElementToken
          PseudoPageToken
          RenderOptions
          RenderResult
          ResolutionToken
          ResolvedPath
          SemiColonToken
          ShorthandDef
          ShorthandMapType
          ShorthandProperties
          ShorthandPropertyType
          ShorthandType
          SourceMapObject
          StartMatchToken
          StringToken
          SubsequentCombinatorToken
          SubToken
          TimelineFunctionToken
          TimeToken
          TimingFunctionToken
          TokenizeResult
          TransformOptions
          TransformResult
          UnaryExpression
          UnclosedStringToken
          UniversalSelectorToken
          UrlToken
          ValidationConfiguration
          ValidationOptions
          ValidationResult
          ValidationSelectorOptions
          ValidationSyntaxNode
          ValidationSyntaxResult
          VariableScopeInfo
          VisitorNodeMap
          WalkAttributesResult
          WalkResult
          WhitespaceToken

          Type Aliases

          AstNode
          AstRuleList
          AtRuleVisitorHandler
          BinaryExpressionNode
          DeclarationVisitorHandler
          GenericVisitorAstNodeHandlerMap
          GenericVisitorHandler
          GenericVisitorResult
          LoadResult
          RawSelectorTokens
          RuleVisitorHandler
          Token
          UnaryExpressionNode
          ValueVisitorHandler
          WalkerFilter
          WalkerOption
          WalkerValueFilter

          Variables

          mathFuncs
          transformFunctions
          diff --git a/docs/media/node.walk-1.html b/docs/media/node.walk-1.html new file mode 100644 index 00000000..045cddd1 --- /dev/null +++ b/docs/media/node.walk-1.html @@ -0,0 +1,185 @@ +walk | @tbela99/css-parser

          Function walk

          • walk ast nodes

            +

            Parameters

            • node: AstNode

              initial node

              +
            • Optionalfilter: null | WalkerFilter

              control the walk process

              +
            • Optionalreverse: boolean

              walk in reverse order

              +

              import {walk} from '@tbela99/css-parser';

              const css = `
              body { color: color(from var(--base-color) display-p3 r calc(g + 0.24) calc(b + 0.15)); }

              html,
              body {
              line-height: 1.474;
              }

              .ruler {

              height: 10px;
              }
              `;

              for (const {node, parent, root} of walk(ast)) {

              // do something with node
              } +
              + +

              Using a filter function to control the ast traversal. the filter function returns a value of type WalkerOption.

              +
              import {EnumToken, transform, walk, WalkerOptionEnum} from '@tbela99/css-parser';

              const css = `
              body { color: color(from var(--base-color) display-p3 r calc(g + 0.24) calc(b + 0.15)); }

              html,
              body {
              line-height: 1.474;
              }

              .ruler {

              height: 10px;
              }
              `;

              function filter(node) {

              if (node.typ == EnumToken.AstRule && node.sel.includes('html')) {

              // skip the children of the current node
              return WalkerOptionEnum.IgnoreChildren;
              }
              }

              const result = await transform(css);
              for (const {node} of walk(result.ast, filter)) {

              console.error([EnumToken[node.typ]]);
              }

              // [ "StyleSheetNodeType" ]
              // [ "RuleNodeType" ]
              // [ "DeclarationNodeType" ]
              // [ "RuleNodeType" ]
              // [ "DeclarationNodeType" ]
              // [ "RuleNodeType" ]
              // [ "DeclarationNodeType" ] +
              + +

            Returns Generator<WalkResult>

          diff --git a/docs/media/node.walk.html b/docs/media/node.walk.html new file mode 100644 index 00000000..045cddd1 --- /dev/null +++ b/docs/media/node.walk.html @@ -0,0 +1,185 @@ +walk | @tbela99/css-parser

          Function walk

          • walk ast nodes

            +

            Parameters

            • node: AstNode

              initial node

              +
            • Optionalfilter: null | WalkerFilter

              control the walk process

              +
            • Optionalreverse: boolean

              walk in reverse order

              +

              import {walk} from '@tbela99/css-parser';

              const css = `
              body { color: color(from var(--base-color) display-p3 r calc(g + 0.24) calc(b + 0.15)); }

              html,
              body {
              line-height: 1.474;
              }

              .ruler {

              height: 10px;
              }
              `;

              for (const {node, parent, root} of walk(ast)) {

              // do something with node
              } +
              + +

              Using a filter function to control the ast traversal. the filter function returns a value of type WalkerOption.

              +
              import {EnumToken, transform, walk, WalkerOptionEnum} from '@tbela99/css-parser';

              const css = `
              body { color: color(from var(--base-color) display-p3 r calc(g + 0.24) calc(b + 0.15)); }

              html,
              body {
              line-height: 1.474;
              }

              .ruler {

              height: 10px;
              }
              `;

              function filter(node) {

              if (node.typ == EnumToken.AstRule && node.sel.includes('html')) {

              // skip the children of the current node
              return WalkerOptionEnum.IgnoreChildren;
              }
              }

              const result = await transform(css);
              for (const {node} of walk(result.ast, filter)) {

              console.error([EnumToken[node.typ]]);
              }

              // [ "StyleSheetNodeType" ]
              // [ "RuleNodeType" ]
              // [ "DeclarationNodeType" ]
              // [ "RuleNodeType" ]
              // [ "DeclarationNodeType" ]
              // [ "RuleNodeType" ]
              // [ "DeclarationNodeType" ] +
              + +

            Returns Generator<WalkResult>

          diff --git a/docs/media/node.walkValues.html b/docs/media/node.walkValues.html new file mode 100644 index 00000000..5a183b85 --- /dev/null +++ b/docs/media/node.walkValues.html @@ -0,0 +1,179 @@ +walkValues | @tbela99/css-parser

          Function walkValues

          diff --git a/docs/media/web.html b/docs/media/web.html new file mode 100644 index 00000000..66d9c140 --- /dev/null +++ b/docs/media/web.html @@ -0,0 +1,174 @@ +web | @tbela99/css-parser

          Module web

          Functions

          parse
          parseFile
          render
          transform
          transformFile

          References

          AddToken → AddToken
          AngleToken → AngleToken
          AstAtRule → AstAtRule
          AstComment → AstComment
          AstDeclaration → AstDeclaration
          AstInvalidAtRule → AstInvalidAtRule
          AstInvalidDeclaration → AstInvalidDeclaration
          AstInvalidRule → AstInvalidRule
          AstKeyFrameRule → AstKeyFrameRule
          AstKeyframesAtRule → AstKeyframesAtRule
          AstKeyframesRule → AstKeyframesRule
          AstNode → AstNode
          AstRule → AstRule
          AstRuleList → AstRuleList
          AstStyleSheet → AstStyleSheet
          AtRuleToken → AtRuleToken
          AtRuleVisitorHandler → AtRuleVisitorHandler
          AttrEndToken → AttrEndToken
          AttrStartToken → AttrStartToken
          AttrToken → AttrToken
          BadCDOCommentToken → BadCDOCommentToken
          BadCommentToken → BadCommentToken
          BadStringToken → BadStringToken
          BadUrlToken → BadUrlToken
          BaseToken → BaseToken
          BinaryExpressionNode → BinaryExpressionNode
          BinaryExpressionToken → BinaryExpressionToken
          BlockEndToken → BlockEndToken
          BlockStartToken → BlockStartToken
          CDOCommentToken → CDOCommentToken
          ChildCombinatorToken → ChildCombinatorToken
          ClassSelectorToken → ClassSelectorToken
          ColonToken → ColonToken
          ColorToken → ColorToken
          ColorType → ColorType
          ColumnCombinatorToken → ColumnCombinatorToken
          CommaToken → CommaToken
          CommentToken → CommentToken
          ContainMatchToken → ContainMatchToken
          Context → Context
          DashedIdentToken → DashedIdentToken
          DashMatchToken → DashMatchToken
          DeclarationVisitorHandler → DeclarationVisitorHandler
          DelimToken → DelimToken
          DescendantCombinatorToken → DescendantCombinatorToken
          DimensionToken → DimensionToken
          DivToken → DivToken
          EndMatchToken → EndMatchToken
          EnumToken → EnumToken
          EOFToken → EOFToken
          EqualMatchToken → EqualMatchToken
          ErrorDescription → ErrorDescription
          FeatureWalkMode → FeatureWalkMode
          FlexToken → FlexToken
          FractionToken → FractionToken
          FrequencyToken → FrequencyToken
          FunctionImageToken → FunctionImageToken
          FunctionToken → FunctionToken
          FunctionURLToken → FunctionURLToken
          GenericVisitorAstNodeHandlerMap → GenericVisitorAstNodeHandlerMap
          GenericVisitorHandler → GenericVisitorHandler
          GenericVisitorResult → GenericVisitorResult
          GreaterThanOrEqualToken → GreaterThanOrEqualToken
          GreaterThanToken → GreaterThanToken
          GridTemplateFuncToken → GridTemplateFuncToken
          HashToken → HashToken
          IdentListToken → IdentListToken
          IdentToken → IdentToken
          ImportantToken → ImportantToken
          IncludeMatchToken → IncludeMatchToken
          InvalidAttrToken → InvalidAttrToken
          InvalidClassSelectorToken → InvalidClassSelectorToken
          LengthToken → LengthToken
          LessThanOrEqualToken → LessThanOrEqualToken
          LessThanToken → LessThanToken
          ListToken → ListToken
          LiteralToken → LiteralToken
          LoadResult → LoadResult
          Location → Location
          MatchedSelector → MatchedSelector
          MatchExpressionToken → MatchExpressionToken
          mathFuncs → mathFuncs
          MediaFeatureAndToken → MediaFeatureAndToken
          MediaFeatureNotToken → MediaFeatureNotToken
          MediaFeatureOnlyToken → MediaFeatureOnlyToken
          MediaFeatureOrToken → MediaFeatureOrToken
          MediaFeatureToken → MediaFeatureToken
          MediaQueryConditionToken → MediaQueryConditionToken
          MinifyFeature → MinifyFeature
          MinifyFeatureOptions → MinifyFeatureOptions
          MinifyOptions → MinifyOptions
          MulToken → MulToken
          NameSpaceAttributeToken → NameSpaceAttributeToken
          NestingSelectorToken → NestingSelectorToken
          NextSiblingCombinatorToken → NextSiblingCombinatorToken
          NumberToken → NumberToken
          ParensEndToken → ParensEndToken
          ParensStartToken → ParensStartToken
          ParensToken → ParensToken
          parseDeclarations → parseDeclarations
          ParseInfo → ParseInfo
          ParseResult → ParseResult
          ParseResultStats → ParseResultStats
          ParserOptions → ParserOptions
          ParseTokenOptions → ParseTokenOptions
          PercentageToken → PercentageToken
          Position → Position
          PropertyListOptions → PropertyListOptions
          PropertyMapType → PropertyMapType
          PropertySetType → PropertySetType
          PropertyType → PropertyType
          PseudoClassFunctionToken → PseudoClassFunctionToken
          PseudoClassToken → PseudoClassToken
          PseudoElementToken → PseudoElementToken
          PseudoPageToken → PseudoPageToken
          RawSelectorTokens → RawSelectorTokens
          RenderOptions → RenderOptions
          RenderResult → RenderResult
          ResolutionToken → ResolutionToken
          ResolvedPath → ResolvedPath
          RuleVisitorHandler → RuleVisitorHandler
          SemiColonToken → SemiColonToken
          ShorthandDef → ShorthandDef
          ShorthandMapType → ShorthandMapType
          ShorthandProperties → ShorthandProperties
          ShorthandPropertyType → ShorthandPropertyType
          ShorthandType → ShorthandType
          SourceMap → SourceMap
          SourceMapObject → SourceMapObject
          StartMatchToken → StartMatchToken
          StringToken → StringToken
          SubsequentCombinatorToken → SubsequentCombinatorToken
          SubToken → SubToken
          TimelineFunctionToken → TimelineFunctionToken
          TimeToken → TimeToken
          TimingFunctionToken → TimingFunctionToken
          Token → Token
          TokenizeResult → TokenizeResult
          transformFunctions → transformFunctions
          TransformOptions → TransformOptions
          TransformResult → TransformResult
          UnaryExpression → UnaryExpression
          UnaryExpressionNode → UnaryExpressionNode
          UnclosedStringToken → UnclosedStringToken
          UniversalSelectorToken → UniversalSelectorToken
          UrlToken → UrlToken
          ValidationConfiguration → ValidationConfiguration
          ValidationLevel → ValidationLevel
          ValidationOptions → ValidationOptions
          ValidationResult → ValidationResult
          ValidationSelectorOptions → ValidationSelectorOptions
          ValidationSyntaxNode → ValidationSyntaxNode
          ValidationSyntaxResult → ValidationSyntaxResult
          ValueVisitorHandler → ValueVisitorHandler
          VariableScopeInfo → VariableScopeInfo
          VisitorNodeMap → VisitorNodeMap
          walk → walk
          WalkAttributesResult → WalkAttributesResult
          WalkerEvent → WalkerEvent
          WalkerFilter → WalkerFilter
          WalkerOption → WalkerOption
          WalkerOptionEnum → WalkerOptionEnum
          WalkerValueFilter → WalkerValueFilter
          WalkResult → WalkResult
          walkValues → walkValues
          WhitespaceToken → WhitespaceToken
          diff --git a/docs/modules/node.html b/docs/modules/node.html index efc43018..fa2fb383 100644 --- a/docs/modules/node.html +++ b/docs/modules/node.html @@ -156,7 +156,7 @@ --md-sys-color-surface-container-high: #efe7de; --md-sys-color-surface-container-highest: #e9e1d9 } -

          Module node

          Functions

          parse
          parseDeclarations
          parseFile
          render
          transform
          transformFile
          walk
          walkValues

          Classes

          SourceMap

          Enumerations

          ColorType
          EnumToken
          FeatureWalkMode
          ValidationLevel
          WalkerOptionEnum
          WalkerValueEvent

          Interfaces

          AddToken
          AngleToken
          AstAtRule
          AstComment
          AstDeclaration
          AstInvalidAtRule
          AstInvalidDeclaration
          AstInvalidRule
          AstKeyFrameRule
          AstKeyframesAtRule
          AstKeyframesRule
          AstRule
          AstRuleList
          AstStyleSheet
          AtRuleToken
          AttrEndToken
          AttrStartToken
          AttrToken
          BadCDOCommentToken
          BadCommentToken
          BadStringToken
          BadUrlToken
          BaseToken
          BinaryExpressionToken
          BlockEndToken
          BlockStartToken
          CDOCommentToken
          ChildCombinatorToken
          ClassSelectorToken
          ColonToken
          ColorToken
          ColumnCombinatorToken
          CommaToken
          CommentToken
          ContainMatchToken
          Context
          DashedIdentToken
          DashMatchToken
          DelimToken
          DescendantCombinatorToken
          DimensionToken
          DivToken
          EndMatchToken
          EOFToken
          EqualMatchToken
          ErrorDescription
          FlexToken
          FractionToken
          FrequencyToken
          FunctionImageToken
          FunctionToken
          FunctionURLToken
          GreaterThanOrEqualToken
          GreaterThanToken
          GridTemplateFuncToken
          HashToken
          IdentListToken
          IdentToken
          ImportantToken
          IncludeMatchToken
          InvalidAttrToken
          InvalidClassSelectorToken
          LengthToken
          LessThanOrEqualToken
          LessThanToken
          ListToken
          LiteralToken
          Location
          MatchedSelector
          MatchExpressionToken
          MediaFeatureAndToken
          MediaFeatureNotToken
          MediaFeatureOnlyToken
          MediaFeatureOrToken
          MediaFeatureToken
          MediaQueryConditionToken
          MinifyFeature
          MinifyFeatureOptions
          MinifyOptions
          MulToken
          NameSpaceAttributeToken
          NestingSelectorToken
          NextSiblingCombinatorToken
          NumberToken
          ParensEndToken
          ParensStartToken
          ParensToken
          ParseInfo
          ParseResult
          ParseResultStats
          ParserOptions
          ParseTokenOptions
          PercentageToken
          Position
          PropertyListOptions
          PropertyMapType
          PropertySetType
          PropertyType
          PseudoClassFunctionToken
          PseudoClassToken
          PseudoElementToken
          PseudoPageToken
          RenderOptions
          RenderResult
          ResolutionToken
          ResolvedPath
          SemiColonToken
          ShorthandDef
          ShorthandMapType
          ShorthandProperties
          ShorthandPropertyType
          ShorthandType
          SourceMapObject
          StartMatchToken
          StringToken
          SubsequentCombinatorToken
          SubToken
          TimelineFunctionToken
          TimeToken
          TimingFunctionToken
          TokenizeResult
          TransformOptions
          TransformResult
          UnaryExpression
          UnclosedStringToken
          UniversalSelectorToken
          UrlToken
          ValidationConfiguration
          ValidationOptions
          ValidationResult
          ValidationSelectorOptions
          ValidationSyntaxNode
          ValidationSyntaxResult
          VariableScopeInfo
          VisitorNodeMap
          WalkAttributesResult
          WalkResult
          WhitespaceToken

          Type Aliases

          AstNode
          AtRuleVisitorHandler
          BinaryExpressionNode
          DeclarationVisitorHandler
          GenericVisitorAstNodeHandlerMap
          GenericVisitorHandler
          GenericVisitorResult
          LoadResult
          RawSelectorTokens
          RuleVisitorHandler
          Token
          UnaryExpressionNode
          ValueVisitorHandler
          VisitorEventType
          WalkerFilter
          WalkerOption
          WalkerValueFilter

          Variables

          mathFuncs
          transformFunctions

          Module node

          Functions

          parse
          parseDeclarations
          parseFile
          render
          transform
          transformFile
          walk
          walkValues

          Classes

          SourceMap

          Enumerations

          ColorType
          EnumToken
          FeatureWalkMode
          ValidationLevel
          WalkerEvent
          WalkerOptionEnum

          Interfaces

          AddToken
          AngleToken
          AstAtRule
          AstComment
          AstDeclaration
          AstInvalidAtRule
          AstInvalidDeclaration
          AstInvalidRule
          AstKeyFrameRule
          AstKeyframesAtRule
          AstKeyframesRule
          AstRule
          AstStyleSheet
          AtRuleToken
          AttrEndToken
          AttrStartToken
          AttrToken
          BadCDOCommentToken
          BadCommentToken
          BadStringToken
          BadUrlToken
          BaseToken
          BinaryExpressionToken
          BlockEndToken
          BlockStartToken
          CDOCommentToken
          ChildCombinatorToken
          ClassSelectorToken
          ColonToken
          ColorToken
          ColumnCombinatorToken
          CommaToken
          CommentToken
          ContainMatchToken
          Context
          DashedIdentToken
          DashMatchToken
          DelimToken
          DescendantCombinatorToken
          DimensionToken
          DivToken
          EndMatchToken
          EOFToken
          EqualMatchToken
          ErrorDescription
          FlexToken
          FractionToken
          FrequencyToken
          FunctionImageToken
          FunctionToken
          FunctionURLToken
          GreaterThanOrEqualToken
          GreaterThanToken
          GridTemplateFuncToken
          HashToken
          IdentListToken
          IdentToken
          ImportantToken
          IncludeMatchToken
          InvalidAttrToken
          InvalidClassSelectorToken
          LengthToken
          LessThanOrEqualToken
          LessThanToken
          ListToken
          LiteralToken
          Location
          MatchedSelector
          MatchExpressionToken
          MediaFeatureAndToken
          MediaFeatureNotToken
          MediaFeatureOnlyToken
          MediaFeatureOrToken
          MediaFeatureToken
          MediaQueryConditionToken
          MinifyFeature
          MinifyFeatureOptions
          MinifyOptions
          MulToken
          NameSpaceAttributeToken
          NestingSelectorToken
          NextSiblingCombinatorToken
          NumberToken
          ParensEndToken
          ParensStartToken
          ParensToken
          ParseInfo
          ParseResult
          ParseResultStats
          ParserOptions
          ParseTokenOptions
          PercentageToken
          Position
          PropertyListOptions
          PropertyMapType
          PropertySetType
          PropertyType
          PseudoClassFunctionToken
          PseudoClassToken
          PseudoElementToken
          PseudoPageToken
          RenderOptions
          RenderResult
          ResolutionToken
          ResolvedPath
          SemiColonToken
          ShorthandDef
          ShorthandMapType
          ShorthandProperties
          ShorthandPropertyType
          ShorthandType
          SourceMapObject
          StartMatchToken
          StringToken
          SubsequentCombinatorToken
          SubToken
          TimelineFunctionToken
          TimeToken
          TimingFunctionToken
          TokenizeResult
          TransformOptions
          TransformResult
          UnaryExpression
          UnclosedStringToken
          UniversalSelectorToken
          UrlToken
          ValidationConfiguration
          ValidationOptions
          ValidationResult
          ValidationSelectorOptions
          ValidationSyntaxNode
          ValidationSyntaxResult
          VariableScopeInfo
          VisitorNodeMap
          WalkAttributesResult
          WalkResult
          WhitespaceToken

          Type Aliases

          AstNode
          AstRuleList
          AtRuleVisitorHandler
          BinaryExpressionNode
          DeclarationVisitorHandler
          GenericVisitorAstNodeHandlerMap
          GenericVisitorHandler
          GenericVisitorResult
          LoadResult
          RawSelectorTokens
          RuleVisitorHandler
          Token
          UnaryExpressionNode
          ValueVisitorHandler
          WalkerFilter
          WalkerOption
          WalkerValueFilter

          Variables

          mathFuncs
          transformFunctions

          Module web

          Functions

          parse
          parseFile
          render
          transform
          transformFile

          References

          AddToken → AddToken
          AngleToken → AngleToken
          AstAtRule → AstAtRule
          AstComment → AstComment
          AstDeclaration → AstDeclaration
          AstInvalidAtRule → AstInvalidAtRule
          AstInvalidDeclaration → AstInvalidDeclaration
          AstInvalidRule → AstInvalidRule
          AstKeyFrameRule → AstKeyFrameRule
          AstKeyframesAtRule → AstKeyframesAtRule
          AstKeyframesRule → AstKeyframesRule
          AstNode → AstNode
          AstRule → AstRule
          AstRuleList → AstRuleList
          AstStyleSheet → AstStyleSheet
          AtRuleToken → AtRuleToken
          AtRuleVisitorHandler → AtRuleVisitorHandler
          AttrEndToken → AttrEndToken
          AttrStartToken → AttrStartToken
          AttrToken → AttrToken
          BadCDOCommentToken → BadCDOCommentToken
          BadCommentToken → BadCommentToken
          BadStringToken → BadStringToken
          BadUrlToken → BadUrlToken
          BaseToken → BaseToken
          BinaryExpressionNode → BinaryExpressionNode
          BinaryExpressionToken → BinaryExpressionToken
          BlockEndToken → BlockEndToken
          BlockStartToken → BlockStartToken
          CDOCommentToken → CDOCommentToken
          ChildCombinatorToken → ChildCombinatorToken
          ClassSelectorToken → ClassSelectorToken
          ColonToken → ColonToken
          ColorToken → ColorToken
          ColorType → ColorType
          ColumnCombinatorToken → ColumnCombinatorToken
          CommaToken → CommaToken
          CommentToken → CommentToken
          ContainMatchToken → ContainMatchToken
          Context → Context
          DashedIdentToken → DashedIdentToken
          DashMatchToken → DashMatchToken
          DeclarationVisitorHandler → DeclarationVisitorHandler
          DelimToken → DelimToken
          DescendantCombinatorToken → DescendantCombinatorToken
          DimensionToken → DimensionToken
          DivToken → DivToken
          EndMatchToken → EndMatchToken
          EnumToken → EnumToken
          EOFToken → EOFToken
          EqualMatchToken → EqualMatchToken
          ErrorDescription → ErrorDescription
          FeatureWalkMode → FeatureWalkMode
          FlexToken → FlexToken
          FractionToken → FractionToken
          FrequencyToken → FrequencyToken
          FunctionImageToken → FunctionImageToken
          FunctionToken → FunctionToken
          FunctionURLToken → FunctionURLToken
          GenericVisitorAstNodeHandlerMap → GenericVisitorAstNodeHandlerMap
          GenericVisitorHandler → GenericVisitorHandler
          GenericVisitorResult → GenericVisitorResult
          GreaterThanOrEqualToken → GreaterThanOrEqualToken
          GreaterThanToken → GreaterThanToken
          GridTemplateFuncToken → GridTemplateFuncToken
          HashToken → HashToken
          IdentListToken → IdentListToken
          IdentToken → IdentToken
          ImportantToken → ImportantToken
          IncludeMatchToken → IncludeMatchToken
          InvalidAttrToken → InvalidAttrToken
          InvalidClassSelectorToken → InvalidClassSelectorToken
          LengthToken → LengthToken
          LessThanOrEqualToken → LessThanOrEqualToken
          LessThanToken → LessThanToken
          ListToken → ListToken
          LiteralToken → LiteralToken
          LoadResult → LoadResult
          Location → Location
          MatchedSelector → MatchedSelector
          MatchExpressionToken → MatchExpressionToken
          mathFuncs → mathFuncs
          MediaFeatureAndToken → MediaFeatureAndToken
          MediaFeatureNotToken → MediaFeatureNotToken
          MediaFeatureOnlyToken → MediaFeatureOnlyToken
          MediaFeatureOrToken → MediaFeatureOrToken
          MediaFeatureToken → MediaFeatureToken
          MediaQueryConditionToken → MediaQueryConditionToken
          MinifyFeature → MinifyFeature
          MinifyFeatureOptions → MinifyFeatureOptions
          MinifyOptions → MinifyOptions
          MulToken → MulToken
          NameSpaceAttributeToken → NameSpaceAttributeToken
          NestingSelectorToken → NestingSelectorToken
          NextSiblingCombinatorToken → NextSiblingCombinatorToken
          NumberToken → NumberToken
          ParensEndToken → ParensEndToken
          ParensStartToken → ParensStartToken
          ParensToken → ParensToken
          parseDeclarations → parseDeclarations
          ParseInfo → ParseInfo
          ParseResult → ParseResult
          ParseResultStats → ParseResultStats
          ParserOptions → ParserOptions
          ParseTokenOptions → ParseTokenOptions
          PercentageToken → PercentageToken
          Position → Position
          PropertyListOptions → PropertyListOptions
          PropertyMapType → PropertyMapType
          PropertySetType → PropertySetType
          PropertyType → PropertyType
          PseudoClassFunctionToken → PseudoClassFunctionToken
          PseudoClassToken → PseudoClassToken
          PseudoElementToken → PseudoElementToken
          PseudoPageToken → PseudoPageToken
          RawSelectorTokens → RawSelectorTokens
          RenderOptions → RenderOptions
          RenderResult → RenderResult
          ResolutionToken → ResolutionToken
          ResolvedPath → ResolvedPath
          RuleVisitorHandler → RuleVisitorHandler
          SemiColonToken → SemiColonToken
          ShorthandDef → ShorthandDef
          ShorthandMapType → ShorthandMapType
          ShorthandProperties → ShorthandProperties
          ShorthandPropertyType → ShorthandPropertyType
          ShorthandType → ShorthandType
          SourceMap → SourceMap
          SourceMapObject → SourceMapObject
          StartMatchToken → StartMatchToken
          StringToken → StringToken
          SubsequentCombinatorToken → SubsequentCombinatorToken
          SubToken → SubToken
          TimelineFunctionToken → TimelineFunctionToken
          TimeToken → TimeToken
          TimingFunctionToken → TimingFunctionToken
          Token → Token
          TokenizeResult → TokenizeResult
          transformFunctions → transformFunctions
          TransformOptions → TransformOptions
          TransformResult → TransformResult
          UnaryExpression → UnaryExpression
          UnaryExpressionNode → UnaryExpressionNode
          UnclosedStringToken → UnclosedStringToken
          UniversalSelectorToken → UniversalSelectorToken
          UrlToken → UrlToken
          ValidationConfiguration → ValidationConfiguration
          ValidationLevel → ValidationLevel
          ValidationOptions → ValidationOptions
          ValidationResult → ValidationResult
          ValidationSelectorOptions → ValidationSelectorOptions
          ValidationSyntaxNode → ValidationSyntaxNode
          ValidationSyntaxResult → ValidationSyntaxResult
          ValueVisitorHandler → ValueVisitorHandler
          VariableScopeInfo → VariableScopeInfo
          VisitorEventType → VisitorEventType
          VisitorNodeMap → VisitorNodeMap
          walk → walk
          WalkAttributesResult → WalkAttributesResult
          WalkerFilter → WalkerFilter
          WalkerOption → WalkerOption
          WalkerOptionEnum → WalkerOptionEnum
          WalkerValueEvent → WalkerValueEvent
          WalkerValueFilter → WalkerValueFilter
          WalkResult → WalkResult
          walkValues → walkValues
          WhitespaceToken → WhitespaceToken

          Module web

          Functions

          parse
          parseFile
          render
          transform
          transformFile

          References

          AddToken → AddToken
          AngleToken → AngleToken
          AstAtRule → AstAtRule
          AstComment → AstComment
          AstDeclaration → AstDeclaration
          AstInvalidAtRule → AstInvalidAtRule
          AstInvalidDeclaration → AstInvalidDeclaration
          AstInvalidRule → AstInvalidRule
          AstKeyFrameRule → AstKeyFrameRule
          AstKeyframesAtRule → AstKeyframesAtRule
          AstKeyframesRule → AstKeyframesRule
          AstNode → AstNode
          AstRule → AstRule
          AstRuleList → AstRuleList
          AstStyleSheet → AstStyleSheet
          AtRuleToken → AtRuleToken
          AtRuleVisitorHandler → AtRuleVisitorHandler
          AttrEndToken → AttrEndToken
          AttrStartToken → AttrStartToken
          AttrToken → AttrToken
          BadCDOCommentToken → BadCDOCommentToken
          BadCommentToken → BadCommentToken
          BadStringToken → BadStringToken
          BadUrlToken → BadUrlToken
          BaseToken → BaseToken
          BinaryExpressionNode → BinaryExpressionNode
          BinaryExpressionToken → BinaryExpressionToken
          BlockEndToken → BlockEndToken
          BlockStartToken → BlockStartToken
          CDOCommentToken → CDOCommentToken
          ChildCombinatorToken → ChildCombinatorToken
          ClassSelectorToken → ClassSelectorToken
          ColonToken → ColonToken
          ColorToken → ColorToken
          ColorType → ColorType
          ColumnCombinatorToken → ColumnCombinatorToken
          CommaToken → CommaToken
          CommentToken → CommentToken
          ContainMatchToken → ContainMatchToken
          Context → Context
          DashedIdentToken → DashedIdentToken
          DashMatchToken → DashMatchToken
          DeclarationVisitorHandler → DeclarationVisitorHandler
          DelimToken → DelimToken
          DescendantCombinatorToken → DescendantCombinatorToken
          DimensionToken → DimensionToken
          DivToken → DivToken
          EndMatchToken → EndMatchToken
          EnumToken → EnumToken
          EOFToken → EOFToken
          EqualMatchToken → EqualMatchToken
          ErrorDescription → ErrorDescription
          FeatureWalkMode → FeatureWalkMode
          FlexToken → FlexToken
          FractionToken → FractionToken
          FrequencyToken → FrequencyToken
          FunctionImageToken → FunctionImageToken
          FunctionToken → FunctionToken
          FunctionURLToken → FunctionURLToken
          GenericVisitorAstNodeHandlerMap → GenericVisitorAstNodeHandlerMap
          GenericVisitorHandler → GenericVisitorHandler
          GenericVisitorResult → GenericVisitorResult
          GreaterThanOrEqualToken → GreaterThanOrEqualToken
          GreaterThanToken → GreaterThanToken
          GridTemplateFuncToken → GridTemplateFuncToken
          HashToken → HashToken
          IdentListToken → IdentListToken
          IdentToken → IdentToken
          ImportantToken → ImportantToken
          IncludeMatchToken → IncludeMatchToken
          InvalidAttrToken → InvalidAttrToken
          InvalidClassSelectorToken → InvalidClassSelectorToken
          LengthToken → LengthToken
          LessThanOrEqualToken → LessThanOrEqualToken
          LessThanToken → LessThanToken
          ListToken → ListToken
          LiteralToken → LiteralToken
          LoadResult → LoadResult
          Location → Location
          MatchedSelector → MatchedSelector
          MatchExpressionToken → MatchExpressionToken
          mathFuncs → mathFuncs
          MediaFeatureAndToken → MediaFeatureAndToken
          MediaFeatureNotToken → MediaFeatureNotToken
          MediaFeatureOnlyToken → MediaFeatureOnlyToken
          MediaFeatureOrToken → MediaFeatureOrToken
          MediaFeatureToken → MediaFeatureToken
          MediaQueryConditionToken → MediaQueryConditionToken
          MinifyFeature → MinifyFeature
          MinifyFeatureOptions → MinifyFeatureOptions
          MinifyOptions → MinifyOptions
          MulToken → MulToken
          NameSpaceAttributeToken → NameSpaceAttributeToken
          NestingSelectorToken → NestingSelectorToken
          NextSiblingCombinatorToken → NextSiblingCombinatorToken
          NumberToken → NumberToken
          ParensEndToken → ParensEndToken
          ParensStartToken → ParensStartToken
          ParensToken → ParensToken
          parseDeclarations → parseDeclarations
          ParseInfo → ParseInfo
          ParseResult → ParseResult
          ParseResultStats → ParseResultStats
          ParserOptions → ParserOptions
          ParseTokenOptions → ParseTokenOptions
          PercentageToken → PercentageToken
          Position → Position
          PropertyListOptions → PropertyListOptions
          PropertyMapType → PropertyMapType
          PropertySetType → PropertySetType
          PropertyType → PropertyType
          PseudoClassFunctionToken → PseudoClassFunctionToken
          PseudoClassToken → PseudoClassToken
          PseudoElementToken → PseudoElementToken
          PseudoPageToken → PseudoPageToken
          RawSelectorTokens → RawSelectorTokens
          RenderOptions → RenderOptions
          RenderResult → RenderResult
          ResolutionToken → ResolutionToken
          ResolvedPath → ResolvedPath
          RuleVisitorHandler → RuleVisitorHandler
          SemiColonToken → SemiColonToken
          ShorthandDef → ShorthandDef
          ShorthandMapType → ShorthandMapType
          ShorthandProperties → ShorthandProperties
          ShorthandPropertyType → ShorthandPropertyType
          ShorthandType → ShorthandType
          SourceMap → SourceMap
          SourceMapObject → SourceMapObject
          StartMatchToken → StartMatchToken
          StringToken → StringToken
          SubsequentCombinatorToken → SubsequentCombinatorToken
          SubToken → SubToken
          TimelineFunctionToken → TimelineFunctionToken
          TimeToken → TimeToken
          TimingFunctionToken → TimingFunctionToken
          Token → Token
          TokenizeResult → TokenizeResult
          transformFunctions → transformFunctions
          TransformOptions → TransformOptions
          TransformResult → TransformResult
          UnaryExpression → UnaryExpression
          UnaryExpressionNode → UnaryExpressionNode
          UnclosedStringToken → UnclosedStringToken
          UniversalSelectorToken → UniversalSelectorToken
          UrlToken → UrlToken
          ValidationConfiguration → ValidationConfiguration
          ValidationLevel → ValidationLevel
          ValidationOptions → ValidationOptions
          ValidationResult → ValidationResult
          ValidationSelectorOptions → ValidationSelectorOptions
          ValidationSyntaxNode → ValidationSyntaxNode
          ValidationSyntaxResult → ValidationSyntaxResult
          ValueVisitorHandler → ValueVisitorHandler
          VariableScopeInfo → VariableScopeInfo
          VisitorNodeMap → VisitorNodeMap
          walk → walk
          WalkAttributesResult → WalkAttributesResult
          WalkerEvent → WalkerEvent
          WalkerFilter → WalkerFilter
          WalkerOption → WalkerOption
          WalkerOptionEnum → WalkerOptionEnum
          WalkerValueFilter → WalkerValueFilter
          WalkResult → WalkResult
          walkValues → walkValues
          WhitespaceToken → WhitespaceToken
          \n```" + "text": "```html\n\n```" }, { "kind": "text", - "text": "\n\nit can also be imported as umd module\n\n" + "text": "\n\n### As umd module\n\nit can also be imported as umd module\n\n" }, { "kind": "code", - "text": "```html\n\n\n\n```" + "text": "```html\n\n\n\n```" } ], "frontmatter": { @@ -52586,7 +51428,7 @@ } }, { - "id": 3, + "id": 5, "name": "Usage", "variant": "document", "kind": 8388608, @@ -52602,7 +51444,7 @@ }, { "kind": "text", - "text": "\n\nthe library exposes two entrypoints\n\n- " + "text": "\n\nthe library exposes three entry points\n\n- " }, { "kind": "code", @@ -52618,7 +51460,7 @@ }, { "kind": "text", - "text": " which relies on node fs package to read files\n- " + "text": " which relies on node fs and fs/promises to read files\n- " }, { "kind": "code", @@ -52626,7 +51468,7 @@ }, { "kind": "text", - "text": " same as the previous except it exports a commonjs module\n- " + "text": " same as the previous except it is exported as a commonjs module\n- " }, { "kind": "code", @@ -52634,7 +51476,7 @@ }, { "kind": "text", - "text": " which relies on the fetch api to read files\n\nthe default file loader can be overridden via the options [ParseOptions.load](" + "text": " which relies on the web fetch api to read files\n\nthe default file loader can be overridden via the options [ParseOptions.load](" }, { "kind": "relative-link", @@ -52698,16 +51540,17 @@ }, { "kind": "code", - "text": "````\n\n### Parsing files\n\nthe parseFile() and transformFile() functions can be used to parse files.\nthey both accept a file url or path as first argument.\n\n```ts\nimport {transformFile} from '@tbela99/css-parser';\n\nconst css = `https://docs.deno.com/styles.css`;\n\nconst result = await transformFile(css);\nconsole.debug(result.code);\n\n```\n\n### Parsing from a Readable Stream\n\nthe parse() and transform() functions accept a string or readable stream as first argument.\n\n```ts\nimport {parse} from '@tbela99/css-parser';\nimport {Readable} from \"node:stream\";\n\n// usage: node index.ts < styles.css or cat styles.css | node index.ts\n\nconst readableStream = Readable.toWeb(process.stdin);\nconst result = await parse(readableStream, {beautify: true});\n\nconsole.log(result.ast);\n```\n\na response.body object can also be passed as well\n\n\n```ts\nimport {transformFile} from '@tbela99/css-parser';\n\nconst response = await fetch(`https://docs.deno.com/styles.css`);\n\nconst result = await transform(response.body); // or parse(response.body)\nconsole.debug(result.code);\n\n```\n### Rendering css\n\n[rendering options](../interfaces/node.RenderOptions.html) can be passed to both transform() and render() functions.\n\n#### Pretty printing\nby default css output is minified. that behavior can be changed by passing the `{beautify:true}` option.\n\n```ts\n\nconst result = await transform(css, {beautify: true}); \n// or render(ast, {beautify: true})\n\nconsole.log(result.code);\n\n```\n\n#### Preserving license comments\n\nby default all comments are removed. they can be preserved by passing the `{removeComments:false}` option,\n\nif you only want to preserve license comments, and remove other comments, you can pass `{preserveLicense:true}` instead.\n\n```ts\n\nconst css = `/*!\n * Bootstrap v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n[data-bs-theme=dark] {\n color-scheme: dark;\n \n ...`;\n\nconst result = await transform(css, {preserveLicense: true}); \n```\n\n#### Converting colors\n\ncolor conversion is controlled by the `convertColor` option. colors are converted to the HEX format by default.\nthat behavior can be changed by passing the chosen color type to the convertColor option:\n\n- ColorType.HEX\n- ColorType.RGB or ColorType.RGBA\n- ColorType.HSL or ColorType.HSLA\n- ColorType.HWB or ColorType.HWBA\n- ColorType.CMYK or ColorType.DEVICE_CMYK\n- ColorType.SRGB\n- ColorType.SRGB_LINEAR\n- ColorType.DISPLAY_P3\n- ColorType.PROPHOTO_RGB\n- ColorType.A98_RGB\n- ColorType.REC2020\n- ColorType.XYZ or ColorType.XYZ_D65\n- ColorType.XYZ_D50\n- ColorType.LAB\n- ColorType.LCH\n- ColorType.OKLAB\n- ColorType.OKLCH\n\n```ts\nimport {transform, ColorType} from '@tbela99/css-parser';\n\nconst css = `\n.color-map {\n\ncolor: lab(from #123456 calc(l + 10) a b);\nbackground-color: lab(from hsl(180 100% 50%) calc(l - 10) a b);\n}\n`;\nconst result = await transform(css, {\n beautify: true,\n convertColor: ColorType.RGB,\n computeCalcExpression: true\n});\n\nconsole.log(result.code);\n\n// .color-map {\n// color: rgb(45 74 111);\n// background-color: rgb(0 226 226)\n// }\n```" + "text": "````\n\n### Parsing files\n\nthe parseFile() and transformFile() functions can be used to parse files.\nthey both accept a file url or path as first argument.\n\n```ts\nimport {transformFile} from '@tbela99/css-parser';\n\nconst css = `https://docs.deno.com/styles.css`;\n\nlet result = await transformFile(css);\nconsole.debug(result.code);\n\n// load file as readable stream\nresult = await transformFile(css, true);\nconsole.debug(result.code);\n```\n\n### Parsing from a Readable Stream\n\nthe parse() and transform() functions accept a string or readable stream as first argument.\n\n```ts\nimport {parse} from '@tbela99/css-parser';\nimport {Readable} from \"node:stream\";\n\n// usage: node index.ts < styles.css or cat styles.css | node index.ts\n\nconst readableStream = Readable.toWeb(process.stdin);\nconst result = await parse(readableStream, {beautify: true});\n\nconsole.log(result.ast);\n```\n\na response body object can also be passed to parseFile() or transformFile() functions\n\n```ts\n\nimport {transformFile} from '@tbela99/css-parser';\n\nconst response = await fetch(`https://docs.deno.com/styles.css`);\nconst result = await transformFile(response.body); // or parse(response.body)\nconsole.debug(result.code);\n\n```\n### Rendering css\n\n[rendering options](../interfaces/node.RenderOptions.html) can be passed to both transform() and render() functions.\n\n#### Pretty printing\nby default css output is minified. that behavior can be changed by passing the `{beautify:true}` option.\n\n```ts\n\nconst result = await transform(css, {beautify: true}); \n// or render(ast, {beautify: true})\n\nconsole.log(result.code);\n\n```\n\n#### Preserving license comments\n\nby default all comments are removed. they can be preserved by passing the `{removeComments:false}` option,\n\nif you only want to preserve license comments, and remove other comments, you can pass `{preserveLicense:true}` instead.\n\n```ts\n\nconst css = `/*!\n * Bootstrap v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n[data-bs-theme=dark] {\n color-scheme: dark;\n \n ...`;\n\nconst result = await transform(css, {preserveLicense: true}); \n```\n\n#### Converting colors\n\ncolor conversion is controlled by the `convertColor` option. colors are converted to the HEX format by default.\nthat behavior can be changed by passing the chosen color type to the convertColor option:\n\n- ColorType.HEX\n- ColorType.RGB or ColorType.RGBA\n- ColorType.HSL or ColorType.HSLA\n- ColorType.HWB or ColorType.HWBA\n- ColorType.CMYK or ColorType.DEVICE_CMYK\n- ColorType.SRGB\n- ColorType.SRGB_LINEAR\n- ColorType.DISPLAY_P3\n- ColorType.PROPHOTO_RGB\n- ColorType.A98_RGB\n- ColorType.REC2020\n- ColorType.XYZ or ColorType.XYZ_D65\n- ColorType.XYZ_D50\n- ColorType.LAB\n- ColorType.LCH\n- ColorType.OKLAB\n- ColorType.OKLCH\n\n```ts\nimport {transform, ColorType} from '@tbela99/css-parser';\n\nconst css = `\n.color-map {\n\ncolor: lab(from #123456 calc(l + 10) a b);\nbackground-color: lab(from hsl(180 100% 50%) calc(l - 10) a b);\n}\n`;\nconst result = await transform(css, {\n beautify: true,\n convertColor: ColorType.RGB,\n computeCalcExpression: true\n});\n\nconsole.log(result.code);\n\n// .color-map {\n// color: rgb(45 74 111);\n// background-color: rgb(0 226 226)\n// }\n```" } ], "frontmatter": { "group": "Documents", + "slug": "/usage", "category": "Guides" } }, { - "id": 4, + "id": 6, "name": "Minification", "variant": "document", "kind": 8388608, @@ -52727,7 +51570,7 @@ }, { "kind": "code", - "text": "```ts\n\nimport {transform, TransformOptions} from \"../src/node.ts\";\n\nconst options: TransformOptions = {\n\n beautify: true,\n};\n\nconst css = `@keyframes slide-in {\n from {\n transform: translateX(0%);\n }\n\n 100% {\n transform: translateX(100%);\n }\n}\n `;\n\nconst result = await transform(css, options);\n\nconsole.debug(result.code);\n\n```" + "text": "```ts\n\nimport {transform, TransformOptions} from \"@tbela99/css-parser\";\n\nconst options: TransformOptions = {\n\n beautify: true,\n};\n\nconst css = `@keyframes slide-in {\n from {\n transform: translateX(0%);\n }\n\n 100% {\n transform: translateX(100%);\n }\n}\n `;\n\nconst result = await transform(css, options);\n\nconsole.debug(result.code);\n\n```" }, { "kind": "text", @@ -52851,7 +51694,7 @@ }, { "kind": "text", - "text": "\n\n\n### Transform functions\n\ncompute css transform functions and preserve the shortest possible value. this feature is enabled by default. it can be disabled using " + "text": "\n\n### Transform functions\n\ncompute css transform functions and preserve the shortest possible value. this feature is enabled by default. it can be disabled using " }, { "kind": "code", @@ -52859,7 +51702,7 @@ }, { "kind": "text", - "text": ".\n\n\n" + "text": ".\n\n" }, { "kind": "code", @@ -52891,7 +51734,7 @@ }, { "kind": "text", - "text": "\n\n### Redundant declarations\n\nby default, only the last declaration is preserved.\n\n\nto preserve all declarations, pass the option " + "text": "\n\n### Redundant declarations\n\nby default, only the last declaration is preserved.\nto preserve all declarations, pass the option " }, { "kind": "code", @@ -53032,11 +51875,12 @@ ], "frontmatter": { "group": "Documents", + "slug": "/minification", "category": "Guides" } }, { - "id": 5, + "id": 7, "name": "Custom transform", "variant": "document", "kind": 8388608, @@ -53044,19 +51888,36 @@ "content": [ { "kind": "text", - "text": "## Custom transform\n\nvisitors are used to alter the ast. they should return null or nodes of the same type as the node they are called on.\nnon null values will replace the current node.\n\n## At rule visitor\n\nExample: change media at-rule prelude\n\n" + "text": "## Custom transform\n\nvisitors are used to alter the ast tree produced by the parser. for more information about the visitor object see the [typescript definition](" + }, + { + "kind": "relative-link", + "text": "../docs/interfaces/node.VisitorNodeMap.html", + "target": 12 + }, + { + "kind": "text", + "text": ")\n\n## Visitors order\n\nvisitors can be called when the node is entered, visited or left.\n\n" }, { "kind": "code", - "text": "```ts\n\nimport {transform, AstAtRule, ParserOptions} from \"@tbela99/css-parser\";\n\nconst options: ParserOptions = {\n\n visitor: {\n\n AtRule: {\n\n media: (node: AstAtRule): AstAtRule => {\n\n node.val = 'tv,screen';\n return node\n }\n }\n }\n};\n\nconst css = `\n\n@media screen {\n\n .foo {\n\n height: calc(100px * 2/ 15);\n }\n}\n`;\n\nconst result = await transform(css, options);\n\nconsole.debug(result.code);\n\n// @media tv,screen{.foo{height:calc(40px/3)}}\n```" + "text": "```ts\n\nimport {AstAtRule, ParserOptions, transform, VisitorNodeMap, WalkerEvent} from \"@tbela99/css-parser\";\nconst options: ParserOptions = {\n\n visitor: [\n {\n\n AtRule: [\n (node: AstAtRule): AstAtRule => {\n\n console.error(`> visiting '@${node.nam}' node at position ${node.loc!.sta.lin}:${node.loc!.sta.col}`);\n return node\n }, {\n\n media: (node: AstAtRule): AstAtRule => {\n\n console.error(`> visiting only '@${node.nam}' node at position ${node.loc!.sta.lin}:${node.loc!.sta.col}`);\n return node\n }\n }, {\n\n type: WalkerEvent.Leave,\n handler: (node: AstAtRule): AstAtRule => {\n\n console.error(`> leaving '@${node.nam}' node at position ${node.loc!.sta.lin}:${node.loc!.sta.col}`)\n return node\n }\n },\n {\n type: WalkerEvent.Enter,\n handler: (node: AstAtRule): AstAtRule => {\n\n console.error(`> enter '@${node.nam}' node at position ${node.loc!.sta.lin}:${node.loc!.sta.col}`);\n return node\n }\n }]\n }] as VisitorNodeMap[]\n};\n\nconst css = `\n\n@media screen {\n\n .foo {\n\n height: calc(100px * 2/ 15);\n }\n}\n\n@supports (height: 30pt) {\n\n .foo {\n\n height: calc(100px * 2/ 15);\n }\n}\n`;\n\nconst result = await transform(css, options);\n\nconsole.debug(result.code);\n\n// > enter '@media' node at position 3:1\n// > visiting '@media' node at position 3:1\n// > visiting only '@media' node at position 3:1\n// > leaving '@media' node at position 3:1\n// > enter '@supports' node at position 11:1\n// > visiting '@supports' node at position 11:1\n// > leaving '@supports' node at position 11:1\n\n```" }, { "kind": "text", - "text": "\n\n### Declaration visitor\n\n\nExample: add 'width: 3px' everytime a declaration with the name 'height' is found\n\n" + "text": "\n\n## At rule visitor\n\nExample: change media at-rule prelude\n\n" }, { "kind": "code", - "text": "```ts\n\nimport {transform, parseDeclarations} from \"@tbela99/css-parser\";\n\nconst options: ParserOptions = {\n\n removeEmpty: false,\n visitor: {\n\n Declaration: {\n\n // called only for height declaration\n height: (node: AstDeclaration): AstDeclaration[] => {\n \n return [\n node,\n {\n\n typ: EnumToken.DeclarationNodeType,\n nam: 'width',\n val: [\n {\n typ: EnumToken.LengthTokenType,\n val: 3,\n unit: 'px'\n }\n ]\n }\n ];\n }\n }\n }\n};\n\nconst css = `\n\n.foo {\n height: calc(100px * 2/ 15);\n}\n.selector {\ncolor: lch(from peru calc(l * 0.8) calc(c * 0.7) calc(h + 180))\n}\n`;\n\nconsole.debug(await transform(css, options));\n\n// .foo{height:calc(40px/3);width:3px}.selector{color:#0880b0}\n```" + "text": "```ts\n\nimport {transform, AstAtRule, ParserOptions} from \"@tbela99/css-parser\";\nconst options: ParserOptions = {\n\n visitor: {\n\n AtRule: {\n\n media: (node: AstAtRule): AstAtRule => {\n\n node.val = 'tv,screen';\n return node\n }\n }\n }\n};\n\nconst css = `\n\n@media screen {\n\n .foo {\n\n height: calc(100px * 2/ 15);\n }\n}\n`;\n\nconst result = await transform(css, options);\n\nconsole.debug(result.code);\n\n// @media tv,screen{.foo{height:calc(40px/3)}}\n```" + }, + { + "kind": "text", + "text": "\n\n### Declaration visitor\n\nExample: add 'width: 3px' everytime a declaration with the name 'height' is found\n\n" + }, + { + "kind": "code", + "text": "```ts\n\nimport {transform, parseDeclarations} from \"@tbela99/css-parser\";\nconst options: ParserOptions = {\n\n removeEmpty: false,\n visitor: {\n\n Declaration: {\n\n // called only for height declaration\n height: (node: AstDeclaration): AstDeclaration[] => {\n \n return [\n node,\n {\n\n typ: EnumToken.DeclarationNodeType,\n nam: 'width',\n val: [\n {\n typ: EnumToken.LengthTokenType,\n val: 3,\n unit: 'px'\n }\n ]\n }\n ];\n }\n }\n }\n};\n\nconst css = `\n\n.foo {\n height: calc(100px * 2/ 15);\n}\n.selector {\ncolor: lch(from peru calc(l * 0.8) calc(c * 0.7) calc(h + 180))\n}\n`;\n\nconsole.debug(await transform(css, options));\n\n// .foo{height:calc(40px/3);width:3px}.selector{color:#0880b0}\n```" }, { "kind": "text", @@ -53064,15 +51925,15 @@ }, { "kind": "code", - "text": "```ts\nimport {AstDeclaration, ParserOptions, transform} from \"../src/node.ts\";\n\nconst options: ParserOptions = {\n\n visitor: {\n\n // called for every declaration\n Declaration: (node: AstDeclaration): null => {\n\n\n if (node.nam == 'height') {\n\n node.nam = 'width';\n }\n\n else if (node.nam == 'margin') {\n\n node.nam = 'padding'\n }\n\n return null;\n }\n }\n};\n\nconst css = `\n\n.foo {\n height: calc(100px * 2/ 15);\n margin: 10px;\n}\n.selector {\n\nmargin: 20px;}\n`;\n\nconst result = await transform(css, options);\n\nconsole.debug(result.code);\n\n// .foo{width:calc(40px/3);padding:10px}.selector{padding:20px}\n```" + "text": "```ts\n\nimport {AstDeclaration, ParserOptions, transform} from \"../src/node.ts\";\nconst options: ParserOptions = {\n\n visitor: {\n\n // called for every declaration\n Declaration: (node: AstDeclaration): null => {\n\n\n if (node.nam == 'height') {\n\n node.nam = 'width';\n }\n\n else if (node.nam == 'margin') {\n\n node.nam = 'padding'\n }\n\n return null;\n }\n }\n};\n\nconst css = `\n\n.foo {\n height: calc(100px * 2/ 15);\n margin: 10px;\n}\n.selector {\n\nmargin: 20px;}\n`;\n\nconst result = await transform(css, options);\n\nconsole.debug(result.code);\n\n// .foo{width:calc(40px/3);padding:10px}.selector{padding:20px}\n```" }, { "kind": "text", - "text": "\n\n### Rule visitor\n\nrule visitor\n\nExample: add 'width: 3px' to every rule with the selector '.foo'\n\n" + "text": "\n\n### Rule visitor\n\nExample: add 'width: 3px' to every rule with the selector '.foo'\n\n" }, { "kind": "code", - "text": "```ts\n\nimport {transform, parseDeclarations} from \"@tbela99/css-parser\";\n\nconst options: ParserOptions = {\n\n removeEmpty: false,\n visitor: {\n\n Rule: async (node: AstRule): Promise => {\n\n if (node.sel == '.foo') {\n\n node.chi.push(...await parseDeclarations('width: 3px'));\n return node;\n }\n\n return null;\n }\n }\n};\n\nconst css = `\n\n.foo {\n .foo {\n }\n}\n`;\n\nconsole.debug(await transform(css, options));\n\n// .foo{width:3px;.foo{width:3px}}\n```" + "text": "```ts\n\nimport {transform, parseDeclarations} from \"@tbela99/css-parser\";\nconst options: ParserOptions = {\n\n removeEmpty: false,\n visitor: {\n\n Rule: async (node: AstRule): Promise => {\n\n if (node.sel == '.foo') {\n\n node.chi.push(...await parseDeclarations('width: 3px'));\n return node;\n }\n\n return null;\n }\n }\n};\n\nconst css = `\n\n.foo {\n .foo {\n }\n}\n`;\n\nconsole.debug(await transform(css, options));\n\n// .foo{width:3px;.foo{width:3px}}\n```" }, { "kind": "text", @@ -53080,7 +51941,7 @@ }, { "kind": "code", - "text": "```ts\n\nimport {transform} from \"@tbela99/css-parser\";\n\nconst css = `\n@keyframes slide-in {\n from {\n transform: translateX(0%);\n }\n\n to {\n transform: translateX(100%);\n }\n}\n@keyframes identifier {\n 0% {\n top: 0;\n left: 0;\n }\n 30% {\n top: 50px;\n }\n 68%,\n 72% {\n left: 50px;\n }\n 100% {\n top: 100px;\n left: 100%;\n }\n}\n `;\n\nconst result = await transform(css, {\n removePrefix: true,\n beautify: true,\n visitor: {\n KeyframesAtRule: {\n slideIn(node) {\n node.val = 'slide-in-out';\n return node;\n }\n }\n }\n});\n\n```" + "text": "```ts\n\nimport {transform} from \"@tbela99/css-parser\";\nconst css = `\n@keyframes slide-in {\n from {\n transform: translateX(0%);\n }\n\n to {\n transform: translateX(100%);\n }\n}\n@keyframes identifier {\n 0% {\n top: 0;\n left: 0;\n }\n 30% {\n top: 50px;\n }\n 68%,\n 72% {\n left: 50px;\n }\n 100% {\n top: 100px;\n left: 100%;\n }\n}\n `;\n\nconst result = await transform(css, {\n removePrefix: true,\n beautify: true,\n visitor: {\n KeyframesAtRule: {\n slideIn(node) {\n node.val = 'slide-in-out';\n return node;\n }\n }\n }\n});\n\n```" }, { "kind": "text", @@ -53089,19 +51950,409 @@ { "kind": "relative-link", "text": "../docs/enums/node.EnumToken.html", - "target": 6 + "target": 13 + }, + { + "kind": "text", + "text": "). it is called for every token of the specified type.\n\n" + }, + { + "kind": "code", + "text": "```ts\n\nimport {transform, parse, parseDeclarations} from \"@tbela99/css-parser\";\nconst options: ParserOptions = {\n\n inlineCssVariables: true,\n visitor: {\n\n // Stylesheet node visitor\n StyleSheetNodeType: async (node) => {\n\n // insert a new rule\n node.chi.unshift(await parse('html {--base-color: pink}').then(result => result.ast.chi[0]))\n },\n ColorTokenType: (node) => {\n\n // dump all color tokens\n // console.debug(node);\n },\n FunctionTokenType: (node) => {\n\n // dump all function tokens\n // console.debug(node);\n },\n DeclarationNodeType: (node) => {\n\n // dump all declaration nodes\n // console.debug(node);\n }\n }\n};\n\nconst css = `\n\nbody { color: color(from var(--base-color) display-p3 r calc(g + 0.24) calc(b + 0.15)); }\n`;\n\nconsole.debug(await transform(css, options));\n\n// body {color:#f3fff0}\n```" + } + ], + "frontmatter": { + "group": "Documents", + "slug": "/transform", + "category": "Guides" + } + }, + { + "id": 8, + "name": "Ast", + "variant": "document", + "kind": 8388608, + "flags": {}, + "content": [ + { + "kind": "text", + "text": "## Ast node types\n\nthe ast tree returned by the parser is always a [AstStyleSheet](" + }, + { + "kind": "relative-link", + "text": "../docs/interfaces/node.AstStyleSheet.html", + "target": 14 + }, + { + "kind": "text", + "text": ") node.\nthe other nodes\nare [AstRule](" + }, + { + "kind": "relative-link", + "text": "../docs/interfaces/node.AstRule.html", + "target": 15 + }, + { + "kind": "text", + "text": "), [AstAtRule](" + }, + { + "kind": "relative-link", + "text": "../docs/interfaces/node.AstAtRule.html", + "target": 16 + }, + { + "kind": "text", + "text": "), [AstDeclaration](" + }, + { + "kind": "relative-link", + "text": "../docs/interfaces/node.AstDeclaration.html", + "target": 17 + }, + { + "kind": "text", + "text": "), [AstComment](" + }, + { + "kind": "relative-link", + "text": "../docs/interfaces/node.AstComment.html", + "target": 18 + }, + { + "kind": "text", + "text": "), [AstInvalidRule](" + }, + { + "kind": "relative-link", + "text": "../docs/interfaces/node.AstInvalidRule.html", + "target": 19 + }, + { + "kind": "text", + "text": "), [AstInvalidAtRule](" + }, + { + "kind": "relative-link", + "text": "../docs/interfaces/node.AstInvalidAtRule.html", + "target": 20 + }, + { + "kind": "text", + "text": "), [AstInvalidDeclaration](" + }, + { + "kind": "relative-link", + "text": "../docs/interfaces/node.AstInvalidDeclaration.html", + "target": 21 + }, + { + "kind": "text", + "text": ")\n\n## Ast node attributes\n\n### Ast rule attributes\n\n[Ast rule](" + }, + { + "kind": "relative-link", + "text": "../docs/interfaces/node.AstRule.html", + "target": 15 + }, + { + "kind": "text", + "text": ") _tokens_ attribute is an array\nof [Token](" + }, + { + "kind": "relative-link", + "text": "../docs/types/node.Token.html", + "target": 22 + }, + { + "kind": "text", + "text": ") representing the parsed selector.\nthe _sel_ attribute string that contains the rule's selector.\nmodifying the sel attribute does not affect the tokens attribute, and similarly, changes to the tokens attribute do not\nupdate the sel attribute.\n\n" + }, + { + "kind": "code", + "text": "```ts\n\nimport {AstRule, parseDeclarations, ParserOptions, transform, parseDeclarations} from '@tbela99/css-parser';\n\nconst options: ParserOptions = {\n\n visitor: {\n\n async Rule(node: AstRule): AstRule {\n\n node.sel = '.foo,.bar,.fubar';\n\n node.chi.push(...await parseDeclarations('width: 3px'));\n return node;\n }\n }\n};\n\nconst css = `\n\n .foo {\n\n height: calc(100px * 2/ 15); \n } \n`;\n\nconst result = await transform(css, options);\nconsole.debug(result.code);\n\n// .foo,.bar,.fubar{height:calc(40px/3);width:3px}\n```" + }, + { + "kind": "text", + "text": "\n\n### Ast at-rule attributes\n\n[Ast at-rule](" + }, + { + "kind": "relative-link", + "text": "../docs/interfaces/node.AstAtRule.html", + "target": 16 + }, + { + "kind": "text", + "text": ") _tokens_ attribute is either null or an array\nof [Token](" + }, + { + "kind": "relative-link", + "text": "../docs/types/node.Token.html", + "target": 22 + }, + { + "kind": "text", + "text": ") representing the parsed prelude.\nthe _val_ attribute string that contains the at-rule's prelude.\n\nmodifying the _val_ attribute does not affect the _tokens_ attribute, and similarly, changes to the _tokens_ attribute do not\nupdate the _val_ attribute.\n\n" + }, + { + "kind": "code", + "text": "```ts\nimport {ParserOptions, transform, AstAtRule} from '@tbela99/css-parser';\n\nconst options: ParserOptions = {\n\n visitor: {\n\n AtRule: {\n\n media: (node: AstAtRule): AstAtRule => {\n\n node.val = 'all';\n return node\n }\n }\n }\n};\n\nconst css = `\n\n@media screen {\n \n .foo {\n\n height: calc(100px * 2/ 15); \n } \n}\n`;\n\nconst result = await transform(css, options);\nconsole.debug(result.code);\n\n// .foo{height:calc(40px/3)}\n```" + }, + { + "kind": "text", + "text": "\n\n### Ast declaration attributes\n\n[Ast declaration](" + }, + { + "kind": "relative-link", + "text": "../docs/interfaces/node.AstDeclaration.html", + "target": 17 + }, + { + "kind": "text", + "text": ") _nam_ attribute is the declaration name. the _val_\nattribute is an array of [Token](" + }, + { + "kind": "relative-link", + "text": "../docs/types/node.Token.html", + "target": 22 + }, + { + "kind": "text", + "text": ") representing the declaration's value.\n\n" + }, + { + "kind": "code", + "text": "```ts\n\nimport {AstDeclaration, EnumToken, LengthToken, ParserOptions, transform} from '@tbela99/css-parser';\n\nconst options: ParserOptions = {\n\n visitor: {\n\n Declaration: {\n\n // called only for height declaration\n height: (node: AstDeclaration): AstDeclaration[] => {\n\n\n return [\n node,\n {\n\n typ: EnumToken.DeclarationNodeType,\n nam: 'width',\n val: [\n {\n typ: EnumToken.LengthTokenType,\n val: 3,\n unit: 'px'\n }\n ]\n }\n ];\n }\n }\n }\n};\n\nconst css = `\n\n.foo {\n height: calc(100px * 2/ 15);\n}\n.selector {\ncolor: lch(from peru calc(l * 0.8) calc(c * 0.7) calc(h + 180)) \n}\n`;\n\nconst result = await transform(css, options);\nconsole.debug(result.code);\n\n// .foo{height:calc(40px/3);width:3px}.selector{color:#0880b0}\n```" + }, + { + "kind": "text", + "text": "\n\n## Ast traversal\n\nast traversal is achieved using [walk()](" + }, + { + "kind": "relative-link", + "text": "../docs/functions/node.walk.html", + "target": 23 + }, + { + "kind": "text", + "text": ")\n\n" + }, + { + "kind": "code", + "text": "```ts\n\nimport {walk} from '@tbela99/css-parser';\n\nconst css = `\nbody { color: color(from var(--base-color) display-p3 r calc(g + 0.24) calc(b + 0.15)); }\n\nhtml,\nbody {\n line-height: 1.474;\n}\n\n.ruler {\n\n height: 10px;\n}\n`;\n\nfor (const {node, parent, root} of walk(ast)) {\n\n // do something with node\n}\n```" + }, + { + "kind": "text", + "text": "\n\nast traversal can be controlled using a [filter](" + }, + { + "kind": "relative-link", + "text": "../docs/media/node.walk.html#walk", + "target": 24, + "targetAnchor": "walk" + }, + { + "kind": "text", + "text": ") function. the filter function returns a value of type [WalkerOption](" + }, + { + "kind": "relative-link", + "text": "../docs/types/node.WalkerOption.html", + "target": 25 + }, + { + "kind": "text", + "text": ").\n\n" + }, + { + "kind": "code", + "text": "```ts\n\nimport {EnumToken, transform, walk, WalkerOptionEnum} from '@tbela99/css-parser';\n\nconst css = `\nbody { color: color(from var(--base-color) display-p3 r calc(g + 0.24) calc(b + 0.15)); }\n\nhtml,\nbody {\n line-height: 1.474;\n}\n\n.ruler {\n\n height: 10px;\n}\n`;\n\nfunction filter(node) {\n\n if (node.typ == EnumToken.AstRule && node.sel.includes('html')) {\n\n // skip the children of the current node\n return WalkerOptionEnum.IgnoreChildren;\n }\n}\n\nconst result = await transform(css);\nfor (const {node} of walk(result.ast, filter)) {\n\n console.error([EnumToken[node.typ]]);\n}\n\n// [ \"StyleSheetNodeType\" ]\n// [ \"RuleNodeType\" ]\n// [ \"DeclarationNodeType\" ]\n// [ \"RuleNodeType\" ]\n// [ \"DeclarationNodeType\" ]\n// [ \"RuleNodeType\" ]\n// [ \"DeclarationNodeType\" ]\n\n```" + }, + { + "kind": "text", + "text": "\n\n### Walking ast node attributes\n\nthe function [walkValues()](" + }, + { + "kind": "relative-link", + "text": "../docs/functions/node.walkValues.html", + "target": 26 + }, + { + "kind": "text", + "text": ") is used to walk the node attribute's tokens.\n\n" + }, + { + "kind": "code", + "text": "```ts\n\nimport {AstDeclaration, EnumToken, transform, walkValues} from '@tbela99/css-parser';\n\nconst css = `\nbody { color: color(from var(--base-color) display-p3 r calc(g + 0.24) calc(b + 0.15)); }\n`;\n\nconst result = await transform(css);\nconst declaration = result.ast.chi[0].chi[0] as AstDeclaration;\n\n// walk the node attribute's tokens in reverse order\nfor (const {value} of walkValues(declaration.val, null, null,true)) {\n\n console.error([EnumToken[value.typ], value.val]);\n}\n\n// [ \"Color\", \"color\" ]\n// [ \"FunctionTokenType\", \"calc\" ]\n// [ \"Number\", 0.15 ]\n// [ \"Add\", undefined ]\n// [ \"Iden\", \"b\" ]\n// [ \"Whitespace\", undefined ]\n// [ \"FunctionTokenType\", \"calc\" ]\n// [ \"Number\", 0.24 ]\n// [ \"Add\", undefined ]\n// [ \"Iden\", \"g\" ]\n// [ \"Whitespace\", undefined ]\n// [ \"Iden\", \"r\" ]\n// [ \"Whitespace\", undefined ]\n// [ \"Iden\", \"display-p3\" ]\n// [ \"Whitespace\", undefined ]\n// [ \"FunctionTokenType\", \"var\" ]\n// [ \"DashedIden\", \"--base-color\" ]\n// [ \"Whitespace\", undefined ]\n// [ \"Iden\", \"from\" ]\n```" + } + ], + "frontmatter": { + "group": "Documents", + "slug": "/traversal", + "category": "Guides" + } + }, + { + "id": 9, + "name": "Validation", + "variant": "document", + "kind": 8388608, + "flags": {}, + "content": [ + { + "kind": "text", + "text": "## Validation\n\nvalidation is performed using [mdn-data](https://github.com/mdn/data). the validation level can be configured using the [validation](" + }, + { + "kind": "relative-link", + "text": "../docs/interfaces/node.ParserOptions.html#validation", + "target": 27, + "targetAnchor": "validation" + }, + { + "kind": "text", + "text": ") option.\npossible values are _boolean_ or [ValidationLevel](" + }, + { + "kind": "relative-link", + "text": "../docs/enums/node.ValidationLevel.html", + "target": 28 + }, + { + "kind": "text", + "text": "):\n\n- _true_ or [ValidationLevel.All](" + }, + { + "kind": "relative-link", + "text": "../docs/media/node.ValidationLevel.html#all", + "target": 29, + "targetAnchor": "all" + }, + { + "kind": "text", + "text": "): validates all nodes\n- _false_ or [ValidationLevel.None](" + }, + { + "kind": "relative-link", + "text": "../docs/media/node.ValidationLevel.html#none", + "target": 29, + "targetAnchor": "none" + }, + { + "kind": "text", + "text": "): no validation\n- [ValidationLevel.Selector](" + }, + { + "kind": "relative-link", + "text": "../docs/media/node.ValidationLevel.html#selector", + "target": 29, + "targetAnchor": "selector" + }, + { + "kind": "text", + "text": "): validates only selectors\n- [ValidationLevel.AtRule](" + }, + { + "kind": "relative-link", + "text": "../docs/media/node.ValidationLevel.html#atrule", + "target": 29, + "targetAnchor": "atrule" + }, + { + "kind": "text", + "text": "): validates only at-rules\n- [ValidationLevel.Declaration](" + }, + { + "kind": "relative-link", + "text": "../docs/media/node.ValidationLevel.html#declaration", + "target": 29, + "targetAnchor": "declaration" + }, + { + "kind": "text", + "text": "): validates only declarations\n- [ValidationLevel.Default](" + }, + { + "kind": "relative-link", + "text": "../docs/media/node.ValidationLevel.html#default", + "target": 29, + "targetAnchor": "default" + }, + { + "kind": "text", + "text": "): validates selectors and at-rules\n\n" + }, + { + "kind": "code", + "text": "```ts\n\nimport {transform, TransformOptions, ValidationLevel} from \"@tbela99/css-parser\";\n\nconst options: TransformOptions = {\n\n validation: ValidationLevel.All,\n beautify: true,\n removeDuplicateDeclarations: 'height'\n};\n\nconst css = `\n\n@supports(height: 30pti) {\n\n .foo {\n\n height: calc(100px * 2/ 15);\n height: 'new';\n height: auto;\n }\n}\n`;\n\nconst result = await transform(css, options);\nconsole.debug(result.code);\n\n// @supports (height:30pti) {\n// .foo {\n// height: calc(40px/3);\n// height: auto\n// }\n// }\n```" + }, + { + "kind": "text", + "text": "\n\n## Lenient validation\n\nthe parser is lenient. this means that invalid nodes are kept in the ast but they are not rendered.\nthis behavior can be changed using the [lenient](" + }, + { + "kind": "relative-link", + "text": "../docs/interfaces/node.ParserOptions.html#lenient", + "target": 27, + "targetAnchor": "lenient" + }, + { + "kind": "text", + "text": ") option.\n\n## Validation Errors\n\nvalidation errors are returned with [parse result](" + }, + { + "kind": "relative-link", + "text": "../docs/interfaces/node.ParseResult.html", + "target": 30 + }, + { + "kind": "text", + "text": ") or [transform result](" + }, + { + "kind": "relative-link", + "text": "../docs/interfaces/node.TransformResult.html", + "target": 31 + }, + { + "kind": "text", + "text": ").\ncheck the [typescript definition](" + }, + { + "kind": "relative-link", + "text": "../docs/interfaces/node.ErrorDescription.html", + "target": 32 + }, + { + "kind": "text", + "text": ") of ErrorDescription for more details.\n\n\n" + }, + { + "kind": "code", + "text": "```ts\n\nconsole.debug(result.errors);\n```" }, { "kind": "text", - "text": "). they are called for every token of the specified type.\n\n" + "text": "\n\n## Invalid tokens handling\n\n[bad tokens](" + }, + { + "kind": "relative-link", + "text": "../docs/enums/node.EnumToken.html#badcdotokentype", + "target": 13, + "targetAnchor": "badcdotokentype" + }, + { + "kind": "text", + "text": ") are thrown out during parsing. visitor functions can be used to catch and fix invalid tokens.\n\n" }, { "kind": "code", - "text": "```ts\n\nimport {transform, parse, parseDeclarations} from \"@tbela99/css-parser\";\n\nconst options: ParserOptions = {\n\n inlineCssVariables: true,\n visitor: {\n\n // Stylesheet node visitor\n StyleSheetNodeType: async (node) => {\n\n // insert a new rule\n node.chi.unshift(await parse('html {--base-color: pink}').then(result => result.ast.chi[0]))\n },\n ColorTokenType: (node) => {\n\n // dump all color tokens\n // console.debug(node);\n },\n FunctionTokenType: (node) => {\n\n // dump all function tokens\n // console.debug(node);\n },\n DeclarationNodeType: (node) => {\n\n // dump all declaration nodes\n // console.debug(node);\n }\n }\n};\n\nconst css = `\n\nbody { color: color(from var(--base-color) display-p3 r calc(g + 0.24) calc(b + 0.15)); }\n`;\n\nconsole.debug(await transform(css, options));\n\n// body {color:#f3fff0}\n```" + "text": "```ts\n\nimport {EnumToken, transform, TransformOptions, ValidationLevel} from \"@tbela99/css-parser\";\nconst options: TransformOptions = {\n\n validation: ValidationLevel.All,\n beautify: true,\n removeDuplicateDeclarations: 'height',\n visitor: {\n InvalidRuleTokenType(node) {\n\n console.debug(`> found '${EnumToken[node.typ]}'`);\n },\n InvalidAtRuleTokenType(node) {\n console.debug(`> found '${EnumToken[node.typ]}' in '${node.loc.src}' at ${node.loc.sta.lin}:${node.loc.sta.col}`);\n },\n InvalidDeclarationNodeType(node) {\n console.debug(`> found '${EnumToken[node.typ]}' in '${node.loc.src}' at ${node.loc.sta.lin}:${node.loc.sta.col}`);\n },\n InvalidClassSelectorTokenType(node) {\n console.debug(`> found '${EnumToken[node.typ]}' in '${node.loc.src}' at ${node.loc.sta.lin}:${node.loc.sta.col}`);\n },\n InvalidAttrTokenType(node) {\n console.debug(`> found '${EnumToken[node.typ]}' in '${node.loc.src}' at ${node.loc.sta.lin}:${node.loc.sta.col}`);\n },\n InvalidAtRuleNodeType(node) {\n console.debug(`> found '${EnumToken[node.typ]}' in '${node.loc.src}' at ${node.loc.sta.lin}:${node.loc.sta.col}`);\n }\n }\n};\n\nconst css = `\n\n@supports(height: 30pti) {\n\n .foo {\n\n height: calc(100px * 2/ 15);\n height: 'new';\n height: auto;\n }\n}\n\n@supports(height: 30pti);\n`;\n\nconst result = await transform(css, options);\n\n//> found 'InvalidDeclarationNodeType' in '' at 8:13\n//> found 'InvalidAtRuleTokenType' in '' at 13:1\n\n```" } ], "frontmatter": { "group": "Documents", + "slug": "/validation", "category": "Guides" } } @@ -53110,8 +52361,8 @@ ], "childrenIncludingDocuments": [ 1, - 6, - 31 + 10, + 38 ], "groups": [ { @@ -53123,8 +52374,8 @@ { "title": "Modules", "children": [ - 6, - 31 + 10, + 38 ] } ], @@ -53138,8 +52389,8 @@ { "title": "Other", "children": [ - 6, - 31 + 10, + 38 ] } ], @@ -53147,2062 +52398,1744 @@ "readme": [ { "kind": "text", - "text": "[![playground](https://img.shields.io/badge/playground-try%20it%20now-%230a7398\n)](https://tbela99.github.io/css-parser/playground/) [![npm](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Ftbela99%2Fcss-parser%2Fmaster%2Fpackage.json&query=version&logo=npm&label=npm&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F%40tbela99%2Fcss-parser)](https://www.npmjs.com/package/@tbela99/css-parser) [![npm](https://img.shields.io/jsr/v/%40tbela99/css-parser?link=https%3A%2F%2Fjsr.io%2F%40tbela99%2Fcss-parser\n)](https://jsr.io/@tbela99/css-parser) [![cov](https://tbela99.github.io/css-parser/badges/coverage.svg)](https://github.com/tbela99/css-parser/actions) [![Doc](https://img.shields.io/badge/online-documentation-blue)](https://tbela99.github.io/css-parser/docs) [![NPM Downloads](https://img.shields.io/npm/dm/%40tbela99%2Fcss-parser)](https://www.npmjs.com/package/@tbela99/css-parser) [![bundle size](https://img.shields.io/bundlejs/size/%40tbela99/css-parser%400.9.0?exports=cjs)](https://www.npmjs.com/package/@tbela99/css-parser)\n\n# css-parser\n\nCSS parser and minifier for node and the browser\n\n## Installation\n\nFrom npm\n\n" - }, - { - "kind": "code", - "text": "```shell\n$ npm install @tbela99/css-parser\n```" - }, - { - "kind": "text", - "text": "\n\nfrom jsr\n\n" - }, - { - "kind": "code", - "text": "```shell\n$ deno add @tbela99/css-parser\n```" - }, - { - "kind": "text", - "text": "\n\n## Features\n\n- no dependency\n- CSS validation based upon mdn-data\n- fault-tolerant parser, will try to fix invalid tokens according to the CSS syntax module 3 recommendations.\n- fast and efficient minification without unsafe transforms,\n see [benchmark](https://tbela99.github.io/css-parser/benchmark/index.html)\n- minify colors: color(), lab(), lch(), oklab(), oklch(), color-mix(), light-dark(), system colors and\n relative color\n- generate nested css rules\n- convert nested css rules to legacy syntax\n- convert colors to any supported color format\n- generate sourcemap\n- compute css shorthands. see supported properties list below\n- minify css transform functions\n- evaluate math functions: calc(), clamp(), min(), max(), etc.\n- inline css variables\n- remove duplicate properties\n- flatten @import rules\n- experimental CSS prefix removal\n\n## Online documentation\n\nSee the full documentation at the [CSS Parser](https://tbela99.github.io/css-parser/docs) documentation site\n\n## Playground\n\nTry it [online](https://tbela99.github.io/css-parser/playground/)\n\n## Exports\n\nThere are several ways to import the library into your application.\n\n### Node exports\n\nimport as a module\n\n" - }, - { - "kind": "code", - "text": "```javascript\n\nimport {transform} from '@tbela99/css-parser';\n\n// ...\n```" - }, - { - "kind": "text", - "text": "\n\n### Deno exports\n\nimport as a module\n\n" - }, - { - "kind": "code", - "text": "```javascript\n\nimport {transform} from '@tbela99/css-parser';\n\n// ...\n```" - }, - { - "kind": "text", - "text": "\n\nimport as a CommonJS module\n\n" - }, - { - "kind": "code", - "text": "```javascript\n\nconst {transform} = require('@tbela99/css-parser/cjs');\n\n// ...\n```" - }, - { - "kind": "text", - "text": "\n\n### Web export\n\nProgrammatic import\n\n" - }, - { - "kind": "code", - "text": "```javascript\n\nimport {transform} from '@tbela99/css-parser/web';\n\n// ...\n```" - }, - { - "kind": "text", - "text": "\n\nJavascript module from cdn\n\n" - }, - { - "kind": "code", - "text": "```html\n\n\n```" - }, - { - "kind": "text", - "text": "\n\nJavascript module\n\n" - }, - { - "kind": "code", - "text": "```javascript\n\n\n```" - }, - { - "kind": "text", - "text": "\n\nJavascript umd module from cdn\n\n" - }, - { - "kind": "code", - "text": "```html\n\n\n\n```" - }, - { - "kind": "text", - "text": "\n\n## Transform\n\nParse and render css in a single pass.\n\n### Usage\n\n" - }, - { - "kind": "code", - "text": "```typescript\n\ntransform(css: string | ReadableStream, transformOptions: TransformOptions = {}): TransformResult\nparse(css: string | ReadableStream, parseOptions: ParseOptions = {}): ParseResult;\nrender(ast: AstNode, renderOptions: RenderOptions = {}): RenderResult;\n```" - }, - { - "kind": "text", - "text": "\n\n### Example\n\n" - }, - { - "kind": "code", - "text": "```javascript\n\nimport {transform} from '@tbela99/css-parser';\n\nconst {ast, code, map, errors, stats} = await transform(css, {minify: true, resolveImport: true, cwd: 'files/css'});\n```" - }, - { - "kind": "text", - "text": "\n\n### Example\n\nRead from stdin with node using readable stream\n\n" - }, - { - "kind": "code", - "text": "```typescript\nimport {transform} from \"../src/node\";\nimport {Readable} from \"node:stream\";\nimport type {TransformResult} from '../src/@types/index.d.ts';\n\nconst readableStream: ReadableStream = Readable.toWeb(process.stdin) as ReadableStream;\nconst result: TransformResult = await transform(readableStream, {beautify: true});\n\nconsole.log(result.code);\n```" - }, - { - "kind": "text", - "text": "\n\n### TransformOptions\n\nInclude ParseOptions and RenderOptions\n\n#### ParseOptions\n\n> Minify Options\n\n- minify: boolean, optional. default to _true_. optimize ast.\n- pass: number, optional. minification pass. default to 1\n- nestingRules: boolean, optional. automatically generated nested rules.\n- expandNestingRules: boolean, optional. convert nesting rules into separate rules. will automatically set nestingRules\n to false.\n- removeDuplicateDeclarations: boolean, optional. remove duplicate declarations.\n- computeTransform: boolean, optional. compute css transform functions.\n- computeShorthand: boolean, optional. compute shorthand properties.\n- computeCalcExpression: boolean, optional. evaluate calc() expression\n- inlineCssVariables: boolean, optional. replace some css variables with their actual value. they must be declared once\n in the :root " - }, - { - "kind": "text", - "text": "{" - }, - { - "kind": "text", - "text": "}" - }, - { - "kind": "text", - "text": " or html " - }, - { - "kind": "text", - "text": "{" - }, - { - "kind": "text", - "text": "}" - }, - { - "kind": "text", - "text": " rule.\n- removeEmpty: boolean, optional. remove empty rule lists from the ast.\n\n> CSS Prefix Removal Options\n\n- removePrefix: boolean, optional. remove CSS prefixes.\n\n> Validation Options\n\n- validation: ValidationLevel | boolean, optional. enable validation. permitted values are:\n - ValidationLevel.None: no validation\n - ValidationLevel.Default: validate selectors and at-rules (default)\n - ValidationLevel.All. validate all nodes\n - true: same as ValidationLevel.All.\n - false: same as ValidationLevel.None\n- lenient: boolean, optional. preserve invalid tokens.\n\n> Sourcemap Options\n\n- src: string, optional. original css file location to be used with sourcemap, also used to resolve url().\n- sourcemap: boolean, optional. preserve node location data.\n\n> Ast Traversal Options\n\n- visitor: VisitorNodeMap, optional. node visitor used to transform the ast.\n\n> Urls and @import Options\n\n- resolveImport: boolean, optional. replace @import rule by the content of the referenced stylesheet.\n- resolveUrls: boolean, optional. resolve css 'url()' according to the parameters 'src' and 'cwd'\n\n> Misc Options\n- removeCharset: boolean, optional. remove @charset.\n- cwd: string, optional. destination directory used to resolve url().\n- signal: AbortSignal, optional. abort parsing.\n\n#### RenderOptions\n\n> Minify Options\n\n- beautify: boolean, optional. default to _false_. beautify css output.\n- minify: boolean, optional. default to _true_. minify css values.\n- withParents: boolean, optional. render this node and its parents.\n- removeEmpty: boolean, optional. remove empty rule lists from the ast.\n- expandNestingRules: boolean, optional. expand nesting rules.\n- preserveLicense: boolean, force preserving comments starting with '/\\*!' when minify is enabled.\n- removeComments: boolean, remove comments in generated css.\n- convertColor: boolean | ColorType, convert colors to the specified color. default to ColorType.HEX. supported values are:\n - true: same as ColorType.HEX\n - false: no color conversion\n - ColorType.HEX\n - ColorType.RGB or ColorType.RGBA\n - ColorType.HSL\n - ColorType.HWB\n - ColorType.CMYK or ColorType.DEVICE_CMYK\n - ColorType.SRGB\n - ColorType.SRGB_LINEAR\n - ColorType.DISPLAY_P3\n - ColorType.PROPHOTO_RGB\n - ColorType.A98_RGB\n - ColorType.REC2020\n - ColorType.XYZ or ColorType.XYZ_D65\n - ColorType.XYZ_D50\n - ColorType.LAB\n - ColorType.LCH\n - ColorType.OKLAB\n - ColorType.OKLCH\n\n> Sourcemap Options\n\n- sourcemap: boolean | 'inline', optional. generate sourcemap. \n\n> Misc Options\n\n- indent: string, optional. css indention string. uses space character by default.\n- newLine: string, optional. new line character.\n- output: string, optional. file where to store css. url() are resolved according to the specified value. no file is\n created though.\n- cwd: string, optional. destination directory used to resolve url().\n\n## Parsing\n\n### Usage\n\n" - }, - { - "kind": "code", - "text": "```javascript\n\nparse(css, parseOptions = {})\n```" - }, - { - "kind": "text", - "text": "\n\n### Example\n\n" - }, - { - "kind": "code", - "text": "````javascript\n\nconst {ast, errors, stats} = await parse(css);\n````" - }, - { - "kind": "text", - "text": "\n\n## Rendering\n\n### Usage\n\n" - }, - { - "kind": "code", - "text": "```javascript\nrender(ast, RenderOptions = {});\n```" - }, - { - "kind": "text", - "text": "\n\n### Examples\n\nRendering ast\n\n" - }, - { - "kind": "code", - "text": "```javascript\nimport {parse, render} from '@tbela99/css-parser';\n\nconst css = `\n@media screen and (min-width: 40em) {\n .featurette-heading {\n font-size: 50px;\n }\n .a {\n color: red;\n width: 3px;\n }\n}\n`;\n\nconst result = await parse(css, options);\n\n// print declaration without parents\nconsole.error(render(result.ast.chi[0].chi[1].chi[1], {withParents: false}));\n// -> width:3px\n\n// print declaration with parents\nconsole.debug(render(result.ast.chi[0].chi[1].chi[1], {withParents: true}));\n// -> @media screen and (min-width:40em){.a{width:3px}}\n\n```" - }, - { - "kind": "text", - "text": "\n\n### Convert colors\n\n" - }, - { - "kind": "code", - "text": "```javascript\nimport {transform, ColorType} from '@tbela99/css-parser';\n\n\nconst css = `\n.hsl { color: #b3222280; }\n`;\nconst result: TransformResult = await transform(css, {\n beautify: true,\n convertColor: ColorType.SRGB\n});\n\nconsole.log(result.css);\n\n```" - }, - { - "kind": "text", - "text": "\n\nresult\n\n" - }, - { - "kind": "code", - "text": "```css\n.hsl {\n color: color(srgb .7019607843137254 .13333333333333333 .13333333333333333/50%)\n}\n```" - }, - { - "kind": "text", - "text": "\n\n### Merge similar rules\n\nCSS\n\n" - }, - { - "kind": "code", - "text": "```css\n\n.clear {\n width: 0;\n height: 0;\n color: transparent;\n}\n\n.clearfix:before {\n\n height: 0;\n width: 0;\n}\n```" - }, - { - "kind": "text", - "text": "\n\n" - }, - { - "kind": "code", - "text": "```javascript\n\nimport {transform} from '@tbela99/css-parser';\n\nconst result = await transform(css);\n\n```" - }, - { - "kind": "text", - "text": "\n\nResult\n\n" - }, - { - "kind": "code", - "text": "```css\n.clear, .clearfix:before {\n height: 0;\n width: 0\n}\n\n.clear {\n color: #0000\n}\n```" - }, - { - "kind": "text", - "text": "\n\n### Automatic CSS Nesting\n\nCSS\n\n" - }, - { - "kind": "code", - "text": "```javascript\nconst {parse, render} = require(\"@tbela99/css-parser/cjs\");\n\nconst css = `\ntable.colortable td {\n text-align:center;\n}\ntable.colortable td.c {\n text-transform:uppercase;\n}\ntable.colortable td:first-child, table.colortable td:first-child+td {\n border:1px solid black;\n}\ntable.colortable th {\n text-align:center;\n background:black;\n color:white;\n}\n`;\n\nconst result = await parse(css, {nestingRules: true}).then(result => render(result.ast, {minify: false}).code);\n```" - }, - { - "kind": "text", - "text": "\n\nResult\n\n" - }, - { - "kind": "code", - "text": "```css\ntable.colortable {\n & td {\n text-align: center;\n\n &.c {\n text-transform: uppercase\n }\n\n &:first-child, &:first-child + td {\n border: 1px solid #000\n }\n }\n\n & th {\n text-align: center;\n background: #000;\n color: #fff\n }\n}\n```" - }, - { - "kind": "text", - "text": "\n\n### CSS Validation\n\nCSS\n\n" - }, - { - "kind": "code", - "text": "```css\n\n#404 {\n --animate-duration: 1s;\n}\n\n.s, #404 {\n --animate-duration: 1s;\n}\n\n.s [type=\"text\" {\n --animate-duration: 1s;\n}\n\n.s [type=\"text\"]]\n{\n --animate-duration: 1s;\n}\n\n.s [type=\"text\"] {\n --animate-duration: 1s;\n}\n\n.s [type=\"text\" i] {\n --animate-duration: 1s;\n}\n\n.s [type=\"text\" s]\n{\n --animate-duration: 1s\n;\n}\n\n.s [type=\"text\" b]\n{\n --animate-duration: 1s;\n}\n\n.s [type=\"text\" b],{\n --animate-duration: 1s\n;\n}\n\n.s [type=\"text\" b]\n+ {\n --animate-duration: 1s;\n}\n\n.s [type=\"text\" b]\n+ b {\n --animate-duration: 1s;\n}\n\n.s [type=\"text\" i] + b {\n --animate-duration: 1s;\n}\n\n\n.s [type=\"text\"())]{\n --animate-duration: 1s;\n}\n.s(){\n --animate-duration: 1s;\n}\n.s:focus {\n --animate-duration: 1s;\n}\n```" - }, - { - "kind": "text", - "text": "\n\nwith validation enabled\n\n" - }, - { - "kind": "code", - "text": "```javascript\nimport {parse, render} from '@tbela99/css-parser';\n\nconst options = {minify: true, validate: true};\nconst {code} = await parse(css, options).then(result => render(result.ast, {minify: false}));\n//\nconsole.debug(code);\n```" - }, - { - "kind": "text", - "text": "\n\n" - }, - { - "kind": "code", - "text": "```css\n.s:is([type=text],[type=text i],[type=text s],[type=text i]+b,:focus) {\n --animate-duration: 1s\n}\n```" - }, - { - "kind": "text", - "text": "\n\nwith validation disabled\n\n" - }, - { - "kind": "code", - "text": "```javascript \nimport {parse, render} from '@tbela99/css-parser';\n\nconst options = {minify: true, validate: false};\nconst {code} = await parse(css, options).then(result => render(result.ast, {minify: false}));\n//\nconsole.debug(code);\n```" - }, - { - "kind": "text", - "text": "\n\n" - }, - { - "kind": "code", - "text": "```css\n.s:is([type=text],[type=text i],[type=text s],[type=text b],[type=text b]+b,[type=text i]+b,:focus) {\n --animate-duration: 1s\n}\n```" - }, - { - "kind": "text", - "text": "\n\n### Nested CSS Expansion\n\nCSS\n\n" - }, - { - "kind": "code", - "text": "```css\ntable.colortable {\n & td {\n text-align: center;\n\n &.c {\n text-transform: uppercase\n }\n\n &:first-child, &:first-child + td {\n border: 1px solid #000\n }\n }\n\n & th {\n text-align: center;\n background: #000;\n color: #fff\n }\n}\n```" - }, - { - "kind": "text", - "text": "\n\nJavascript\n\n" - }, - { - "kind": "code", - "text": "```javascript\nimport {parse, render} from '@tbela99/css-parser';\n\nconst options = {minify: true};\nconst {code} = await parse(css, options).then(result => render(result.ast, {minify: false, expandNestingRules: true}));\n//\nconsole.debug(code);\n```" - }, - { - "kind": "text", - "text": "\n\nResult\n\n" - }, - { - "kind": "code", - "text": "```css\n\ntable.colortable td {\n text-align: center;\n}\n\ntable.colortable td.c {\n text-transform: uppercase;\n}\n\ntable.colortable td:first-child, table.colortable td:first-child + td {\n border: 1px solid black;\n}\n\ntable.colortable th {\n text-align: center;\n background: black;\n color: white;\n}\n```" - }, - { - "kind": "text", - "text": "\n\n### Calc() resolution\n\n" + "text": "## Contents\n\n- [About](" }, { - "kind": "code", - "text": "```javascript\n\nimport {parse, render} from '@tbela99/css-parser';\n\nconst css = `\na {\n\nwidth: calc(100px * log(625, 5));\n}\n.foo-bar {\n width: calc(100px * 2);\n height: calc(((75.37% - 63.5px) - 900px) + (2 * 100px));\n max-width: calc(3.5rem + calc(var(--bs-border-width) * 2));\n}\n`;\n\nconst prettyPrint = await parse(css).then(result => render(result.ast, {minify: false}).code);\n\n```" + "kind": "relative-link", + "text": "./about.md", + "target": 1 }, { "kind": "text", - "text": "\n\nresult\n\n" + "text": ")\n- [Features](" }, { - "kind": "code", - "text": "```css\na {\n width: 400px;\n}\n\n.foo-bar {\n width: 200px;\n height: calc(75.37% - 763.5px);\n max-width: calc(3.5rem + var(--bs-border-width) * 2)\n}\n```" + "kind": "relative-link", + "text": "./features.md", + "target": 2 }, { "kind": "text", - "text": "\n\n### CSS variable inlining\n\n" + "text": ")\n- [Installation](" }, { - "kind": "code", - "text": "```javascript\n\nimport {parse, render} from '@tbela99/css-parser';\n\nconst css = `\n\n:root {\n\n--preferred-width: 20px;\n}\n.foo-bar {\n\n width: calc(calc(var(--preferred-width) + 1px) / 3 + 5px);\n height: calc(100% / 4);}\n`\n\nconst prettyPrint = await parse(css, {inlineCssVariables: true}).then(result => render(result.ast, {minify: false}).code);\n\n```" + "kind": "relative-link", + "text": "./install.md", + "target": 3 }, { "kind": "text", - "text": "\n\nresult\n\n" + "text": ")\n- [Usage](" }, { - "kind": "code", - "text": "```css\n.foo-bar {\n width: 12px;\n height: 25%\n}\n\n```" + "kind": "relative-link", + "text": "./usage.md", + "target": 4 }, { "kind": "text", - "text": "\n\n### CSS variable inlining and relative color\n\n" + "text": ")\n- [Minification](" }, { - "kind": "code", - "text": "```javascript\n\nimport {parse, render} from '@tbela99/css-parser';\n\nconst css = `\n\n:root {\n--color: green;\n}\n._19_u :focus {\n color: hsl(from var(--color) calc(h * 2) s l);\n\n}\n`\n\nconst prettyPrint = await parse(css, {inlineCssVariables: true}).then(result => render(result.ast, {minify: false}).code);\n\n```" + "kind": "relative-link", + "text": "./minification.md", + "target": 5 }, { "kind": "text", - "text": "\n\nresult\n\n" + "text": ")\n- [Transform](" }, { - "kind": "code", - "text": "```css\n._19_u :focus {\n color: navy\n}\n\n```" + "kind": "relative-link", + "text": "./transform.md", + "target": 6 }, { "kind": "text", - "text": "\n\n### CSS variable inlining and relative color\n\n" + "text": ")\n- [Ast traversal](" }, { - "kind": "code", - "text": "```javascript\n\nimport {parse, render} from '@tbela99/css-parser';\n\nconst css = `\n\nhtml { --bluegreen: oklab(54.3% -22.5% -5%); }\n.overlay {\n background: oklab(from var(--bluegreen) calc(1.0 - l) calc(a * 0.8) b);\n}\n`\n\nconst prettyPrint = await parse(css, {inlineCssVariables: true}).then(result => render(result.ast, {minify: false}).code);\n\n```" + "kind": "relative-link", + "text": "ast.md", + "target": 7 }, { "kind": "text", - "text": "\n\nresult\n\n" + "text": ")\n- [Validation](" }, { - "kind": "code", - "text": "```css\n.overlay {\n background: #0c6464\n}\n\n```" + "kind": "relative-link", + "text": "./validation.md", + "target": 8 }, { "kind": "text", - "text": "\n\n# Node Walker\n\n" + "text": ")\n\n## Modules\n\n- [Node](" }, { - "kind": "code", - "text": "```javascript\nimport {walk} from '@tbela99/css-parser';\n\nfor (const {node, parent, root} of walk(ast)) {\n\n // do something\n}\n```" + "kind": "relative-link", + "text": "../docs/modules/node.html", + "target": 9 }, { "kind": "text", - "text": "\n\n## AST\n\n### Comment\n\n- typ: number\n- val: string, the comment\n\n### Declaration\n\n- typ: number\n- nam: string, declaration name\n- val: array of tokens\n\n### Rule\n\n- typ: number\n- sel: string, css selector\n- chi: array of children\n\n### AtRule\n\n- typ: number\n- nam: string. AtRule name\n- val: rule prelude\n\n### AtRuleStyleSheet\n\n- typ: number\n- chi: array of children\n\n### KeyFrameRule\n\n- typ: number\n- sel: string, css selector\n- chi: array of children\n\n## Sourcemap\n\n- [x] sourcemap generation\n\n## Minification\n\n- [x] minify keyframes\n- [x] minify transform functions\n- [x] evaluate math functions calc(), clamp(), min(), max(), round(), mod(), rem(), sin(), cos(), tan(), asin(),\n acos(), atan(), atan2(), pow(), sqrt(), hypot(), log(), exp(), abs(), sign()\n- [x] minify colors\n- [x] minify numbers and Dimensions tokens\n- [x] multi-pass minification\n- [x] inline css variables\n- [x] merge identical rules\n- [x] merge adjacent rules\n- [x] compute shorthand: see the list below\n- [x] remove redundant declarations\n- [x] conditionally unwrap :is()\n- [x] automatic css nesting\n- [x] automatically wrap selectors using :is()\n- [x] avoid reparsing (declarations, selectors, at-rule)\n- [x] node and browser versions\n- [x] decode and replace utf-8 escape sequence\n- [x] experimental CSS prefix removal\n\n## Computed shorthands properties\n\n- [ ] ~all~\n- [x] animation\n- [x] background\n- [x] border\n- [ ] border-block-end\n- [ ] border-block-start\n- [x] border-bottom\n- [x] border-color\n- [ ] border-image\n- [ ] border-inline-end\n- [ ] border-inline-start\n- [x] border-left\n- [x] border-radius\n- [x] border-right\n- [x] border-style\n- [x] border-top\n- [x] border-width\n- [x] column-rule\n- [x] columns\n- [x] container\n- [ ] contain-intrinsic-size\n- [x] flex\n- [x] flex-flow\n- [x] font\n- [ ] font-synthesis\n- [ ] font-variant\n- [x] gap\n- [ ] grid\n- [ ] grid-area\n- [ ] grid-column\n- [ ] grid-row\n- [ ] grid-template\n- [x] inset\n- [x] list-style\n- [x] margin\n- [ ] mask\n- [ ] offset\n- [x] outline\n- [x] overflow\n- [x] padding\n- [ ] place-content\n- [ ] place-items\n- [ ] place-self\n- [ ] scroll-margin\n- [ ] scroll-padding\n- [ ] scroll-timeline\n- [x] text-decoration\n- [x] text-emphasis\n- [x] transition\n\n## Performance\n\n- [x] flatten @import\n\n## Node Transformation\n\nAst can be transformed using node visitors\n\n### Exemple 1: Declaration\n\nthe visitor is called for any declaration encountered\n\n" + "text": ")\n- [Web](" }, { - "kind": "code", - "text": "```typescript\n\nimport {AstDeclaration, ParserOptions} from \"../src/@types\";\n\nconst options: ParserOptions = {\n\n visitor: {\n\n Declaration: (node: AstDeclaration) => {\n\n if (node.nam == '-webkit-transform') {\n\n node.nam = 'transform'\n }\n }\n }\n}\n\nconst css = `\n\n.foo {\n -webkit-transform: scale(calc(100 * 2/ 15));\n}\n`;\n\nconsole.debug(await transform(css, options));\n\n// .foo{transform:scale(calc(40/3))}\n```" + "kind": "relative-link", + "text": "../docs/modules/web.html", + "target": 10 }, { "kind": "text", - "text": "\n\n### Exemple 2: Declaration\n\nthe visitor is called only on 'height' declarations\n\n" - }, - { - "kind": "code", - "text": "```typescript\n\nimport {AstDeclaration, LengthToken, ParserOptions} from \"../src/@types\";\nimport {EnumToken} from \"../src/lib\";\nimport {transform} from \"../src/node\";\n\nconst options: ParserOptions = {\n\n visitor: {\n\n Declaration: {\n\n // called only for height declaration\n height: (node: AstDeclaration): AstDeclaration[] => {\n\n\n return [\n node,\n {\n\n typ: EnumToken.DeclarationNodeType,\n nam: 'width',\n val: [\n {\n typ: EnumToken.LengthTokenType,\n val: 3,\n unit: 'px'\n }\n ]\n }\n ];\n }\n }\n }\n};\n\nconst css = `\n\n.foo {\n height: calc(100px * 2/ 15);\n}\n.selector {\ncolor: lch(from peru calc(l * 0.8) calc(c * 0.7) calc(h + 180)) \n}\n`;\n\nconsole.debug(await transform(css, options));\n\n// .foo{height:calc(40px/3);width:3px}.selector{color:#0880b0}\n\n```" - }, - { - "kind": "text", - "text": "\n\n### Exemple 3: At-Rule\n\nthe visitor is called on any at-rule\n\n" - }, - { - "kind": "code", - "text": "```typescript\n\nimport {AstAtRule, ParserOptions} from \"../src/@types\";\nimport {transform} from \"../src/node\";\n\n\nconst options: ParserOptions = {\n\n visitor: {\n\n AtRule: (node: AstAtRule): AstAtRule => {\n\n if (node.nam == 'media') {\n\n return {...node, val: 'all'}\n }\n }\n }\n};\n\nconst css = `\n\n@media screen {\n \n .foo {\n\n height: calc(100px * 2/ 15); \n } \n}\n`;\n\nconsole.debug(await transform(css, options));\n\n// .foo{height:calc(40px/3)}\n\n```" - }, - { - "kind": "text", - "text": "\n\n### Exemple 4: At-Rule\n\nthe visitor is called only for at-rule media\n\n" - }, - { - "kind": "code", - "text": "```typescript\n\nimport {AstAtRule, ParserOptions} from \"../src/@types\";\nimport {transform} from \"../src/node\";\n\nconst options: ParserOptions = {\n\n visitor: {\n\n AtRule: {\n\n media: (node: AstAtRule): AstAtRule => {\n\n node.val = 'all';\n return node\n }\n }\n }\n};\n\nconst css = `\n\n@media screen {\n \n .foo {\n\n height: calc(100px * 2/ 15); \n } \n}\n`;\n\nconsole.debug(await transform(css, options));\n\n// .foo{height:calc(40px/3)}\n\n```" - }, - { - "kind": "text", - "text": "\n\n### Exemple 5: Rule\n\nthe visitor is called on any Rule\n\n" - }, - { - "kind": "code", - "text": "```typescript\n\nimport {AstAtRule, ParserOptions} from \"../src/@types\";\nimport {transform} from \"../src/node\";\n\nconst options: ParserOptions = {\n\n visitor: {\n\n\n Rule(node: AstRule): AstRule {\n\n return {...node, sel: '.foo,.bar,.fubar'};\n }\n }\n};\n\nconst css = `\n\n .foo {\n\n height: calc(100px * 2/ 15); \n } \n`;\n\nconsole.debug(await transform(css, options));\n\n// .foo,.bar,.fubar{height:calc(40px/3)}\n\n```" - }, - { - "kind": "text", - "text": "\n\n### Exemple 6: Rule\n\nAdding declarations to any rule\n\n" - }, - { - "kind": "code", - "text": "```typescript\n\nimport {transform} from \"../src/node\";\nimport {AstRule, ParserOptions} from \"../src/@types\";\nimport {parseDeclarations} from \"../src/lib\";\n\nconst options: ParserOptions = {\n\n removeEmpty: false,\n visitor: {\n\n Rule: async (node: AstRule): Promise => {\n\n if (node.sel == '.foo') {\n\n node.chi.push(...await parseDeclarations('width: 3px'));\n return node;\n }\n\n return null;\n }\n }\n};\n\nconst css = `\n\n.foo {\n}\n`;\n\nconsole.debug(await transform(css, options));\n\n// .foo{width:3px}\n\n```" + "text": ")\n\n## Misc\n\n- [Playground](https://tbela99.github.io/css-parser/playground/)\n- [Benchmark](https://tbela99.github.io/css-parser/benchmark/index.html)" } ], "symbolIdMap": { - "6": { + "10": { "packageName": "@tbela99/css-parser", "packagePath": "src/node.ts", "qualifiedName": "" }, - "11": { + "16": { "packageName": "@tbela99/css-parser", "packagePath": "src/node.ts", "qualifiedName": "render" }, - "12": { + "17": { "packageName": "@tbela99/css-parser", "packagePath": "src/node.ts", "qualifiedName": "render" }, - "13": { + "18": { "packageName": "@tbela99/css-parser", "packagePath": "src/node.ts", "qualifiedName": "data" }, - "14": { + "19": { "packageName": "@tbela99/css-parser", "packagePath": "src/node.ts", "qualifiedName": "options" }, - "15": { + "20": { "packageName": "@tbela99/css-parser", "packagePath": "src/node.ts", "qualifiedName": "parseFile" }, - "16": { + "21": { "packageName": "@tbela99/css-parser", "packagePath": "src/node.ts", "qualifiedName": "parseFile" }, - "17": { + "22": { "packageName": "@tbela99/css-parser", "packagePath": "src/node.ts", "qualifiedName": "file" }, - "18": { + "23": { "packageName": "@tbela99/css-parser", "packagePath": "src/node.ts", "qualifiedName": "options" }, - "19": { + "24": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/node.ts", + "qualifiedName": "asStream" + }, + "25": { "packageName": "@tbela99/css-parser", "packagePath": "src/node.ts", "qualifiedName": "parse" }, - "20": { + "26": { "packageName": "@tbela99/css-parser", "packagePath": "src/node.ts", "qualifiedName": "parse" }, - "21": { + "27": { "packageName": "@tbela99/css-parser", "packagePath": "src/node.ts", "qualifiedName": "stream" }, - "22": { + "28": { "packageName": "@tbela99/css-parser", "packagePath": "src/node.ts", "qualifiedName": "options" }, - "23": { + "29": { "packageName": "@tbela99/css-parser", "packagePath": "src/node.ts", "qualifiedName": "transformFile" }, - "24": { + "30": { "packageName": "@tbela99/css-parser", "packagePath": "src/node.ts", "qualifiedName": "transformFile" }, - "25": { + "31": { "packageName": "@tbela99/css-parser", "packagePath": "src/node.ts", "qualifiedName": "file" }, - "26": { + "32": { "packageName": "@tbela99/css-parser", "packagePath": "src/node.ts", "qualifiedName": "options" }, - "27": { + "33": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/node.ts", + "qualifiedName": "asStream" + }, + "34": { "packageName": "@tbela99/css-parser", "packagePath": "src/node.ts", "qualifiedName": "transform" }, - "28": { + "35": { "packageName": "@tbela99/css-parser", "packagePath": "src/node.ts", "qualifiedName": "transform" }, - "29": { + "36": { "packageName": "@tbela99/css-parser", "packagePath": "src/node.ts", "qualifiedName": "css" }, - "30": { + "37": { "packageName": "@tbela99/css-parser", "packagePath": "src/node.ts", "qualifiedName": "options" }, - "31": { + "38": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "" }, - "36": { + "44": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "render" }, - "37": { + "45": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "render" }, - "38": { + "46": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "data" }, - "39": { + "47": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "options" }, - "40": { + "48": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "parseFile" }, - "41": { + "49": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "parseFile" }, - "42": { + "50": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "file" }, - "43": { + "51": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "options" }, - "44": { + "52": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/web.ts", + "qualifiedName": "asStream" + }, + "53": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "parse" }, - "45": { + "54": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "parse" }, - "46": { + "55": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "stream" }, - "47": { + "56": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "options" }, - "48": { + "57": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "transformFile" }, - "49": { + "58": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "transformFile" }, - "50": { + "59": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "file" }, - "51": { + "60": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "options" }, - "52": { + "61": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/web.ts", + "qualifiedName": "asStream" + }, + "62": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "transform" }, - "53": { + "63": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "transform" }, - "54": { + "64": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "css" }, - "55": { + "65": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "options" }, - "56": { + "66": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ErrorDescription" }, - "57": { + "67": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ErrorDescription.action" }, - "58": { + "68": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ErrorDescription.message" }, - "59": { + "69": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ErrorDescription.syntax" }, - "60": { + "70": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ErrorDescription.node" }, - "61": { + "71": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ErrorDescription.location" }, - "62": { + "72": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ErrorDescription.error" }, - "63": { + "73": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ErrorDescription.rawTokens" }, - "64": { + "74": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ValidationOptions" }, - "65": { + "75": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ValidationOptions.validation" }, - "66": { + "76": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ValidationOptions.lenient" }, - "73": { + "83": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions" }, - "74": { + "84": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.minify" }, - "75": { + "85": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.parseColor" }, - "76": { + "86": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.nestingRules" }, - "77": { + "87": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.removeDuplicateDeclarations" }, - "78": { + "88": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.computeShorthand" }, - "79": { + "89": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.computeTransform" }, - "80": { + "90": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.computeCalcExpression" }, - "81": { + "91": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.inlineCssVariables" }, - "82": { + "92": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.removeEmpty" }, - "83": { + "93": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.removePrefix" }, - "84": { + "94": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.pass" }, - "85": { + "95": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "LoadResult" }, - "86": { + "96": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyFeatureOptions" }, - "88": { + "98": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyFeature" }, - "89": { + "99": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/@types/index.d.ts", + "qualifiedName": "MinifyFeature.accept" + }, + "100": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyFeature.ordering" }, - "90": { + "101": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyFeature.processMode" }, - "91": { + "102": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyFeature.register" }, - "92": { + "103": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "93": { + "104": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "94": { + "105": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "options" }, - "95": { + "106": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyFeature.run" }, - "96": { + "107": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "97": { + "108": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "98": { + "109": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ast" }, - "99": { + "110": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "options" }, - "100": { + "111": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "parent" }, - "101": { + "112": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "context" }, - "102": { + "113": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "103": { + "114": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type.__index" }, - "105": { + "116": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "mode" }, - "106": { + "117": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ResolvedPath" }, - "107": { + "118": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ResolvedPath.absolute" }, - "108": { + "119": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ResolvedPath.relative" }, - "109": { + "120": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParseResultStats" }, - "110": { + "121": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParseResultStats.src" }, - "111": { + "122": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParseResultStats.bytesIn" }, - "112": { + "123": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParseResultStats.importedBytesIn" }, - "113": { + "124": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParseResultStats.parse" }, - "114": { + "125": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParseResultStats.minify" }, - "115": { + "126": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParseResultStats.total" }, - "116": { + "127": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParseResultStats.imports" }, - "117": { + "128": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/@types/index.d.ts", + "qualifiedName": "ParseResultStats.nodesCount" + }, + "129": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/@types/index.d.ts", + "qualifiedName": "ParseResultStats.tokensCount" + }, + "130": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParseTokenOptions" }, - "118": { + "131": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.src" }, - "119": { + "132": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.sourcemap" }, - "120": { + "133": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.removeCharset" }, - "121": { + "134": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.resolveImport" }, - "122": { + "135": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.cwd" }, - "123": { + "136": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.expandNestingRules" }, - "124": { + "137": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.load" }, - "125": { + "138": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "126": { + "139": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "127": { + "140": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "url" }, - "128": { + "141": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "currentUrl" }, - "133": { + "142": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/@types/index.d.ts", + "qualifiedName": "asStream" + }, + "147": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.resolveUrls" }, - "134": { + "148": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.resolve" }, - "135": { + "149": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "136": { + "150": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "137": { + "151": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "url" }, - "138": { + "152": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "currentUrl" }, - "139": { + "153": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "currentWorkingDirectory" }, - "140": { + "154": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "141": { + "155": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type.absolute" }, - "142": { + "156": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type.relative" }, - "143": { + "157": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.visitor" }, - "144": { + "158": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.signal" }, - "147": { + "161": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.minify" }, - "148": { + "162": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.parseColor" }, - "149": { + "163": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.nestingRules" }, - "150": { + "164": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.removeDuplicateDeclarations" }, - "151": { + "165": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.computeShorthand" }, - "152": { + "166": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.computeTransform" }, - "153": { + "167": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.computeCalcExpression" }, - "154": { + "168": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.inlineCssVariables" }, - "155": { + "169": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.removeEmpty" }, - "156": { + "170": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.removePrefix" }, - "157": { + "171": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.pass" }, - "159": { + "173": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ValidationOptions.validation" }, - "160": { + "174": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ValidationOptions.lenient" }, - "167": { + "181": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "TokenizeResult" }, - "168": { + "182": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "TokenizeResult.token" }, - "169": { + "183": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "TokenizeResult.len" }, - "170": { + "184": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "TokenizeResult.hint" }, - "171": { + "185": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "TokenizeResult.sta" }, - "172": { + "186": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "TokenizeResult.end" }, - "173": { + "187": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "TokenizeResult.bytesIn" }, - "174": { + "188": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MatchedSelector" }, - "175": { + "189": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MatchedSelector.match" }, - "176": { + "190": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MatchedSelector.selector1" }, - "177": { + "191": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MatchedSelector.selector2" }, - "178": { + "192": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MatchedSelector.eq" }, - "179": { + "193": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "VariableScopeInfo" }, - "180": { + "194": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "VariableScopeInfo.globalScope" }, - "181": { + "195": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "VariableScopeInfo.parent" }, - "182": { + "196": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "VariableScopeInfo.declarationCount" }, - "183": { + "197": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "VariableScopeInfo.replaceable" }, - "184": { + "198": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "VariableScopeInfo.node" }, - "185": { + "199": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "VariableScopeInfo.values" }, - "186": { + "200": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "SourceMapObject" }, - "187": { + "201": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "SourceMapObject.version" }, - "188": { + "202": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "SourceMapObject.file" }, - "189": { + "203": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "SourceMapObject.sourceRoot" }, - "190": { + "204": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "SourceMapObject.sources" }, - "191": { + "205": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "SourceMapObject.sourcesContent" }, - "192": { + "206": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "SourceMapObject.names" }, - "193": { + "207": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "SourceMapObject.mappings" }, - "194": { + "208": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "Position" }, - "195": { + "209": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "Position.ind" }, - "196": { + "210": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "Position.lin" }, - "197": { + "211": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "Position.col" }, - "198": { + "212": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "Location" }, - "199": { + "213": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "Location.sta" }, - "200": { + "214": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "Location.end" }, - "201": { + "215": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "Location.src" }, - "202": { + "216": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken" }, - "203": { + "217": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.typ" }, - "204": { + "218": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "205": { + "219": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "206": { + "220": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "208": { + "222": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstComment" }, - "209": { + "223": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstComment.typ" }, - "210": { + "224": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "AstComment.val" + "qualifiedName": "AstComment.tokens" }, - "211": { + "225": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.loc" + "qualifiedName": "AstComment.val" }, - "212": { + "226": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.tokens" + "qualifiedName": "BaseToken.loc" }, - "213": { + "227": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "215": { + "229": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstDeclaration" }, - "216": { + "230": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstDeclaration.nam" }, - "217": { + "231": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "AstDeclaration.val" + "qualifiedName": "AstDeclaration.tokens" }, - "218": { + "232": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "AstDeclaration.typ" + "qualifiedName": "AstDeclaration.val" }, - "219": { + "233": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.loc" + "qualifiedName": "AstDeclaration.typ" }, - "220": { + "234": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.tokens" + "qualifiedName": "BaseToken.loc" }, - "221": { + "235": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "223": { + "237": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstRule" }, - "224": { + "238": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstRule.typ" }, - "225": { + "239": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstRule.sel" }, - "226": { + "240": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstRule.chi" }, - "227": { + "241": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstRule.optimized" }, - "228": { + "242": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstRule.raw" }, - "229": { + "243": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "230": { + "244": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "231": { + "245": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "233": { + "247": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstInvalidRule" }, - "234": { + "248": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstInvalidRule.typ" }, - "235": { + "249": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstInvalidRule.sel" }, - "236": { + "250": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstInvalidRule.chi" }, - "237": { + "251": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "238": { + "252": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "239": { + "253": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "241": { + "255": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstInvalidDeclaration" }, - "242": { + "256": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstInvalidDeclaration.typ" }, - "243": { + "257": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "AstInvalidDeclaration.val" + "qualifiedName": "AstInvalidDeclaration.tokens" }, - "244": { + "258": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.loc" + "qualifiedName": "AstInvalidDeclaration.val" }, - "245": { + "259": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.tokens" + "qualifiedName": "BaseToken.loc" }, - "246": { + "260": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "248": { + "262": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstInvalidAtRule" }, - "249": { + "263": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstInvalidAtRule.typ" }, - "250": { + "264": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstInvalidAtRule.nam" }, - "251": { + "265": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstInvalidAtRule.val" }, - "252": { + "266": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstInvalidAtRule.chi" }, - "253": { + "267": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "254": { + "268": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "255": { + "269": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "257": { + "271": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstKeyFrameRule" }, - "258": { + "272": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstKeyFrameRule.typ" }, - "259": { + "273": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstKeyFrameRule.sel" }, - "260": { + "274": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstKeyFrameRule.chi" }, - "261": { + "275": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstKeyFrameRule.optimized" }, - "262": { + "276": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstKeyFrameRule.raw" }, - "263": { + "277": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstKeyFrameRule.tokens" }, - "264": { + "278": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "265": { + "279": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "267": { + "281": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "RawSelectorTokens" }, - "278": { + "292": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstAtRule" }, - "279": { + "293": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstAtRule.typ" }, - "280": { + "294": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstAtRule.nam" }, - "281": { + "295": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstAtRule.val" }, - "282": { + "296": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstAtRule.chi" }, - "283": { + "297": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "284": { + "298": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "285": { + "299": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "287": { + "301": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstKeyframesRule" }, - "288": { + "302": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstKeyframesRule.typ" }, - "289": { + "303": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstKeyframesRule.sel" }, - "290": { + "304": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstKeyframesRule.chi" }, - "291": { + "305": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstKeyframesRule.optimized" }, - "292": { + "306": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstKeyframesRule.raw" }, - "293": { + "307": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "294": { + "308": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "295": { + "309": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "297": { + "311": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstKeyframesAtRule" }, - "298": { + "312": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstKeyframesAtRule.typ" }, - "299": { + "313": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstKeyframesAtRule.nam" }, - "300": { + "314": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstKeyframesAtRule.val" }, - "301": { + "315": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstKeyframesAtRule.chi" }, - "302": { + "316": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "303": { + "317": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "304": { + "318": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "306": { + "320": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstRuleList" }, - "307": { - "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "AstRuleList.typ" - }, - "308": { - "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "AstRuleList.chi" - }, - "309": { - "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.loc" - }, - "310": { - "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.tokens" - }, - "311": { - "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.parent" - }, - "313": { + "321": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstStyleSheet" }, - "314": { + "322": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstStyleSheet.typ" }, - "315": { + "323": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstStyleSheet.chi" }, - "316": { + "324": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstStyleSheet.tokens" }, - "317": { + "325": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "318": { + "326": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "320": { + "328": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "LiteralToken" }, - "321": { + "329": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "LiteralToken.typ" }, - "322": { + "330": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "LiteralToken.val" }, - "323": { + "331": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "324": { + "332": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "325": { + "333": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "327": { + "335": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ClassSelectorToken" }, - "328": { + "336": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ClassSelectorToken.typ" }, - "329": { + "337": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ClassSelectorToken.val" }, - "330": { + "338": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "331": { + "339": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "332": { + "340": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "334": { + "342": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "InvalidClassSelectorToken" }, - "335": { + "343": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "InvalidClassSelectorToken.typ" }, - "336": { + "344": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "InvalidClassSelectorToken.val" }, - "337": { + "345": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "338": { + "346": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "339": { + "347": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "341": { + "349": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "UniversalSelectorToken" }, - "342": { + "350": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "UniversalSelectorToken.typ" }, - "343": { + "351": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "344": { + "352": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "345": { + "353": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "347": { + "355": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "IdentToken" }, - "348": { + "356": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "IdentToken.typ" }, - "349": { + "357": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "IdentToken.val" }, - "350": { + "358": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "351": { + "359": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "352": { + "360": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "354": { + "362": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "IdentListToken" }, - "355": { + "363": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "IdentListToken.typ" }, - "356": { + "364": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "IdentListToken.val" }, - "357": { + "365": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "358": { + "366": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "359": { + "367": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "361": { + "369": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "DashedIdentToken" }, - "362": { + "370": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "DashedIdentToken.typ" }, - "363": { + "371": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "DashedIdentToken.val" }, - "364": { + "372": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "365": { + "373": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "366": { + "374": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "368": { + "376": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "CommaToken" }, - "369": { + "377": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "CommaToken.typ" }, - "370": { + "378": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "371": { + "379": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "372": { + "380": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "374": { + "382": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ColonToken" }, - "375": { + "383": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ColonToken.typ" }, - "376": { + "384": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "377": { + "385": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "378": { + "386": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "380": { + "388": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "SemiColonToken" }, - "381": { + "389": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "SemiColonToken.typ" }, - "382": { + "390": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "383": { + "391": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "384": { + "392": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "386": { + "394": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "NestingSelectorToken" }, - "387": { + "395": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "NestingSelectorToken.typ" }, - "388": { - "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.loc" - }, - "389": { - "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.tokens" - }, - "390": { - "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.parent" - }, - "392": { - "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/token.d.ts", - "qualifiedName": "NumberToken" - }, - "393": { - "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/token.d.ts", - "qualifiedName": "NumberToken.typ" - }, - "394": { - "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/token.d.ts", - "qualifiedName": "NumberToken.val" - }, - "395": { + "396": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "396": { + "397": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "397": { + "398": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "399": { - "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/token.d.ts", - "qualifiedName": "AtRuleToken" - }, "400": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "AtRuleToken.typ" + "qualifiedName": "NumberToken" }, "401": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "AtRuleToken.val" + "qualifiedName": "NumberToken.typ" }, "402": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "AtRuleToken.pre" + "qualifiedName": "NumberToken.val" }, "403": { "packageName": "@tbela99/css-parser", @@ -55222,82 +54155,82 @@ "407": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "PercentageToken" + "qualifiedName": "AtRuleToken" }, "408": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "PercentageToken.typ" + "qualifiedName": "AtRuleToken.typ" }, "409": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "PercentageToken.val" + "qualifiedName": "AtRuleToken.val" }, "410": { "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.loc" + "packagePath": "src/@types/token.d.ts", + "qualifiedName": "AtRuleToken.pre" }, "411": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.tokens" + "qualifiedName": "BaseToken.loc" }, "412": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.parent" + "qualifiedName": "BaseToken.tokens" }, - "414": { + "413": { "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/token.d.ts", - "qualifiedName": "FlexToken" + "packagePath": "src/@types/ast.d.ts", + "qualifiedName": "BaseToken.parent" }, "415": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "FlexToken.typ" + "qualifiedName": "PercentageToken" }, "416": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "FlexToken.val" + "qualifiedName": "PercentageToken.typ" }, "417": { "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.loc" + "packagePath": "src/@types/token.d.ts", + "qualifiedName": "PercentageToken.val" }, "418": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.tokens" + "qualifiedName": "BaseToken.loc" }, "419": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.parent" + "qualifiedName": "BaseToken.tokens" }, - "421": { + "420": { "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/token.d.ts", - "qualifiedName": "FunctionToken" + "packagePath": "src/@types/ast.d.ts", + "qualifiedName": "BaseToken.parent" }, "422": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "FunctionToken.typ" + "qualifiedName": "FlexToken" }, "423": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "FunctionToken.val" + "qualifiedName": "FlexToken.typ" }, "424": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "FunctionToken.chi" + "qualifiedName": "FlexToken.val" }, "425": { "packageName": "@tbela99/css-parser", @@ -55317,22 +54250,22 @@ "429": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "GridTemplateFuncToken" + "qualifiedName": "FunctionToken" }, "430": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "GridTemplateFuncToken.typ" + "qualifiedName": "FunctionToken.typ" }, "431": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "GridTemplateFuncToken.val" + "qualifiedName": "FunctionToken.val" }, "432": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "GridTemplateFuncToken.chi" + "qualifiedName": "FunctionToken.chi" }, "433": { "packageName": "@tbela99/css-parser", @@ -55352,22 +54285,22 @@ "437": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "FunctionURLToken" + "qualifiedName": "GridTemplateFuncToken" }, "438": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "FunctionURLToken.typ" + "qualifiedName": "GridTemplateFuncToken.typ" }, "439": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "FunctionURLToken.val" + "qualifiedName": "GridTemplateFuncToken.val" }, "440": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "FunctionURLToken.chi" + "qualifiedName": "GridTemplateFuncToken.chi" }, "441": { "packageName": "@tbela99/css-parser", @@ -55387,22 +54320,22 @@ "445": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "FunctionImageToken" + "qualifiedName": "FunctionURLToken" }, "446": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "FunctionImageToken.typ" + "qualifiedName": "FunctionURLToken.typ" }, "447": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "FunctionImageToken.val" + "qualifiedName": "FunctionURLToken.val" }, "448": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "FunctionImageToken.chi" + "qualifiedName": "FunctionURLToken.chi" }, "449": { "packageName": "@tbela99/css-parser", @@ -55422,22 +54355,22 @@ "453": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "TimingFunctionToken" + "qualifiedName": "FunctionImageToken" }, "454": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "TimingFunctionToken.typ" + "qualifiedName": "FunctionImageToken.typ" }, "455": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "TimingFunctionToken.val" + "qualifiedName": "FunctionImageToken.val" }, "456": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "TimingFunctionToken.chi" + "qualifiedName": "FunctionImageToken.chi" }, "457": { "packageName": "@tbela99/css-parser", @@ -55457,22 +54390,22 @@ "461": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "TimelineFunctionToken" + "qualifiedName": "TimingFunctionToken" }, "462": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "TimelineFunctionToken.typ" + "qualifiedName": "TimingFunctionToken.typ" }, "463": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "TimelineFunctionToken.val" + "qualifiedName": "TimingFunctionToken.val" }, "464": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "TimelineFunctionToken.chi" + "qualifiedName": "TimingFunctionToken.chi" }, "465": { "packageName": "@tbela99/css-parser", @@ -55492,112 +54425,112 @@ "469": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "StringToken" + "qualifiedName": "TimelineFunctionToken" }, "470": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "StringToken.typ" + "qualifiedName": "TimelineFunctionToken.typ" }, "471": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "StringToken.val" + "qualifiedName": "TimelineFunctionToken.val" }, "472": { "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.loc" + "packagePath": "src/@types/token.d.ts", + "qualifiedName": "TimelineFunctionToken.chi" }, "473": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.tokens" + "qualifiedName": "BaseToken.loc" }, "474": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.parent" + "qualifiedName": "BaseToken.tokens" }, - "476": { + "475": { "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/token.d.ts", - "qualifiedName": "BadStringToken" + "packagePath": "src/@types/ast.d.ts", + "qualifiedName": "BaseToken.parent" }, "477": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "BadStringToken.typ" + "qualifiedName": "StringToken" }, "478": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "BadStringToken.val" + "qualifiedName": "StringToken.typ" }, "479": { "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.loc" + "packagePath": "src/@types/token.d.ts", + "qualifiedName": "StringToken.val" }, "480": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.tokens" + "qualifiedName": "BaseToken.loc" }, "481": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.parent" + "qualifiedName": "BaseToken.tokens" }, - "483": { + "482": { "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/token.d.ts", - "qualifiedName": "UnclosedStringToken" + "packagePath": "src/@types/ast.d.ts", + "qualifiedName": "BaseToken.parent" }, "484": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "UnclosedStringToken.typ" + "qualifiedName": "BadStringToken" }, "485": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "UnclosedStringToken.val" + "qualifiedName": "BadStringToken.typ" }, "486": { "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.loc" + "packagePath": "src/@types/token.d.ts", + "qualifiedName": "BadStringToken.val" }, "487": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.tokens" + "qualifiedName": "BaseToken.loc" }, "488": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", - "qualifiedName": "BaseToken.parent" + "qualifiedName": "BaseToken.tokens" }, - "490": { + "489": { "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/token.d.ts", - "qualifiedName": "DimensionToken" + "packagePath": "src/@types/ast.d.ts", + "qualifiedName": "BaseToken.parent" }, "491": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "DimensionToken.typ" + "qualifiedName": "UnclosedStringToken" }, "492": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "DimensionToken.val" + "qualifiedName": "UnclosedStringToken.typ" }, "493": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "DimensionToken.unit" + "qualifiedName": "UnclosedStringToken.val" }, "494": { "packageName": "@tbela99/css-parser", @@ -55617,22 +54550,22 @@ "498": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "LengthToken" + "qualifiedName": "DimensionToken" }, "499": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "LengthToken.typ" + "qualifiedName": "DimensionToken.typ" }, "500": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "LengthToken.val" + "qualifiedName": "DimensionToken.val" }, "501": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "LengthToken.unit" + "qualifiedName": "DimensionToken.unit" }, "502": { "packageName": "@tbela99/css-parser", @@ -55652,22 +54585,22 @@ "506": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "AngleToken" + "qualifiedName": "LengthToken" }, "507": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "AngleToken.typ" + "qualifiedName": "LengthToken.typ" }, "508": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "AngleToken.val" + "qualifiedName": "LengthToken.val" }, "509": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "AngleToken.unit" + "qualifiedName": "LengthToken.unit" }, "510": { "packageName": "@tbela99/css-parser", @@ -55687,22 +54620,22 @@ "514": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "TimeToken" + "qualifiedName": "AngleToken" }, "515": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "TimeToken.typ" + "qualifiedName": "AngleToken.typ" }, "516": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "TimeToken.val" + "qualifiedName": "AngleToken.val" }, "517": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "TimeToken.unit" + "qualifiedName": "AngleToken.unit" }, "518": { "packageName": "@tbela99/css-parser", @@ -55722,22 +54655,22 @@ "522": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "FrequencyToken" + "qualifiedName": "TimeToken" }, "523": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "FrequencyToken.typ" + "qualifiedName": "TimeToken.typ" }, "524": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "FrequencyToken.val" + "qualifiedName": "TimeToken.val" }, "525": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "FrequencyToken.unit" + "qualifiedName": "TimeToken.unit" }, "526": { "packageName": "@tbela99/css-parser", @@ -55757,22 +54690,22 @@ "530": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "ResolutionToken" + "qualifiedName": "FrequencyToken" }, "531": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "ResolutionToken.typ" + "qualifiedName": "FrequencyToken.typ" }, "532": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "ResolutionToken.val" + "qualifiedName": "FrequencyToken.val" }, "533": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "ResolutionToken.unit" + "qualifiedName": "FrequencyToken.unit" }, "534": { "packageName": "@tbela99/css-parser", @@ -55792,2032 +54725,2027 @@ "538": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "HashToken" + "qualifiedName": "ResolutionToken" }, "539": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "HashToken.typ" + "qualifiedName": "ResolutionToken.typ" }, "540": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", - "qualifiedName": "HashToken.val" + "qualifiedName": "ResolutionToken.val" }, "541": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/@types/token.d.ts", + "qualifiedName": "ResolutionToken.unit" + }, + "542": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "542": { + "543": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "543": { + "544": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/@types/ast.d.ts", + "qualifiedName": "BaseToken.parent" + }, + "546": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/@types/token.d.ts", + "qualifiedName": "HashToken" + }, + "547": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/@types/token.d.ts", + "qualifiedName": "HashToken.typ" + }, + "548": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/@types/token.d.ts", + "qualifiedName": "HashToken.val" + }, + "549": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/@types/ast.d.ts", + "qualifiedName": "BaseToken.loc" + }, + "550": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/@types/ast.d.ts", + "qualifiedName": "BaseToken.tokens" + }, + "551": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "545": { + "553": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BlockStartToken" }, - "546": { + "554": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BlockStartToken.typ" }, - "547": { + "555": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "548": { + "556": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "549": { + "557": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "551": { + "559": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BlockEndToken" }, - "552": { + "560": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BlockEndToken.typ" }, - "553": { + "561": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "554": { + "562": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "555": { + "563": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "557": { + "565": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "AttrStartToken" }, - "558": { + "566": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "AttrStartToken.typ" }, - "559": { + "567": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "AttrStartToken.chi" }, - "560": { + "568": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "561": { + "569": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "562": { + "570": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "564": { + "572": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "AttrEndToken" }, - "565": { + "573": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "AttrEndToken.typ" }, - "566": { + "574": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "567": { + "575": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "568": { + "576": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "570": { + "578": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ParensStartToken" }, - "571": { + "579": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ParensStartToken.typ" }, - "572": { + "580": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "573": { + "581": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "574": { + "582": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "576": { + "584": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ParensEndToken" }, - "577": { + "585": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ParensEndToken.typ" }, - "578": { + "586": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "579": { + "587": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "580": { + "588": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "582": { + "590": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ParensToken" }, - "583": { + "591": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ParensToken.typ" }, - "584": { + "592": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ParensToken.chi" }, - "585": { + "593": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "586": { + "594": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "587": { + "595": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "589": { + "597": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "WhitespaceToken" }, - "590": { + "598": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "WhitespaceToken.typ" }, - "591": { + "599": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "592": { + "600": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "593": { + "601": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "595": { + "603": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "CommentToken" }, - "596": { + "604": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "CommentToken.typ" }, - "597": { + "605": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "CommentToken.val" }, - "598": { + "606": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "599": { + "607": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "600": { + "608": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "602": { + "610": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BadCommentToken" }, - "603": { + "611": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BadCommentToken.typ" }, - "604": { + "612": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BadCommentToken.val" }, - "605": { + "613": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "606": { + "614": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "607": { + "615": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "609": { + "617": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "CDOCommentToken" }, - "610": { + "618": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "CDOCommentToken.typ" }, - "611": { + "619": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "CDOCommentToken.val" }, - "612": { + "620": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "613": { + "621": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "614": { + "622": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "616": { + "624": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BadCDOCommentToken" }, - "617": { + "625": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BadCDOCommentToken.typ" }, - "618": { + "626": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BadCDOCommentToken.val" }, - "619": { + "627": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "620": { + "628": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "621": { + "629": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "623": { + "631": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "IncludeMatchToken" }, - "624": { + "632": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "IncludeMatchToken.typ" }, - "625": { + "633": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "626": { + "634": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "627": { + "635": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "629": { + "637": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "DashMatchToken" }, - "630": { + "638": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "DashMatchToken.typ" }, - "631": { + "639": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "632": { + "640": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "633": { + "641": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "635": { + "643": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "EqualMatchToken" }, - "636": { + "644": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "EqualMatchToken.typ" }, - "637": { + "645": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "638": { + "646": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "639": { + "647": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "641": { + "649": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "StartMatchToken" }, - "642": { + "650": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "StartMatchToken.typ" }, - "643": { + "651": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "644": { + "652": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "645": { + "653": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "647": { + "655": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "EndMatchToken" }, - "648": { + "656": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "EndMatchToken.typ" }, - "649": { + "657": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "650": { + "658": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "651": { + "659": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "653": { + "661": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ContainMatchToken" }, - "654": { + "662": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ContainMatchToken.typ" }, - "655": { + "663": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "656": { + "664": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "657": { + "665": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "659": { + "667": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "LessThanToken" }, - "660": { + "668": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "LessThanToken.typ" }, - "661": { + "669": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "662": { + "670": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "663": { + "671": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "665": { + "673": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "LessThanOrEqualToken" }, - "666": { + "674": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "LessThanOrEqualToken.typ" }, - "667": { + "675": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "668": { + "676": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "669": { + "677": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "671": { + "679": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "GreaterThanToken" }, - "672": { + "680": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "GreaterThanToken.typ" }, - "673": { + "681": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "674": { + "682": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "675": { + "683": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "677": { + "685": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "GreaterThanOrEqualToken" }, - "678": { + "686": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "GreaterThanOrEqualToken.typ" }, - "679": { + "687": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "680": { + "688": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "681": { + "689": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "683": { + "691": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ColumnCombinatorToken" }, - "684": { + "692": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ColumnCombinatorToken.typ" }, - "685": { + "693": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "686": { + "694": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "687": { + "695": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "689": { + "697": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "PseudoClassToken" }, - "690": { + "698": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "PseudoClassToken.typ" }, - "691": { + "699": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "PseudoClassToken.val" }, - "692": { + "700": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "693": { + "701": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "694": { + "702": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "696": { + "704": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "PseudoElementToken" }, - "697": { + "705": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "PseudoElementToken.typ" }, - "698": { + "706": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "PseudoElementToken.val" }, - "699": { + "707": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "700": { + "708": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "701": { + "709": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "703": { + "711": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "PseudoPageToken" }, - "704": { + "712": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "PseudoPageToken.typ" }, - "705": { + "713": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "PseudoPageToken.val" }, - "706": { + "714": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "707": { + "715": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "708": { + "716": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "710": { + "718": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "PseudoClassFunctionToken" }, - "711": { + "719": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "PseudoClassFunctionToken.typ" }, - "712": { + "720": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "PseudoClassFunctionToken.val" }, - "713": { + "721": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "PseudoClassFunctionToken.chi" }, - "714": { + "722": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "715": { + "723": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "716": { + "724": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "718": { + "726": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "DelimToken" }, - "719": { + "727": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "DelimToken.typ" }, - "720": { + "728": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "721": { + "729": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "722": { + "730": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "724": { + "732": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BadUrlToken" }, - "725": { + "733": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BadUrlToken.typ" }, - "726": { + "734": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BadUrlToken.val" }, - "727": { + "735": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "728": { + "736": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "729": { + "737": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "731": { + "739": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "UrlToken" }, - "732": { + "740": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "UrlToken.typ" }, - "733": { + "741": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "UrlToken.val" }, - "734": { + "742": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "735": { + "743": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "736": { + "744": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "738": { + "746": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "EOFToken" }, - "739": { + "747": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "EOFToken.typ" }, - "740": { + "748": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "741": { + "749": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "742": { + "750": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "744": { + "752": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ImportantToken" }, - "745": { + "753": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ImportantToken.typ" }, - "746": { + "754": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "747": { + "755": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "748": { + "756": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "750": { + "758": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ColorToken" }, - "751": { + "759": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ColorToken.typ" }, - "752": { + "760": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ColorToken.val" }, - "753": { + "761": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ColorToken.kin" }, - "754": { + "762": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ColorToken.chi" }, - "755": { + "763": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ColorToken.cal" }, - "756": { + "764": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "757": { + "765": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "758": { + "766": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "760": { + "768": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "AttrToken" }, - "761": { + "769": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "AttrToken.typ" }, - "762": { + "770": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "AttrToken.chi" }, - "763": { + "771": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "764": { + "772": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "765": { + "773": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "767": { + "775": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "InvalidAttrToken" }, - "768": { + "776": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "InvalidAttrToken.typ" }, - "769": { + "777": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "InvalidAttrToken.chi" }, - "770": { + "778": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "771": { + "779": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "772": { + "780": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "774": { + "782": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ChildCombinatorToken" }, - "775": { + "783": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ChildCombinatorToken.typ" }, - "776": { + "784": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "777": { + "785": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "778": { + "786": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "780": { + "788": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaFeatureToken" }, - "781": { + "789": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaFeatureToken.typ" }, - "782": { + "790": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaFeatureToken.val" }, - "783": { + "791": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "784": { + "792": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "785": { + "793": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "787": { + "795": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaFeatureNotToken" }, - "788": { + "796": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaFeatureNotToken.typ" }, - "789": { + "797": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaFeatureNotToken.val" }, - "790": { + "798": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "791": { + "799": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "792": { + "800": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "794": { + "802": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaFeatureOnlyToken" }, - "795": { + "803": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaFeatureOnlyToken.typ" }, - "796": { + "804": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaFeatureOnlyToken.val" }, - "797": { + "805": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "798": { + "806": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "799": { + "807": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "801": { + "809": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaFeatureAndToken" }, - "802": { + "810": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaFeatureAndToken.typ" }, - "803": { + "811": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "804": { + "812": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "805": { + "813": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "807": { + "815": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaFeatureOrToken" }, - "808": { + "816": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaFeatureOrToken.typ" }, - "809": { + "817": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "810": { + "818": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "811": { + "819": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "813": { + "821": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaQueryConditionToken" }, - "814": { + "822": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaQueryConditionToken.typ" }, - "815": { + "823": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaQueryConditionToken.l" }, - "816": { + "824": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaQueryConditionToken.op" }, - "817": { + "825": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaQueryConditionToken.r" }, - "818": { + "826": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "819": { + "827": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "820": { + "828": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "822": { + "830": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "DescendantCombinatorToken" }, - "823": { + "831": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "DescendantCombinatorToken.typ" }, - "824": { + "832": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "825": { + "833": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "826": { + "834": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "828": { + "836": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "NextSiblingCombinatorToken" }, - "829": { + "837": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "NextSiblingCombinatorToken.typ" }, - "830": { + "838": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "831": { + "839": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "832": { + "840": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "834": { + "842": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "SubsequentCombinatorToken" }, - "835": { + "843": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "SubsequentCombinatorToken.typ" }, - "836": { + "844": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "837": { + "845": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "838": { + "846": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "840": { + "848": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "AddToken" }, - "841": { + "849": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "AddToken.typ" }, - "842": { + "850": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "843": { + "851": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "844": { + "852": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "846": { + "854": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "SubToken" }, - "847": { + "855": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "SubToken.typ" }, - "848": { + "856": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "849": { + "857": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "850": { + "858": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "852": { + "860": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "DivToken" }, - "853": { + "861": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "DivToken.typ" }, - "854": { + "862": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "855": { + "863": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "856": { + "864": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "858": { + "866": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MulToken" }, - "859": { + "867": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MulToken.typ" }, - "860": { + "868": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "861": { + "869": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "862": { + "870": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "864": { + "872": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "UnaryExpression" }, - "865": { + "873": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "UnaryExpression.typ" }, - "866": { + "874": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "UnaryExpression.sign" }, - "867": { + "875": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "UnaryExpression.val" }, - "868": { + "876": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "869": { + "877": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "870": { + "878": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "872": { + "880": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "FractionToken" }, - "873": { + "881": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "FractionToken.typ" }, - "874": { + "882": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "FractionToken.l" }, - "875": { + "883": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "FractionToken.r" }, - "876": { + "884": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "877": { + "885": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "878": { + "886": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "880": { + "888": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BinaryExpressionToken" }, - "881": { + "889": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BinaryExpressionToken.typ" }, - "882": { + "890": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BinaryExpressionToken.op" }, - "883": { + "891": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BinaryExpressionToken.l" }, - "884": { + "892": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BinaryExpressionToken.r" }, - "885": { + "893": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "886": { + "894": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "887": { + "895": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "889": { + "897": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MatchExpressionToken" }, - "890": { + "898": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MatchExpressionToken.typ" }, - "891": { + "899": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MatchExpressionToken.op" }, - "892": { + "900": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MatchExpressionToken.l" }, - "893": { + "901": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MatchExpressionToken.r" }, - "894": { + "902": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MatchExpressionToken.attr" }, - "895": { + "903": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "896": { + "904": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "897": { + "905": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "899": { + "907": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "NameSpaceAttributeToken" }, - "900": { + "908": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "NameSpaceAttributeToken.typ" }, - "901": { + "909": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "NameSpaceAttributeToken.l" }, - "902": { + "910": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "NameSpaceAttributeToken.r" }, - "903": { + "911": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "904": { + "912": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "905": { + "913": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "907": { + "915": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ListToken" }, - "908": { + "916": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ListToken.typ" }, - "909": { + "917": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ListToken.chi" }, - "910": { + "918": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.loc" }, - "911": { + "919": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.tokens" }, - "912": { + "920": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken.parent" }, - "914": { + "922": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "UnaryExpressionNode" }, - "915": { + "923": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BinaryExpressionNode" }, - "916": { + "924": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "Token" }, - "917": { + "925": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "PropertyType" }, - "918": { + "926": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "PropertyType.shorthand" }, - "919": { + "927": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandPropertyType" }, - "920": { + "928": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandPropertyType.shorthand" }, - "921": { + "929": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandPropertyType.map" }, - "922": { + "930": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandPropertyType.properties" }, - "923": { + "931": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandPropertyType.types" }, - "924": { + "932": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandPropertyType.multiple" }, - "925": { + "933": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandPropertyType.separator" }, - "926": { + "934": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "__type" }, - "927": { + "935": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "__type.typ" }, - "928": { + "936": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "__type.val" }, - "929": { + "937": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandPropertyType.keywords" }, - "930": { + "938": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "PropertySetType" }, - "931": { + "939": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "PropertySetType.__index" }, - "933": { + "941": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "PropertyMapType" }, - "934": { + "942": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "PropertyMapType.default" }, - "935": { + "943": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "PropertyMapType.types" }, - "936": { + "944": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "PropertyMapType.keywords" }, - "937": { + "945": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "PropertyMapType.required" }, - "938": { + "946": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "PropertyMapType.multiple" }, - "939": { + "947": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "PropertyMapType.prefix" }, - "940": { + "948": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "__type" }, - "941": { + "949": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "__type.typ" }, - "942": { + "950": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "__type.val" }, - "943": { + "951": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "PropertyMapType.previous" }, - "944": { + "952": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "PropertyMapType.separator" }, - "945": { + "953": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "__type" }, - "946": { + "954": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "__type.typ" }, - "947": { + "955": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "PropertyMapType.constraints" }, - "948": { + "956": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "__type" }, - "949": { + "957": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "__type.__index" }, - "951": { + "959": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "__type" }, - "952": { + "960": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "__type.__index" }, - "954": { + "962": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "PropertyMapType.mapping" }, - "955": { + "963": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandMapType" }, - "956": { + "964": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandMapType.shorthand" }, - "957": { + "965": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandMapType.pattern" }, - "958": { + "966": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandMapType.keywords" }, - "959": { + "967": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandMapType.default" }, - "960": { + "968": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandMapType.mapping" }, - "961": { + "969": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandMapType.multiple" }, - "962": { + "970": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandMapType.separator" }, - "963": { + "971": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "__type" }, - "964": { + "972": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "__type.typ" }, - "965": { + "973": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "__type.val" }, - "966": { + "974": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandMapType.set" }, - "967": { + "975": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandMapType.properties" }, - "968": { + "976": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "__type" }, - "969": { + "977": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "__type.__index" }, - "971": { + "979": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandProperties" }, - "972": { + "980": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandProperties.types" }, - "973": { + "981": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandProperties.default" }, - "974": { + "982": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandProperties.keywords" }, - "975": { + "983": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandProperties.required" }, - "976": { + "984": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandProperties.multiple" }, - "977": { + "985": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandProperties.constraints" }, - "978": { + "986": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandProperties.mapping" }, - "979": { + "987": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "__type" }, - "980": { + "988": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "__type.__index" }, - "982": { + "990": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandProperties.validation" }, - "983": { + "991": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "__type" }, - "984": { + "992": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "__type.__index" }, - "986": { + "994": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandProperties.prefix" }, - "987": { + "995": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandDef" }, - "988": { + "996": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandDef.shorthand" }, - "989": { + "997": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandDef.pattern" }, - "990": { + "998": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandDef.keywords" }, - "991": { + "999": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandDef.defaults" }, - "992": { + "1000": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandDef.multiple" }, - "993": { + "1001": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandDef.separator" }, - "994": { + "1002": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandType" }, - "995": { + "1003": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandType.shorthand" }, - "996": { + "1004": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandType.properties" }, - "1232": { - "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "VisitorEventType" - }, - "1233": { - "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "GenericVisitorResult" - }, - "1234": { - "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "T" - }, - "1235": { - "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "GenericVisitorHandler" - }, - "1236": { - "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "__type" - }, - "1237": { - "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "__type" - }, - "1238": { - "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "node" - }, - "1239": { - "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "parent" - }, "1240": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "root" + "qualifiedName": "GenericVisitorResult" }, "1241": { "packageName": "@tbela99/css-parser", @@ -57827,7 +56755,7 @@ "1242": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "GenericVisitorAstNodeHandlerMap" + "qualifiedName": "GenericVisitorHandler" }, "1243": { "packageName": "@tbela99/css-parser", @@ -57837,3029 +56765,3064 @@ "1244": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "__type.type" + "qualifiedName": "__type" }, "1245": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "__type.handler" + "qualifiedName": "node" }, "1246": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "T" + "qualifiedName": "parent" }, "1247": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "ValueVisitorHandler" + "qualifiedName": "root" }, "1248": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "DeclarationVisitorHandler" + "qualifiedName": "T" }, "1249": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "RuleVisitorHandler" + "qualifiedName": "GenericVisitorAstNodeHandlerMap" }, "1250": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "AtRuleVisitorHandler" + "qualifiedName": "__type" }, "1251": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "VisitorNodeMap" + "qualifiedName": "__type.type" }, "1252": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "VisitorNodeMap.AtRule" + "qualifiedName": "__type.handler" }, "1253": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "VisitorNodeMap.Declaration" + "qualifiedName": "__type" }, "1254": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "VisitorNodeMap.Rule" + "qualifiedName": "__type.type" }, "1255": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "VisitorNodeMap.KeyframesRule" + "qualifiedName": "__type.handler" }, "1256": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "VisitorNodeMap.KeyframesAtRule" + "qualifiedName": "T" }, "1257": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "VisitorNodeMap.Value" + "qualifiedName": "ValueVisitorHandler" }, "1258": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "__type" + "qualifiedName": "DeclarationVisitorHandler" }, "1259": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "__type.type" + "qualifiedName": "RuleVisitorHandler" }, "1260": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "__type.handler" + "qualifiedName": "AtRuleVisitorHandler" }, "1261": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "VisitorNodeMap.__index" + "qualifiedName": "VisitorNodeMap" + }, + "1262": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/@types/visitor.d.ts", + "qualifiedName": "VisitorNodeMap.AtRule" }, "1263": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "__type" + "qualifiedName": "VisitorNodeMap.Declaration" }, "1264": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "__type.type" + "qualifiedName": "VisitorNodeMap.Rule" }, "1265": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "__type.handler" + "qualifiedName": "VisitorNodeMap.KeyframesRule" }, "1266": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/@types/visitor.d.ts", + "qualifiedName": "VisitorNodeMap.KeyframesAtRule" + }, + "1267": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/@types/visitor.d.ts", + "qualifiedName": "VisitorNodeMap.Value" + }, + "1268": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "WalkerOption" }, - "1267": { + "1269": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "WalkerFilter" }, - "1268": { + "1270": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "__type" }, - "1269": { + "1271": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "__type" }, - "1270": { + "1272": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "node" }, - "1271": { + "1273": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "WalkerValueFilter" }, - "1272": { + "1274": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "__type" }, - "1273": { + "1275": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "__type" }, - "1274": { + "1276": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "node" }, - "1275": { + "1277": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "parent" }, - "1276": { + "1278": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "event" }, - "1277": { + "1279": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "WalkResult" }, - "1278": { + "1280": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "WalkResult.node" }, - "1279": { + "1281": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "WalkResult.parent" }, - "1280": { + "1282": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "WalkResult.root" }, - "1281": { + "1283": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "WalkAttributesResult" }, - "1282": { + "1284": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "WalkAttributesResult.value" }, - "1283": { + "1285": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "WalkAttributesResult.previousValue" }, - "1284": { + "1286": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "WalkAttributesResult.nextValue" }, - "1285": { + "1287": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "WalkAttributesResult.root" }, - "1286": { + "1288": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "WalkAttributesResult.parent" }, - "1287": { + "1289": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/parse.d.ts", "qualifiedName": "PropertyListOptions" }, - "1288": { + "1290": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/parse.d.ts", "qualifiedName": "PropertyListOptions.removeDuplicateDeclarations" }, - "1289": { + "1291": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/parse.d.ts", "qualifiedName": "PropertyListOptions.computeShorthand" }, - "1290": { + "1292": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/parse.d.ts", "qualifiedName": "ParseInfo" }, - "1291": { + "1293": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/parse.d.ts", "qualifiedName": "ParseInfo.buffer" }, - "1292": { + "1294": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/parse.d.ts", "qualifiedName": "ParseInfo.stream" }, - "1293": { + "1295": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/parse.d.ts", "qualifiedName": "ParseInfo.position" }, - "1294": { + "1296": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/parse.d.ts", "qualifiedName": "ParseInfo.currentPosition" }, - "1295": { + "1297": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationSyntaxNode" }, - "1296": { + "1298": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationSyntaxNode.syntax" }, - "1297": { + "1299": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationSyntaxNode.ast" }, - "1298": { + "1300": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationSelectorOptions" }, - "1299": { + "1301": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationSelectorOptions.nestedSelector" }, - "1300": { + "1302": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ValidationOptions.validation" }, - "1301": { + "1303": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ValidationOptions.lenient" }, - "1308": { + "1310": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationConfiguration" }, - "1309": { + "1311": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationConfiguration.declarations" }, - "1310": { + "1312": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationConfiguration.functions" }, - "1311": { + "1313": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationConfiguration.syntaxes" }, - "1312": { + "1314": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationConfiguration.selectors" }, - "1313": { + "1315": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationConfiguration.atRules" }, - "1314": { + "1316": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationResult" }, - "1315": { + "1317": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationResult.valid" }, - "1316": { + "1318": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationResult.node" }, - "1317": { + "1319": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationResult.syntax" }, - "1318": { + "1320": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationResult.error" }, - "1319": { + "1321": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationResult.cycle" }, - "1320": { + "1322": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationSyntaxResult" }, - "1321": { + "1323": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationSyntaxResult.syntax" }, - "1322": { + "1324": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationSyntaxResult.context" }, - "1323": { + "1325": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationResult.valid" }, - "1324": { + "1326": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationResult.node" }, - "1325": { + "1327": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationResult.error" }, - "1326": { + "1328": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationResult.cycle" }, - "1327": { + "1329": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context" }, - "1328": { + "1330": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context.index" }, - "1329": { + "1331": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context.length" }, - "1330": { + "1332": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context.current" }, - "1331": { + "1333": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context.current" }, - "1332": { + "1334": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Type" }, - "1333": { + "1335": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context.update" }, - "1334": { + "1336": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context.update" }, - "1335": { + "1337": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Type" }, - "1336": { + "1338": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "context" }, - "1337": { + "1339": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context.consume" }, - "1338": { + "1340": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context.consume" }, - "1339": { + "1341": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Type" }, - "1340": { + "1342": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "token" }, - "1341": { + "1343": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "howMany" }, - "1342": { + "1344": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context.consume" }, - "1343": { + "1345": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Type" }, - "1344": { + "1346": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "token" }, - "1345": { + "1347": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "howMany" }, - "1346": { + "1348": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context.peek" }, - "1347": { + "1349": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context.peek" }, - "1348": { + "1350": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Type" }, - "1349": { + "1351": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context.next" }, - "1350": { + "1352": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context.next" }, - "1351": { + "1353": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Type" }, - "1352": { + "1354": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context.slice" }, - "1353": { + "1355": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context.slice" }, - "1354": { + "1356": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Type" }, - "1355": { + "1357": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context.clone" }, - "1356": { + "1358": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context.clone" }, - "1357": { + "1359": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Type" }, - "1358": { + "1360": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context.done" }, - "1359": { + "1361": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context.done" }, - "1360": { + "1362": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context.Type" }, - "1361": { + "1363": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ErrorDescription" }, - "1362": { + "1364": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ValidationOptions" }, - "1363": { + "1365": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions" }, - "1364": { + "1366": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "LoadResult" }, - "1365": { + "1367": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyFeatureOptions" }, - "1366": { + "1368": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyFeature" }, - "1367": { + "1369": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ResolvedPath" }, - "1368": { + "1370": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParseResultStats" }, - "1369": { + "1371": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParseTokenOptions" }, - "1370": { + "1372": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "TokenizeResult" }, - "1371": { + "1373": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MatchedSelector" }, - "1372": { + "1374": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "VariableScopeInfo" }, - "1373": { + "1375": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "SourceMapObject" }, - "1374": { + "1376": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "Position" }, - "1375": { + "1377": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "Location" }, - "1376": { + "1378": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "BaseToken" }, - "1377": { + "1379": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstComment" }, - "1378": { + "1380": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstDeclaration" }, - "1379": { + "1381": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstRule" }, - "1380": { + "1382": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstInvalidRule" }, - "1381": { + "1383": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstInvalidDeclaration" }, - "1382": { + "1384": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstInvalidAtRule" }, - "1383": { + "1385": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstKeyFrameRule" }, - "1384": { + "1386": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "RawSelectorTokens" }, - "1387": { + "1389": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstAtRule" }, - "1388": { + "1390": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstKeyframesRule" }, - "1389": { + "1391": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstKeyframesAtRule" }, - "1390": { + "1392": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstRuleList" }, - "1391": { + "1393": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstStyleSheet" }, - "1392": { + "1394": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "LiteralToken" }, - "1393": { + "1395": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ClassSelectorToken" }, - "1394": { + "1396": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "InvalidClassSelectorToken" }, - "1395": { + "1397": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "UniversalSelectorToken" }, - "1396": { + "1398": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "IdentToken" }, - "1397": { + "1399": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "IdentListToken" }, - "1398": { + "1400": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "DashedIdentToken" }, - "1399": { + "1401": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "CommaToken" }, - "1400": { + "1402": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ColonToken" }, - "1401": { + "1403": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "SemiColonToken" }, - "1402": { + "1404": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "NestingSelectorToken" }, - "1403": { + "1405": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "NumberToken" }, - "1404": { + "1406": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "AtRuleToken" }, - "1405": { + "1407": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "PercentageToken" }, - "1406": { + "1408": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "FlexToken" }, - "1407": { + "1409": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "FunctionToken" }, - "1408": { + "1410": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "GridTemplateFuncToken" }, - "1409": { + "1411": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "FunctionURLToken" }, - "1410": { + "1412": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "FunctionImageToken" }, - "1411": { + "1413": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "TimingFunctionToken" }, - "1412": { + "1414": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "TimelineFunctionToken" }, - "1413": { + "1415": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "StringToken" }, - "1414": { + "1416": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BadStringToken" }, - "1415": { + "1417": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "UnclosedStringToken" }, - "1416": { + "1418": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "DimensionToken" }, - "1417": { + "1419": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "LengthToken" }, - "1418": { + "1420": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "AngleToken" }, - "1419": { + "1421": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "TimeToken" }, - "1420": { + "1422": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "FrequencyToken" }, - "1421": { + "1423": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ResolutionToken" }, - "1422": { + "1424": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "HashToken" }, - "1423": { + "1425": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BlockStartToken" }, - "1424": { + "1426": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BlockEndToken" }, - "1425": { + "1427": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "AttrStartToken" }, - "1426": { + "1428": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "AttrEndToken" }, - "1427": { + "1429": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ParensStartToken" }, - "1428": { + "1430": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ParensEndToken" }, - "1429": { + "1431": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ParensToken" }, - "1430": { + "1432": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "WhitespaceToken" }, - "1431": { + "1433": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "CommentToken" }, - "1432": { + "1434": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BadCommentToken" }, - "1433": { + "1435": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "CDOCommentToken" }, - "1434": { + "1436": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BadCDOCommentToken" }, - "1435": { + "1437": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "IncludeMatchToken" }, - "1436": { + "1438": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "DashMatchToken" }, - "1437": { + "1439": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "EqualMatchToken" }, - "1438": { + "1440": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "StartMatchToken" }, - "1439": { + "1441": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "EndMatchToken" }, - "1440": { + "1442": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ContainMatchToken" }, - "1441": { + "1443": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "LessThanToken" }, - "1442": { + "1444": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "LessThanOrEqualToken" }, - "1443": { + "1445": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "GreaterThanToken" }, - "1444": { + "1446": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "GreaterThanOrEqualToken" }, - "1445": { + "1447": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ColumnCombinatorToken" }, - "1446": { + "1448": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "PseudoClassToken" }, - "1447": { + "1449": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "PseudoElementToken" }, - "1448": { + "1450": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "PseudoPageToken" }, - "1449": { + "1451": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "PseudoClassFunctionToken" }, - "1450": { + "1452": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "DelimToken" }, - "1451": { + "1453": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BadUrlToken" }, - "1452": { + "1454": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "UrlToken" }, - "1453": { + "1455": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "EOFToken" }, - "1454": { + "1456": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ImportantToken" }, - "1455": { + "1457": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ColorToken" }, - "1456": { + "1458": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "AttrToken" }, - "1457": { + "1459": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "InvalidAttrToken" }, - "1458": { + "1460": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ChildCombinatorToken" }, - "1459": { + "1461": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaFeatureToken" }, - "1460": { + "1462": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaFeatureNotToken" }, - "1461": { + "1463": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaFeatureOnlyToken" }, - "1462": { + "1464": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaFeatureAndToken" }, - "1463": { + "1465": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaFeatureOrToken" }, - "1464": { + "1466": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MediaQueryConditionToken" }, - "1465": { + "1467": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "DescendantCombinatorToken" }, - "1466": { + "1468": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "NextSiblingCombinatorToken" }, - "1467": { + "1469": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "SubsequentCombinatorToken" }, - "1468": { + "1470": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "AddToken" }, - "1469": { + "1471": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "SubToken" }, - "1470": { + "1472": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "DivToken" }, - "1471": { + "1473": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MulToken" }, - "1472": { + "1474": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "UnaryExpression" }, - "1473": { + "1475": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "FractionToken" }, - "1474": { + "1476": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BinaryExpressionToken" }, - "1475": { + "1477": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "MatchExpressionToken" }, - "1476": { + "1478": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "NameSpaceAttributeToken" }, - "1477": { + "1479": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "ListToken" }, - "1478": { + "1480": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "UnaryExpressionNode" }, - "1479": { + "1481": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "BinaryExpressionNode" }, - "1480": { + "1482": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/token.d.ts", "qualifiedName": "Token" }, - "1481": { + "1483": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "PropertyType" }, - "1482": { + "1484": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandPropertyType" }, - "1483": { + "1485": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "PropertySetType" }, - "1484": { + "1486": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "PropertyMapType" }, - "1485": { + "1487": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandMapType" }, - "1486": { + "1488": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandProperties" }, - "1487": { + "1489": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandDef" }, - "1488": { + "1490": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/shorthand.d.ts", "qualifiedName": "ShorthandType" }, - "1522": { - "packageName": "@tbela99/css-parser", - "packagePath": "src/@types/visitor.d.ts", - "qualifiedName": "VisitorEventType" - }, - "1523": { + "1524": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", "qualifiedName": "GenericVisitorResult" }, - "1524": { + "1525": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", "qualifiedName": "GenericVisitorHandler" }, - "1525": { + "1526": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", "qualifiedName": "GenericVisitorAstNodeHandlerMap" }, - "1526": { + "1527": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", "qualifiedName": "ValueVisitorHandler" }, - "1527": { + "1528": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", "qualifiedName": "DeclarationVisitorHandler" }, - "1528": { + "1529": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", "qualifiedName": "RuleVisitorHandler" }, - "1529": { + "1530": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", "qualifiedName": "AtRuleVisitorHandler" }, - "1530": { + "1531": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/visitor.d.ts", "qualifiedName": "VisitorNodeMap" }, - "1531": { + "1532": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "WalkerOption" }, - "1532": { + "1533": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "WalkerFilter" }, - "1533": { + "1534": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "WalkerValueFilter" }, - "1534": { + "1535": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "WalkResult" }, - "1535": { + "1536": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/walker.d.ts", "qualifiedName": "WalkAttributesResult" }, - "1536": { + "1537": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/parse.d.ts", "qualifiedName": "PropertyListOptions" }, - "1537": { + "1538": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/parse.d.ts", "qualifiedName": "ParseInfo" }, - "1538": { + "1539": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationSyntaxNode" }, - "1539": { + "1540": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationSelectorOptions" }, - "1540": { + "1541": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationConfiguration" }, - "1541": { + "1542": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationResult" }, - "1542": { + "1543": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "ValidationSyntaxResult" }, - "1543": { + "1544": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/validation.d.ts", "qualifiedName": "Context" }, - "1544": { + "1545": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/ast.d.ts", "qualifiedName": "AstNode" }, - "1545": { + "1546": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParseResult" }, - "1546": { + "1547": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParseResult.ast" }, - "1547": { + "1548": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParseResult.errors" }, - "1548": { + "1549": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParseResult.stats" }, - "1549": { + "1550": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions" }, - "1550": { + "1551": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.src" }, - "1551": { + "1552": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.sourcemap" }, - "1552": { + "1553": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.removeCharset" }, - "1553": { + "1554": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.resolveImport" }, - "1554": { + "1555": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.cwd" }, - "1555": { + "1556": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.expandNestingRules" }, - "1556": { + "1557": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.load" }, - "1557": { + "1558": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "1558": { + "1559": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "1559": { + "1560": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "url" }, - "1560": { + "1561": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "currentUrl" }, - "1565": { + "1562": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/@types/index.d.ts", + "qualifiedName": "asStream" + }, + "1567": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.resolveUrls" }, - "1566": { + "1568": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.resolve" }, - "1567": { + "1569": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "1568": { + "1570": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "1569": { + "1571": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "url" }, - "1570": { + "1572": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "currentUrl" }, - "1571": { + "1573": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "currentWorkingDirectory" }, - "1572": { + "1574": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "1573": { + "1575": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type.absolute" }, - "1574": { + "1576": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type.relative" }, - "1575": { + "1577": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.visitor" }, - "1576": { + "1578": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.signal" }, - "1579": { + "1581": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.minify" }, - "1580": { + "1582": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.parseColor" }, - "1581": { + "1583": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.nestingRules" }, - "1582": { + "1584": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.removeDuplicateDeclarations" }, - "1583": { + "1585": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.computeShorthand" }, - "1584": { + "1586": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.computeTransform" }, - "1585": { + "1587": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.computeCalcExpression" }, - "1586": { + "1588": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.inlineCssVariables" }, - "1587": { + "1589": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.removeEmpty" }, - "1588": { + "1590": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.removePrefix" }, - "1589": { + "1591": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.pass" }, - "1591": { + "1593": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ValidationOptions.validation" }, - "1592": { + "1594": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ValidationOptions.lenient" }, - "1599": { + "1601": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions" }, - "1600": { + "1602": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.minify" }, - "1601": { + "1603": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.beautify" }, - "1602": { + "1604": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.removeEmpty" }, - "1603": { + "1605": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.expandNestingRules" }, - "1604": { + "1606": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.preserveLicense" }, - "1605": { + "1607": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.sourcemap" }, - "1606": { + "1608": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.indent" }, - "1607": { + "1609": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.newLine" }, - "1608": { + "1610": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.removeComments" }, - "1609": { + "1611": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.convertColor" }, - "1610": { + "1612": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.withParents" }, - "1611": { + "1613": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.output" }, - "1612": { + "1614": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.cwd" }, - "1613": { + "1615": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.resolve" }, - "1614": { + "1616": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "1615": { + "1617": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "1616": { + "1618": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "url" }, - "1617": { + "1619": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "currentUrl" }, - "1618": { + "1620": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "currentWorkingDirectory" }, - "1619": { + "1621": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderResult" }, - "1620": { + "1622": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderResult.code" }, - "1621": { + "1623": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderResult.errors" }, - "1622": { + "1624": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderResult.stats" }, - "1623": { + "1625": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "1624": { + "1626": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type.total" }, - "1625": { + "1627": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderResult.map" }, - "1626": { + "1628": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "TransformOptions" }, - "1627": { + "1629": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.src" }, - "1628": { + "1630": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.sourcemap" }, - "1629": { + "1631": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.removeCharset" }, - "1630": { + "1632": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.resolveImport" }, - "1631": { + "1633": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.cwd" }, - "1632": { + "1634": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.expandNestingRules" }, - "1633": { + "1635": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.load" }, - "1634": { + "1636": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "1635": { + "1637": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "1636": { + "1638": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "url" }, - "1637": { + "1639": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "currentUrl" }, - "1642": { + "1640": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/@types/index.d.ts", + "qualifiedName": "asStream" + }, + "1645": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.resolveUrls" }, - "1643": { + "1646": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.resolve" }, - "1644": { + "1647": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "1645": { + "1648": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "1646": { + "1649": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "url" }, - "1647": { + "1650": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "currentUrl" }, - "1648": { + "1651": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "currentWorkingDirectory" }, - "1649": { + "1652": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "1650": { + "1653": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type.absolute" }, - "1651": { + "1654": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type.relative" }, - "1652": { + "1655": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.visitor" }, - "1653": { + "1656": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParserOptions.signal" }, - "1656": { + "1659": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.minify" }, - "1657": { + "1660": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.parseColor" }, - "1658": { + "1661": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.nestingRules" }, - "1659": { + "1662": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.removeDuplicateDeclarations" }, - "1660": { + "1663": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.computeShorthand" }, - "1661": { + "1664": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.computeTransform" }, - "1662": { + "1665": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.computeCalcExpression" }, - "1663": { + "1666": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.inlineCssVariables" }, - "1664": { + "1667": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.removeEmpty" }, - "1665": { + "1668": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.removePrefix" }, - "1666": { + "1669": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "MinifyOptions.pass" }, - "1668": { + "1671": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ValidationOptions.validation" }, - "1669": { + "1672": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ValidationOptions.lenient" }, - "1676": { + "1679": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.beautify" }, - "1677": { + "1680": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.preserveLicense" }, - "1678": { + "1681": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.indent" }, - "1679": { + "1682": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.newLine" }, - "1680": { + "1683": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.removeComments" }, - "1681": { + "1684": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.convertColor" }, - "1682": { + "1685": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.withParents" }, - "1683": { + "1686": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderOptions.output" }, - "1684": { + "1687": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "TransformResult" }, - "1685": { + "1688": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "TransformResult.stats" }, - "1686": { + "1689": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type" }, - "1687": { + "1690": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type.src" }, - "1688": { + "1691": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type.bytesIn" }, - "1689": { + "1692": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type.bytesOut" }, - "1690": { + "1693": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type.importedBytesIn" }, - "1691": { + "1694": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type.parse" }, - "1692": { + "1695": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type.minify" }, - "1693": { + "1696": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type.render" }, - "1694": { + "1697": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type.total" }, - "1695": { + "1698": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "__type.imports" }, - "1696": { + "1699": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParseResult.ast" }, - "1697": { + "1700": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "ParseResult.errors" }, - "1698": { + "1701": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderResult.code" }, - "1699": { + "1702": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "RenderResult.map" }, - "1734": { + "1737": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "walk" }, - "1735": { + "1738": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "walk" }, - "1736": { + "1739": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "node" }, - "1737": { + "1740": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "filter" }, - "1738": { + "1741": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "reverse" }, - "1739": { + "1742": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "walkValues" }, - "1740": { + "1743": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "walkValues" }, - "1741": { + "1744": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "values" }, - "1742": { + "1745": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "root" }, - "1743": { + "1746": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "filter" }, - "1744": { + "1747": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "__type" }, - "1745": { + "1748": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "__type.event" }, - "1746": { + "1749": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "__type.fn" }, - "1747": { + "1750": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "__type.type" }, - "1748": { + "1751": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "__type" }, - "1749": { + "1752": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "__type" }, - "1750": { + "1753": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "token" }, - "1751": { + "1754": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "reverse" }, - "1765": { + "1768": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/parser/parse.ts", "qualifiedName": "parseDeclarations" }, - "1766": { + "1769": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/parser/parse.ts", "qualifiedName": "parseDeclarations" }, - "1767": { + "1770": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/parser/parse.ts", "qualifiedName": "declaration" }, - "1768": { + "1771": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken" }, - "1769": { + "1772": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.CommentTokenType" }, - "1770": { + "1773": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.CDOCOMMTokenType" }, - "1771": { + "1774": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.StyleSheetNodeType" }, - "1772": { + "1775": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.AtRuleNodeType" }, - "1773": { + "1776": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.RuleNodeType" }, - "1774": { + "1777": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.DeclarationNodeType" }, - "1775": { + "1778": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.LiteralTokenType" }, - "1776": { + "1779": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.IdenTokenType" }, - "1777": { + "1780": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.DashedIdenTokenType" }, - "1778": { + "1781": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.CommaTokenType" }, - "1779": { + "1782": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.ColonTokenType" }, - "1780": { + "1783": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.SemiColonTokenType" }, - "1781": { + "1784": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.NumberTokenType" }, - "1782": { + "1785": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.AtRuleTokenType" }, - "1783": { + "1786": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.PercentageTokenType" }, - "1784": { + "1787": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.FunctionTokenType" }, - "1785": { + "1788": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.TimelineFunctionTokenType" }, - "1786": { + "1789": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.TimingFunctionTokenType" }, - "1787": { + "1790": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.UrlFunctionTokenType" }, - "1788": { + "1791": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.ImageFunctionTokenType" }, - "1789": { + "1792": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.StringTokenType" }, - "1790": { + "1793": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.UnclosedStringTokenType" }, - "1791": { + "1794": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.DimensionTokenType" }, - "1792": { + "1795": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.LengthTokenType" }, - "1793": { + "1796": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.AngleTokenType" }, - "1794": { + "1797": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.TimeTokenType" }, - "1795": { + "1798": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.FrequencyTokenType" }, - "1796": { + "1799": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.ResolutionTokenType" }, - "1797": { + "1800": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.HashTokenType" }, - "1798": { + "1801": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.BlockStartTokenType" }, - "1799": { + "1802": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.BlockEndTokenType" }, - "1800": { + "1803": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.AttrStartTokenType" }, - "1801": { + "1804": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.AttrEndTokenType" }, - "1802": { + "1805": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.StartParensTokenType" }, - "1803": { + "1806": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.EndParensTokenType" }, - "1804": { + "1807": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.ParensTokenType" }, - "1805": { + "1808": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.WhitespaceTokenType" }, - "1806": { + "1809": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.IncludeMatchTokenType" }, - "1807": { + "1810": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.DashMatchTokenType" }, - "1808": { + "1811": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.EqualMatchTokenType" }, - "1809": { + "1812": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.LtTokenType" }, - "1810": { + "1813": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.LteTokenType" }, - "1811": { + "1814": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.GtTokenType" }, - "1812": { + "1815": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.GteTokenType" }, - "1813": { + "1816": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.PseudoClassTokenType" }, - "1814": { + "1817": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.PseudoClassFuncTokenType" }, - "1815": { + "1818": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.DelimTokenType" }, - "1816": { + "1819": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.UrlTokenTokenType" }, - "1817": { + "1820": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.EOFTokenType" }, - "1818": { + "1821": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.ImportantTokenType" }, - "1819": { + "1822": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.ColorTokenType" }, - "1820": { + "1823": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.AttrTokenType" }, - "1821": { + "1824": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.BadCommentTokenType" }, - "1822": { + "1825": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.BadCdoTokenType" }, - "1823": { + "1826": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.BadUrlTokenType" }, - "1824": { + "1827": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.BadStringTokenType" }, - "1825": { + "1828": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.BinaryExpressionTokenType" }, - "1826": { + "1829": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.UnaryExpressionTokenType" }, - "1827": { + "1830": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.FlexTokenType" }, - "1828": { + "1831": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.ListToken" }, - "1829": { + "1832": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.Add" }, - "1830": { + "1833": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.Mul" }, - "1831": { + "1834": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.Div" }, - "1832": { + "1835": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.Sub" }, - "1833": { + "1836": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.ColumnCombinatorTokenType" }, - "1834": { + "1837": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.ContainMatchTokenType" }, - "1835": { + "1838": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.StartMatchTokenType" }, - "1836": { + "1839": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.EndMatchTokenType" }, - "1837": { + "1840": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.MatchExpressionTokenType" }, - "1838": { + "1841": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.NameSpaceAttributeTokenType" }, - "1839": { + "1842": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.FractionTokenType" }, - "1840": { + "1843": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.IdenListTokenType" }, - "1841": { + "1844": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.GridTemplateFuncTokenType" }, - "1842": { + "1845": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.KeyFramesRuleNodeType" }, - "1843": { + "1846": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.ClassSelectorTokenType" }, - "1844": { + "1847": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.UniversalSelectorTokenType" }, - "1845": { + "1848": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.ChildCombinatorTokenType" }, - "1846": { + "1849": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.DescendantCombinatorTokenType" }, - "1847": { + "1850": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.NextSiblingCombinatorTokenType" }, - "1848": { + "1851": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.SubsequentSiblingCombinatorTokenType" }, - "1849": { + "1852": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.NestingSelectorTokenType" }, - "1850": { + "1853": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.InvalidRuleTokenType" }, - "1851": { + "1854": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.InvalidClassSelectorTokenType" }, - "1852": { + "1855": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.InvalidAttrTokenType" }, - "1853": { + "1856": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.InvalidAtRuleTokenType" }, - "1854": { + "1857": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.MediaQueryConditionTokenType" }, - "1855": { + "1858": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.MediaFeatureTokenType" }, - "1856": { + "1859": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.MediaFeatureOnlyTokenType" }, - "1857": { + "1860": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.MediaFeatureNotTokenType" }, - "1858": { + "1861": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.MediaFeatureAndTokenType" }, - "1859": { + "1862": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.MediaFeatureOrTokenType" }, - "1860": { + "1863": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.PseudoPageTokenType" }, - "1861": { + "1864": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.PseudoElementTokenType" }, - "1862": { + "1865": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.KeyframesAtRuleNodeType" }, - "1863": { + "1866": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.InvalidDeclarationNodeType" }, - "1864": { + "1867": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.Time" }, - "1865": { + "1868": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.Iden" }, - "1866": { + "1869": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.EOF" }, - "1867": { + "1870": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.Hash" }, - "1868": { + "1871": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.Flex" }, - "1869": { + "1872": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.Angle" }, - "1870": { + "1873": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.Color" }, - "1871": { + "1874": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.Comma" }, - "1872": { + "1875": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.String" }, - "1873": { + "1876": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.Length" }, - "1874": { + "1877": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.Number" }, - "1875": { + "1878": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.Perc" }, - "1876": { + "1879": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.Literal" }, - "1877": { + "1880": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.Comment" }, - "1878": { + "1881": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.UrlFunc" }, - "1879": { + "1882": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.Dimension" }, - "1880": { + "1883": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.Frequency" }, - "1881": { + "1884": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.Resolution" }, - "1882": { + "1885": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.Whitespace" }, - "1883": { + "1886": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.IdenList" }, - "1884": { + "1887": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.DashedIden" }, - "1885": { + "1888": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.GridTemplateFunc" }, - "1886": { + "1889": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.ImageFunc" }, - "1887": { + "1890": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.CommentNodeType" }, - "1888": { + "1891": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.CDOCOMMNodeType" }, - "1889": { + "1892": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.TimingFunction" }, - "1890": { + "1893": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "EnumToken.TimelineFunction" }, - "1891": { + "1894": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ValidationLevel" }, - "1892": { + "1895": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ValidationLevel.None" }, - "1893": { + "1896": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/lib/ast/types.ts", + "qualifiedName": "ValidationLevel.Selector" + }, + "1897": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/lib/ast/types.ts", + "qualifiedName": "ValidationLevel.AtRule" + }, + "1898": { + "packageName": "@tbela99/css-parser", + "packagePath": "src/lib/ast/types.ts", + "qualifiedName": "ValidationLevel.Declaration" + }, + "1899": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ValidationLevel.Default" }, - "1894": { + "1900": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ValidationLevel.All" }, - "1895": { + "1901": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType" }, - "1896": { + "1902": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.SYS" }, - "1897": { + "1903": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.DPSYS" }, - "1898": { + "1904": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.LIT" }, - "1899": { + "1905": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.HEX" }, - "1900": { + "1906": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.RGBA" }, - "1901": { + "1907": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.HSLA" }, - "1902": { + "1908": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.HWB" }, - "1903": { + "1909": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.CMYK" }, - "1904": { + "1910": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.OKLAB" }, - "1905": { + "1911": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.OKLCH" }, - "1906": { + "1912": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.LAB" }, - "1907": { + "1913": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.LCH" }, - "1908": { + "1914": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.COLOR" }, - "1909": { + "1915": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.SRGB" }, - "1910": { + "1916": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.PROPHOTO_RGB" }, - "1911": { + "1917": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.A98_RGB" }, - "1912": { + "1918": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.REC2020" }, - "1913": { + "1919": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.DISPLAY_P3" }, - "1914": { + "1920": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.SRGB_LINEAR" }, - "1915": { + "1921": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.XYZ_D50" }, - "1916": { + "1922": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.XYZ_D65" }, - "1917": { + "1923": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.LIGHT_DARK" }, - "1918": { + "1924": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.COLOR_MIX" }, - "1919": { + "1925": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.RGB" }, - "1920": { + "1926": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.HSL" }, - "1921": { + "1927": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.XYZ" }, - "1922": { + "1928": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/types.ts", "qualifiedName": "ColorType.DEVICE_CMYK" }, - "1923": { + "1929": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/renderer/sourcemap/sourcemap.ts", "qualifiedName": "SourceMap" }, - "1926": { + "1932": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/renderer/sourcemap/sourcemap.ts", "qualifiedName": "SourceMap.lastLocation" }, - "1931": { + "1937": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/renderer/sourcemap/sourcemap.ts", "qualifiedName": "SourceMap.add" }, - "1932": { + "1938": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/renderer/sourcemap/sourcemap.ts", "qualifiedName": "SourceMap.add" }, - "1933": { + "1939": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/renderer/sourcemap/sourcemap.ts", "qualifiedName": "source" }, - "1934": { + "1940": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/renderer/sourcemap/sourcemap.ts", "qualifiedName": "original" }, - "1935": { + "1941": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/renderer/sourcemap/sourcemap.ts", "qualifiedName": "SourceMap.toUrl" }, - "1936": { + "1942": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/renderer/sourcemap/sourcemap.ts", "qualifiedName": "SourceMap.toUrl" }, - "1937": { + "1943": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/renderer/sourcemap/sourcemap.ts", "qualifiedName": "SourceMap.toJSON" }, - "1938": { + "1944": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/renderer/sourcemap/sourcemap.ts", "qualifiedName": "SourceMap.toJSON" }, - "1939": { + "1945": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", - "qualifiedName": "WalkerValueEvent" + "qualifiedName": "WalkerEvent" }, - "1940": { + "1946": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", - "qualifiedName": "WalkerValueEvent.Enter" + "qualifiedName": "WalkerEvent.Enter" }, - "1941": { + "1947": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", - "qualifiedName": "WalkerValueEvent.Leave" + "qualifiedName": "WalkerEvent.Leave" }, - "1942": { + "1948": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "WalkerOptionEnum" }, - "1943": { + "1949": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "WalkerOptionEnum.Ignore" }, - "1944": { + "1950": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "WalkerOptionEnum.Stop" }, - "1945": { + "1951": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "WalkerOptionEnum.Children" }, - "1946": { + "1952": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/walk.ts", "qualifiedName": "WalkerOptionEnum.IgnoreChildren" }, - "1947": { + "1953": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/features/type.ts", "qualifiedName": "FeatureWalkMode" }, - "1948": { + "1954": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/features/type.ts", "qualifiedName": "FeatureWalkMode.Pre" }, - "1949": { + "1955": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/ast/features/type.ts", "qualifiedName": "FeatureWalkMode.Post" }, - "1961": { + "1967": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/syntax/syntax.ts", "qualifiedName": "mathFuncs" }, - "1962": { + "1968": { "packageName": "@tbela99/css-parser", "packagePath": "src/lib/syntax/syntax.ts", "qualifiedName": "transformFunctions" }, - "1963": { + "1969": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "AstNode" }, - "1964": { + "1970": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "ParseResult" }, - "1965": { + "1971": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "ParserOptions" }, - "1966": { + "1972": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "RenderOptions" }, - "1967": { + "1973": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "RenderResult" }, - "1968": { + "1974": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "TransformOptions" }, - "1969": { + "1975": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "TransformResult" }, - "1975": { + "1981": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "walk" }, - "1976": { + "1982": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "walkValues" }, - "1980": { + "1986": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "parseDeclarations" }, - "1981": { + "1987": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "EnumToken" }, - "1982": { + "1988": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "ValidationLevel" }, - "1983": { + "1989": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "ColorType" }, - "1984": { + "1990": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "SourceMap" }, - "1985": { + "1991": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", - "qualifiedName": "WalkerValueEvent" + "qualifiedName": "WalkerEvent" }, - "1986": { + "1992": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "WalkerOptionEnum" }, - "1987": { + "1993": { "packageName": "@tbela99/css-parser", "packagePath": "src/web.ts", "qualifiedName": "FeatureWalkMode" }, - "1990": { + "1996": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "mathFuncs" }, - "1991": { + "1997": { "packageName": "@tbela99/css-parser", "packagePath": "src/@types/index.d.ts", "qualifiedName": "transformFunctions" @@ -60867,27 +59830,55 @@ }, "files": { "entries": { - "1": "files/install.md", - "2": "files/usage.md", - "3": "files/minification.md", - "4": "files/transform.md", - "5": "files/index.md", - "6": "docs/enums/node.EnumToken.html", - "7": "src/node.ts", - "8": "src/web.ts", - "9": "README.md", - "10": "" + "1": "files/about.md", + "2": "files/features.md", + "3": "files/install.md", + "4": "files/usage.md", + "5": "files/minification.md", + "6": "files/transform.md", + "7": "files/ast.md", + "8": "files/validation.md", + "9": "docs/modules/node.html", + "10": "docs/modules/web.html", + "11": "files/index.md", + "12": "docs/interfaces/node.VisitorNodeMap.html", + "13": "docs/enums/node.EnumToken.html", + "14": "docs/interfaces/node.AstStyleSheet.html", + "15": "docs/interfaces/node.AstRule.html", + "16": "docs/interfaces/node.AstAtRule.html", + "17": "docs/interfaces/node.AstDeclaration.html", + "18": "docs/interfaces/node.AstComment.html", + "19": "docs/interfaces/node.AstInvalidRule.html", + "20": "docs/interfaces/node.AstInvalidAtRule.html", + "21": "docs/interfaces/node.AstInvalidDeclaration.html", + "22": "docs/types/node.Token.html", + "23": "docs/functions/node.walk.html", + "24": "docs/media/node.walk.html", + "25": "docs/types/node.WalkerOption.html", + "26": "docs/functions/node.walkValues.html", + "27": "docs/interfaces/node.ParserOptions.html", + "28": "docs/enums/node.ValidationLevel.html", + "29": "docs/media/node.ValidationLevel.html", + "30": "docs/interfaces/node.ParseResult.html", + "31": "docs/interfaces/node.TransformResult.html", + "32": "docs/interfaces/node.ErrorDescription.html", + "33": "src/node.ts", + "34": "src/web.ts", + "35": "files" }, "reflections": { "1": 2, "2": 3, "3": 4, "4": 5, - "5": 1, - "7": 6, - "8": 31, - "9": 0, - "10": 0 + "5": 6, + "6": 7, + "7": 8, + "8": 9, + "11": 0, + "33": 10, + "34": 38, + "35": 0 } } } diff --git a/docs/types/node.AstNode.html b/docs/types/node.AstNode.html index 6039d475..c7cd1011 100644 --- a/docs/types/node.AstNode.html +++ b/docs/types/node.AstNode.html @@ -156,8 +156,8 @@ --md-sys-color-surface-container-high: #efe7de; --md-sys-color-surface-container-highest: #e9e1d9 } -

          Type Alias AstNode

          AstNode:
              | AstStyleSheet
              | AstRuleList
              | AstComment
              | AstAtRule
              | AstRule
              | AstDeclaration
              | AstKeyframesAtRule
              | AstKeyFrameRule
              | AstInvalidRule
              | AstInvalidDeclaration

          ast node

          -

          Type Alias AstNode

          AstNode:
              | AstStyleSheet
              | AstRuleList
              | AstComment
              | AstAtRule
              | AstRule
              | AstDeclaration
              | AstKeyframesAtRule
              | AstKeyFrameRule
              | AstInvalidRule
              | AstInvalidAtRule
              | AstInvalidDeclaration

          ast node

          +

          Type Alias AstRuleList

          AstRuleList:
              | AstStyleSheet
              | AstAtRule
              | AstRule
              | AstKeyframesAtRule
              | AstKeyFrameRule
              | AstInvalidRule

          rule list node

          +
          diff --git a/docs/types/node.AtRuleVisitorHandler.html b/docs/types/node.AtRuleVisitorHandler.html index 1bb859bf..768c3770 100644 --- a/docs/types/node.AtRuleVisitorHandler.html +++ b/docs/types/node.AtRuleVisitorHandler.html @@ -157,7 +157,7 @@ --md-sys-color-surface-container-highest: #e9e1d9 }

          Type Alias AtRuleVisitorHandler

          AtRuleVisitorHandler: GenericVisitorHandler<AstAtRule>

          AtRule visitor handler

          -

          Type Alias BinaryExpressionNode

          BinaryExpressionNode:
              | NumberToken
              | DimensionToken
              | PercentageToken
              | FlexToken
              | FractionToken
              | AngleToken
              | LengthToken
              | FrequencyToken
              | BinaryExpressionToken
              | FunctionToken
              | ParensToken

          Binary expression node

          -

          Type Alias DeclarationVisitorHandler

          DeclarationVisitorHandler: GenericVisitorHandler<AstDeclaration>

          Declaration visitor handler

          -

          Type Alias GenericVisitorAstNodeHandlerMap<T>

          GenericVisitorAstNodeHandlerMap:
              | Record<string, GenericVisitorHandler<T>>
              | GenericVisitorHandler<T>
              | {
                  handler:
                      | Record<string, GenericVisitorHandler<T>>
                      | GenericVisitorHandler<T>;
                  type: VisitorEventType;
              }

          Type Parameters

          • T

          Type Alias GenericVisitorAstNodeHandlerMap<T>

          GenericVisitorAstNodeHandlerMap:
              | Record<string, GenericVisitorHandler<T>>
              | GenericVisitorHandler<T>
              | { handler: GenericVisitorHandler<T>; type: WalkerEvent }
              | { handler: Record<string, GenericVisitorHandler<T>>; type: WalkerEvent }

          Type Parameters

          • T

          Type Alias GenericVisitorHandler<T>

          GenericVisitorHandler: (
              node: T,
              parent?: AstNode | Token,
              root?: AstNode | Token,
          ) => GenericVisitorResult<T>

          Type Parameters

          • T

          Type declaration

          Type Alias GenericVisitorHandler<T>

          GenericVisitorHandler: (
              node: T,
              parent?: AstNode | Token,
              root?: AstNode | Token,
          ) => GenericVisitorResult<T>

          Type Parameters

          • T

          Type Declaration

          Type Alias GenericVisitorResult<T>

          GenericVisitorResult: T | T[] | Promise<T> | Promise<T[]> | null | Promise<null>

          Type Parameters

          • T

          Type Alias GenericVisitorResult<T>

          GenericVisitorResult: T | T[] | Promise<T> | Promise<T[]> | null | Promise<null>

          Type Parameters

          • T

          Type Alias LoadResult

          LoadResult:
              | Promise<ReadableStream<Uint8Array>>
              | ReadableStream<Uint8Array>
              | string
              | Promise<string>

          Type Alias LoadResult

          LoadResult:
              | Promise<ReadableStream<Uint8Array>>
              | ReadableStream<Uint8Array>
              | string
              | Promise<string>

          Type Alias RawSelectorTokens

          RawSelectorTokens: string[][]

          raw selector tokens

          -

          Type Alias RuleVisitorHandler

          RuleVisitorHandler: GenericVisitorHandler<AstRule>

          Rule visitor handler

          -

          Type Alias Token

          Token:
              | InvalidClassSelectorToken
              | InvalidAttrToken
              | LiteralToken
              | IdentToken
              | IdentListToken
              | DashedIdentToken
              | CommaToken
              | ColonToken
              | SemiColonToken
              | ClassSelectorToken
              | UniversalSelectorToken
              | ChildCombinatorToken
              | DescendantCombinatorToken
              | NextSiblingCombinatorToken
              | SubsequentCombinatorToken
              | ColumnCombinatorToken
              | NestingSelectorToken
              | MediaQueryConditionToken
              | MediaFeatureToken
              | MediaFeatureNotToken
              | MediaFeatureOnlyToken
              | MediaFeatureAndToken
              | MediaFeatureOrToken
              | AstDeclaration
              | NumberToken
              | AtRuleToken
              | PercentageToken
              | FlexToken
              | FunctionURLToken
              | FunctionImageToken
              | TimingFunctionToken
              | TimelineFunctionToken
              | FunctionToken
              | GridTemplateFuncToken
              | DimensionToken
              | LengthToken
              | AngleToken
              | StringToken
              | TimeToken
              | FrequencyToken
              | ResolutionToken
              | UnclosedStringToken
              | HashToken
              | BadStringToken
              | BlockStartToken
              | BlockEndToken
              | AttrStartToken
              | AttrEndToken
              | ParensStartToken
              | ParensEndToken
              | ParensToken
              | CDOCommentToken
              | BadCDOCommentToken
              | CommentToken
              | BadCommentToken
              | WhitespaceToken
              | IncludeMatchToken
              | StartMatchToken
              | EndMatchToken
              | ContainMatchToken
              | MatchExpressionToken
              | NameSpaceAttributeToken
              | DashMatchToken
              | EqualMatchToken
              | LessThanToken
              | LessThanOrEqualToken
              | GreaterThanToken
              | GreaterThanOrEqualToken
              | ListToken
              | PseudoClassToken
              | PseudoPageToken
              | PseudoElementToken
              | PseudoClassFunctionToken
              | DelimToken
              | BinaryExpressionToken
              | UnaryExpression
              | FractionToken
              | AddToken
              | SubToken
              | DivToken
              | MulToken
              | BadUrlToken
              | UrlToken
              | ImportantToken
              | ColorToken
              | AttrToken
              | EOFToken

          Token

          -

          Type Alias UnaryExpressionNode

          UnaryExpressionNode:
              | BinaryExpressionNode
              | NumberToken
              | DimensionToken
              | TimeToken
              | LengthToken
              | AngleToken
              | FrequencyToken

          Unary expression node

          -

          Type Alias ValueVisitorHandler

          ValueVisitorHandler: GenericVisitorHandler<Token>

          Type Alias ValueVisitorHandler

          ValueVisitorHandler: GenericVisitorHandler<Token>

          Type Alias WalkerOption

          WalkerOption: WalkerOptionEnum | Token | null

          node walker option

          -

          Type Alias WalkerOption

          WalkerOption: WalkerOptionEnum | AstNode | Token | null

          node walker option

          +

          Type Alias WalkerValueFilter

          WalkerValueFilter: (
              node: AstNode | Token,
              parent?: AstNode | Token | null,
              event?: WalkerValueEvent,
          ) => WalkerOption | null

          filter nod

          -

          Type declaration

          Type Alias WalkerValueFilter

          WalkerValueFilter: (
              node: AstNode | Token,
              parent?: AstNode | Token | null,
              event?: WalkerEvent,
          ) => WalkerOption | null

          filter nod

          +

          Type Declaration

          Variable mathFuncsConst Internal

          mathFuncs: string[] = ...

          supported math functions

          -

          Variable transformFunctionsConst Internal

          transformFunctions: string[] = ...

          supported transform functions

          -
          ``` +### As umd module + it can also be imported as umd module ```html - +