CoolFace
Apppublic

AK-21/Graphite-Industrial-Intelligence

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
postcss.d.ts462 linesDownload Raw Back to lib
1import { RawSourceMap, SourceMapGenerator } from 'source-map-js'2 3import AtRule, { AtRuleProps } from './at-rule.js'4import Comment, { CommentProps } from './comment.js'5import Container, { ContainerProps, NewChild } from './container.js'6import CssSyntaxError from './css-syntax-error.js'7import Declaration, { DeclarationProps } from './declaration.js'8import Document, { DocumentProps } from './document.js'9import Input, { FilePosition } from './input.js'10import LazyResult from './lazy-result.js'11import list from './list.js'12import Node, {13  AnyNode,14  ChildNode,15  ChildProps,16  NodeErrorOptions,17  NodeProps,18  Position,19  Source20} from './node.js'21import Processor from './processor.js'22import Result, { Message } from './result.js'23import Root, { RootProps } from './root.js'24import Rule, { RuleProps } from './rule.js'25import Warning, { WarningOptions } from './warning.js'26 27type DocumentProcessor = (28  document: Document,29  helper: postcss.Helpers30) => Promise<void> | void31type RootProcessor = (32  root: Root,33  helper: postcss.Helpers34) => Promise<void> | void35type DeclarationProcessor = (36  decl: Declaration,37  helper: postcss.Helpers38) => Promise<void> | void39type RuleProcessor = (40  rule: Rule,41  helper: postcss.Helpers42) => Promise<void> | void43type AtRuleProcessor = (44  atRule: AtRule,45  helper: postcss.Helpers46) => Promise<void> | void47type CommentProcessor = (48  comment: Comment,49  helper: postcss.Helpers50) => Promise<void> | void51 52interface Processors {53  /**54   * Will be called on all`AtRule` nodes.55   *56   * Will be called again on node or children changes.57   */58  AtRule?: { [name: string]: AtRuleProcessor } | AtRuleProcessor59 60  /**61   * Will be called on all `AtRule` nodes, when all children will be processed.62   *63   * Will be called again on node or children changes.64   */65  AtRuleExit?: { [name: string]: AtRuleProcessor } | AtRuleProcessor66 67  /**68   * Will be called on all `Comment` nodes.69   *70   * Will be called again on node or children changes.71   */72  Comment?: CommentProcessor73 74  /**75   * Will be called on all `Comment` nodes after listeners76   * for `Comment` event.77   *78   * Will be called again on node or children changes.79   */80  CommentExit?: CommentProcessor81 82  /**83   * Will be called on all `Declaration` nodes after listeners84   * for `Declaration` event.85   *86   * Will be called again on node or children changes.87   */88  Declaration?: { [prop: string]: DeclarationProcessor } | DeclarationProcessor89 90  /**91   * Will be called on all `Declaration` nodes.92   *93   * Will be called again on node or children changes.94   */95  DeclarationExit?:96    | { [prop: string]: DeclarationProcessor }97    | DeclarationProcessor98 99  /**100   * Will be called on `Document` node.101   *102   * Will be called again on children changes.103   */104  Document?: DocumentProcessor105 106  /**107   * Will be called on `Document` node, when all children will be processed.108   *109   * Will be called again on children changes.110   */111  DocumentExit?: DocumentProcessor112 113  /**114   * Will be called on `Root` node once.115   */116  Once?: RootProcessor117 118  /**119   * Will be called on `Root` node once, when all children will be processed.120   */121  OnceExit?: RootProcessor122 123  /**124   * Will be called on `Root` node.125   *126   * Will be called again on children changes.127   */128  Root?: RootProcessor129 130  /**131   * Will be called on `Root` node, when all children will be processed.132   *133   * Will be called again on children changes.134   */135  RootExit?: RootProcessor136 137  /**138   * Will be called on all `Rule` nodes.139   *140   * Will be called again on node or children changes.141   */142  Rule?: RuleProcessor143 144  /**145   * Will be called on all `Rule` nodes, when all children will be processed.146   *147   * Will be called again on node or children changes.148   */149  RuleExit?: RuleProcessor150}151 152declare namespace postcss {153  export {154    AnyNode,155    AtRule,156    AtRuleProps,157    ChildNode,158    ChildProps,159    Comment,160    CommentProps,161    Container,162    ContainerProps,163    CssSyntaxError,164    Declaration,165    DeclarationProps,166    Document,167    DocumentProps,168    FilePosition,169    Input,170    LazyResult,171    list,172    Message,173    NewChild,174    Node,175    NodeErrorOptions,176    NodeProps,177    Position,178    Processor,179    Result,180    Root,181    RootProps,182    Rule,183    RuleProps,184    Source,185    Warning,186    WarningOptions187  }188 189  export type SourceMap = {190    toJSON(): RawSourceMap191  } & SourceMapGenerator192 193  export type Helpers = { postcss: Postcss; result: Result } & Postcss194 195  export interface Plugin extends Processors {196    postcssPlugin: string197    prepare?: (result: Result) => Processors198  }199 200  export interface PluginCreator<PluginOptions> {201    (opts?: PluginOptions): Plugin | Processor202    postcss: true203  }204 205  export interface Transformer extends TransformCallback {206    postcssPlugin: string207    postcssVersion: string208  }209 210  export interface TransformCallback {211    (root: Root, result: Result): Promise<void> | void212  }213 214  export interface OldPlugin<T> extends Transformer {215    (opts?: T): Transformer216    postcss: Transformer217  }218 219  export type AcceptedPlugin =220    | {221        postcss: Processor | TransformCallback222      }223    | OldPlugin<any>224    | Plugin225    | PluginCreator<any>226    | Processor227    | TransformCallback228 229  export interface Parser<RootNode = Document | Root> {230    (231      css: { toString(): string } | string,232      opts?: Pick<ProcessOptions, 'document' | 'from' | 'map'>233    ): RootNode234  }235 236  export interface Builder {237    (part: string, node?: AnyNode, type?: 'end' | 'start'): void238  }239 240  export interface Stringifier {241    (node: AnyNode, builder: Builder): void242  }243 244  export interface JSONHydrator {245    (data: object): Node246    (data: object[]): Node[]247  }248 249  export interface Syntax<RootNode = Document | Root> {250    /**251     * Function to generate AST by string.252     */253    parse?: Parser<RootNode>254 255    /**256     * Class to generate string by AST.257     */258    stringify?: Stringifier259  }260 261  export interface SourceMapOptions {262    /**263     * Use absolute path in generated source map.264     */265    absolute?: boolean266 267    /**268     * Indicates that PostCSS should add annotation comments to the CSS.269     * By default, PostCSS will always add a comment with a path270     * to the source map. PostCSS will not add annotations to CSS files271     * that do not contain any comments.272     *273     * By default, PostCSS presumes that you want to save the source map as274     * `opts.to + '.map'` and will use this path in the annotation comment.275     * A different path can be set by providing a string value for annotation.276     *277     * If you have set `inline: true`, annotation cannot be disabled.278     */279    annotation?: ((file: string, root: Root) => string) | boolean | string280 281    /**282     * Override `from` in map’s sources.283     */284    from?: string285 286    /**287     * Indicates that the source map should be embedded in the output CSS288     * as a Base64-encoded comment. By default, it is `true`.289     * But if all previous maps are external, not inline, PostCSS will not embed290     * the map even if you do not set this option.291     *292     * If you have an inline source map, the result.map property will be empty,293     * as the source map will be contained within the text of `result.css`.294     */295    inline?: boolean296 297    /**298     * Source map content from a previous processing step (e.g., Sass).299     *300     * PostCSS will try to read the previous source map301     * automatically (based on comments within the source CSS), but you can use302     * this option to identify it manually.303     *304     * If desired, you can omit the previous map with prev: `false`.305     */306    prev?: ((file: string) => string) | boolean | object | string307 308    /**309     * Indicates that PostCSS should set the origin content (e.g., Sass source)310     * of the source map. By default, it is true. But if all previous maps do not311     * contain sources content, PostCSS will also leave it out even if you312     * do not set this option.313     */314    sourcesContent?: boolean315  }316 317  export interface ProcessOptions<RootNode = Document | Root> {318    /**319     * Input file if it is not simple CSS file, but HTML with <style> or JS with CSS-in-JS blocks.320     */321    document?: string322 323    /**324     * The path of the CSS source file. You should always set `from`,325     * because it is used in source map generation and syntax error messages.326     */327    from?: string | undefined328 329    /**330     * Source map options331     */332    map?: boolean | SourceMapOptions333 334    /**335     * Function to generate AST by string.336     */337    parser?: Parser<RootNode> | Syntax<RootNode>338 339    /**340     * Class to generate string by AST.341     */342    stringifier?: Stringifier | Syntax<RootNode>343 344    /**345     * Object with parse and stringify.346     */347    syntax?: Syntax<RootNode>348 349    /**350     * The path where you'll put the output CSS file. You should always set `to`351     * to generate correct source maps.352     */353    to?: string354 355    /**356     * Disable source map file protections.357     */358    unsafeMap?: boolean359  }360 361  export type Postcss = typeof postcss362 363  /**364   * Default function to convert a node tree into a CSS string.365   */366  export let stringify: Stringifier367 368  /**369   * Parses source css and returns a new `Root` or `Document` node,370   * which contains the source CSS nodes.371   *372   * ```js373   * // Simple CSS concatenation with source map support374   * const root1 = postcss.parse(css1, { from: file1 })375   * const root2 = postcss.parse(css2, { from: file2 })376   * root1.append(root2).toResult().css377   * ```378   */379  export let parse: Parser<Root>380 381  /**382   * Rehydrate a JSON AST (from `Node#toJSON`) back into the AST classes.383   *384   * ```js385   * const json = root.toJSON()386   * // save to file, send by network, etc387   * const root2  = postcss.fromJSON(json)388   * ```389   */390  export let fromJSON: JSONHydrator391 392  /**393   * Creates a new `Comment` node.394   *395   * @param defaults Properties for the new node.396   * @return New comment node397   */398  export function comment(defaults?: CommentProps): Comment399 400  /**401   * Creates a new `AtRule` node.402   *403   * @param defaults Properties for the new node.404   * @return New at-rule node.405   */406  export function atRule(defaults?: AtRuleProps): AtRule407 408  /**409   * Creates a new `Declaration` node.410   *411   * @param defaults Properties for the new node.412   * @return New declaration node.413   */414  export function decl(defaults?: DeclarationProps): Declaration415 416  /**417   * Creates a new `Rule` node.418   *419   * @param default Properties for the new node.420   * @return New rule node.421   */422  export function rule(defaults?: RuleProps): Rule423 424  /**425   * Creates a new `Root` node.426   *427   * @param defaults Properties for the new node.428   * @return New root node.429   */430  export function root(defaults?: RootProps): Root431 432  /**433   * Creates a new `Document` node.434   *435   * @param defaults Properties for the new node.436   * @return New document node.437   */438  export function document(defaults?: DocumentProps): Document439 440  export { postcss as default }441}442 443/**444 * Create a new `Processor` instance that will apply `plugins`445 * as CSS processors.446 *447 * ```js448 * let postcss = require('postcss')449 *450 * postcss(plugins).process(css, { from, to }).then(result => {451 *   console.log(result.css)452 * })453 * ```454 *455 * @param plugins PostCSS plugins.456 * @return Processor to process multiple CSS.457 */458declare function postcss(plugins?: readonly postcss.AcceptedPlugin[]): Processor459declare function postcss(...plugins: postcss.AcceptedPlugin[]): Processor460 461export = postcss462