| import Container, { | |
| ContainerProps, | |
| ContainerWithChildren | |
| } from './container.js' | |
| declare namespace AtRule { | |
| export interface AtRuleRaws extends Record<string, unknown> { | |
| /** | |
| * The space symbols after the last child of the node to the end of the node. | |
| */ | |
| after?: string | |
| /** | |
| * The space between the at-rule name and its parameters. | |
| */ | |
| afterName?: string | |
| /** | |
| * The space symbols before the node. It also stores `*` | |
| * and `_` symbols before the declaration (IE hack). | |
| */ | |
| before?: string | |
| /** | |
| * The symbols between the last parameter and `{` for rules. | |
| */ | |
| between?: string | |
| /** | |
| * The rule’s selector with comments. | |
| */ | |
| params?: { | |
| raw: string | |
| value: string | |
| } | |
| /** | |
| * Contains `true` if the last child has an (optional) semicolon. | |
| */ | |
| semicolon?: boolean | |
| } | |
| export interface AtRuleProps extends ContainerProps { | |
| /** Name of the at-rule. */ | |
| name: string | |
| /** Parameters following the name of the at-rule. */ | |
| params?: number | string | |
| /** Information used to generate byte-to-byte equal node string as it was in the origin input. */ | |
| raws?: AtRuleRaws | |
| } | |
| // eslint-disable-next-line @typescript-eslint/no-use-before-define | |
| export { AtRule_ as default } | |
| } | |
| /** | |
| * Represents an at-rule. | |
| * | |
| * ```js | |
| * Once (root, { AtRule }) { | |
| * let media = new AtRule({ name: 'media', params: 'print' }) | |
| * media.append(…) | |
| * root.append(media) | |
| * } | |
| * ``` | |
| * | |
| * If it’s followed in the CSS by a `{}` block, this node will have | |
| * a nodes property representing its children. | |
| * | |
| * ```js | |
| * const root = postcss.parse('@charset "UTF-8"; @media print {}') | |
| * | |
| * const charset = root.first | |
| * charset.type //=> 'atrule' | |
| * charset.nodes //=> undefined | |
| * | |
| * const media = root.last | |
| * media.nodes //=> [] | |
| * ``` | |
| */ | |
| declare class AtRule_ extends Container { | |
| /** | |
| * The at-rule’s name immediately follows the `@`. | |
| * | |
| * ```js | |
| * const root = postcss.parse('@media print {}') | |
| * const media = root.first | |
| * media.name //=> 'media' | |
| * ``` | |
| */ | |
| name: string | |
| /** | |
| * An array containing the layer’s children. | |
| * | |
| * ```js | |
| * const root = postcss.parse('@layer example { a { color: black } }') | |
| * const layer = root.first | |
| * layer.nodes.length //=> 1 | |
| * layer.nodes[0].selector //=> 'a' | |
| * ``` | |
| * | |
| * Can be `undefinded` if the at-rule has no body. | |
| * | |
| * ```js | |
| * const root = postcss.parse('@layer a, b, c;') | |
| * const layer = root.first | |
| * layer.nodes //=> undefined | |
| * ``` | |
| */ | |
| nodes: Container['nodes'] | |
| /** | |
| * The at-rule’s parameters, the values that follow the at-rule’s name | |
| * but precede any `{}` block. | |
| * | |
| * ```js | |
| * const root = postcss.parse('@media print, screen {}') | |
| * const media = root.first | |
| * media.params //=> 'print, screen' | |
| * ``` | |
| */ | |
| params: string | |
| parent: ContainerWithChildren | undefined | |
| raws: AtRule.AtRuleRaws | |
| type: 'atrule' | |
| constructor(defaults?: AtRule.AtRuleProps) | |
| assign(overrides: AtRule.AtRuleProps | object): this | |
| clone(overrides?: Partial<AtRule.AtRuleProps>): AtRule | |
| cloneAfter(overrides?: Partial<AtRule.AtRuleProps>): AtRule | |
| cloneBefore(overrides?: Partial<AtRule.AtRuleProps>): AtRule | |
| } | |
| declare class AtRule extends AtRule_ {} | |
| export = AtRule | |