svelte-ast-print
Version:
Serialize Svelte AST nodes into stringified syntax. A.k.a parse in reverse.
133 lines • 4.18 kB
TypeScript
/**
* Printers related to CSS **selector** related AST nodes only.
* @module svelte-ast-print/css/selector
*/
import type { AST as SV } from "svelte/compiler";
import type { PrintOptions } from "../_internal/option.js";
import { type Result } from "../_internal/shared.js";
/**
* @see {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_selectors/Selectors_and_combinators#combinators}
*
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printCSSCombinator(n: SV.CSS.Combinator, opts?: Partial<PrintOptions>): Result<SV.CSS.Combinator>;
/**
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printCSSSimpleSelector(n: SV.CSS.SimpleSelector, opts?: Partial<PrintOptions>): Result<SV.CSS.SimpleSelector>;
/**
* @see {@link https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors}
*
* @example syntax
* ```css
* [name<?matcher><?"value"> flags?]
* ```
*
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printCSSAttributeSelector(n: SV.CSS.AttributeSelector, opts?: Partial<PrintOptions>): Result<SV.CSS.AttributeSelector>;
/**
* @see {@link https://developer.mozilla.org/en-US/docs/Web/CSS/Class_selectors}
*
* @example simple
* ```css
* .class_name { style properties }
* ```
*
* @example equivalent
* ```css
* [class~=class_name] { style properties }
* ```
*
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printCSSClassSelector(n: SV.CSS.ClassSelector, opts?: Partial<PrintOptions>): Result<SV.CSS.ClassSelector>;
/**
* @see {@link https://developer.mozilla.org/en-US/docs/Web/CSS/ID_selectors}
*
* @example pattern
* ```css
* #name
* ```
*
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printCSSIdSelector(n: SV.CSS.IdSelector, opts?: Partial<PrintOptions>): Result<SV.CSS.IdSelector>;
/**
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printCSSNestingSelector(n: SV.CSS.NestingSelector, opts?: Partial<PrintOptions>): Result<SV.CSS.NestingSelector>;
/**
* @see {@link https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes}
*
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printCSSPseudoClassSelector(n: SV.CSS.PseudoClassSelector, opts?: Partial<PrintOptions>): Result<SV.CSS.PseudoClassSelector>;
/**
* @see {@link https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements}
*
* @since 1.0.0
*
* @__NO_SIDE_EFFECTS__
*
* > [!WARNING]
* > It doesn't support args, e.g. `::part()` or `::slotted()`
*/
export declare function printCSSPseudoElementSelector(n: SV.CSS.PseudoElementSelector, opts?: Partial<PrintOptions>): Result<SV.CSS.PseudoElementSelector>;
/**
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printCSSRelativeSelector(n: SV.CSS.RelativeSelector, opts?: Partial<PrintOptions>): Result<SV.CSS.RelativeSelector>;
/**
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printCSSTypeSelector(n: SV.CSS.TypeSelector, opts?: Partial<PrintOptions>): Result<SV.CSS.TypeSelector>;
/**
* @see {@link https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-child}
*
* @example pattern
* ```css
* :nth-child(<nth> [of <complex-selector-list>]?) { }
* ```
*
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printCSSNth(n: SV.CSS.Nth, opts?: Partial<PrintOptions>): Result<SV.CSS.Nth>;
/**
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printCSSPercentage(n: SV.CSS.Percentage, opts?: Partial<PrintOptions>): Result<SV.CSS.Percentage>;
/**
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printCSSSelectorList(n: SV.CSS.SelectorList, opts?: Partial<PrintOptions>): Result<SV.CSS.SelectorList>;
/**
* @see {@link https://developer.mozilla.org/en-US/docs/Web/CSS/Complex_selectors}
*
* @example simple
* ```css
* .class_name { style properties }
* ```
*
* @example equivalent
* ```css
* [class~=class_name] { style properties }
* ```
*
* @since 1.0.0
* @__NO_SIDE_EFFECTS__
*/
export declare function printCSSComplexSelector(n: SV.CSS.ComplexSelector, opts?: Partial<PrintOptions>): Result<SV.CSS.ComplexSelector>;
//# sourceMappingURL=selector.d.ts.map