| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- /**
- * Info on a property.
- */
- export interface Info {
- /**
- * Attribute name for the property that could be used in markup
- * (such as `'aria-describedby'`, `'allowfullscreen'`, `'xml:lang'`,
- * `'for'`, or `'charoff'`).
- */
- attribute: string
- /**
- * The property is *like* a `boolean`
- * (such as `draggable`);
- * these properties have both an on and off state when defined,
- * *and* another state when not defined.
- */
- booleanish: boolean
- /**
- * The property is a `boolean`
- * (such as `hidden`);
- * these properties have an on state when defined and an off state when not
- * defined.
- */
- boolean: boolean
- /**
- * The property is a list separated by spaces or commas
- * (such as `strokeDashArray`).
- */
- commaOrSpaceSeparated: boolean
- /**
- * The property is a list separated by commas
- * (such as `coords`).
- */
- commaSeparated: boolean
- /**
- * The property is defined by a space;
- * this is the case for values in HTML
- * (including data and ARIA),
- * SVG, XML, XMLNS, and XLink;
- * not defined properties can only be found through `find`.
- */
- defined: boolean
- /**
- * When working with the DOM,
- * this property has to be changed as a field on the element,
- * instead of through `setAttribute`
- * (this is true only for `'checked'`, `'multiple'`, `'muted'`, and
- * `'selected'`).
- */
- mustUseProperty: boolean
- /**
- * The property is a `number` (such as `height`).
- */
- number: boolean
- /**
- * The property is *like* a `boolean` (such as `download`);
- * these properties have an on state *and* more states when defined and an
- * off state when not defined.
- */
- overloadedBoolean: boolean
- /**
- * JavaScript-style camel-cased name;
- * based on the DOM but sometimes different
- * (such as `'ariaDescribedBy'`, `'allowFullScreen'`, `'xmlLang'`,
- * `'htmlFor'`, `'charOff'`).
- */
- property: string
- /**
- * The property is a list separated by spaces
- * (such as `className`).
- */
- spaceSeparated: boolean
- /**
- * Space of the property.
- */
- space: Space | undefined
- }
- /**
- * Schema for a primary space.
- */
- export interface Schema {
- /**
- * Object mapping normalized attributes and properties to properly cased
- * properties.
- */
- normal: Record<string, string>
- /**
- * Object mapping properties to info.
- */
- property: Record<string, Info>
- space: Space | undefined
- }
- /**
- * Space of a property.
- */
- export type Space = 'html' | 'svg' | 'xlink' | 'xmlns' | 'xml'
- export {find} from './lib/find.js'
- export {hastToReact} from './lib/hast-to-react.js'
- /**
- * `Schema` for HTML,
- * with info on properties from HTML itself and related embedded spaces
- * (ARIA, XML, XMLNS, XLink).
- */
- export const html: Schema
- export {normalize} from './lib/normalize.js'
- /**
- * `Schema` for SVG,
- * with info on properties from SVG itself and related embedded spaces
- * (ARIA, XML, XMLNS, XLink).
- */
- export const svg: Schema
|