AK-21/Graphite-Industrial-Intelligence
0
1# property-information2 3[![Build][badge-build-image]][badge-build-url]4[![Coverage][badge-coverage-image]][badge-coverage-url]5[![Downloads][badge-downloads-image]][badge-downloads-url]6[![Size][badge-size-image]][badge-size-url]7 8Info on the properties and attributes of the web platform9(HTML, SVG, ARIA, XML, XMLNS, XLink).10 11## Contents12 13* [What is this?](#what-is-this)14* [When should I use this?](#when-should-i-use-this)15* [Install](#install)16* [Use](#use)17* [API](#api)18 * [`Info`](#info)19 * [`Schema`](#schema)20 * [`Space`](#space)21 * [`find(schema, name)`](#findschema-name)22 * [`hastToReact`](#hasttoreact)23 * [`html`](#html)24 * [`normalize(name)`](#normalizename)25 * [`svg`](#svg)26* [Compatibility](#compatibility)27* [Support](#support)28* [Security](#security)29* [Related](#related)30* [Contribute](#contribute)31* [License](#license)32 33## What is this?34 35This package contains lots of info on all the properties and attributes found36on the web platform.37It includes data on38HTML, SVG, ARIA, XML, XMLNS, and XLink.39The names of the properties follow [hast][github-hast-property-name]’s40sensible naming scheme.41It includes info on what data types attributes hold,42such as whether they’re booleans or contain lists of space separated numbers.43 44## When should I use this?45 46You can use this package if you’re working with hast,47which is an AST for HTML,48or have goals related to ASTs,49such as figuring out which properties or attributes are valid,50or what data types they hold.51 52## Install53 54This package is [ESM only][github-gist-esm].55In Node.js (version 16+),56install with [npm][npmjs-install]:57 58```sh59npm install property-information60```61 62In Deno with [`esm.sh`][esmsh]:63 64```js65import * as propertyInformation from 'https://esm.sh/property-information@7'66```67 68In browsers with [`esm.sh`][esmsh]:69 70```html71<script type="module">72 import * as propertyInformation from 'https://esm.sh/property-information@7?bundle'73</script>74```75 76## Use77 78```js79import {find, html, svg} from 'property-information'80 81console.log(find(html, 'className'))82// Or: find(html, 'class')83console.log(find(svg, 'horiz-adv-x'))84// Or: find(svg, 'horizAdvX')85console.log(find(svg, 'xlink:arcrole'))86// Or: find(svg, 'xLinkArcRole')87console.log(find(html, 'xmlLang'))88// Or: find(html, 'xml:lang')89console.log(find(html, 'ariaValueNow'))90// Or: find(html, 'aria-valuenow')91```92 93Yields:94 95```js96{attribute: 'class', property: 'className', spaceSeparated: true, space: 'html'}97{attribute: 'horiz-adv-x', number: true, property: 'horizAdvX', space: 'svg'}98{attribute: 'xlink:arcrole', property: 'xLinkArcRole', space: 'xlink'}99{attribute: 'xml:lang', property: 'xmlLang', space: 'xml'}100{attribute: 'aria-valuenow', number: true, property: 'ariaValueNow'}101```102 103## API104 105This package exports the identifiers106[`find`][api-find],107[`hastToReact`][api-hast-to-react],108[`html`][api-html],109[`normalize`][api-normalize],110and111[`svg`][api-svg].112There is no default export.113It exports the [TypeScript][] types114[`Info`][api-info],115[`Schema`][api-schema],116and117[`Space`][api-space].118 119### `Info`120 121Info on a property (TypeScript type).122 123###### Fields124 125* `attribute` (`string`)126 — attribute name for the property that could be used in markup127 (such as `'aria-describedby'`, `'allowfullscreen'`, `'xml:lang'`, `'for'`,128 or `'charoff'`)129* `booleanish` (`boolean`)130 — the property is *like* a `boolean`131 (such as `draggable`);132 these properties have both an on and off state when defined,133 *and* another state when not defined134* `boolean` (`boolean`)135 — the property is a `boolean`136 (such as `hidden`);137 these properties have an on state when defined and an off state when not138 defined139* `commaOrSpaceSeparated` (`boolean`)140 — the property is a list separated by spaces or commas141 (such as `strokeDashArray`)142* `commaSeparated` (`boolean`)143 — the property is a list separated by commas144 (such as `coords`)145* `defined` (`boolean`)146 — the property is [defined by a space][section-support];147 this is the case for values in HTML148 (including [data][mozilla-dataset] and ARIA),149 SVG, XML, XMLNS, and XLink;150 not defined properties can only be found through `find`151* `mustUseProperty` (`boolean`)152 — when working with the DOM,153 this property has to be changed as a field on the element,154 instead of through `setAttribute`155 (this is true only for `'checked'`, `'multiple'`, `'muted'`, and156 `'selected'`)157* `number` (`boolean`)158 — the property is a `number` (such as `height`)159* `overloadedBoolean` (`boolean`)160 — the property is *like* a `boolean` (such as `download`);161 these properties have an on state *and* more states when defined and an off162 state when not defined163* `property` (`string`)164 — JavaScript-style camel-cased name;165 based on the DOM but sometimes different166 (such as `'ariaDescribedBy'`, `'allowFullScreen'`, `'xmlLang'`, `'htmlFor'`,167 `'charOff'`)168* `spaceSeparated` (`boolean`)169 — the property is a list separated by spaces170 (such as `className`)171* `space` ([`Space`][api-space] or `undefined`)172 — [space][github-web-namespaces] of the property173 174### `Schema`175 176Schema for a primary space (TypeScript type).177 178###### Fields179 180* `normal` (`Record<string, string>`)181 — object mapping normalized attributes and properties to properly cased182 properties183* `property` ([`Record<string, Info>`][api-info])184 — object mapping properties to info185* `space` (`'html'` or `'svg'`)186 — primary space of the schema187 188### `Space`189 190Space of a property (TypeScript type).191 192###### Type193 194```ts195type Space = 'html' | 'svg' | 'xlink' | 'xmlns' | 'xml'196```197 198### `find(schema, name)`199 200Look up info on a property.201 202In most cases the given `schema` contains info on the property.203All standard,204most legacy,205and some non-standard properties are supported.206For these cases,207the returned [`Info`][api-info] has hints about the value of the property.208 209`name` can also be a [valid data attribute or property][mozilla-dataset],210in which case an [`Info`][api-info] object with the correctly cased `attribute`211and `property` is returned.212 213`name` can be an unknown attribute,214in which case an [`Info`][api-info] object with `attribute` and `property` set215to the given name is returned.216It is not recommended to provide unsupported legacy or recently specced217properties.218 219###### Parameters220 221* `schema` ([`Schema`][api-schema])222 — schema;223 either the `html` or `svg` export224* `name` (`string`)225 — an attribute-like or property-like name;226 it will be passed through227 [`normalize`][api-normalize] to hopefully find the correct info228 229###### Returns230 231[`Info`][api-info].232 233###### Example234 235Aside from the aforementioned example,236which shows known HTML, SVG, XML, XLink, and ARIA support,237data properties and attributes are also supported:238 239```js240console.log(find(html, 'data-date-of-birth'))241// Or: find(html, 'dataDateOfBirth')242// => {attribute: 'data-date-of-birth', property: 'dataDateOfBirth'}243```244 245Unknown values are passed through untouched:246 247```js248console.log(find(html, 'un-Known'))249// => {attribute: 'un-Known', property: 'un-Known'}250```251 252### `hastToReact`253 254Special cases for React (`Record<string, string>`).255 256[`hast`][github-hast] is close to [`React`][github-react]257but differs in a couple of cases.258To get a React property from a hast property,259check if it is in `hastToReact`.260If it is,261use the corresponding value.262 263### `html`264 265[`Schema`][api-schema] for HTML,266with info on properties from HTML itself and related embedded spaces267(ARIA, XML, XMLNS, XLink).268 269###### Example270 271```js272console.log(html.property.htmlFor)273// => {attribute: 'for', property: 'htmlFor', spaceSeparated: true, space: 'html'}274console.log(html.property.unknown)275// => undefined276```277 278### `normalize(name)`279 280Get the cleaned case insensitive form of an attribute or property.281 282###### Parameters283 284* `name` (`string`)285 — an attribute-like or property-like name286 287###### Returns288 289Value (`string`) that can be used to look up the properly cased property on a290[`Schema`][api-schema].291 292###### Example293 294```js295html.normal[normalize('for')] // => 'htmlFor'296svg.normal[normalize('VIEWBOX')] // => 'viewBox'297html.normal[normalize('unknown')] // => undefined298html.normal[normalize('accept-charset')] // => 'acceptCharset'299```300 301### `svg`302 303[`Schema`][api-schema] for SVG,304with info on properties from SVG itself and related embedded spaces305(ARIA, XML, XMLNS, XLink).306 307###### Example308 309```js310console.log(svg.property.viewBox)311// => {attribute: 'viewBox', property: 'viewBox', space: 'svg'}312console.log(svg.property.unknown)313// => undefined314```315 316## Compatibility317 318This package is at least compatible with all maintained versions of Node.js.319As of now,320that is Node.js 16+.321It also works in Deno and modern browsers.322 323## Support324 325<!--list start-->326 327| Property | Attribute | Space |328| --------------------------------- | --------------------------------- | ------------- |329| `aLink` | `alink` | `html` |330| `abbr` | `abbr` | `html` |331| `about` | `about` | `svg` |332| `accentHeight` | `accent-height` | `svg` |333| `accept` | `accept` | `html` |334| `acceptCharset` | `accept-charset` | `html` |335| `accessKey` | `accesskey` | `html` |336| `accumulate` | `accumulate` | `svg` |337| `action` | `action` | `html` |338| `additive` | `additive` | `svg` |339| `align` | `align` | `html` |340| `alignmentBaseline` | `alignment-baseline` | `svg` |341| `allow` | `allow` | `html` |342| `allowFullScreen` | `allowfullscreen` | `html` |343| `allowPaymentRequest` | `allowpaymentrequest` | `html` |344| `allowTransparency` | `allowtransparency` | `html` |345| `allowUserMedia` | `allowusermedia` | `html` |346| `alpha` | `alpha` | `html` |347| `alphabetic` | `alphabetic` | `svg` |348| `alt` | `alt` | `html` |349| `amplitude` | `amplitude` | `svg` |350| `arabicForm` | `arabic-form` | `svg` |351| `archive` | `archive` | `html` |352| `ariaActiveDescendant` | `aria-activedescendant` | |353| `ariaAtomic` | `aria-atomic` | |354| `ariaAutoComplete` | `aria-autocomplete` | |355| `ariaBusy` | `aria-busy` | |356| `ariaChecked` | `aria-checked` | |357| `ariaColCount` | `aria-colcount` | |358| `ariaColIndex` | `aria-colindex` | |359| `ariaColSpan` | `aria-colspan` | |360| `ariaControls` | `aria-controls` | |361| `ariaCurrent` | `aria-current` | |362| `ariaDescribedBy` | `aria-describedby` | |363| `ariaDetails` | `aria-details` | |364| `ariaDisabled` | `aria-disabled` | |365| `ariaDropEffect` | `aria-dropeffect` | |366| `ariaErrorMessage` | `aria-errormessage` | |367| `ariaExpanded` | `aria-expanded` | |368| `ariaFlowTo` | `aria-flowto` | |369| `ariaGrabbed` | `aria-grabbed` | |370| `ariaHasPopup` | `aria-haspopup` | |371| `ariaHidden` | `aria-hidden` | |372| `ariaInvalid` | `aria-invalid` | |373| `ariaKeyShortcuts` | `aria-keyshortcuts` | |374| `ariaLabel` | `aria-label` | |375| `ariaLabelledBy` | `aria-labelledby` | |376| `ariaLevel` | `aria-level` | |377| `ariaLive` | `aria-live` | |378| `ariaModal` | `aria-modal` | |379| `ariaMultiLine` | `aria-multiline` | |380| `ariaMultiSelectable` | `aria-multiselectable` | |381| `ariaOrientation` | `aria-orientation` | |382| `ariaOwns` | `aria-owns` | |383| `ariaPlaceholder` | `aria-placeholder` | |384| `ariaPosInSet` | `aria-posinset` | |385| `ariaPressed` | `aria-pressed` | |386| `ariaReadOnly` | `aria-readonly` | |387| `ariaRelevant` | `aria-relevant` | |388| `ariaRequired` | `aria-required` | |389| `ariaRoleDescription` | `aria-roledescription` | |390| `ariaRowCount` | `aria-rowcount` | |391| `ariaRowIndex` | `aria-rowindex` | |392| `ariaRowSpan` | `aria-rowspan` | |393| `ariaSelected` | `aria-selected` | |394| `ariaSetSize` | `aria-setsize` | |395| `ariaSort` | `aria-sort` | |396| `ariaValueMax` | `aria-valuemax` | |397| `ariaValueMin` | `aria-valuemin` | |398| `ariaValueNow` | `aria-valuenow` | |399| `ariaValueText` | `aria-valuetext` | |400| `as` | `as` | `html` |401| `ascent` | `ascent` | `svg` |402| `async` | `async` | `html` |403| `attributeName` | `attributeName` | `svg` |404| `attributeType` | `attributeType` | `svg` |405| `autoCapitalize` | `autocapitalize` | `html` |406| `autoComplete` | `autocomplete` | `html` |407| `autoCorrect` | `autocorrect` | `html` |408| `autoFocus` | `autofocus` | `html` |409| `autoPlay` | `autoplay` | `html` |410| `autoSave` | `autosave` | `html` |411| `axis` | `axis` | `html` |412| `azimuth` | `azimuth` | `svg` |413| `background` | `background` | `html` |414| `bandwidth` | `bandwidth` | `svg` |415| `baseFrequency` | `baseFrequency` | `svg` |416| `baseProfile` | `baseProfile` | `svg` |417| `baselineShift` | `baseline-shift` | `svg` |418| `bbox` | `bbox` | `svg` |419| `begin` | `begin` | `svg` |420| `bgColor` | `bgcolor` | `html` |421| `bias` | `bias` | `svg` |422| `blocking` | `blocking` | `html` |423| `border` | `border` | `html` |424| `borderColor` | `bordercolor` | `html` |425| `bottomMargin` | `bottommargin` | `html` |426| `by` | `by` | `svg` |427| `calcMode` | `calcMode` | `svg` |428| `capHeight` | `cap-height` | `svg` |429| `capture` | `capture` | `html` |430| `cellPadding` | `cellpadding` | `html` |431| `cellSpacing` | `cellspacing` | `html` |432| `char` | `char` | `html` |433| `charOff` | `charoff` | `html` |434| `charSet` | `charset` | `html` |435| `checked` | `checked` | `html` |436| `cite` | `cite` | `html` |437| `classId` | `classid` | `html` |438| `className` | `class` | `svg`, `html` |439| `clear` | `clear` | `html` |440| `clip` | `clip` | `svg` |441| `clipPath` | `clip-path` | `svg` |442| `clipPathUnits` | `clipPathUnits` | `svg` |443| `clipRule` | `clip-rule` | `svg` |444| `closedBy` | `closedby` | `html` |445| `code` | `code` | `html` |446| `codeBase` | `codebase` | `html` |447| `codeType` | `codetype` | `html` |448| `colSpan` | `colspan` | `html` |449| `color` | `color` | `svg`, `html` |450| `colorInterpolation` | `color-interpolation` | `svg` |451| `colorInterpolationFilters` | `color-interpolation-filters` | `svg` |452| `colorProfile` | `color-profile` | `svg` |453| `colorRendering` | `color-rendering` | `svg` |454| `colorSpace` | `colorspace` | `html` |455| `cols` | `cols` | `html` |456| `command` | `command` | `html` |457| `commandFor` | `commandfor` | `html` |458| `compact` | `compact` | `html` |459| `content` | `content` | `svg`, `html` |460| `contentEditable` | `contenteditable` | `html` |461| `contentScriptType` | `contentScriptType` | `svg` |462| `contentStyleType` | `contentStyleType` | `svg` |463| `controls` | `controls` | `html` |464| `controlsList` | `controlslist` | `html` |465| `coords` | `coords` | `html` |466| `credentialless` | `credentialless` | `html` |467| `crossOrigin` | `crossorigin` | `svg`, `html` |468| `cursor` | `cursor` | `svg` |469| `cx` | `cx` | `svg` |470| `cy` | `cy` | `svg` |471| `d` | `d` | `svg` |472| `data` | `data` | `html` |473| `dataType` | `datatype` | `svg` |474| `dateTime` | `datetime` | `html` |475| `declare` | `declare` | `html` |476| `decoding` | `decoding` | `html` |477| `default` | `default` | `html` |478| `defaultAction` | `defaultAction` | `svg` |479| `defer` | `defer` | `html` |480| `descent` | `descent` | `svg` |481| `diffuseConstant` | `diffuseConstant` | `svg` |482| `dir` | `dir` | `html` |483| `dirName` | `dirname` | `html` |484| `direction` | `direction` | `svg` |485| `disablePictureInPicture` | `disablepictureinpicture` | `html` |486| `disableRemotePlayback` | `disableremoteplayback` | `html` |487| `disabled` | `disabled` | `html` |488| `display` | `display` | `svg` |489| `divisor` | `divisor` | `svg` |490| `dominantBaseline` | `dominant-baseline` | `svg` |491| `download` | `download` | `svg`, `html` |492| `draggable` | `draggable` | `html` |493| `dur` | `dur` | `svg` |494| `dx` | `dx` | `svg` |495| `dy` | `dy` | `svg` |496| `edgeMode` | `edgeMode` | `svg` |497| `editable` | `editable` | `svg` |498| `elevation` | `elevation` | `svg` |499| `enableBackground` | `enable-background` | `svg` |500| `encType` | `enctype` | `html` |501| `end` | `end` | `svg` |502| `enterKeyHint` | `enterkeyhint` | `html` |503| `event` | `event` | `svg`, `html` |504| `exponent` | `exponent` | `svg` |505| `exportParts` | `exportparts` | `html` |506| `externalResourcesRequired` | `externalResourcesRequired` | `svg` |507| `face` | `face` | `html` |508| `fetchPriority` | `fetchpriority` | `html` |509| `fill` | `fill` | `svg` |510| `fillOpacity` | `fill-opacity` | `svg` |511| `fillRule` | `fill-rule` | `svg` |512| `filter` | `filter` | `svg` |513| `filterRes` | `filterRes` | `svg` |514| `filterUnits` | `filterUnits` | `svg` |515| `floodColor` | `flood-color` | `svg` |516| `floodOpacity` | `flood-opacity` | `svg` |517| `focusHighlight` | `focusHighlight` | `svg` |518| `focusable` | `focusable` | `svg` |519| `fontFamily` | `font-family` | `svg` |520| `fontSize` | `font-size` | `svg` |521| `fontSizeAdjust` | `font-size-adjust` | `svg` |522| `fontStretch` | `font-stretch` | `svg` |523| `fontStyle` | `font-style` | `svg` |524| `fontVariant` | `font-variant` | `svg` |525| `fontWeight` | `font-weight` | `svg` |526| `form` | `form` | `html` |527| `formAction` | `formaction` | `html` |528| `formEncType` | `formenctype` | `html` |529| `formMethod` | `formmethod` | `html` |530| `formNoValidate` | `formnovalidate` | `html` |531| `formTarget` | `formtarget` | `html` |532| `format` | `format` | `svg` |533| `fr` | `fr` | `svg` |534| `frame` | `frame` | `html` |535| `frameBorder` | `frameborder` | `html` |536| `from` | `from` | `svg` |537| `fx` | `fx` | `svg` |538| `fy` | `fy` | `svg` |539| `g1` | `g1` | `svg` |540| `g2` | `g2` | `svg` |541| `glyphName` | `glyph-name` | `svg` |542| `glyphOrientationHorizontal` | `glyph-orientation-horizontal` | `svg` |543| `glyphOrientationVertical` | `glyph-orientation-vertical` | `svg` |544| `glyphRef` | `glyphRef` | `svg` |545| `gradientTransform` | `gradientTransform` | `svg` |546| `gradientUnits` | `gradientUnits` | `svg` |547| `hSpace` | `hspace` | `html` |548| `handler` | `handler` | `svg` |549| `hanging` | `hanging` | `svg` |550| `hatchContentUnits` | `hatchContentUnits` | `svg` |551| `hatchUnits` | `hatchUnits` | `svg` |552| `headers` | `headers` | `html` |553| `height` | `height` | `svg`, `html` |554| `hidden` | `hidden` | `html` |555| `high` | `high` | `html` |556| `horizAdvX` | `horiz-adv-x` | `svg` |557| `horizOriginX` | `horiz-origin-x` | `svg` |558| `horizOriginY` | `horiz-origin-y` | `svg` |559| `href` | `href` | `svg`, `html` |560| `hrefLang` | `hreflang` | `svg`, `html` |561| `htmlFor` | `for` | `html` |562| `httpEquiv` | `http-equiv` | `html` |563| `id` | `id` | `svg`, `html` |564| `ideographic` | `ideographic` | `svg` |565| `imageRendering` | `image-rendering` | `svg` |566| `imageSizes` | `imagesizes` | `html` |567| `imageSrcSet` | `imagesrcset` | `html` |568| `in` | `in` | `svg` |569| `in2` | `in2` | `svg` |570| `inert` | `inert` | `html` |571| `initialVisibility` | `initialVisibility` | `svg` |572| `inputMode` | `inputmode` | `html` |573| `integrity` | `integrity` | `html` |574| `intercept` | `intercept` | `svg` |575| `is` | `is` | `html` |576| `isMap` | `ismap` | `html` |577| `itemId` | `itemid` | `html` |578| `itemProp` | `itemprop` | `html` |579| `itemRef` | `itemref` | `html` |580| `itemScope` | `itemscope` | `html` |581| `itemType` | `itemtype` | `html` |582| `k` | `k` | `svg` |583| `k1` | `k1` | `svg` |584| `k2` | `k2` | `svg` |585| `k3` | `k3` | `svg` |586| `k4` | `k4` | `svg` |587| `kernelMatrix` | `kernelMatrix` | `svg` |588| `kernelUnitLength` | `kernelUnitLength` | `svg` |589| `kerning` | `kerning` | `svg` |590| `keyPoints` | `keyPoints` | `svg` |591| `keySplines` | `keySplines` | `svg` |592| `keyTimes` | `keyTimes` | `svg` |593| `kind` | `kind` | `html` |594| `label` | `label` | `html` |595| `lang` | `lang` | `svg`, `html` |596| `language` | `language` | `html` |597| `leftMargin` | `leftmargin` | `html` |598| `lengthAdjust` | `lengthAdjust` | `svg` |599| `letterSpacing` | `letter-spacing` | `svg` |600| `lightingColor` | `lighting-color` | `svg` |601| `limitingConeAngle` | `limitingConeAngle` | `svg` |602| `link` | `link` | `html` |603| `list` | `list` | `html` |604| `loading` | `loading` | `html` |605| `local` | `local` | `svg` |606| `longDesc` | `longdesc` | `html` |607| `loop` | `loop` | `html` |608| `low` | `low` | `html` |609| `lowSrc` | `lowsrc` | `html` |610| `manifest` | `manifest` | `html` |611| `marginHeight` | `marginheight` | `html` |612| `marginWidth` | `marginwidth` | `html` |613| `markerEnd` | `marker-end` | `svg` |614| `markerHeight` | `markerHeight` | `svg` |615| `markerMid` | `marker-mid` | `svg` |616| `markerStart` | `marker-start` | `svg` |617| `markerUnits` | `markerUnits` | `svg` |618| `markerWidth` | `markerWidth` | `svg` |619| `mask` | `mask` | `svg` |620| `maskContentUnits` | `maskContentUnits` | `svg` |621| `maskType` | `mask-type` | `svg` |622| `maskUnits` | `maskUnits` | `svg` |623| `mathematical` | `mathematical` | `svg` |624| `max` | `max` | `svg`, `html` |625| `maxLength` | `maxlength` | `html` |626| `media` | `media` | `svg`, `html` |627| `mediaCharacterEncoding` | `mediaCharacterEncoding` | `svg` |628| `mediaContentEncodings` | `mediaContentEncodings` | `svg` |629| `mediaSize` | `mediaSize` | `svg` |630| `mediaTime` | `mediaTime` | `svg` |631| `method` | `method` | `svg`, `html` |632| `min` | `min` | `svg`, `html` |633| `minLength` | `minlength` | `html` |634| `mode` | `mode` | `svg` |635| `multiple` | `multiple` | `html` |636| `muted` | `muted` | `html` |637| `name` | `name` | `svg`, `html` |638| `navDown` | `nav-down` | `svg` |639| `navDownLeft` | `nav-down-left` | `svg` |640| `navDownRight` | `nav-down-right` | `svg` |641| `navLeft` | `nav-left` | `svg` |642| `navNext` | `nav-next` | `svg` |643| `navPrev` | `nav-prev` | `svg` |644| `navRight` | `nav-right` | `svg` |645| `navUp` | `nav-up` | `svg` |646| `navUpLeft` | `nav-up-left` | `svg` |647| `navUpRight` | `nav-up-right` | `svg` |648| `noHref` | `nohref` | `html` |649| `noModule` | `nomodule` | `html` |650| `noResize` | `noresize` | `html` |651| `noShade` | `noshade` | `html` |652| `noValidate` | `novalidate` | `html` |653| `noWrap` | `nowrap` | `html` |654| `nonce` | `nonce` | `html` |655| `numOctaves` | `numOctaves` | `svg` |656| `object` | `object` | `html` |657| `observer` | `observer` | `svg` |658| `offset` | `offset` | `svg` |659| `onAbort` | `onabort` | `svg`, `html` |660| `onActivate` | `onactivate` | `svg` |661| `onAfterPrint` | `onafterprint` | `svg`, `html` |662| `onAuxClick` | `onauxclick` | `html` |663| `onBeforeMatch` | `onbeforematch` | `html` |664| `onBeforePrint` | `onbeforeprint` | `svg`, `html` |665| `onBeforeToggle` | `onbeforetoggle` | `html` |666| `onBeforeUnload` | `onbeforeunload` | `html` |667| `onBegin` | `onbegin` | `svg` |668| `onBlur` | `onblur` | `html` |669| `onCanPlay` | `oncanplay` | `svg`, `html` |670| `onCanPlayThrough` | `oncanplaythrough` | `svg`, `html` |671| `onCancel` | `oncancel` | `svg`, `html` |672| `onChange` | `onchange` | `svg`, `html` |673| `onClick` | `onclick` | `svg`, `html` |674| `onClose` | `onclose` | `svg`, `html` |675| `onContextLost` | `oncontextlost` | `html` |676| `onContextMenu` | `oncontextmenu` | `html` |677| `onContextRestored` | `oncontextrestored` | `html` |678| `onCopy` | `oncopy` | `svg`, `html` |679| `onCueChange` | `oncuechange` | `svg`, `html` |680| `onCut` | `oncut` | `svg`, `html` |681| `onDblClick` | `ondblclick` | `svg`, `html` |682| `onDrag` | `ondrag` | `svg`, `html` |683| `onDragEnd` | `ondragend` | `svg`, `html` |684| `onDragEnter` | `ondragenter` | `svg`, `html` |685| `onDragExit` | `ondragexit` | `svg`, `html` |686| `onDragLeave` | `ondragleave` | `svg`, `html` |687| `onDragOver` | `ondragover` | `svg`, `html` |688| `onDragStart` | `ondragstart` | `svg`, `html` |689| `onDrop` | `ondrop` | `svg`, `html` |690| `onDurationChange` | `ondurationchange` | `svg`, `html` |691| `onEmptied` | `onemptied` | `svg`, `html` |692| `onEnd` | `onend` | `svg` |693| `onEnded` | `onended` | `svg`, `html` |694| `onError` | `onerror` | `svg`, `html` |695| `onFocus` | `onfocus` | `svg`, `html` |696| `onFocusIn` | `onfocusin` | `svg` |697| `onFocusOut` | `onfocusout` | `svg` |698| `onFormData` | `onformdata` | `html` |699| `onHashChange` | `onhashchange` | `svg`, `html` |700| `onInput` | `oninput` | `svg`, `html` |701| `onInvalid` | `oninvalid` | `svg`, `html` |702| `onKeyDown` | `onkeydown` | `svg`, `html` |703| `onKeyPress` | `onkeypress` | `svg`, `html` |704| `onKeyUp` | `onkeyup` | `svg`, `html` |705| `onLanguageChange` | `onlanguagechange` | `html` |706| `onLoad` | `onload` | `svg`, `html` |707| `onLoadEnd` | `onloadend` | `html` |708| `onLoadStart` | `onloadstart` | `svg`, `html` |709| `onLoadedData` | `onloadeddata` | `svg`, `html` |710| `onLoadedMetadata` | `onloadedmetadata` | `svg`, `html` |711| `onMessage` | `onmessage` | `svg`, `html` |712| `onMessageError` | `onmessageerror` | `html` |713| `onMouseDown` | `onmousedown` | `svg`, `html` |714| `onMouseEnter` | `onmouseenter` | `svg`, `html` |715| `onMouseLeave` | `onmouseleave` | `svg`, `html` |716| `onMouseMove` | `onmousemove` | `svg`, `html` |717| `onMouseOut` | `onmouseout` | `svg`, `html` |718| `onMouseOver` | `onmouseover` | `svg`, `html` |719| `onMouseUp` | `onmouseup` | `svg`, `html` |720| `onMouseWheel` | `onmousewheel` | `svg` |721| `onOffline` | `onoffline` | `svg`, `html` |722| `onOnline` | `ononline` | `svg`, `html` |723| `onPageHide` | `onpagehide` | `svg`, `html` |724| `onPageShow` | `onpageshow` | `svg`, `html` |725| `onPaste` | `onpaste` | `svg`, `html` |726| `onPause` | `onpause` | `svg`, `html` |727| `onPlay` | `onplay` | `svg`, `html` |728| `onPlaying` | `onplaying` | `svg`, `html` |729| `onPopState` | `onpopstate` | `svg`, `html` |730| `onProgress` | `onprogress` | `svg`, `html` |731| `onRateChange` | `onratechange` | `svg`, `html` |732| `onRejectionHandled` | `onrejectionhandled` | `html` |733| `onRepeat` | `onrepeat` | `svg` |734| `onReset` | `onreset` | `svg`, `html` |735| `onResize` | `onresize` | `svg`, `html` |736| `onScroll` | `onscroll` | `svg`, `html` |737| `onScrollEnd` | `onscrollend` | `html` |738| `onSecurityPolicyViolation` | `onsecuritypolicyviolation` | `html` |739| `onSeeked` | `onseeked` | `svg`, `html` |740| `onSeeking` | `onseeking` | `svg`, `html` |741| `onSelect` | `onselect` | `svg`, `html` |742| `onShow` | `onshow` | `svg` |743| `onSlotChange` | `onslotchange` | `html` |744| `onStalled` | `onstalled` | `svg`, `html` |745| `onStorage` | `onstorage` | `svg`, `html` |746| `onSubmit` | `onsubmit` | `svg`, `html` |747| `onSuspend` | `onsuspend` | `svg`, `html` |748| `onTimeUpdate` | `ontimeupdate` | `svg`, `html` |749| `onToggle` | `ontoggle` | `svg`, `html` |750| `onUnhandledRejection` | `onunhandledrejection` | `html` |751| `onUnload` | `onunload` | `svg`, `html` |752| `onVolumeChange` | `onvolumechange` | `svg`, `html` |753| `onWaiting` | `onwaiting` | `svg`, `html` |754| `onWheel` | `onwheel` | `html` |755| `onZoom` | `onzoom` | `svg` |756| `opacity` | `opacity` | `svg` |757| `open` | `open` | `html` |758| `operator` | `operator` | `svg` |759| `optimum` | `optimum` | `html` |760| `order` | `order` | `svg` |761| `orient` | `orient` | `svg` |762| `orientation` | `orientation` | `svg` |763| `origin` | `origin` | `svg` |764| `overflow` | `overflow` | `svg` |765| `overlay` | `overlay` | `svg` |766| `overlinePosition` | `overline-position` | `svg` |767| `overlineThickness` | `overline-thickness` | `svg` |768| `paintOrder` | `paint-order` | `svg` |769| `panose1` | `panose-1` | `svg` |770| `part` | `part` | `html` |771| `path` | `path` | `svg` |772| `pathLength` | `pathLength` | `svg` |773| `pattern` | `pattern` | `html` |774| `patternContentUnits` | `patternContentUnits` | `svg` |775| `patternTransform` | `patternTransform` | `svg` |776| `patternUnits` | `patternUnits` | `svg` |777| `phase` | `phase` | `svg` |778| `ping` | `ping` | `svg`, `html` |779| `pitch` | `pitch` | `svg` |780| `placeholder` | `placeholder` | `html` |781| `playbackOrder` | `playbackorder` | `svg` |782| `playsInline` | `playsinline` | `html` |783| `pointerEvents` | `pointer-events` | `svg` |784| `points` | `points` | `svg` |785| `pointsAtX` | `pointsAtX` | `svg` |786| `pointsAtY` | `pointsAtY` | `svg` |787| `pointsAtZ` | `pointsAtZ` | `svg` |788| `popover` | `popover` | `html` |789| `popoverTarget` | `popovertarget` | `html` |790| `popoverTargetAction` | `popovertargetaction` | `html` |791| `poster` | `poster` | `html` |792| `prefix` | `prefix` | `html` |793| `preload` | `preload` | `html` |794| `preserveAlpha` | `preserveAlpha` | `svg` |795| `preserveAspectRatio` | `preserveAspectRatio` | `svg` |796| `primitiveUnits` | `primitiveUnits` | `svg` |797| `profile` | `profile` | `html` |798| `prompt` | `prompt` | `html` |799| `propagate` | `propagate` | `svg` |800| `property` | `property` | `svg`, `html` |801| `r` | `r` | `svg` |802| `radius` | `radius` | `svg` |803| `readOnly` | `readonly` | `html` |804| `refX` | `refX` | `svg` |805| `refY` | `refY` | `svg` |806| `referrerPolicy` | `referrerpolicy` | `svg`, `html` |807| `rel` | `rel` | `svg`, `html` |808| `renderingIntent` | `rendering-intent` | `svg` |809| `repeatCount` | `repeatCount` | `svg` |810| `repeatDur` | `repeatDur` | `svg` |811| `required` | `required` | `html` |812| `requiredExtensions` | `requiredExtensions` | `svg` |813| `requiredFeatures` | `requiredFeatures` | `svg` |814| `requiredFonts` | `requiredFonts` | `svg` |815| `requiredFormats` | `requiredFormats` | `svg` |816| `resource` | `resource` | `svg` |817| `restart` | `restart` | `svg` |818| `result` | `result` | `svg` |819| `results` | `results` | `html` |820| `rev` | `rev` | `svg`, `html` |821| `reversed` | `reversed` | `html` |822| `rightMargin` | `rightmargin` | `html` |823| `role` | `role` | |824| `rotate` | `rotate` | `svg` |825| `rowSpan` | `rowspan` | `html` |826| `rows` | `rows` | `html` |827| `rules` | `rules` | `html` |828| `rx` | `rx` | `svg` |829| `ry` | `ry` | `svg` |830| `sandbox` | `sandbox` | `html` |831| `scale` | `scale` | `svg` |832| `scheme` | `scheme` | `html` |833| `scope` | `scope` | `html` |834| `scoped` | `scoped` | `html` |835| `scrolling` | `scrolling` | `html` |836| `seamless` | `seamless` | `html` |837| `security` | `security` | `html` |838| `seed` | `seed` | `svg` |839| `selected` | `selected` | `html` |840| `shadowRootClonable` | `shadowrootclonable` | `html` |841| `shadowRootCustomElementRegistry` | `shadowrootcustomelementregistry` | `html` |842| `shadowRootDelegatesFocus` | `shadowrootdelegatesfocus` | `html` |843| `shadowRootMode` | `shadowrootmode` | `html` |844| `shadowRootSerializable` | `shadowrootserializable` | `html` |845| `shape` | `shape` | `html` |846| `shapeRendering` | `shape-rendering` | `svg` |847| `side` | `side` | `svg` |848| `size` | `size` | `html` |849| `sizes` | `sizes` | `html` |850| `slope` | `slope` | `svg` |851| `slot` | `slot` | `html` |852| `snapshotTime` | `snapshotTime` | `svg` |853| `spacing` | `spacing` | `svg` |854| `span` | `span` | `html` |855| `specularConstant` | `specularConstant` | `svg` |856| `specularExponent` | `specularExponent` | `svg` |857| `spellCheck` | `spellcheck` | `html` |858| `spreadMethod` | `spreadMethod` | `svg` |859| `src` | `src` | `html` |860| `srcDoc` | `srcdoc` | `html` |861| `srcLang` | `srclang` | `html` |862| `srcSet` | `srcset` | `html` |863| `standby` | `standby` | `html` |864| `start` | `start` | `html` |865| `startOffset` | `startOffset` | `svg` |866| `stdDeviation` | `stdDeviation` | `svg` |867| `stemh` | `stemh` | `svg` |868| `stemv` | `stemv` | `svg` |869| `step` | `step` | `html` |870| `stitchTiles` | `stitchTiles` | `svg` |871| `stopColor` | `stop-color` | `svg` |872| `stopOpacity` | `stop-opacity` | `svg` |873| `strikethroughPosition` | `strikethrough-position` | `svg` |874| `strikethroughThickness` | `strikethrough-thickness` | `svg` |875| `string` | `string` | `svg` |876| `stroke` | `stroke` | `svg` |877| `strokeDashArray` | `stroke-dasharray` | `svg` |878| `strokeDashOffset` | `stroke-dashoffset` | `svg` |879| `strokeLineCap` | `stroke-linecap` | `svg` |880| `strokeLineJoin` | `stroke-linejoin` | `svg` |881| `strokeMiterLimit` | `stroke-miterlimit` | `svg` |882| `strokeOpacity` | `stroke-opacity` | `svg` |883| `strokeWidth` | `stroke-width` | `svg` |884| `style` | `style` | `svg`, `html` |885| `summary` | `summary` | `html` |886| `surfaceScale` | `surfaceScale` | `svg` |887| `syncBehavior` | `syncBehavior` | `svg` |888| `syncBehaviorDefault` | `syncBehaviorDefault` | `svg` |889| `syncMaster` | `syncMaster` | `svg` |890| `syncTolerance` | `syncTolerance` | `svg` |891| `syncToleranceDefault` | `syncToleranceDefault` | `svg` |892| `systemLanguage` | `systemLanguage` | `svg` |893| `tabIndex` | `tabindex` | `svg`, `html` |894| `tableValues` | `tableValues` | `svg` |895| `target` | `target` | `svg`, `html` |896| `targetX` | `targetX` | `svg` |897| `targetY` | `targetY` | `svg` |898| `text` | `text` | `html` |899| `textAnchor` | `text-anchor` | `svg` |900| `textDecoration` | `text-decoration` | `svg` |901| `textLength` | `textLength` | `svg` |902| `textRendering` | `text-rendering` | `svg` |903| `timelineBegin` | `timelinebegin` | `svg` |904| `title` | `title` | `svg`, `html` |905| `to` | `to` | `svg` |906| `topMargin` | `topmargin` | `html` |907| `transform` | `transform` | `svg` |908| `transformBehavior` | `transformBehavior` | `svg` |909| `transformOrigin` | `transform-origin` | `svg` |910| `translate` | `translate` | `html` |911| `type` | `type` | `svg`, `html` |912| `typeMustMatch` | `typemustmatch` | `html` |913| `typeOf` | `typeof` | `svg` |914| `u1` | `u1` | `svg` |915| `u2` | `u2` | `svg` |916| `underlinePosition` | `underline-position` | `svg` |917| `underlineThickness` | `underline-thickness` | `svg` |918| `unicode` | `unicode` | `svg` |919| `unicodeBidi` | `unicode-bidi` | `svg` |920| `unicodeRange` | `unicode-range` | `svg` |921| `unitsPerEm` | `units-per-em` | `svg` |922| `unselectable` | `unselectable` | `html` |923| `useMap` | `usemap` | `html` |924| `vAlign` | `valign` | `html` |925| `vAlphabetic` | `v-alphabetic` | `svg` |926| `vHanging` | `v-hanging` | `svg` |927| `vIdeographic` | `v-ideographic` | `svg` |928| `vLink` | `vlink` | `html` |929| `vMathematical` | `v-mathematical` | `svg` |930| `vSpace` | `vspace` | `html` |931| `value` | `value` | `html` |932| `valueType` | `valuetype` | `html` |933| `values` | `values` | `svg` |934| `vectorEffect` | `vector-effect` | `svg` |935| `version` | `version` | `svg`, `html` |936| `vertAdvY` | `vert-adv-y` | `svg` |937| `vertOriginX` | `vert-origin-x` | `svg` |938| `vertOriginY` | `vert-origin-y` | `svg` |939| `viewBox` | `viewBox` | `svg` |940| `viewTarget` | `viewTarget` | `svg` |941| `visibility` | `visibility` | `svg` |942| `width` | `width` | `svg`, `html` |943| `widths` | `widths` | `svg` |944| `wordSpacing` | `word-spacing` | `svg` |945| `wrap` | `wrap` | `html` |946| `writingMode` | `writing-mode` | `svg` |947| `writingSuggestions` | `writingsuggestions` | `html` |948| `x` | `x` | `svg` |949| `x1` | `x1` | `svg` |950| `x2` | `x2` | `svg` |951| `xChannelSelector` | `xChannelSelector` | `svg` |952| `xHeight` | `x-height` | `svg` |953| `xLinkActuate` | `xlink:actuate` | `xlink` |954| `xLinkArcRole` | `xlink:arcrole` | `xlink` |955| `xLinkHref` | `xlink:href` | `xlink` |956| `xLinkRole` | `xlink:role` | `xlink` |957| `xLinkShow` | `xlink:show` | `xlink` |958| `xLinkTitle` | `xlink:title` | `xlink` |959| `xLinkType` | `xlink:type` | `xlink` |960| `xmlBase` | `xml:base` | `xml` |961| `xmlLang` | `xml:lang` | `xml` |962| `xmlSpace` | `xml:space` | `xml` |963| `xmlns` | `xmlns` | `xmlns` |964| `xmlnsXLink` | `xmlns:xlink` | `xmlns` |965| `y` | `y` | `svg` |966| `y1` | `y1` | `svg` |967| `y2` | `y2` | `svg` |968| `yChannelSelector` | `yChannelSelector` | `svg` |969| `z` | `z` | `svg` |970| `zoomAndPan` | `zoomAndPan` | `svg` |971 972<!--list end-->973 974## Security975 976This package is safe.977 978## Related979 980* [`wooorm/web-namespaces`][github-web-namespaces]981 — list of web namespaces982* [`wooorm/space-separated-tokens`](https://github.com/wooorm/space-separated-tokens)983 — parse/stringify space separated tokens984* [`wooorm/comma-separated-tokens`](https://github.com/wooorm/comma-separated-tokens)985 — parse/stringify comma separated tokens986* [`wooorm/html-tag-names`](https://github.com/wooorm/html-tag-names)987 — list of HTML tag names988* [`wooorm/mathml-tag-names`](https://github.com/wooorm/mathml-tag-names)989 — list of MathML tag names990* [`wooorm/svg-tag-names`](https://github.com/wooorm/svg-tag-names)991 — list of SVG tag names992* [`wooorm/html-void-elements`](https://github.com/wooorm/html-void-elements)993 — list of void HTML tag names994* [`wooorm/svg-element-attributes`](https://github.com/wooorm/svg-element-attributes)995 — map of SVG elements to allowed attributes996* [`wooorm/html-element-attributes`](https://github.com/wooorm/html-element-attributes)997 — map of HTML elements to allowed attributes998* [`wooorm/aria-attributes`](https://github.com/wooorm/aria-attributes)999 — list of ARIA attributes1000 1001## Contribute1002 1003Yes please!1004See [*How to Contribute to Open Source*][opensource-guide].1005 1006## License1007 1008[MIT][file-license] © [Titus Wormer][wooorm]1009 1010Derivative work based on [React][github-react-source] licensed under1011[MIT][github-react-source-license] © Facebook, Inc.1012 1013[api-find]: #findschema-name1014 1015[api-hast-to-react]: #hasttoreact1016 1017[api-html]: #html1018 1019[api-info]: #info1020 1021[api-normalize]: #normalizename1022 1023[api-schema]: #schema1024 1025[api-space]: #space1026 1027[api-svg]: #svg1028 1029[badge-build-image]: https://github.com/wooorm/property-information/workflows/main/badge.svg1030 1031[badge-build-url]: https://github.com/wooorm/property-information/actions1032 1033[badge-coverage-image]: https://img.shields.io/codecov/c/github/wooorm/property-information.svg1034 1035[badge-coverage-url]: https://codecov.io/github/wooorm/property-information1036 1037[badge-downloads-image]: https://img.shields.io/npm/dm/property-information.svg1038 1039[badge-downloads-url]: https://www.npmjs.com/package/property-information1040 1041[badge-size-image]: https://img.shields.io/bundlejs/size/property-information1042 1043[badge-size-url]: https://bundlejs.com/?q=property-information1044 1045[esmsh]: https://esm.sh1046 1047[file-license]: license1048 1049[github-gist-esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c1050 1051[github-hast]: https://github.com/syntax-tree/hast1052 1053[github-hast-property-name]: https://github.com/syntax-tree/hast#propertyname1054 1055[github-react]: https://github.com/facebook/react1056 1057[github-react-source]: https://github.com/facebook/react/blob/4632e36/packages/react-dom-bindings/src/shared/possibleStandardNames.js1058 1059[github-react-source-license]: https://github.com/facebook/react/blob/4632e36/LICENSE1060 1061[github-web-namespaces]: https://github.com/wooorm/web-namespaces1062 1063[mozilla-dataset]: https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset1064 1065[npmjs-install]: https://docs.npmjs.com/cli/install1066 1067[opensource-guide]: https://opensource.guide/how-to-contribute/1068 1069[section-support]: #support1070 1071[typescript]: https://www.typescriptlang.org1072 1073[wooorm]: https://wooorm.com1074 