basant307/AI_Governance_Project
045
1/**2 * Info on a property.3 */4export interface Info {5 /**6 * Attribute name for the property that could be used in markup7 * (such as `'aria-describedby'`, `'allowfullscreen'`, `'xml:lang'`,8 * `'for'`, or `'charoff'`).9 */10 attribute: string11 /**12 * The property is *like* a `boolean`13 * (such as `draggable`);14 * these properties have both an on and off state when defined,15 * *and* another state when not defined.16 */17 booleanish: boolean18 /**19 * The property is a `boolean`20 * (such as `hidden`);21 * these properties have an on state when defined and an off state when not22 * defined.23 */24 boolean: boolean25 /**26 * The property is a list separated by spaces or commas27 * (such as `strokeDashArray`).28 */29 commaOrSpaceSeparated: boolean30 /**31 * The property is a list separated by commas32 * (such as `coords`).33 */34 commaSeparated: boolean35 /**36 * The property is defined by a space;37 * this is the case for values in HTML38 * (including data and ARIA),39 * SVG, XML, XMLNS, and XLink;40 * not defined properties can only be found through `find`.41 */42 defined: boolean43 /**44 * When working with the DOM,45 * this property has to be changed as a field on the element,46 * instead of through `setAttribute`47 * (this is true only for `'checked'`, `'multiple'`, `'muted'`, and48 * `'selected'`).49 */50 mustUseProperty: boolean51 /**52 * The property is a `number` (such as `height`).53 */54 number: boolean55 /**56 * The property is *like* a `boolean` (such as `download`);57 * these properties have an on state *and* more states when defined and an58 * off state when not defined.59 */60 overloadedBoolean: boolean61 /**62 * JavaScript-style camel-cased name;63 * based on the DOM but sometimes different64 * (such as `'ariaDescribedBy'`, `'allowFullScreen'`, `'xmlLang'`,65 * `'htmlFor'`, `'charOff'`).66 */67 property: string68 /**69 * The property is a list separated by spaces70 * (such as `className`).71 */72 spaceSeparated: boolean73 /**74 * Space of the property.75 */76 space: Space | undefined77}78 79/**80 * Schema for a primary space.81 */82export interface Schema {83 /**84 * Object mapping normalized attributes and properties to properly cased85 * properties.86 */87 normal: Record<string, string>88 /**89 * Object mapping properties to info.90 */91 property: Record<string, Info>92 /**93 * Space of the schema.94 */95 space: Space | undefined96}97 98/**99 * Space of a property.100 */101export type Space = 'html' | 'svg' | 'xlink' | 'xmlns' | 'xml'102 103export {find} from './lib/find.js'104 105export {hastToReact} from './lib/hast-to-react.js'106 107/**108 * `Schema` for HTML,109 * with info on properties from HTML itself and related embedded spaces110 * (ARIA, XML, XMLNS, XLink).111 */112export const html: Schema113 114export {normalize} from './lib/normalize.js'115 116/**117 * `Schema` for SVG,118 * with info on properties from SVG itself and related embedded spaces119 * (ARIA, XML, XMLNS, XLink).120 */121export const svg: Schema122 