2522 lines
No EOL
56 KiB
JavaScript
2522 lines
No EOL
56 KiB
JavaScript
function getProperty(propertyName) {
|
|
return el => el[propertyName];
|
|
}
|
|
function getAttribute(attributeName) {
|
|
return el => {
|
|
if (el.namespaceURI === '') {
|
|
throw new Error('Not an HTML element.');
|
|
}
|
|
return attributeName |> el.getAttribute(%);
|
|
};
|
|
}
|
|
function getSVGProperty(propertyName) {
|
|
return el => el[propertyName];
|
|
}
|
|
function getSVGAttribute(attributeName) {
|
|
return el => {
|
|
if (el.namespaceURI !== 'http://www.w3.org/2000/svg') {
|
|
throw new Error('Not an SVG element.');
|
|
}
|
|
return attributeName |> el.getAttribute(%);
|
|
};
|
|
}
|
|
const attributes = [{
|
|
name: 'about',
|
|
read: 'about' |> getAttribute(%)
|
|
}, {
|
|
name: 'aBoUt',
|
|
read: 'about' |> getAttribute(%)
|
|
}, {
|
|
name: 'accent-Height',
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face',
|
|
read: 'accent-height' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'accent-height',
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face',
|
|
read: 'accent-height' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'accentHeight',
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face',
|
|
read: 'accent-height' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'accept',
|
|
tagName: 'input'
|
|
}, {
|
|
name: 'accept-charset',
|
|
tagName: 'form',
|
|
read: 'acceptCharset' |> getProperty(%)
|
|
}, {
|
|
name: 'accept-Charset',
|
|
tagName: 'form',
|
|
read: 'acceptCharset' |> getProperty(%)
|
|
}, {
|
|
name: 'acceptCharset',
|
|
tagName: 'form'
|
|
}, {
|
|
name: 'accessKey'
|
|
}, {
|
|
name: 'accumulate',
|
|
containerTagName: 'svg',
|
|
tagName: 'animate',
|
|
read: 'accumulate' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'action',
|
|
tagName: 'form',
|
|
overrideStringValue: 'https://reactjs.com'
|
|
}, {
|
|
name: 'additive',
|
|
containerTagName: 'svg',
|
|
tagName: 'animate',
|
|
read: 'additive' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'alignment-baseline',
|
|
containerTagName: 'svg',
|
|
tagName: 'textPath',
|
|
read: 'alignment-baseline' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'alignmentBaseline',
|
|
containerTagName: 'svg',
|
|
tagName: 'textPath',
|
|
read: 'alignment-baseline' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'allowFullScreen',
|
|
tagName: 'iframe',
|
|
read: 'allowFullscreen' |> getProperty(%)
|
|
}, {
|
|
name: 'allowfullscreen',
|
|
tagName: 'iframe',
|
|
read: 'allowFullscreen' |> getProperty(%)
|
|
}, {
|
|
name: 'allowFullscreen',
|
|
tagName: 'iframe'
|
|
}, {
|
|
name: 'allowReorder',
|
|
containerTagName: 'svg',
|
|
tagName: 'switch',
|
|
read: 'allowReorder' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'alphabetic',
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face',
|
|
read: 'alphabetic' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'alt',
|
|
tagName: 'img'
|
|
}, {
|
|
name: 'amplitude',
|
|
containerTagName: 'svg',
|
|
tagName: 'feFuncA',
|
|
read: 'amplitude' |> getSVGProperty(%)
|
|
}, {
|
|
name: 'arabic-form',
|
|
containerTagName: 'svg',
|
|
tagName: 'glyph',
|
|
read: 'arabic-form' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'arabicForm',
|
|
containerTagName: 'svg',
|
|
tagName: 'glyph',
|
|
read: 'arabic-form' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'aria',
|
|
read: 'aria' |> getAttribute(%)
|
|
}, {
|
|
name: 'aria-',
|
|
read: 'aria-' |> getAttribute(%)
|
|
}, {
|
|
name: 'aria-hidden',
|
|
read: 'ariaHidden' |> getProperty(%)
|
|
}, {
|
|
name: 'aria-invalidattribute',
|
|
read: 'aria-invalidattribute' |> getAttribute(%)
|
|
}, {
|
|
name: 'as',
|
|
tagName: 'link'
|
|
}, {
|
|
name: 'ascent',
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face',
|
|
read: 'ascent' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'async',
|
|
tagName: 'script'
|
|
}, {
|
|
name: 'attributeName',
|
|
containerTagName: 'svg',
|
|
tagName: 'animate',
|
|
read: 'attributeName' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'attributeType',
|
|
containerTagName: 'svg',
|
|
tagName: 'animate',
|
|
read: 'attributeType' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'autoCapitalize',
|
|
tagName: 'input',
|
|
read: 'autocapitalize' |> getProperty(%),
|
|
overrideStringValue: 'words'
|
|
}, {
|
|
name: 'autoComplete',
|
|
tagName: 'input',
|
|
overrideStringValue: 'email',
|
|
read: 'autocomplete' |> getProperty(%)
|
|
}, {
|
|
name: 'autoCorrect',
|
|
tagName: 'input',
|
|
overrideStringValue: 'off',
|
|
read: 'autocorrect' |> getAttribute(%)
|
|
}, {
|
|
name: 'autoPlay',
|
|
tagName: 'video',
|
|
read: 'autoplay' |> getProperty(%)
|
|
}, {
|
|
name: 'autoReverse',
|
|
containerTagName: 'svg',
|
|
tagName: 'animate',
|
|
read: 'autoreverse' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'autoSave',
|
|
tagName: 'input',
|
|
read: 'autosave' |> getAttribute(%)
|
|
}, {
|
|
name: 'azimuth',
|
|
containerTagName: 'svg',
|
|
tagName: 'feDistantLight',
|
|
read: 'azimuth' |> getSVGProperty(%)
|
|
}, {
|
|
name: 'baseFrequency',
|
|
containerTagName: 'svg',
|
|
tagName: 'feTurbulence',
|
|
read: 'baseFrequency' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'baseline-shift',
|
|
containerTagName: 'svg',
|
|
tagName: 'textPath',
|
|
read: 'baseline-shift' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'baselineShift',
|
|
containerTagName: 'svg',
|
|
tagName: 'textPath',
|
|
read: 'baseline-shift' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'baseProfile',
|
|
tagName: 'svg',
|
|
read: 'baseProfile' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'bbox',
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face',
|
|
read: 'bbox' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'begin',
|
|
containerTagName: 'svg',
|
|
tagName: 'animate',
|
|
read: 'begin' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'bias',
|
|
containerTagName: 'svg',
|
|
tagName: 'feConvolveMatrix',
|
|
read: 'bias' |> getSVGProperty(%)
|
|
}, {
|
|
name: 'by',
|
|
containerTagName: 'svg',
|
|
tagName: 'animate',
|
|
read: 'by' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'calcMode',
|
|
containerTagName: 'svg',
|
|
tagName: 'animate',
|
|
overrideStringValue: 'discrete',
|
|
read: 'calcMode' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'cap-height',
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face',
|
|
read: 'cap-height' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'capHeight',
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face',
|
|
read: 'cap-height' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'capture',
|
|
tagName: 'input',
|
|
overrideStringValue: 'environment',
|
|
read: 'capture' |> getAttribute(%)
|
|
}, {
|
|
name: 'cellPadding',
|
|
tagName: 'table'
|
|
}, {
|
|
name: 'cellSpacing',
|
|
tagName: 'table'
|
|
}, {
|
|
name: 'challenge',
|
|
tagName: 'keygen',
|
|
read: 'challenge' |> getAttribute(%) // The property is not supported in Chrome.
|
|
}, {
|
|
name: 'charSet',
|
|
tagName: 'script',
|
|
read: 'charset' |> getProperty(%)
|
|
}, {
|
|
name: 'checked',
|
|
tagName: 'input',
|
|
extraProps: {
|
|
onChange() {}
|
|
}
|
|
}, {
|
|
name: 'Checked',
|
|
tagName: 'input',
|
|
read: 'Checked' |> getAttribute(%)
|
|
}, {
|
|
name: 'Children',
|
|
read: 'children' |> getAttribute(%)
|
|
}, {
|
|
name: 'children'
|
|
}, {
|
|
name: 'cite',
|
|
tagName: 'blockquote',
|
|
overrideStringValue: 'https://reactjs.com/'
|
|
}, {
|
|
name: 'class',
|
|
read: 'class' |> getAttribute(%)
|
|
}, {
|
|
name: 'classID',
|
|
tagName: 'object',
|
|
read: 'classid' |> getAttribute(%)
|
|
}, {
|
|
name: 'className'
|
|
}, {
|
|
name: 'clip',
|
|
tagName: 'svg',
|
|
read: 'clip' |> getAttribute(%)
|
|
}, {
|
|
name: 'clip-path',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'clip-path' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'clipPath',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'clip-path' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'clipPathUnits',
|
|
containerTagName: 'svg',
|
|
tagName: 'clipPath',
|
|
overrideStringValue: 'objectBoundingBox',
|
|
read: 'clipPathUnits' |> getSVGProperty(%)
|
|
}, {
|
|
name: 'clip-rule',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'clip-rule' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'clipRule',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'clip-rule' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'color',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'color' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'color-interpolation',
|
|
containerTagName: 'svg',
|
|
tagName: 'animate',
|
|
overrideStringValue: 'sRGB',
|
|
read: 'color-interpolation' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'colorInterpolation',
|
|
containerTagName: 'svg',
|
|
tagName: 'animate',
|
|
overrideStringValue: 'sRGB',
|
|
read: 'color-interpolation' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'color-interpolation-filters',
|
|
containerTagName: 'svg',
|
|
tagName: 'feComposite',
|
|
overrideStringValue: 'sRGB',
|
|
read: 'color-interpolation-filters' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'colorInterpolationFilters',
|
|
containerTagName: 'svg',
|
|
tagName: 'feComposite',
|
|
overrideStringValue: 'sRGB',
|
|
read: 'color-interpolation-filters' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'color-profile',
|
|
containerTagName: 'svg',
|
|
tagName: 'image',
|
|
overrideStringValue: 'sRGB',
|
|
read: 'color-profile' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'colorProfile',
|
|
containerTagName: 'svg',
|
|
tagName: 'image',
|
|
overrideStringValue: 'sRGB',
|
|
read: 'color-profile' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'color-rendering',
|
|
containerTagName: 'svg',
|
|
tagName: 'animate',
|
|
overrideStringValue: 'optimizeSpeed',
|
|
read: 'color-rendering' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'colorRendering',
|
|
containerTagName: 'svg',
|
|
tagName: 'animate',
|
|
overrideStringValue: 'optimizeSpeed',
|
|
read: 'color-rendering' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'cols',
|
|
tagName: 'textarea'
|
|
}, {
|
|
name: 'colSpan',
|
|
containerTagName: 'tr',
|
|
tagName: 'td'
|
|
}, {
|
|
name: 'content',
|
|
containerTagName: 'head',
|
|
tagName: 'meta'
|
|
}, {
|
|
name: 'contentEditable'
|
|
}, {
|
|
name: 'contentScriptType',
|
|
tagName: 'svg',
|
|
read: 'contentScriptType' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'contentStyleType',
|
|
tagName: 'svg',
|
|
read: 'contentStyleType' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'contextMenu',
|
|
read: 'contextmenu' |> getAttribute(%)
|
|
},
|
|
// TODO: Read the property by rendering a menu with the ID.
|
|
{
|
|
name: 'controls',
|
|
tagName: 'video'
|
|
}, {
|
|
name: 'coords',
|
|
tagName: 'a'
|
|
}, {
|
|
name: 'crossOrigin',
|
|
tagName: 'script'
|
|
}, {
|
|
name: 'cursor',
|
|
tag: 'svg',
|
|
read: 'cursor' |> getAttribute(%)
|
|
}, {
|
|
name: 'cx',
|
|
containerTagName: 'svg',
|
|
tagName: 'circle',
|
|
overrideStringValue: '10px',
|
|
read: 'cx' |> getSVGProperty(%)
|
|
}, {
|
|
name: 'cy',
|
|
containerTagName: 'svg',
|
|
tagName: 'circle',
|
|
overrideStringValue: '10%',
|
|
read: 'cy' |> getSVGProperty(%)
|
|
}, {
|
|
name: 'd',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'd' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'dangerouslySetInnerHTML',
|
|
read: 'dangerouslySetInnerHTML' |> getAttribute(%)
|
|
}, {
|
|
name: 'DangerouslySetInnerHTML',
|
|
read: 'DangerouslySetInnerHTML' |> getAttribute(%)
|
|
}, {
|
|
name: 'data',
|
|
read: 'data' |> getAttribute(%)
|
|
}, {
|
|
name: 'data-',
|
|
read: 'data-' |> getAttribute(%)
|
|
}, {
|
|
name: 'data-unknownattribute',
|
|
read: 'data-unknownattribute' |> getAttribute(%)
|
|
}, {
|
|
name: 'datatype',
|
|
read: 'datatype' |> getAttribute(%)
|
|
}, {
|
|
name: 'dateTime',
|
|
tagName: 'time',
|
|
overrideStringValue: '2001-05-15T19:00',
|
|
read: 'datetime' |> getAttribute(%)
|
|
}, {
|
|
name: 'decelerate',
|
|
containerTagName: 'svg',
|
|
tagName: 'animate',
|
|
read: 'decelerate' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'default',
|
|
tagName: 'track'
|
|
}, {
|
|
name: 'defaultchecked',
|
|
tagName: 'input',
|
|
read: 'defaultchecked' |> getAttribute(%)
|
|
}, {
|
|
name: 'defaultChecked',
|
|
tagName: 'input'
|
|
}, {
|
|
name: 'defaultValue',
|
|
tagName: 'input'
|
|
}, {
|
|
name: 'defaultValuE',
|
|
tagName: 'input',
|
|
read: 'defaultValuE' |> getAttribute(%)
|
|
}, {
|
|
name: 'defer',
|
|
tagName: 'script'
|
|
}, {
|
|
name: 'descent',
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face',
|
|
read: 'descent' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'diffuseConstant',
|
|
containerTagName: 'svg',
|
|
tagName: 'feDiffuseLighting',
|
|
read: 'diffuseConstant' |> getSVGProperty(%)
|
|
}, {
|
|
name: 'dir',
|
|
overrideStringValue: 'rtl'
|
|
}, {
|
|
name: 'direction',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
overrideStringValue: 'rtl',
|
|
read: 'direction' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'disabled',
|
|
tagName: 'input'
|
|
}, {
|
|
name: 'disablePictureInPicture',
|
|
tagName: 'video',
|
|
read: 'disablepictureinpicture' |> getProperty(%)
|
|
}, {
|
|
name: 'disableRemotePlayback',
|
|
tagName: 'video',
|
|
read: 'disableremoteplayback' |> getProperty(%)
|
|
}, {
|
|
name: 'display',
|
|
tagName: 'svg',
|
|
overrideStringValue: 'list-item',
|
|
read: 'display' |> getAttribute(%)
|
|
}, {
|
|
name: 'divisor',
|
|
containerTagName: 'svg',
|
|
tagName: 'feConvolveMatrix',
|
|
read: 'divisor' |> getSVGProperty(%)
|
|
}, {
|
|
name: 'dominant-baseline',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'dominant-baseline' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'dominantBaseline',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'dominant-baseline' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'download',
|
|
tagName: 'a'
|
|
}, {
|
|
name: 'dOwNlOaD',
|
|
tagName: 'a',
|
|
read: 'dOwNlOaD' |> getAttribute(%)
|
|
}, {
|
|
name: 'draggable'
|
|
}, {
|
|
name: 'dur',
|
|
containerTagName: 'svg',
|
|
tagName: 'animate',
|
|
read: 'dur' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'dx',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
overrideStringValue: '1pt 2px 3em',
|
|
read: 'dx' |> getSVGProperty(%)
|
|
}, {
|
|
name: 'dX',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
overrideStringValue: '1pt 2px 3em',
|
|
read: 'dx' |> getSVGProperty(%)
|
|
}, {
|
|
name: 'dy',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
overrideStringValue: '1 2 3',
|
|
read: 'dy' |> getSVGProperty(%)
|
|
}, {
|
|
name: 'dY',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
overrideStringValue: '1 2 3',
|
|
read: 'dy' |> getSVGProperty(%)
|
|
}, {
|
|
name: 'edgeMode',
|
|
containerTagName: 'svg',
|
|
tagName: 'feConvolveMatrix',
|
|
overrideStringValue: 'wrap',
|
|
read: 'edgeMode' |> getSVGProperty(%)
|
|
}, {
|
|
name: 'elevation',
|
|
containerTagName: 'svg',
|
|
tagName: 'feDistantLight',
|
|
read: 'elevation' |> getSVGProperty(%)
|
|
}, {
|
|
name: 'enable-background',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'enable-background' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'enableBackground',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'enable-background' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'encType',
|
|
tagName: 'form',
|
|
overrideStringValue: 'text/plain',
|
|
read: 'enctype' |> getProperty(%)
|
|
}, {
|
|
name: 'end',
|
|
containerTagName: 'svg',
|
|
tagName: 'animate',
|
|
read: 'end' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'enterKeyHint',
|
|
tagName: 'input',
|
|
read: 'enterKeyHint' |> getProperty(%)
|
|
}, {
|
|
name: 'exponent',
|
|
read: 'exponent' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feFuncA'
|
|
}, {
|
|
name: 'externalResourcesRequired',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'externalResourcesRequired' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'fetchPriority',
|
|
overrideStringValue: 'high',
|
|
tagName: 'img',
|
|
read: 'fetchPriority' |> getProperty(%)
|
|
}, {
|
|
name: 'fetchpriority',
|
|
overrideStringValue: 'high',
|
|
tagName: 'img',
|
|
read: 'fetchPriority' |> getProperty(%)
|
|
}, {
|
|
name: 'fetchPriority',
|
|
overrideStringValue: 'high',
|
|
tagName: 'link',
|
|
read: 'fetchPriority' |> getProperty(%)
|
|
}, {
|
|
name: 'fill',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'fill' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'fillOpacity',
|
|
containerTagName: 'svg',
|
|
tagName: 'circle',
|
|
read: 'fill-opacity' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'fill-opacity',
|
|
containerTagName: 'svg',
|
|
tagName: 'circle',
|
|
read: 'fill-opacity' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'fillRule',
|
|
containerTagName: 'svg',
|
|
tagName: 'circle',
|
|
read: 'fill-rule' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'fill-rule',
|
|
containerTagName: 'svg',
|
|
tagName: 'circle',
|
|
read: 'fill-rule' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'filter',
|
|
containerTagName: 'svg',
|
|
tagName: 'g',
|
|
read: 'filter' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'filterRes',
|
|
containerTagName: 'svg',
|
|
tagName: 'filter',
|
|
read: 'filterRes' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'filterUnits',
|
|
containerTagName: 'svg',
|
|
tagName: 'filter',
|
|
overrideStringValue: 'userSpaceOnUse',
|
|
read: 'filterUnits' |> getSVGProperty(%)
|
|
}, {
|
|
name: 'flood-color',
|
|
containerTagName: 'svg',
|
|
tagName: 'feflood',
|
|
overrideStringValue: 'currentColor',
|
|
read: 'flood-color' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'floodColor',
|
|
containerTagName: 'svg',
|
|
tagName: 'feflood',
|
|
overrideStringValue: 'currentColor',
|
|
read: 'flood-color' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'flood-opacity',
|
|
containerTagName: 'svg',
|
|
tagName: 'feflood',
|
|
overrideStringValue: 'inherit',
|
|
read: 'flood-opacity' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'floodOpacity',
|
|
containerTagName: 'svg',
|
|
tagName: 'feflood',
|
|
overrideStringValue: 'inherit',
|
|
read: 'flood-opacity' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'focusable',
|
|
tagName: 'p',
|
|
read: 'focusable' |> getAttribute(%)
|
|
}, {
|
|
name: 'font-family',
|
|
read: 'font-family' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'font-size',
|
|
read: 'font-size' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'font-size-adjust',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'font-size-adjust' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'font-stretch',
|
|
read: 'font-stretch' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'font-style',
|
|
read: 'font-style' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'font-variant',
|
|
read: 'font-variant' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'font-weight',
|
|
read: 'font-weight' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'fontFamily',
|
|
read: 'font-family' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'fontSize',
|
|
read: 'font-size' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'fontSizeAdjust',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'font-size-adjust' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'fontStretch',
|
|
read: 'font-stretch' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'fontStyle',
|
|
read: 'font-style' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'fontVariant',
|
|
read: 'font-variant' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'fontWeight',
|
|
read: 'font-weight' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'for',
|
|
tagName: 'label',
|
|
read: 'htmlFor' |> getProperty(%)
|
|
}, {
|
|
name: 'fOr',
|
|
tagName: 'label',
|
|
read: 'htmlFor' |> getProperty(%)
|
|
}, {
|
|
name: 'form',
|
|
read: 'form' |> getAttribute(%)
|
|
},
|
|
// TODO: Read the property by rendering into a form with i
|
|
{
|
|
name: 'formAction',
|
|
tagName: 'input',
|
|
overrideStringValue: 'https://reactjs.com'
|
|
}, {
|
|
name: 'format',
|
|
read: 'format' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'altGlyph'
|
|
}, {
|
|
name: 'formEncType',
|
|
tagName: 'input',
|
|
read: 'formEnctype' |> getProperty(%)
|
|
}, {
|
|
name: 'formMethod',
|
|
tagName: 'input',
|
|
overrideStringValue: 'POST'
|
|
}, {
|
|
name: 'formNoValidate',
|
|
tagName: 'input'
|
|
}, {
|
|
name: 'formTarget',
|
|
tagName: 'input'
|
|
}, {
|
|
name: 'frameBorder',
|
|
tagName: 'iframe'
|
|
}, {
|
|
name: 'from',
|
|
read: 'from' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'animate'
|
|
}, {
|
|
name: 'fx',
|
|
read: 'fx' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
overrideStringValue: '10px',
|
|
tagName: 'radialGradient'
|
|
}, {
|
|
name: 'fX',
|
|
containerTagName: 'svg',
|
|
tagName: 'radialGradient',
|
|
overrideStringValue: '10px',
|
|
read: 'fx' |> getSVGProperty(%)
|
|
}, {
|
|
name: 'fY',
|
|
containerTagName: 'svg',
|
|
tagName: 'radialGradient',
|
|
overrideStringValue: '20em',
|
|
read: 'fy' |> getSVGProperty(%)
|
|
}, {
|
|
name: 'fy',
|
|
read: 'fy' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
overrideStringValue: '20em',
|
|
tagName: 'radialGradient'
|
|
}, {
|
|
name: 'G1',
|
|
containerTagName: 'svg',
|
|
tagName: 'hkern',
|
|
read: 'g1' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'g1',
|
|
read: 'g1' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'hkern'
|
|
}, {
|
|
name: 'G2',
|
|
containerTagName: 'svg',
|
|
tagName: 'hkern',
|
|
read: 'g2' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'g2',
|
|
read: 'g2' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'hkern'
|
|
}, {
|
|
name: 'glyph-name',
|
|
read: 'glyph-name' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'glyph'
|
|
}, {
|
|
name: 'glyph-orientation-horizontal',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'glyph-orientation-horizontal' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'glyph-orientation-vertical',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'glyph-orientation-vertical' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'glyphName',
|
|
read: 'glyph-name' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'glyph'
|
|
}, {
|
|
name: 'glyphOrientationHorizontal',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'glyph-orientation-horizontal' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'glyphOrientationVertical',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'glyph-orientation-vertical' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'glyphRef',
|
|
read: 'glyph-ref' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'altGlyph'
|
|
}, {
|
|
name: 'gradientTransform',
|
|
read: 'gradientTransform' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
overrideStringValue: 'translate(-10,-20) scale(2) rotate(45) translate(5,10)',
|
|
tagName: 'linearGradient'
|
|
}, {
|
|
name: 'gradientUnits',
|
|
read: 'gradientUnits' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
overrideStringValue: 'userSpaceOnUse',
|
|
tagName: 'linearGradient'
|
|
}, {
|
|
name: 'hanging',
|
|
read: 'hanging' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
},
|
|
// Disabled because it crashes other tests with React 15.
|
|
// TODO: re-enable when we no longer compare to 15.
|
|
// {name: 'hasOwnProperty', read: getAttribute('hasOwnProperty')},
|
|
{
|
|
name: 'headers',
|
|
containerTagName: 'tr',
|
|
tagName: 'td'
|
|
}, {
|
|
name: 'height',
|
|
tagName: 'img'
|
|
}, {
|
|
name: 'height',
|
|
containerTagName: 'svg',
|
|
tagName: 'rect',
|
|
read: 'height' |> getSVGProperty(%),
|
|
overrideStringValue: '100%'
|
|
}, {
|
|
name: 'hidden',
|
|
overrideStringValue: 'until-found'
|
|
}, {
|
|
name: 'high',
|
|
tagName: 'meter'
|
|
}, {
|
|
name: 'horiz-adv-x',
|
|
read: 'horiz-adv-x' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font'
|
|
}, {
|
|
name: 'horiz-origin-x',
|
|
read: 'horiz-origin-x' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font'
|
|
}, {
|
|
name: 'horizAdvX',
|
|
read: 'horiz-adv-x' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font'
|
|
}, {
|
|
name: 'horizOriginX',
|
|
read: 'horiz-origin-x' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font'
|
|
}, {
|
|
name: 'href',
|
|
tagName: 'a',
|
|
overrideStringValue: 'https://reactjs.com'
|
|
}, {
|
|
name: 'hrefLang',
|
|
read: 'hreflang' |> getAttribute(%)
|
|
}, {
|
|
name: 'htmlFor',
|
|
tagName: 'label'
|
|
}, {
|
|
name: 'http-equiv',
|
|
containerTagName: 'head',
|
|
tagName: 'meta',
|
|
read: 'httpEquiv' |> getProperty(%)
|
|
}, {
|
|
name: 'httpEquiv',
|
|
containerTagName: 'head',
|
|
tagName: 'meta'
|
|
}, {
|
|
name: 'icon',
|
|
tagName: 'command',
|
|
read: 'icon' |> getAttribute(%)
|
|
}, {
|
|
name: 'id'
|
|
}, {
|
|
name: 'ID',
|
|
read: 'id' |> getProperty(%)
|
|
}, {
|
|
name: 'ideographic',
|
|
read: 'ideographic' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'image-rendering',
|
|
tagName: 'svg',
|
|
read: 'image-rendering' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'imageRendering',
|
|
tagName: 'svg',
|
|
read: 'image-rendering' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'imageSizes',
|
|
tagName: 'link',
|
|
read: 'imageSizes' |> getProperty(%)
|
|
}, {
|
|
name: 'imageSrcSet',
|
|
tagName: 'link',
|
|
read: 'imageSrcset' |> getProperty(%)
|
|
}, {
|
|
name: 'in',
|
|
read: 'in' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feBlend'
|
|
}, {
|
|
name: 'inert'
|
|
}, {
|
|
name: 'in2',
|
|
read: 'in2' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feBlend'
|
|
}, {
|
|
name: 'initialChecked',
|
|
read: 'initialchecked' |> getAttribute(%)
|
|
}, {
|
|
name: 'initialValue',
|
|
read: 'initialvalue' |> getAttribute(%)
|
|
}, {
|
|
name: 'inlist',
|
|
read: 'inlist' |> getAttribute(%)
|
|
}, {
|
|
name: 'inputMode',
|
|
tagName: 'input'
|
|
}, {
|
|
name: 'integrity',
|
|
tagName: 'script'
|
|
}, {
|
|
name: 'intercept',
|
|
read: 'intercept' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feFuncA'
|
|
}, {
|
|
name: 'is',
|
|
tagName: 'button',
|
|
overrideStringValue: 'x-test-element',
|
|
read: 'is' |> getAttribute(%) // TODO: This could check if this is an extended custom element but this is a controversial spec.
|
|
}, {
|
|
name: 'itemID',
|
|
read: 'itemid' |> getAttribute(%)
|
|
}, {
|
|
name: 'itemProp',
|
|
read: 'itemprop' |> getAttribute(%)
|
|
}, {
|
|
name: 'itemRef',
|
|
read: 'itemref' |> getAttribute(%)
|
|
}, {
|
|
name: 'itemScope',
|
|
read: 'itemscope' |> getAttribute(%)
|
|
}, {
|
|
name: 'itemType',
|
|
read: 'itemtype' |> getAttribute(%)
|
|
}, {
|
|
name: 'k',
|
|
read: 'k' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'hkern'
|
|
}, {
|
|
name: 'K',
|
|
containerTagName: 'svg',
|
|
tagName: 'hkern',
|
|
read: 'k' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'K1',
|
|
containerTagName: 'svg',
|
|
tagName: 'feComposite',
|
|
read: 'k1' |> getSVGProperty(%)
|
|
}, {
|
|
name: 'k1',
|
|
read: 'k1' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feComposite'
|
|
}, {
|
|
name: 'k2',
|
|
read: 'k2' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feComposite'
|
|
}, {
|
|
name: 'k3',
|
|
read: 'k3' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feComposite'
|
|
}, {
|
|
name: 'k4',
|
|
read: 'k4' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feComposite'
|
|
}, {
|
|
name: 'kernelMatrix',
|
|
read: 'kernelMatrix' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feConvolveMatrix',
|
|
overrideStringValue: '1 2 3,4'
|
|
}, {
|
|
name: 'kernelUnitLength',
|
|
read: 'kernelUnitLength' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feConvolveMatrix'
|
|
}, {
|
|
name: 'kerning',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'kerning' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'keyParams',
|
|
read: 'keyParams' |> getAttribute(%)
|
|
}, {
|
|
name: 'keyPoints',
|
|
read: 'keyPoints' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'animateMotion'
|
|
}, {
|
|
name: 'keySplines',
|
|
read: 'keySplines' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'animate'
|
|
}, {
|
|
name: 'keyTimes',
|
|
read: 'keyTimes' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'animate'
|
|
}, {
|
|
name: 'keyType',
|
|
read: 'keyType' |> getAttribute(%)
|
|
}, {
|
|
name: 'kind',
|
|
tagName: 'track',
|
|
overrideStringValue: 'captions'
|
|
}, {
|
|
name: 'label',
|
|
tagName: 'track'
|
|
}, {
|
|
name: 'LANG',
|
|
read: 'lang' |> getProperty(%)
|
|
}, {
|
|
name: 'lang'
|
|
}, {
|
|
name: 'lang',
|
|
containerTagName: 'document',
|
|
tagName: 'html'
|
|
}, {
|
|
name: 'length',
|
|
read: 'length' |> getAttribute(%)
|
|
}, {
|
|
name: 'lengthAdjust',
|
|
read: 'lengthAdjust' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
overrideStringValue: 'spacingAndGlyphs'
|
|
}, {
|
|
name: 'letter-spacing',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'letter-spacing' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'letterSpacing',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'letter-spacing' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'lighting-color',
|
|
containerTagName: 'svg',
|
|
tagName: 'feDiffuseLighting',
|
|
read: 'lighting-color' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'lightingColor',
|
|
containerTagName: 'svg',
|
|
tagName: 'feDiffuseLighting',
|
|
read: 'lighting-color' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'limitingConeAngle',
|
|
read: 'limitingConeAngle' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feSpotLight'
|
|
}, {
|
|
name: 'list',
|
|
read: 'list' |> getAttribute(%)
|
|
},
|
|
// TODO: This should match the ID of a datalist element and then read property.
|
|
{
|
|
name: 'local',
|
|
read: 'local' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'color-profile'
|
|
}, {
|
|
name: 'loop',
|
|
tagName: 'audio'
|
|
}, {
|
|
name: 'low',
|
|
tagName: 'meter'
|
|
}, {
|
|
name: 'manifest',
|
|
read: 'manifest' |> getAttribute(%)
|
|
}, {
|
|
name: 'marginHeight',
|
|
containerTagName: 'frameset',
|
|
tagName: 'frame'
|
|
}, {
|
|
name: 'marginWidth',
|
|
containerTagName: 'frameset',
|
|
tagName: 'frame'
|
|
}, {
|
|
name: 'marker-end',
|
|
containerTagName: 'svg',
|
|
tagName: 'line',
|
|
read: 'marker-end' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'marker-mid',
|
|
containerTagName: 'svg',
|
|
tagName: 'line',
|
|
read: 'marker-mid' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'marker-start',
|
|
containerTagName: 'svg',
|
|
tagName: 'line',
|
|
read: 'marker-start' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'markerEnd',
|
|
containerTagName: 'svg',
|
|
tagName: 'line',
|
|
read: 'marker-end' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'markerHeight',
|
|
read: 'markerHeight' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'marker'
|
|
}, {
|
|
name: 'markerMid',
|
|
containerTagName: 'svg',
|
|
tagName: 'line',
|
|
read: 'marker-mid' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'markerStart',
|
|
containerTagName: 'svg',
|
|
tagName: 'line',
|
|
read: 'marker-start' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'markerUnits',
|
|
read: 'markerUnits' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'marker'
|
|
}, {
|
|
name: 'markerWidth',
|
|
read: 'markerWidth' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'marker'
|
|
}, {
|
|
name: 'mask',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'mask' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'maskContentUnits',
|
|
read: 'maskContentUnits' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'mask',
|
|
overrideStringValue: 'objectBoundingBox'
|
|
}, {
|
|
name: 'maskUnits',
|
|
read: 'maskUnits' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'mask',
|
|
overrideStringValue: 'userSpaceOnUse'
|
|
}, {
|
|
name: 'mathematical',
|
|
read: 'mathematical' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'max',
|
|
tagName: 'input'
|
|
}, {
|
|
name: 'max',
|
|
tagName: 'meter'
|
|
}, {
|
|
name: 'max',
|
|
tagName: 'progress'
|
|
}, {
|
|
name: 'max',
|
|
containerTagName: 'svg',
|
|
tagName: 'animate',
|
|
read: 'max' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'maxLength',
|
|
tagName: 'textarea'
|
|
}, {
|
|
name: 'media',
|
|
tagName: 'link'
|
|
}, {
|
|
name: 'media',
|
|
containerTagName: 'svg',
|
|
tagName: 'style',
|
|
read: 'media' |> getSVGProperty(%)
|
|
}, {
|
|
name: 'mediaGroup',
|
|
tagName: 'video',
|
|
read: 'mediagroup' |> getAttribute(%)
|
|
},
|
|
// TODO: Not yet implemented in Chrome.
|
|
{
|
|
name: 'method',
|
|
tagName: 'form',
|
|
overrideStringValue: 'POST'
|
|
}, {
|
|
name: 'method',
|
|
containerTagName: 'svg',
|
|
tagName: 'textPath',
|
|
read: 'method' |> getSVGProperty(%),
|
|
overrideStringValue: 'stretch'
|
|
}, {
|
|
name: 'min',
|
|
tagName: 'input'
|
|
}, {
|
|
name: 'min',
|
|
tagName: 'meter'
|
|
}, {
|
|
name: 'min',
|
|
containerTagName: 'svg',
|
|
tagName: 'animate',
|
|
read: 'min' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'minLength',
|
|
tagName: 'input'
|
|
}, {
|
|
name: 'mode',
|
|
read: 'mode' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feBlend',
|
|
overrideStringValue: 'multiply'
|
|
}, {
|
|
name: 'multiple',
|
|
tagName: 'select'
|
|
}, {
|
|
name: 'muted',
|
|
tagName: 'video'
|
|
}, {
|
|
name: 'name',
|
|
tagName: 'input'
|
|
}, {
|
|
name: 'name',
|
|
containerTagName: 'svg',
|
|
tagName: 'color-profile',
|
|
read: 'color-profile' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'noModule',
|
|
tagName: 'script'
|
|
}, {
|
|
name: 'nonce',
|
|
read: 'nonce' |> getAttribute(%)
|
|
}, {
|
|
name: 'noValidate',
|
|
tagName: 'form'
|
|
}, {
|
|
name: 'numOctaves',
|
|
read: 'numOctaves' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feTurbulence'
|
|
}, {
|
|
name: 'offset',
|
|
read: 'offset' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'stop'
|
|
}, {
|
|
name: 'on-click'
|
|
},
|
|
// TODO: Check for event subscriptions
|
|
{
|
|
name: 'on-unknownevent'
|
|
},
|
|
// TODO: Check for event subscriptions
|
|
{
|
|
name: 'onclick'
|
|
},
|
|
// TODO: Check for event subscriptions
|
|
{
|
|
name: 'onClick'
|
|
},
|
|
// TODO: Check for event subscriptions
|
|
{
|
|
name: 'onunknownevent'
|
|
},
|
|
// TODO: Check for event subscriptions
|
|
{
|
|
name: 'onUnknownEvent'
|
|
},
|
|
// TODO: Check for event subscriptions
|
|
{
|
|
name: 'opacity',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'opacity' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'open',
|
|
tagName: 'details'
|
|
}, {
|
|
name: 'operator',
|
|
read: 'operator' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feComposite',
|
|
overrideStringValue: 'xor'
|
|
}, {
|
|
name: 'optimum',
|
|
tagName: 'meter'
|
|
}, {
|
|
name: 'order',
|
|
read: 'order' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feConvolveMatrix'
|
|
}, {
|
|
name: 'orient',
|
|
read: 'orient' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'marker'
|
|
}, {
|
|
name: 'orientation',
|
|
read: 'orientation' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'glyph'
|
|
}, {
|
|
name: 'origin',
|
|
read: 'origin' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'animateMotion'
|
|
}, {
|
|
name: 'overflow',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'overflow' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'overline-position',
|
|
read: 'overline-position' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'overline-thickness',
|
|
read: 'overline-thickness' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'overlinePosition',
|
|
read: 'overline-position' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'overlineThickness',
|
|
read: 'overline-thickness' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'paint-order',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'paint-order' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'paintOrder',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'paint-order' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'panose-1',
|
|
read: 'panose-1' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'panose1',
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face',
|
|
read: 'panose-1' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'pathLength',
|
|
read: 'pathLength' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'path'
|
|
}, {
|
|
name: 'pattern',
|
|
tagName: 'input'
|
|
}, {
|
|
name: 'patternContentUnits',
|
|
read: 'patternContentUnits' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'pattern',
|
|
overrideStringValue: 'objectBoundingBox'
|
|
}, {
|
|
name: 'patternTransform',
|
|
read: 'patternTransform' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'pattern',
|
|
overrideStringValue: 'translate(-10,-20) scale(2) rotate(45) translate(5,10)'
|
|
}, {
|
|
name: 'patternUnits',
|
|
read: 'patternUnits' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'pattern',
|
|
overrideStringValue: 'userSpaceOnUse'
|
|
}, {
|
|
name: 'placeholder',
|
|
tagName: 'input'
|
|
}, {
|
|
name: 'playsInline',
|
|
read: 'playsinline' |> getAttribute(%)
|
|
}, {
|
|
name: 'pointer-events',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'pointer-events' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'pointerEvents',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'pointer-events' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'points',
|
|
read: 'points' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'polygon',
|
|
overrideStringValue: '350,75 379,161 469,161'
|
|
}, {
|
|
name: 'pointsAtX',
|
|
read: 'pointsAtX' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feSpotLight'
|
|
}, {
|
|
name: 'pointsAtY',
|
|
read: 'pointsAtY' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feSpotLight'
|
|
}, {
|
|
name: 'pointsAtZ',
|
|
read: 'pointsAtZ' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feSpotLight'
|
|
}, {
|
|
name: 'popover',
|
|
overrideStringValue: 'manual'
|
|
}, {
|
|
name: 'popoverTarget',
|
|
read: element => {
|
|
element |> document.body.appendChild(%);
|
|
try {
|
|
// trigger and target need to be connected for `popoverTargetElement` to read the actual value.
|
|
return element.popoverTargetElement;
|
|
} finally {
|
|
element |> document.body.removeChild(%);
|
|
}
|
|
},
|
|
overrideStringValue: 'popover-target',
|
|
tagName: 'button'
|
|
}, {
|
|
name: 'popoverTargetAction',
|
|
overrideStringValue: 'show',
|
|
tagName: 'button'
|
|
}, {
|
|
name: 'poster',
|
|
tagName: 'video',
|
|
overrideStringValue: 'https://reactjs.com'
|
|
}, {
|
|
name: 'prefix',
|
|
read: 'prefix' |> getAttribute(%)
|
|
}, {
|
|
name: 'preload',
|
|
tagName: 'video',
|
|
overrideStringValue: 'none'
|
|
}, {
|
|
name: 'preserveAlpha',
|
|
read: 'preserveAlpha' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feConvolveMatrix'
|
|
}, {
|
|
name: 'preserveAspectRatio',
|
|
read: 'preserveAspectRatio' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feImage',
|
|
overrideStringValue: 'xMinYMin slice'
|
|
}, {
|
|
name: 'primitiveUnits',
|
|
read: 'primitiveUnits' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'filter',
|
|
overrideStringValue: 'objectBoundingBox'
|
|
}, {
|
|
name: 'profile',
|
|
read: 'profile' |> getAttribute(%)
|
|
}, {
|
|
name: 'property',
|
|
read: 'property' |> getAttribute(%)
|
|
}, {
|
|
name: 'props',
|
|
read: 'props' |> getAttribute(%)
|
|
}, {
|
|
name: 'r',
|
|
read: 'r' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'circle',
|
|
overrideStringValue: '10pt'
|
|
}, {
|
|
name: 'radioGroup',
|
|
tagName: 'command',
|
|
read: 'radiogroup' |> getAttribute(%)
|
|
}, {
|
|
name: 'radius',
|
|
read: 'radius' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feMorphology'
|
|
}, {
|
|
name: 'readOnly',
|
|
tagName: 'input'
|
|
}, {
|
|
name: 'referrerPolicy',
|
|
tagName: 'iframe'
|
|
}, {
|
|
name: 'refX',
|
|
read: 'refX' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'marker',
|
|
overrideStringValue: '5em'
|
|
}, {
|
|
name: 'refY',
|
|
read: 'refY' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'marker',
|
|
overrideStringValue: '6em'
|
|
}, {
|
|
name: 'rel',
|
|
tagName: 'a'
|
|
}, {
|
|
name: 'rendering-intent',
|
|
read: 'rendering-intent' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'color-profile'
|
|
}, {
|
|
name: 'renderingIntent',
|
|
read: 'rendering-intent' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'color-profile'
|
|
}, {
|
|
name: 'repeatCount',
|
|
read: 'repeatcount' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'animate'
|
|
}, {
|
|
name: 'repeatDur',
|
|
read: 'repeatdur' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'animate'
|
|
}, {
|
|
name: 'required',
|
|
tagName: 'input'
|
|
}, {
|
|
name: 'requiredExtensions',
|
|
read: 'requiredExtensions' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'a'
|
|
}, {
|
|
name: 'requiredFeatures',
|
|
read: 'requiredFeatures' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'a'
|
|
}, {
|
|
name: 'resource',
|
|
read: 'resource' |> getAttribute(%)
|
|
}, {
|
|
name: 'restart',
|
|
read: 'resource' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'animate'
|
|
}, {
|
|
name: 'result',
|
|
read: 'result' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feBlend'
|
|
}, {
|
|
name: 'results',
|
|
tagName: 'input',
|
|
read: 'results' |> getAttribute(%)
|
|
},
|
|
// TODO: Should use property but it's not supported in Chrome.
|
|
{
|
|
name: 'reversed',
|
|
tagName: 'ol'
|
|
}, {
|
|
name: 'role',
|
|
read: 'role' |> getAttribute(%)
|
|
}, {
|
|
name: 'rotate',
|
|
read: 'role' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'altGlyph'
|
|
}, {
|
|
name: 'rows',
|
|
tagName: 'textarea'
|
|
}, {
|
|
name: 'rowSpan',
|
|
containerTagName: 'tr',
|
|
tagName: 'td'
|
|
}, {
|
|
name: 'rx',
|
|
read: 'rx' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'ellipse',
|
|
overrideStringValue: '1px'
|
|
}, {
|
|
name: 'ry',
|
|
read: 'ry' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'ellipse',
|
|
overrideStringValue: '2px'
|
|
}, {
|
|
name: 'sandbox',
|
|
tagName: 'iframe',
|
|
overrideStringValue: 'allow-forms allow-scripts'
|
|
}, {
|
|
name: 'scale',
|
|
read: 'scale' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feDisplacementMap'
|
|
}, {
|
|
name: 'scope',
|
|
containerTagName: 'tr',
|
|
tagName: 'th',
|
|
overrideStringValue: 'row'
|
|
}, {
|
|
name: 'scoped',
|
|
tagName: 'style',
|
|
read: 'scoped' |> getAttribute(%)
|
|
}, {
|
|
name: 'scrolling',
|
|
tagName: 'iframe',
|
|
overrideStringValue: 'no'
|
|
}, {
|
|
name: 'seamless',
|
|
tagName: 'iframe',
|
|
read: 'seamless' |> getAttribute(%)
|
|
}, {
|
|
name: 'security',
|
|
tagName: 'iframe',
|
|
read: 'security' |> getAttribute(%)
|
|
}, {
|
|
name: 'seed',
|
|
read: 'seed' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feTurbulence'
|
|
}, {
|
|
name: 'selected',
|
|
tagName: 'option',
|
|
containerTagName: 'select'
|
|
}, {
|
|
name: 'selectedIndex',
|
|
tagName: 'select'
|
|
}, {
|
|
name: 'shape',
|
|
tagName: 'a'
|
|
}, {
|
|
name: 'shape-rendering',
|
|
tagName: 'svg',
|
|
read: 'shape-rendering' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'shapeRendering',
|
|
tagName: 'svg',
|
|
read: 'shape-rendering' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'size',
|
|
tagName: 'input'
|
|
}, {
|
|
name: 'sizes',
|
|
tagName: 'link'
|
|
}, {
|
|
name: 'slope',
|
|
read: 'slope' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'spacing',
|
|
read: 'spacing' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'textPath',
|
|
overrideStringValue: 'auto'
|
|
}, {
|
|
name: 'span',
|
|
containerTagName: 'colgroup',
|
|
tagName: 'col'
|
|
}, {
|
|
name: 'specularConstant',
|
|
read: 'specularConstant' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feSpecularLighting'
|
|
}, {
|
|
name: 'specularExponent',
|
|
read: 'specularConstant' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feSpecularLighting'
|
|
}, {
|
|
name: 'speed',
|
|
read: 'speed' |> getAttribute(%)
|
|
}, {
|
|
name: 'spellCheck',
|
|
overrideStringValue: 'false',
|
|
tagName: 'input',
|
|
read: 'spellcheck' |> getProperty(%)
|
|
}, {
|
|
name: 'spellcheck',
|
|
overrideStringValue: 'false',
|
|
tagName: 'input',
|
|
read: 'spellcheck' |> getProperty(%)
|
|
}, {
|
|
name: 'spreadMethod',
|
|
read: 'spreadMethod' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'linearGradient',
|
|
overrideStringValue: 'reflect'
|
|
}, {
|
|
name: 'src',
|
|
tagName: 'img',
|
|
overrideStringValue: 'https://reactjs.com'
|
|
}, {
|
|
name: 'srcDoc',
|
|
tagName: 'iframe',
|
|
overrideStringValue: '<p>Hi</p>',
|
|
read: 'srcdoc' |> getProperty(%)
|
|
}, {
|
|
name: 'srcdoc',
|
|
tagName: 'iframe',
|
|
overrideStringValue: '<p>Hi</p>',
|
|
read: 'srcdoc' |> getProperty(%)
|
|
}, {
|
|
name: 'srcLang',
|
|
containerTagName: 'audio',
|
|
tagName: 'track',
|
|
overrideStringValue: 'en',
|
|
read: 'srclang' |> getProperty(%)
|
|
}, {
|
|
name: 'srclang',
|
|
containerTagName: 'audio',
|
|
tagName: 'track',
|
|
overrideStringValue: 'en',
|
|
read: 'srclang' |> getProperty(%)
|
|
}, {
|
|
name: 'srcSet',
|
|
tagName: 'img'
|
|
}, {
|
|
name: 'srcset',
|
|
tagName: 'img'
|
|
}, {
|
|
name: 'start',
|
|
tagName: 'ol'
|
|
}, {
|
|
name: 'startOffset',
|
|
read: 'startOffset' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'textPath'
|
|
}, {
|
|
name: 'state',
|
|
read: 'state' |> getAttribute(%)
|
|
}, {
|
|
name: 'stdDeviation',
|
|
read: 'stdDeviation' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feGaussianBlur'
|
|
}, {
|
|
name: 'stemh',
|
|
read: 'stemh' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'stemv',
|
|
read: 'stemv' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'step',
|
|
read: 'step' |> getAttribute(%)
|
|
}, {
|
|
name: 'stitchTiles',
|
|
read: 'stitchTiles' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feTurbulence',
|
|
overrideStringValue: 'stitch'
|
|
}, {
|
|
name: 'stop-color',
|
|
containerTagName: 'svg',
|
|
tagName: 'stop',
|
|
read: 'stop-color' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'stop-opacity',
|
|
containerTagName: 'svg',
|
|
tagName: 'stop',
|
|
read: 'stop-opacity' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'stopColor',
|
|
containerTagName: 'svg',
|
|
tagName: 'stop',
|
|
read: 'stop-color' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'stopOpacity',
|
|
containerTagName: 'svg',
|
|
tagName: 'stop',
|
|
read: 'stop-opacity' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'strikethrough-position',
|
|
read: 'strikethrough-position' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'strikethrough-thickness',
|
|
read: 'strikethrough-thickness' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'strikethroughPosition',
|
|
read: 'strikethrough-position' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'strikethroughThickness',
|
|
read: 'strikethrough-thickness' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'string',
|
|
read: 'string' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face-format'
|
|
}, {
|
|
name: 'stroke',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'stroke' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'stroke-dasharray',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'stroke-dasharray' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'stroke-Dasharray',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'stroke-dasharray' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'stroke-dashoffset',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'stroke-dashoffset' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'stroke-linecap',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'stroke-linecap' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'stroke-linejoin',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'stroke-linejoin' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'stroke-miterlimit',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'stroke-miterlimit' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'stroke-opacity',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'stroke-opacity' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'stroke-width',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'stroke-width' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'strokeDasharray',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'stroke-dasharray' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'strokeDashoffset',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'stroke-dashoffset' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'strokeLinecap',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'stroke-linecap' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'strokeLinejoin',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'stroke-linejoin' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'strokeMiterlimit',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'stroke-miterlimit' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'strokeOpacity',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'stroke-opacity' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'strokeWidth',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'stroke-width' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'style'
|
|
}, {
|
|
name: 'summary',
|
|
tagName: 'table'
|
|
}, {
|
|
name: 'suppressContentEditableWarning',
|
|
read: 'suppresscontenteditablewarning' |> getAttribute(%)
|
|
}, {
|
|
name: 'surfaceScale',
|
|
read: 'surfaceScale' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feDiffuseLighting'
|
|
}, {
|
|
name: 'systemLanguage',
|
|
overrideStringValue: 'en',
|
|
read: 'systemLanguage' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'a'
|
|
}, {
|
|
name: 'tabIndex'
|
|
}, {
|
|
name: 'tabIndex',
|
|
read: 'tabIndex' |> getSVGProperty(%),
|
|
tagName: 'svg'
|
|
}, {
|
|
name: 'tableValues',
|
|
read: 'tableValues' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feFuncA',
|
|
overrideStringValue: '0 1 2 3'
|
|
}, {
|
|
name: 'target',
|
|
read: 'target' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'a'
|
|
}, {
|
|
name: 'targetX',
|
|
read: 'targetX' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feConvolveMatrix'
|
|
}, {
|
|
name: 'targetY',
|
|
read: 'targetY' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feConvolveMatrix'
|
|
}, {
|
|
name: 'text-anchor',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'text-anchor' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'text-decoration',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'text-decoration' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'text-rendering',
|
|
tagName: 'svg',
|
|
read: 'text-rendering' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'textAnchor',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'text-anchor' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'textDecoration',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'text-decoration' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'textLength',
|
|
read: 'textLength' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'text'
|
|
}, {
|
|
name: 'textRendering',
|
|
tagName: 'svg',
|
|
read: 'text-rendering' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'title'
|
|
}, {
|
|
name: 'to',
|
|
read: 'to' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'set'
|
|
}, {
|
|
name: 'transform',
|
|
read: 'transform' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'a',
|
|
overrideStringValue: 'translate(-10,-20) scale(2) rotate(45) translate(5,10)'
|
|
}, {
|
|
name: 'transform-origin',
|
|
tagName: 'svg',
|
|
read: 'transform-origin' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'transformOrigin',
|
|
tagName: 'svg',
|
|
read: 'transform-origin' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'type',
|
|
tagName: 'button',
|
|
overrideStringValue: 'reset'
|
|
}, {
|
|
name: 'type',
|
|
containerTagName: 'svg',
|
|
tagName: 'feFuncA',
|
|
read: 'type' |> getSVGProperty(%),
|
|
overrideStringValue: 'discrete'
|
|
}, {
|
|
name: 'typeof',
|
|
read: 'typeof' |> getAttribute(%)
|
|
}, {
|
|
name: 'u1',
|
|
read: 'u1' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'hkern'
|
|
}, {
|
|
name: 'u2',
|
|
read: 'u2' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'hkern'
|
|
}, {
|
|
name: 'underline-position',
|
|
read: 'underline-position' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'underline-thickness',
|
|
read: 'underline-thickness' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'underlinePosition',
|
|
read: 'underline-position' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'underlineThickness',
|
|
read: 'underline-thickness' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'unicode',
|
|
read: 'unicode' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'glyph'
|
|
}, {
|
|
name: 'unicode-bidi',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'unicode-bidi' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'unicode-range',
|
|
read: 'unicode-range' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'unicodeBidi',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'unicode-bidi' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'unicodeRange',
|
|
read: 'unicode-range' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'units-per-em',
|
|
read: 'units-per-em' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'unitsPerEm',
|
|
read: 'unites-per-em' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'unknown',
|
|
read: 'unknown' |> getAttribute(%)
|
|
}, {
|
|
name: 'unselectable',
|
|
read: 'unselectable' |> getAttribute(%),
|
|
tagName: 'span',
|
|
overrideStringValue: 'on'
|
|
}, {
|
|
name: 'useMap',
|
|
tagName: 'img'
|
|
}, {
|
|
name: 'v-alphabetic',
|
|
read: 'v-alphabetic' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'v-hanging',
|
|
read: 'v-hanging' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'v-ideographic',
|
|
read: 'v-ideographic' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'v-mathematical',
|
|
read: 'v-mathematical' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'vAlphabetic',
|
|
read: 'v-alphabetic' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'value',
|
|
tagName: 'input',
|
|
extraProps: {
|
|
onChange() {}
|
|
}
|
|
}, {
|
|
name: 'value',
|
|
tagName: 'input',
|
|
type: 'email',
|
|
extraProps: {
|
|
onChange() {}
|
|
}
|
|
}, {
|
|
name: 'value',
|
|
tagName: 'input',
|
|
type: 'number',
|
|
extraProps: {
|
|
onChange() {}
|
|
}
|
|
}, {
|
|
name: 'value',
|
|
tagName: 'textarea',
|
|
extraProps: {
|
|
onChange() {}
|
|
}
|
|
}, {
|
|
name: 'value',
|
|
containerTagName: 'select',
|
|
tagName: 'option',
|
|
extraProps: {
|
|
onChange() {}
|
|
}
|
|
}, {
|
|
name: 'Value',
|
|
containerTagName: 'select',
|
|
tagName: 'option',
|
|
read: 'value' |> getProperty(%)
|
|
}, {
|
|
name: 'values',
|
|
read: 'values' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feColorMatrix',
|
|
overrideStringValue: '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0'
|
|
}, {
|
|
name: 'vector-effect',
|
|
containerTagName: 'svg',
|
|
tagName: 'line',
|
|
read: 'vector-effect' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'vectorEffect',
|
|
containerTagName: 'svg',
|
|
tagName: 'line',
|
|
read: 'vector-effect' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'version',
|
|
containerTagName: 'document',
|
|
tagName: 'html'
|
|
}, {
|
|
name: 'version',
|
|
tagName: 'svg',
|
|
read: 'version' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'vert-adv-y',
|
|
read: 'vert-origin-y' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font'
|
|
}, {
|
|
name: 'vert-origin-x',
|
|
read: 'vert-origin-y' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font'
|
|
}, {
|
|
name: 'vert-origin-y',
|
|
read: 'vert-origin-y' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font'
|
|
}, {
|
|
name: 'vertAdvY',
|
|
read: 'vert-adv-y' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font'
|
|
}, {
|
|
name: 'vertOriginX',
|
|
read: 'vert-origin-x' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font'
|
|
}, {
|
|
name: 'vertOriginY',
|
|
read: 'vert-origin-y' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font'
|
|
}, {
|
|
name: 'vHanging',
|
|
read: 'v-hanging' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'vIdeographic',
|
|
read: 'v-ideographic' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'viewBox',
|
|
read: 'viewBox' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'marker',
|
|
overrideStringValue: '0 0 1500 1000'
|
|
}, {
|
|
name: 'viewTarget',
|
|
read: 'viewTarget' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'view'
|
|
}, {
|
|
name: 'visibility',
|
|
read: 'visibility' |> getAttribute(%)
|
|
}, {
|
|
name: 'visibility',
|
|
containerTagName: 'svg',
|
|
tagName: 'path',
|
|
read: 'visibility' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'vMathematical',
|
|
read: 'v-mathematical' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'vocab',
|
|
read: 'vocab' |> getAttribute(%)
|
|
}, {
|
|
name: 'width',
|
|
tagName: 'img'
|
|
}, {
|
|
name: 'width',
|
|
containerTagName: 'svg',
|
|
tagName: 'rect',
|
|
read: 'width' |> getSVGProperty(%)
|
|
}, {
|
|
name: 'widths',
|
|
read: 'widths' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'wmode',
|
|
read: 'wmode' |> getAttribute(%),
|
|
tagName: 'embed'
|
|
}, {
|
|
name: 'word-spacing',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'word-spacing' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'wordSpacing',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'word-spacing' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'wrap',
|
|
tagName: 'textarea'
|
|
}, {
|
|
name: 'writing-mode',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'writing-mode' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'writingMode',
|
|
containerTagName: 'svg',
|
|
tagName: 'text',
|
|
read: 'writing-mode' |> getSVGAttribute(%)
|
|
}, {
|
|
name: 'x',
|
|
read: 'x' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'altGlyph'
|
|
}, {
|
|
name: 'x-height',
|
|
read: 'x-height' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'x1',
|
|
read: 'x1' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'line'
|
|
}, {
|
|
name: 'x2',
|
|
read: 'x2' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'line'
|
|
}, {
|
|
name: 'xChannelSelector',
|
|
read: 'xChannelSelector' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feDisplacementMap',
|
|
overrideStringValue: 'R'
|
|
}, {
|
|
name: 'xHeight',
|
|
read: 'x-height' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'font-face'
|
|
}, {
|
|
name: 'XLink:Actuate',
|
|
read: 'XLink:Actuate' |> getAttribute(%)
|
|
}, {
|
|
name: 'xlink:actuate',
|
|
read: 'xlink:actuate' |> getAttribute(%)
|
|
}, {
|
|
name: 'xlink:arcrole',
|
|
read: 'xlink:arcrole' |> getAttribute(%)
|
|
}, {
|
|
name: 'xlink:href',
|
|
read: 'xlink:href' |> getAttribute(%)
|
|
}, {
|
|
name: 'xlink:role',
|
|
read: 'xlink:role' |> getAttribute(%)
|
|
}, {
|
|
name: 'xlink:show',
|
|
read: 'xlink:show' |> getAttribute(%)
|
|
}, {
|
|
name: 'xlink:title',
|
|
read: 'xlink:title' |> getAttribute(%)
|
|
}, {
|
|
name: 'xlink:type',
|
|
read: 'xlink:type' |> getAttribute(%)
|
|
}, {
|
|
name: 'xlinkActuate',
|
|
read: 'xlink:actuate' |> getAttribute(%)
|
|
}, {
|
|
name: 'XlinkActuate',
|
|
read: 'Xlink:actuate' |> getAttribute(%)
|
|
}, {
|
|
name: 'xlinkArcrole',
|
|
read: 'xlink:arcrole' |> getAttribute(%)
|
|
}, {
|
|
name: 'xlinkHref',
|
|
read: 'xlink:href' |> getAttribute(%)
|
|
}, {
|
|
name: 'xlinkRole',
|
|
read: 'xlink:role' |> getAttribute(%)
|
|
}, {
|
|
name: 'xlinkShow',
|
|
read: 'xlink:show' |> getAttribute(%)
|
|
}, {
|
|
name: 'xlinkTitle',
|
|
read: 'xlink:title' |> getAttribute(%)
|
|
}, {
|
|
name: 'xlinkType',
|
|
read: 'xlink:type' |> getAttribute(%)
|
|
}, {
|
|
name: 'xml:base',
|
|
read: 'xml:base' |> getAttribute(%)
|
|
}, {
|
|
name: 'xml:lang',
|
|
read: 'xml:lang' |> getAttribute(%)
|
|
}, {
|
|
name: 'xml:space',
|
|
read: 'xml:space' |> getAttribute(%)
|
|
}, {
|
|
name: 'xmlBase',
|
|
read: 'xml:base' |> getAttribute(%)
|
|
}, {
|
|
name: 'xmlLang',
|
|
read: 'xml:lang' |> getAttribute(%)
|
|
}, {
|
|
name: 'xmlns',
|
|
read: 'namespaceURI' |> getProperty(%),
|
|
tagName: 'svg'
|
|
}, {
|
|
name: 'xmlns:xlink',
|
|
read: 'xmlns:xlink' |> getAttribute(%)
|
|
}, {
|
|
name: 'xmlnsXlink',
|
|
read: 'xmlns:xlink' |> getAttribute(%)
|
|
}, {
|
|
name: 'xmlSpace',
|
|
read: 'xml:space' |> getAttribute(%)
|
|
}, {
|
|
name: 'y',
|
|
read: 'y' |> getSVGAttribute(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'altGlyph'
|
|
}, {
|
|
name: 'y1',
|
|
read: 'y1' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'line'
|
|
}, {
|
|
name: 'y2',
|
|
read: 'y2' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'line'
|
|
}, {
|
|
name: 'yChannelSelector',
|
|
read: 'yChannelSelector' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'feDisplacementMap',
|
|
overrideStringValue: 'B'
|
|
}, {
|
|
name: 'z',
|
|
read: 'z' |> getSVGProperty(%),
|
|
containerTagName: 'svg',
|
|
tagName: 'fePointLight'
|
|
}, {
|
|
name: 'zoomAndPan',
|
|
read: 'zoomAndPan' |> getSVGProperty(%),
|
|
tagName: 'svg'
|
|
}];
|
|
(attr => {
|
|
attr.read = attr.read || attr.name |> getProperty(%);
|
|
}) |> attributes.forEach(%);
|
|
export default attributes; |