import { type RequireExactlyOne } from 'type-fest'; /** * All CSS formats supported by `@property`, at of the time of this writing. * * This is generated from the following script, run at * https://developer.mozilla.org/docs/Web/CSS/Reference/At-rules/%40property/syntax: * * ```js * console.log( * Array.from(document.querySelectorAll('[aria-labelledby="values"] > dl > *')) * .reverse() * .reduce((accum, current) => { * if (!(current instanceof HTMLElement)) { * console.warn('not HTMLElement', current); * return accum; * } else if (current.tagName.toLowerCase() === 'dt') { * const syntax = current.innerText.replaceAll('"', ''); * const keySplits = syntax.replaceAll('<', '').replaceAll('>', '').split('-'); * * const key = [ * keySplits[0]?.[0]?.toUpperCase(), * keySplits[0]?.slice(1), * ...keySplits.slice(1).map((entry) => { * return [ * entry[0]?.toUpperCase(), * entry.slice(1), * ].join(''); * }), * ].join(''); * * return accum + '\n' + ` ${key} = '${syntax}',`; * } else if (current.tagName.toLowerCase() === 'dd') { * const contents = current * .querySelector('p') * ?.innerHTML.replaceAll('<', '<') * .replaceAll('>', '>') * .replaceAll('/en-US/', 'https://developer.mozilla.org/'); * * if (contents) { * const comment = contents * .replaceAll(/(.+?)<\/code>/g, '`$1`') * .replaceAll(/(.+?)<\/a>/g, '[$2]($1)'); * * return accum + '\n' + ` /** ${comment} *\/`; * } * } * * console.warn('No match', current); * * return accum; * }, 'export enum CssPropertySyntax {') + '\n};\n', * ); * ``` * * @category Internal * @see https://developer.mozilla.org/docs/Web/CSS/Reference/At-rules/%40property/syntax#values */ export declare enum CssVarSyntaxName { /** * Accepts any valid * [``](https://developer.mozilla.org/docs/Web/CSS/Reference/Values/url_value) value. */ Url = "", /** * Accepts a list of valid * [``](https://developer.mozilla.org/docs/Web/CSS/Reference/Values/transform-function) * values. It is equivalent to `"+"`. */ TransformList = "", /** * Accepts any valid * [``](https://developer.mozilla.org/docs/Web/CSS/Reference/Values/transform-function) * value. */ TransformFunction = "", /** * Accepts any valid * [`