123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- import { ContainerWithChildren } from './container.js'
- import Node from './node.js'
-
- declare namespace Declaration {
- export interface DeclarationRaws extends Record<string, unknown> {
- /**
- * The space symbols before the node. It also stores `*`
- * and `_` symbols before the declaration (IE hack).
- */
- before?: string
-
- /**
- * The symbols between the property and value for declarations.
- */
- between?: string
-
- /**
- * The content of the important statement, if it is not just `!important`.
- */
- important?: string
-
- /**
- * Declaration value with comments.
- */
- value?: {
- raw: string
- value: string
- }
- }
-
- export interface DeclarationProps {
- /** Whether the declaration has an `!important` annotation. */
- important?: boolean
- /** Name of the declaration. */
- prop: string
- /** Information used to generate byte-to-byte equal node string as it was in the origin input. */
- raws?: DeclarationRaws
- /** Value of the declaration. */
- value: string
- }
-
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
- export { Declaration_ as default }
- }
-
- /**
- * It represents a class that handles
- * [CSS declarations](https://developer.mozilla.org/en-US/docs/Web/CSS/Syntax#css_declarations)
- *
- * ```js
- * Once (root, { Declaration }) {
- * const color = new Declaration({ prop: 'color', value: 'black' })
- * root.append(color)
- * }
- * ```
- *
- * ```js
- * const root = postcss.parse('a { color: black }')
- * const decl = root.first?.first
- *
- * decl.type //=> 'decl'
- * decl.toString() //=> ' color: black'
- * ```
- */
- declare class Declaration_ extends Node {
- parent: ContainerWithChildren | undefined
- raws: Declaration.DeclarationRaws
-
- type: 'decl'
-
- constructor(defaults?: Declaration.DeclarationProps)
- assign(overrides: Declaration.DeclarationProps | object): this
-
- clone(overrides?: Partial<Declaration.DeclarationProps>): this
-
- cloneAfter(overrides?: Partial<Declaration.DeclarationProps>): this
-
- cloneBefore(overrides?: Partial<Declaration.DeclarationProps>): this
- /**
- * It represents a specificity of the declaration.
- *
- * If true, the CSS declaration will have an
- * [important](https://developer.mozilla.org/en-US/docs/Web/CSS/important)
- * specifier.
- *
- * ```js
- * const root = postcss.parse('a { color: black !important; color: red }')
- *
- * root.first.first.important //=> true
- * root.first.last.important //=> undefined
- * ```
- */
- get important(): boolean
-
- set important(value: boolean)
- /**
- * The property name for a CSS declaration.
- *
- * ```js
- * const root = postcss.parse('a { color: black }')
- * const decl = root.first.first
- *
- * decl.prop //=> 'color'
- * ```
- */
- get prop(): string
-
- set prop(value: string)
- /**
- * The property value for a CSS declaration.
- *
- * Any CSS comments inside the value string will be filtered out.
- * CSS comments present in the source value will be available in
- * the `raws` property.
- *
- * Assigning new `value` would ignore the comments in `raws`
- * property while compiling node to string.
- *
- * ```js
- * const root = postcss.parse('a { color: black }')
- * const decl = root.first.first
- *
- * decl.value //=> 'black'
- * ```
- */
- get value(): string
- set value(value: string)
- /**
- * It represents a getter that returns `true` if a declaration starts with
- * `--` or `$`, which are used to declare variables in CSS and SASS/SCSS.
- *
- * ```js
- * const root = postcss.parse(':root { --one: 1 }')
- * const one = root.first.first
- *
- * one.variable //=> true
- * ```
- *
- * ```js
- * const root = postcss.parse('$one: 1')
- * const one = root.first
- *
- * one.variable //=> true
- * ```
- */
- get variable(): boolean
- }
-
- declare class Declaration extends Declaration_ {}
-
- export = Declaration
|