ccc-tnt-psd2ui/npm-packages/mac-v3.4.+/postcss/lib/declaration.d.ts

149 lines
3.7 KiB
TypeScript
Raw Normal View History

2023-07-24 03:13:08 +00:00
import Container from './container.js'
import Node from './node.js'
2023-09-06 01:51:55 +00:00
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
2023-07-24 03:13:08 +00:00
2023-09-06 01:51:55 +00:00
/**
* The symbols between the property and value for declarations.
*/
between?: string
2023-07-24 03:13:08 +00:00
2023-09-06 01:51:55 +00:00
/**
* The content of the important statement, if it is not just `!important`.
*/
important?: string
2023-07-24 03:13:08 +00:00
2023-09-06 01:51:55 +00:00
/**
* 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. */
2023-07-24 03:13:08 +00:00
value: string
}
2023-09-06 01:51:55 +00:00
// eslint-disable-next-line @typescript-eslint/no-use-before-define
export { Declaration_ as default }
2023-07-24 03:13:08 +00:00
}
/**
2023-09-06 01:51:55 +00:00
* It represents a class that handles
* [CSS declarations](https://developer.mozilla.org/en-US/docs/Web/CSS/Syntax#css_declarations)
2023-07-24 03:13:08 +00:00
*
* ```js
* Once (root, { Declaration }) {
2023-09-06 01:51:55 +00:00
* const color = new Declaration({ prop: 'color', value: 'black' })
2023-07-24 03:13:08 +00:00
* root.append(color)
* }
* ```
*
* ```js
* const root = postcss.parse('a { color: black }')
2023-09-06 01:51:55 +00:00
* const decl = root.first?.first
*
2023-07-24 03:13:08 +00:00
* decl.type //=> 'decl'
* decl.toString() //=> ' color: black'
* ```
*/
2023-09-06 01:51:55 +00:00
declare class Declaration_ extends Node {
/**
* 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
* ```
*/
important: boolean
2023-07-24 03:13:08 +00:00
parent: Container | undefined
/**
2023-09-06 01:51:55 +00:00
* The property name for a CSS declaration.
2023-07-24 03:13:08 +00:00
*
* ```js
* const root = postcss.parse('a { color: black }')
* const decl = root.first.first
2023-09-06 01:51:55 +00:00
*
2023-07-24 03:13:08 +00:00
* decl.prop //=> 'color'
* ```
*/
prop: string
2023-09-06 01:51:55 +00:00
raws: Declaration.DeclarationRaws
type: 'decl'
2023-07-24 03:13:08 +00:00
/**
2023-09-06 01:51:55 +00:00
* 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.
2023-07-24 03:13:08 +00:00
*
2023-09-06 01:51:55 +00:00
* Assigning new `value` would ignore the comments in `raws`
* property while compiling node to string.
2023-07-24 03:13:08 +00:00
*
* ```js
* const root = postcss.parse('a { color: black }')
* const decl = root.first.first
2023-09-06 01:51:55 +00:00
*
2023-07-24 03:13:08 +00:00
* decl.value //=> 'black'
* ```
*/
value: string
/**
2023-09-06 01:51:55 +00:00
* It represents a getter that returns `true` if a declaration starts with
* `--` or `$`, which are used to declare variables in CSS and SASS/SCSS.
2023-07-24 03:13:08 +00:00
*
* ```js
* const root = postcss.parse(':root { --one: 1 }')
2023-09-06 01:51:55 +00:00
* const one = root.first.first
*
2023-07-24 03:13:08 +00:00
* one.variable //=> true
* ```
*
* ```js
* const root = postcss.parse('$one: 1')
2023-09-06 01:51:55 +00:00
* const one = root.first
*
2023-07-24 03:13:08 +00:00
* one.variable //=> true
* ```
*/
variable: boolean
2023-09-06 01:51:55 +00:00
constructor(defaults?: Declaration.DeclarationProps)
assign(overrides: Declaration.DeclarationProps | object): this
clone(overrides?: Partial<Declaration.DeclarationProps>): Declaration
cloneAfter(overrides?: Partial<Declaration.DeclarationProps>): Declaration
cloneBefore(overrides?: Partial<Declaration.DeclarationProps>): Declaration
2023-07-24 03:13:08 +00:00
}
2023-09-06 01:51:55 +00:00
declare class Declaration extends Declaration_ {}
export = Declaration