You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
175 lines
3.2 KiB
175 lines
3.2 KiB
10 years ago
|
/**
|
||
|
* Copyright 2013-2015, Facebook, Inc.
|
||
|
* All rights reserved.
|
||
|
*
|
||
|
* This source code is licensed under the BSD-style license found in the
|
||
|
* LICENSE file in the root directory of this source tree. An additional grant
|
||
|
* of patent rights can be found in the PATENTS file in the same directory.
|
||
|
*
|
||
|
* @providesModule ReactDOM
|
||
|
* @typechecks static-only
|
||
|
*/
|
||
|
|
||
|
'use strict';
|
||
|
|
||
|
var ReactElement = require("./ReactElement");
|
||
|
var ReactElementValidator = require("./ReactElementValidator");
|
||
|
|
||
|
var mapObject = require("./mapObject");
|
||
|
|
||
|
/**
|
||
|
* Create a factory that creates HTML tag elements.
|
||
|
*
|
||
|
* @param {string} tag Tag name (e.g. `div`).
|
||
|
* @private
|
||
|
*/
|
||
|
function createDOMFactory(tag) {
|
||
|
if ("production" !== process.env.NODE_ENV) {
|
||
|
return ReactElementValidator.createFactory(tag);
|
||
|
}
|
||
|
return ReactElement.createFactory(tag);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Creates a mapping from supported HTML tags to `ReactDOMComponent` classes.
|
||
|
* This is also accessible via `React.DOM`.
|
||
|
*
|
||
|
* @public
|
||
|
*/
|
||
|
var ReactDOM = mapObject({
|
||
|
a: 'a',
|
||
|
abbr: 'abbr',
|
||
|
address: 'address',
|
||
|
area: 'area',
|
||
|
article: 'article',
|
||
|
aside: 'aside',
|
||
|
audio: 'audio',
|
||
|
b: 'b',
|
||
|
base: 'base',
|
||
|
bdi: 'bdi',
|
||
|
bdo: 'bdo',
|
||
|
big: 'big',
|
||
|
blockquote: 'blockquote',
|
||
|
body: 'body',
|
||
|
br: 'br',
|
||
|
button: 'button',
|
||
|
canvas: 'canvas',
|
||
|
caption: 'caption',
|
||
|
cite: 'cite',
|
||
|
code: 'code',
|
||
|
col: 'col',
|
||
|
colgroup: 'colgroup',
|
||
|
data: 'data',
|
||
|
datalist: 'datalist',
|
||
|
dd: 'dd',
|
||
|
del: 'del',
|
||
|
details: 'details',
|
||
|
dfn: 'dfn',
|
||
|
dialog: 'dialog',
|
||
|
div: 'div',
|
||
|
dl: 'dl',
|
||
|
dt: 'dt',
|
||
|
em: 'em',
|
||
|
embed: 'embed',
|
||
|
fieldset: 'fieldset',
|
||
|
figcaption: 'figcaption',
|
||
|
figure: 'figure',
|
||
|
footer: 'footer',
|
||
|
form: 'form',
|
||
|
h1: 'h1',
|
||
|
h2: 'h2',
|
||
|
h3: 'h3',
|
||
|
h4: 'h4',
|
||
|
h5: 'h5',
|
||
|
h6: 'h6',
|
||
|
head: 'head',
|
||
|
header: 'header',
|
||
|
hr: 'hr',
|
||
|
html: 'html',
|
||
|
i: 'i',
|
||
|
iframe: 'iframe',
|
||
|
img: 'img',
|
||
|
input: 'input',
|
||
|
ins: 'ins',
|
||
|
kbd: 'kbd',
|
||
|
keygen: 'keygen',
|
||
|
label: 'label',
|
||
|
legend: 'legend',
|
||
|
li: 'li',
|
||
|
link: 'link',
|
||
|
main: 'main',
|
||
|
map: 'map',
|
||
|
mark: 'mark',
|
||
|
menu: 'menu',
|
||
|
menuitem: 'menuitem',
|
||
|
meta: 'meta',
|
||
|
meter: 'meter',
|
||
|
nav: 'nav',
|
||
|
noscript: 'noscript',
|
||
|
object: 'object',
|
||
|
ol: 'ol',
|
||
|
optgroup: 'optgroup',
|
||
|
option: 'option',
|
||
|
output: 'output',
|
||
|
p: 'p',
|
||
|
param: 'param',
|
||
|
picture: 'picture',
|
||
|
pre: 'pre',
|
||
|
progress: 'progress',
|
||
|
q: 'q',
|
||
|
rp: 'rp',
|
||
|
rt: 'rt',
|
||
|
ruby: 'ruby',
|
||
|
s: 's',
|
||
|
samp: 'samp',
|
||
|
script: 'script',
|
||
|
section: 'section',
|
||
|
select: 'select',
|
||
|
small: 'small',
|
||
|
source: 'source',
|
||
|
span: 'span',
|
||
|
strong: 'strong',
|
||
|
style: 'style',
|
||
|
sub: 'sub',
|
||
|
summary: 'summary',
|
||
|
sup: 'sup',
|
||
|
table: 'table',
|
||
|
tbody: 'tbody',
|
||
|
td: 'td',
|
||
|
textarea: 'textarea',
|
||
|
tfoot: 'tfoot',
|
||
|
th: 'th',
|
||
|
thead: 'thead',
|
||
|
time: 'time',
|
||
|
title: 'title',
|
||
|
tr: 'tr',
|
||
|
track: 'track',
|
||
|
u: 'u',
|
||
|
ul: 'ul',
|
||
|
'var': 'var',
|
||
|
video: 'video',
|
||
|
wbr: 'wbr',
|
||
|
|
||
|
// SVG
|
||
|
circle: 'circle',
|
||
|
defs: 'defs',
|
||
|
ellipse: 'ellipse',
|
||
|
g: 'g',
|
||
|
line: 'line',
|
||
|
linearGradient: 'linearGradient',
|
||
|
mask: 'mask',
|
||
|
path: 'path',
|
||
|
pattern: 'pattern',
|
||
|
polygon: 'polygon',
|
||
|
polyline: 'polyline',
|
||
|
radialGradient: 'radialGradient',
|
||
|
rect: 'rect',
|
||
|
stop: 'stop',
|
||
|
svg: 'svg',
|
||
|
text: 'text',
|
||
|
tspan: 'tspan'
|
||
|
|
||
|
}, createDOMFactory);
|
||
|
|
||
|
module.exports = ReactDOM;
|