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.
174 lines
3.2 KiB
174 lines
3.2 KiB
/** |
|
* 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;
|
|
|