html-react-parser
Advanced tools
Comparing version 0.3.4 to 0.3.5
# Change Log | ||
All notable changes to this project will be documented in this file. | ||
The format is based on [Keep a Changelog](http://keepachangelog.com) and this project adheres to [Semantic Versioning](http://semver.org). | ||
The format is based on [Keep a Changelog](http://keepachangelog.com) | ||
and this project adheres to [Semantic Versioning](http://semver.org). | ||
## [0.3.5](https://github.com/remarkablemark/html-react-parser/compare/v0.3.4...v0.3.5) - 2017-06-26 | ||
### Changed | ||
- Dependencies | ||
- html-dom-parser@0.1.1 | ||
- Fixes IE client parser bug | ||
- eslint@4.1.1 | ||
- webpack@3.0.0 | ||
- Update webpack to enable scope hoisting | ||
## [0.3.4](https://github.com/remarkablemark/html-react-parser/compare/v0.3.3...v0.3.4) - 2017-06-17 | ||
@@ -7,0 +17,0 @@ ### Changed |
@@ -10,3 +10,3 @@ (function webpackUniversalModuleDefinition(root, factory) { | ||
root["HTMLReactParser"] = factory(root["React"]); | ||
})(this, function(__WEBPACK_EXTERNAL_MODULE_13__) { | ||
})(this, function(__WEBPACK_EXTERNAL_MODULE_3__) { | ||
return /******/ (function(modules) { // webpackBootstrap | ||
@@ -47,5 +47,2 @@ /******/ // The module cache | ||
/******/ | ||
/******/ // identity function for calling harmony imports with the correct context | ||
/******/ __webpack_require__.i = function(value) { return value; }; | ||
/******/ | ||
/******/ // define getter function for harmony exports | ||
@@ -78,3 +75,3 @@ /******/ __webpack_require__.d = function(exports, name, getter) { | ||
/******/ // Load entry module and return exports | ||
/******/ return __webpack_require__(__webpack_require__.s = 3); | ||
/******/ return __webpack_require__(__webpack_require__.s = 1); | ||
/******/ }) | ||
@@ -171,3 +168,40 @@ /************************************************************************/ | ||
*/ | ||
var React = __webpack_require__(13); | ||
var domToReact = __webpack_require__(2); | ||
var htmlToDOM = __webpack_require__(11); | ||
// decode HTML entities by default for `htmlparser2` | ||
var domParserOptions = { decodeEntities: true }; | ||
/** | ||
* Convert HTML string to React elements. | ||
* | ||
* @param {String} html - The HTML string. | ||
* @param {Object} [options] - The additional options. | ||
* @param {Function} [options.replace] - The replace method. | ||
* @return {ReactElement|Array} | ||
*/ | ||
function HTMLReactParser(html, options) { | ||
if (typeof html !== 'string') { | ||
throw new TypeError('First argument must be a string'); | ||
} | ||
return domToReact(htmlToDOM(html, domParserOptions), options); | ||
} | ||
/** | ||
* Export HTML to React parser. | ||
*/ | ||
module.exports = HTMLReactParser; | ||
/***/ }), | ||
/* 2 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
/** | ||
* Module dependencies. | ||
*/ | ||
var React = __webpack_require__(3); | ||
var attributesToProps = __webpack_require__(4); | ||
@@ -271,80 +305,7 @@ | ||
/***/ }), | ||
/* 2 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
/** | ||
* Module dependencies. | ||
*/ | ||
var domparser = __webpack_require__(6); | ||
var utilities = __webpack_require__(7); | ||
var formatDOM = utilities.formatDOM; | ||
/** | ||
* Constants. | ||
*/ | ||
var DIRECTIVE_REGEX = /<(![a-zA-Z\s]+)>/; // e.g., <!doctype html> | ||
/** | ||
* Parses HTML and reformats DOM nodes output. | ||
* | ||
* @param {String} html - The HTML string. | ||
* @return {Array} - The formatted DOM nodes. | ||
*/ | ||
module.exports = function parseDOM(html) { | ||
if (typeof html !== 'string') { | ||
throw new TypeError('First argument must be a string.'); | ||
} | ||
if (!html) return []; | ||
// directive found | ||
var match = html.match(DIRECTIVE_REGEX); | ||
var directive; | ||
if (match && match[1]) { | ||
directive = match[1]; | ||
} | ||
return formatDOM(domparser(html), null, directive); | ||
}; | ||
/***/ }), | ||
/* 3 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
/***/ (function(module, exports) { | ||
"use strict"; | ||
module.exports = __WEBPACK_EXTERNAL_MODULE_3__; | ||
/** | ||
* Module dependencies. | ||
*/ | ||
var domToReact = __webpack_require__(1); | ||
var htmlToDOM = __webpack_require__(2); | ||
// decode HTML entities by default for `htmlparser2` | ||
var domParserOptions = { decodeEntities: true }; | ||
/** | ||
* Convert HTML string to React elements. | ||
* | ||
* @param {String} html - The HTML string. | ||
* @param {Object} [options] - The additional options. | ||
* @param {Function} [options.replace] - The replace method. | ||
* @return {ReactElement|Array} | ||
*/ | ||
function HTMLReactParser(html, options) { | ||
if (typeof html !== 'string') { | ||
throw new TypeError('First argument must be a string'); | ||
} | ||
return domToReact(htmlToDOM(html, domParserOptions), options); | ||
} | ||
/** | ||
* Export HTML to React parser. | ||
*/ | ||
module.exports = HTMLReactParser; | ||
/***/ }), | ||
@@ -468,3 +429,3 @@ /* 4 */ | ||
// HTML and SVG DOM Property Configs | ||
var HTMLDOMPropertyConfig = __webpack_require__(9); | ||
var HTMLDOMPropertyConfig = __webpack_require__(6); | ||
var SVGDOMPropertyConfig = __webpack_require__(10); | ||
@@ -532,164 +493,237 @@ | ||
"use strict"; | ||
/** | ||
* Constants. | ||
*/ | ||
var HTML_TAG_NAME = 'html'; | ||
var BODY_TAG_NAME = 'body'; | ||
var HEAD_TAG_NAME = 'head'; | ||
var FIRST_TAG_REGEX = /<([a-zA-Z]+[0-9]?)/; // e.g., <h1> | ||
var HEAD_REGEX = /<head[\s\S]*>[\s\S]*<\/head>/i; | ||
var BODY_REGEX = /<body[\s\S]*>[\s\S]*<\/body>/i; | ||
/** | ||
* DOMParser (performance: slow). | ||
* Copyright 2013-present, Facebook, Inc. | ||
* All rights reserved. | ||
* | ||
* https://developer.mozilla.org/docs/Web/API/DOMParser#Parsing_an_SVG_or_HTML_document | ||
* 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. | ||
* | ||
*/ | ||
var parseFromString; | ||
if (typeof window.DOMParser === 'function') { | ||
var domParser = new window.DOMParser(); | ||
var MIME_TYPE = 'text/' + HTML_TAG_NAME; | ||
var DOMProperty = __webpack_require__(7); | ||
var MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY; | ||
var HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE; | ||
var HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE; | ||
var HAS_POSITIVE_NUMERIC_VALUE = DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE; | ||
var HAS_OVERLOADED_BOOLEAN_VALUE = DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE; | ||
var HTMLDOMPropertyConfig = { | ||
isCustomAttribute: RegExp.prototype.test.bind(new RegExp('^(data|aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$')), | ||
Properties: { | ||
/** | ||
* Creates an HTML document using `DOMParser.parseFromString`. | ||
* | ||
* @param {String} html - The HTML string. | ||
* @param {String} [tagName] - The element to render the HTML. | ||
* @return {HTMLDocument} | ||
* Standard Properties | ||
*/ | ||
parseFromString = function domStringParser(html, tagName) { | ||
if (tagName) { | ||
html = ['<', tagName, '>', html, '</', tagName, '>'].join(''); | ||
} | ||
return domParser.parseFromString(html, MIME_TYPE); | ||
}; | ||
} | ||
accept: 0, | ||
acceptCharset: 0, | ||
accessKey: 0, | ||
action: 0, | ||
allowFullScreen: HAS_BOOLEAN_VALUE, | ||
allowTransparency: 0, | ||
alt: 0, | ||
// specifies target context for links with `preload` type | ||
as: 0, | ||
async: HAS_BOOLEAN_VALUE, | ||
autoComplete: 0, | ||
// autoFocus is polyfilled/normalized by AutoFocusUtils | ||
// autoFocus: HAS_BOOLEAN_VALUE, | ||
autoPlay: HAS_BOOLEAN_VALUE, | ||
capture: HAS_BOOLEAN_VALUE, | ||
cellPadding: 0, | ||
cellSpacing: 0, | ||
charSet: 0, | ||
challenge: 0, | ||
checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, | ||
cite: 0, | ||
classID: 0, | ||
className: 0, | ||
cols: HAS_POSITIVE_NUMERIC_VALUE, | ||
colSpan: 0, | ||
content: 0, | ||
contentEditable: 0, | ||
contextMenu: 0, | ||
controls: HAS_BOOLEAN_VALUE, | ||
coords: 0, | ||
crossOrigin: 0, | ||
data: 0, // For `<object />` acts as `src`. | ||
dateTime: 0, | ||
'default': HAS_BOOLEAN_VALUE, | ||
defer: HAS_BOOLEAN_VALUE, | ||
dir: 0, | ||
disabled: HAS_BOOLEAN_VALUE, | ||
download: HAS_OVERLOADED_BOOLEAN_VALUE, | ||
draggable: 0, | ||
encType: 0, | ||
form: 0, | ||
formAction: 0, | ||
formEncType: 0, | ||
formMethod: 0, | ||
formNoValidate: HAS_BOOLEAN_VALUE, | ||
formTarget: 0, | ||
frameBorder: 0, | ||
headers: 0, | ||
height: 0, | ||
hidden: HAS_BOOLEAN_VALUE, | ||
high: 0, | ||
href: 0, | ||
hrefLang: 0, | ||
htmlFor: 0, | ||
httpEquiv: 0, | ||
icon: 0, | ||
id: 0, | ||
inputMode: 0, | ||
integrity: 0, | ||
is: 0, | ||
keyParams: 0, | ||
keyType: 0, | ||
kind: 0, | ||
label: 0, | ||
lang: 0, | ||
list: 0, | ||
loop: HAS_BOOLEAN_VALUE, | ||
low: 0, | ||
manifest: 0, | ||
marginHeight: 0, | ||
marginWidth: 0, | ||
max: 0, | ||
maxLength: 0, | ||
media: 0, | ||
mediaGroup: 0, | ||
method: 0, | ||
min: 0, | ||
minLength: 0, | ||
// Caution; `option.selected` is not updated if `select.multiple` is | ||
// disabled with `removeAttribute`. | ||
multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, | ||
muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, | ||
name: 0, | ||
nonce: 0, | ||
noValidate: HAS_BOOLEAN_VALUE, | ||
open: HAS_BOOLEAN_VALUE, | ||
optimum: 0, | ||
pattern: 0, | ||
placeholder: 0, | ||
playsInline: HAS_BOOLEAN_VALUE, | ||
poster: 0, | ||
preload: 0, | ||
profile: 0, | ||
radioGroup: 0, | ||
readOnly: HAS_BOOLEAN_VALUE, | ||
referrerPolicy: 0, | ||
rel: 0, | ||
required: HAS_BOOLEAN_VALUE, | ||
reversed: HAS_BOOLEAN_VALUE, | ||
role: 0, | ||
rows: HAS_POSITIVE_NUMERIC_VALUE, | ||
rowSpan: HAS_NUMERIC_VALUE, | ||
sandbox: 0, | ||
scope: 0, | ||
scoped: HAS_BOOLEAN_VALUE, | ||
scrolling: 0, | ||
seamless: HAS_BOOLEAN_VALUE, | ||
selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, | ||
shape: 0, | ||
size: HAS_POSITIVE_NUMERIC_VALUE, | ||
sizes: 0, | ||
span: HAS_POSITIVE_NUMERIC_VALUE, | ||
spellCheck: 0, | ||
src: 0, | ||
srcDoc: 0, | ||
srcLang: 0, | ||
srcSet: 0, | ||
start: HAS_NUMERIC_VALUE, | ||
step: 0, | ||
style: 0, | ||
summary: 0, | ||
tabIndex: 0, | ||
target: 0, | ||
title: 0, | ||
// Setting .type throws on non-<input> tags | ||
type: 0, | ||
useMap: 0, | ||
value: 0, | ||
width: 0, | ||
wmode: 0, | ||
wrap: 0, | ||
/** | ||
* DOMImplementation (performance: fair). | ||
* | ||
* https://developer.mozilla.org/docs/Web/API/DOMImplementation/createHTMLDocument | ||
*/ | ||
var parseFromDocument; | ||
if (typeof document.implementation === 'object') { | ||
var doc = document.implementation.createHTMLDocument(); | ||
/** | ||
* Use HTML document created by `document.implementation.createHTMLDocument`. | ||
* | ||
* @param {String} html - The HTML string. | ||
* @param {String} [tagName] - The element to render the HTML. | ||
* @return {HTMLDocument} | ||
* RDFa Properties | ||
*/ | ||
parseFromDocument = function createHTMLDocument(html, tagName) { | ||
if (tagName) { | ||
doc.documentElement.getElementsByTagName(tagName)[0].innerHTML = html; | ||
} else { | ||
doc.documentElement.innerHTML = html; | ||
} | ||
return doc; | ||
}; | ||
} | ||
about: 0, | ||
datatype: 0, | ||
inlist: 0, | ||
prefix: 0, | ||
// property is also supported for OpenGraph in meta tags. | ||
property: 0, | ||
resource: 0, | ||
'typeof': 0, | ||
vocab: 0, | ||
/** | ||
* Template (performance: fast). | ||
* | ||
* https://developer.mozilla.org/docs/Web/HTML/Element/template | ||
*/ | ||
var parseFromTemplate; | ||
var template = document.createElement('template'); | ||
if (template.content) { | ||
/** | ||
* Uses a template element (content fragment) to parse HTML. | ||
* | ||
* @param {String} html - The HTML string. | ||
* @return {NodeList} | ||
* Non-standard Properties | ||
*/ | ||
parseFromTemplate = function templateParser(html) { | ||
template.innerHTML = html; | ||
return template.content.childNodes; | ||
}; | ||
} | ||
// autoCapitalize and autoCorrect are supported in Mobile Safari for | ||
// keyboard hints. | ||
autoCapitalize: 0, | ||
autoCorrect: 0, | ||
// autoSave allows WebKit/Blink to persist values of input fields on page reloads | ||
autoSave: 0, | ||
// color is for Safari mask-icon link | ||
color: 0, | ||
// itemProp, itemScope, itemType are for | ||
// Microdata support. See http://schema.org/docs/gs.html | ||
itemProp: 0, | ||
itemScope: HAS_BOOLEAN_VALUE, | ||
itemType: 0, | ||
// itemID and itemRef are for Microdata support as well but | ||
// only specified in the WHATWG spec document. See | ||
// https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api | ||
itemID: 0, | ||
itemRef: 0, | ||
// results show looking glass icon and recent searches on input | ||
// search fields in WebKit/Blink | ||
results: 0, | ||
// IE-only attribute that specifies security restrictions on an iframe | ||
// as an alternative to the sandbox attribute on IE<10 | ||
security: 0, | ||
// IE-only attribute that controls focus behavior | ||
unselectable: 0 | ||
}, | ||
DOMAttributeNames: { | ||
acceptCharset: 'accept-charset', | ||
className: 'class', | ||
htmlFor: 'for', | ||
httpEquiv: 'http-equiv' | ||
}, | ||
DOMPropertyNames: {}, | ||
DOMMutationMethods: { | ||
value: function (node, value) { | ||
if (value == null) { | ||
return node.removeAttribute('value'); | ||
} | ||
/** Fallback document parser. */ | ||
var parseWithFallback = parseFromDocument || parseFromString; | ||
/** | ||
* Parses HTML string to DOM nodes. | ||
* | ||
* @param {String} html - The HTML string. | ||
* @param {String} [tagName] - The tag name. | ||
* @return {NodeList|Array} | ||
*/ | ||
module.exports = function domparser(html) { | ||
// try to match first tag | ||
var tagName; | ||
var match = html.match(FIRST_TAG_REGEX); | ||
if (match && match[1]) { | ||
tagName = match[1]; | ||
// Number inputs get special treatment due to some edge cases in | ||
// Chrome. Let everything else assign the value attribute as normal. | ||
// https://github.com/facebook/react/issues/7253#issuecomment-236074326 | ||
if (node.type !== 'number' || node.hasAttribute('value') === false) { | ||
node.setAttribute('value', '' + value); | ||
} else if (node.validity && !node.validity.badInput && node.ownerDocument.activeElement !== node) { | ||
// Don't assign an attribute if validation reports bad | ||
// input. Chrome will clear the value. Additionally, don't | ||
// operate on inputs that have focus, otherwise Chrome might | ||
// strip off trailing decimal places and cause the user's | ||
// cursor position to jump to the beginning of the input. | ||
// | ||
// In ReactDOMInput, we have an onBlur event that will trigger | ||
// this function again when focus is lost. | ||
node.setAttribute('value', '' + value); | ||
} | ||
} | ||
var doc; | ||
var element; | ||
var elements; | ||
switch (tagName) { | ||
case HTML_TAG_NAME: | ||
if (parseFromString) { | ||
doc = parseFromString(html); | ||
// strip elements if not found | ||
if (!HEAD_REGEX.test(html)) { | ||
element = doc.getElementsByTagName(HEAD_TAG_NAME)[0]; | ||
element.parentNode.removeChild(element); | ||
} | ||
if (!BODY_REGEX.test(html)) { | ||
element = doc.getElementsByTagName(BODY_TAG_NAME)[0]; | ||
element.parentNode.removeChild(element); | ||
} | ||
return doc.getElementsByTagName(HTML_TAG_NAME); | ||
} | ||
break; | ||
case HEAD_TAG_NAME: | ||
if (parseWithFallback) { | ||
elements = parseWithFallback(html).getElementsByTagName(HEAD_TAG_NAME); | ||
// account for possibility of sibling | ||
if (BODY_REGEX.test(html)) { | ||
return elements[0].parentNode.childNodes; | ||
} | ||
return elements; | ||
} | ||
break; | ||
case BODY_TAG_NAME: | ||
if (parseWithFallback) { | ||
elements = parseWithFallback(html).getElementsByTagName(BODY_TAG_NAME); | ||
// account for possibility of sibling | ||
if (HEAD_REGEX.test(html)) { | ||
return elements[0].parentNode.childNodes; | ||
} | ||
return elements; | ||
} | ||
break; | ||
// low-level tag or text | ||
default: | ||
if (parseFromTemplate) return parseFromTemplate(html); | ||
if (parseWithFallback) { | ||
return parseWithFallback(html, BODY_TAG_NAME).getElementsByTagName(BODY_TAG_NAME)[0].childNodes; | ||
} | ||
break; | ||
} | ||
return []; | ||
} | ||
}; | ||
module.exports = HTMLDOMPropertyConfig; | ||
@@ -701,131 +735,3 @@ /***/ }), | ||
"use strict"; | ||
/** | ||
* Format DOM attributes to an associative array. | ||
* | ||
* @param {NamedNodeMap} - The list of attributes. | ||
* @return {Object} - The object of attributes. | ||
*/ | ||
function formatAttributes(attributes) { | ||
var result = {}; | ||
var attribute; | ||
// NamedNodeMap is array-like | ||
for (var i = 0, len = attributes.length; i < len; i++) { | ||
attribute = attributes[i]; | ||
result[attribute.name] = attribute.value; | ||
} | ||
return result; | ||
} | ||
/** | ||
* Format the browser DOM nodes to mimic the output of `htmlparser2.parseDOM()`. | ||
* | ||
* @param {NodeList} nodes - The DOM nodes. | ||
* @param {Object} [parentObj] - The formatted parent node. | ||
* @param {String} [directive] - The directive. | ||
* @return {Object} - The formatted DOM object. | ||
*/ | ||
function formatDOM(nodes, parentObj, directive) { | ||
parentObj = parentObj || null; | ||
var result = []; | ||
var node; | ||
var prevNode; | ||
var nodeObj; | ||
// NodeList is array-like | ||
for (var i = 0, len = nodes.length; i < len; i++) { | ||
node = nodes[i]; | ||
// reset | ||
nodeObj = { | ||
next: null, | ||
prev: result[i - 1] || null, | ||
parent: parentObj | ||
}; | ||
// set the next node for the previous node (if applicable) | ||
prevNode = result[i - 1]; | ||
if (prevNode) { | ||
prevNode.next = nodeObj; | ||
} | ||
// set the node name if it's not "#text" or "#comment" | ||
// e.g., "div" | ||
if (node.nodeName.indexOf('#') !== 0) { | ||
nodeObj.name = node.nodeName.toLowerCase(); | ||
// also, nodes of type "tag" have "attribs" | ||
nodeObj.attribs = {}; // default | ||
if (node.attributes && node.attributes.length) { | ||
nodeObj.attribs = formatAttributes(node.attributes); | ||
} | ||
} | ||
// set the node type | ||
// e.g., "tag" | ||
switch (node.nodeType) { | ||
// 1 = element | ||
case 1: | ||
if (nodeObj.name === 'script' || nodeObj.name === 'style') { | ||
nodeObj.type = nodeObj.name; | ||
} else { | ||
nodeObj.type = 'tag'; | ||
} | ||
// recursively format the children | ||
nodeObj.children = formatDOM(node.childNodes, nodeObj); | ||
break; | ||
// 2 = attribute | ||
// 3 = text | ||
case 3: | ||
nodeObj.type = 'text'; | ||
nodeObj.data = node.nodeValue; | ||
break; | ||
// 8 = comment | ||
case 8: | ||
nodeObj.type = 'comment'; | ||
nodeObj.data = node.nodeValue; | ||
break; | ||
default: | ||
break; | ||
} | ||
result.push(nodeObj); | ||
} | ||
if (directive) { | ||
result.unshift({ | ||
name: directive.substring(0, directive.indexOf(' ')).toLowerCase(), | ||
data: directive, | ||
type: 'directive', | ||
next: result[0] ? result[0] : null, | ||
prev: null, | ||
parent: parentObj | ||
}); | ||
if (result[1]) { | ||
result[1].prev = result[0]; | ||
} | ||
} | ||
return result; | ||
} | ||
/** | ||
* Export utilities. | ||
*/ | ||
module.exports = { | ||
formatAttributes: formatAttributes, | ||
formatDOM: formatDOM | ||
}; | ||
/***/ }), | ||
/* 8 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
/** | ||
* Copyright 2013-present, Facebook, Inc. | ||
@@ -842,5 +748,5 @@ * All rights reserved. | ||
var _prodInvariant = __webpack_require__(11); | ||
var _prodInvariant = __webpack_require__(8); | ||
var invariant = __webpack_require__(12); | ||
var invariant = __webpack_require__(9); | ||
@@ -1041,2 +947,46 @@ function checkMask(value, bitmask) { | ||
/***/ }), | ||
/* 8 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
/** | ||
* Copyright (c) 2013-present, 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. | ||
* | ||
* | ||
*/ | ||
/** | ||
* WARNING: DO NOT manually require this module. | ||
* This is a replacement for `invariant(...)` used by the error code system | ||
* and will _only_ be required by the corresponding babel pass. | ||
* It always throws. | ||
*/ | ||
function reactProdInvariant(code) { | ||
var argCount = arguments.length - 1; | ||
var message = 'Minified React error #' + code + '; visit ' + 'http://facebook.github.io/react/docs/error-decoder.html?invariant=' + code; | ||
for (var argIdx = 0; argIdx < argCount; argIdx++) { | ||
message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]); | ||
} | ||
message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.'; | ||
var error = new Error(message); | ||
error.name = 'Invariant Violation'; | ||
error.framesToPop = 1; // we don't care about reactProdInvariant's own frame | ||
throw error; | ||
} | ||
module.exports = reactProdInvariant; | ||
/***/ }), | ||
/* 9 */ | ||
@@ -1047,3 +997,3 @@ /***/ (function(module, exports, __webpack_require__) { | ||
/** | ||
* Copyright 2013-present, Facebook, Inc. | ||
* Copyright (c) 2013-present, Facebook, Inc. | ||
* All rights reserved. | ||
@@ -1059,225 +1009,45 @@ * | ||
var DOMProperty = __webpack_require__(8); | ||
/** | ||
* Use invariant() to assert state which your program assumes to be true. | ||
* | ||
* Provide sprintf-style format (only %s is supported) and arguments | ||
* to provide information about what broke and what you were | ||
* expecting. | ||
* | ||
* The invariant message will be stripped in production, but the invariant | ||
* will remain to ensure logic does not differ in production. | ||
*/ | ||
var MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY; | ||
var HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE; | ||
var HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE; | ||
var HAS_POSITIVE_NUMERIC_VALUE = DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE; | ||
var HAS_OVERLOADED_BOOLEAN_VALUE = DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE; | ||
var validateFormat = function validateFormat(format) {}; | ||
var HTMLDOMPropertyConfig = { | ||
isCustomAttribute: RegExp.prototype.test.bind(new RegExp('^(data|aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$')), | ||
Properties: { | ||
/** | ||
* Standard Properties | ||
*/ | ||
accept: 0, | ||
acceptCharset: 0, | ||
accessKey: 0, | ||
action: 0, | ||
allowFullScreen: HAS_BOOLEAN_VALUE, | ||
allowTransparency: 0, | ||
alt: 0, | ||
// specifies target context for links with `preload` type | ||
as: 0, | ||
async: HAS_BOOLEAN_VALUE, | ||
autoComplete: 0, | ||
// autoFocus is polyfilled/normalized by AutoFocusUtils | ||
// autoFocus: HAS_BOOLEAN_VALUE, | ||
autoPlay: HAS_BOOLEAN_VALUE, | ||
capture: HAS_BOOLEAN_VALUE, | ||
cellPadding: 0, | ||
cellSpacing: 0, | ||
charSet: 0, | ||
challenge: 0, | ||
checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, | ||
cite: 0, | ||
classID: 0, | ||
className: 0, | ||
cols: HAS_POSITIVE_NUMERIC_VALUE, | ||
colSpan: 0, | ||
content: 0, | ||
contentEditable: 0, | ||
contextMenu: 0, | ||
controls: HAS_BOOLEAN_VALUE, | ||
coords: 0, | ||
crossOrigin: 0, | ||
data: 0, // For `<object />` acts as `src`. | ||
dateTime: 0, | ||
'default': HAS_BOOLEAN_VALUE, | ||
defer: HAS_BOOLEAN_VALUE, | ||
dir: 0, | ||
disabled: HAS_BOOLEAN_VALUE, | ||
download: HAS_OVERLOADED_BOOLEAN_VALUE, | ||
draggable: 0, | ||
encType: 0, | ||
form: 0, | ||
formAction: 0, | ||
formEncType: 0, | ||
formMethod: 0, | ||
formNoValidate: HAS_BOOLEAN_VALUE, | ||
formTarget: 0, | ||
frameBorder: 0, | ||
headers: 0, | ||
height: 0, | ||
hidden: HAS_BOOLEAN_VALUE, | ||
high: 0, | ||
href: 0, | ||
hrefLang: 0, | ||
htmlFor: 0, | ||
httpEquiv: 0, | ||
icon: 0, | ||
id: 0, | ||
inputMode: 0, | ||
integrity: 0, | ||
is: 0, | ||
keyParams: 0, | ||
keyType: 0, | ||
kind: 0, | ||
label: 0, | ||
lang: 0, | ||
list: 0, | ||
loop: HAS_BOOLEAN_VALUE, | ||
low: 0, | ||
manifest: 0, | ||
marginHeight: 0, | ||
marginWidth: 0, | ||
max: 0, | ||
maxLength: 0, | ||
media: 0, | ||
mediaGroup: 0, | ||
method: 0, | ||
min: 0, | ||
minLength: 0, | ||
// Caution; `option.selected` is not updated if `select.multiple` is | ||
// disabled with `removeAttribute`. | ||
multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, | ||
muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, | ||
name: 0, | ||
nonce: 0, | ||
noValidate: HAS_BOOLEAN_VALUE, | ||
open: HAS_BOOLEAN_VALUE, | ||
optimum: 0, | ||
pattern: 0, | ||
placeholder: 0, | ||
playsInline: HAS_BOOLEAN_VALUE, | ||
poster: 0, | ||
preload: 0, | ||
profile: 0, | ||
radioGroup: 0, | ||
readOnly: HAS_BOOLEAN_VALUE, | ||
referrerPolicy: 0, | ||
rel: 0, | ||
required: HAS_BOOLEAN_VALUE, | ||
reversed: HAS_BOOLEAN_VALUE, | ||
role: 0, | ||
rows: HAS_POSITIVE_NUMERIC_VALUE, | ||
rowSpan: HAS_NUMERIC_VALUE, | ||
sandbox: 0, | ||
scope: 0, | ||
scoped: HAS_BOOLEAN_VALUE, | ||
scrolling: 0, | ||
seamless: HAS_BOOLEAN_VALUE, | ||
selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, | ||
shape: 0, | ||
size: HAS_POSITIVE_NUMERIC_VALUE, | ||
sizes: 0, | ||
span: HAS_POSITIVE_NUMERIC_VALUE, | ||
spellCheck: 0, | ||
src: 0, | ||
srcDoc: 0, | ||
srcLang: 0, | ||
srcSet: 0, | ||
start: HAS_NUMERIC_VALUE, | ||
step: 0, | ||
style: 0, | ||
summary: 0, | ||
tabIndex: 0, | ||
target: 0, | ||
title: 0, | ||
// Setting .type throws on non-<input> tags | ||
type: 0, | ||
useMap: 0, | ||
value: 0, | ||
width: 0, | ||
wmode: 0, | ||
wrap: 0, | ||
if (true) { | ||
validateFormat = function validateFormat(format) { | ||
if (format === undefined) { | ||
throw new Error('invariant requires an error message argument'); | ||
} | ||
}; | ||
} | ||
/** | ||
* RDFa Properties | ||
*/ | ||
about: 0, | ||
datatype: 0, | ||
inlist: 0, | ||
prefix: 0, | ||
// property is also supported for OpenGraph in meta tags. | ||
property: 0, | ||
resource: 0, | ||
'typeof': 0, | ||
vocab: 0, | ||
function invariant(condition, format, a, b, c, d, e, f) { | ||
validateFormat(format); | ||
/** | ||
* Non-standard Properties | ||
*/ | ||
// autoCapitalize and autoCorrect are supported in Mobile Safari for | ||
// keyboard hints. | ||
autoCapitalize: 0, | ||
autoCorrect: 0, | ||
// autoSave allows WebKit/Blink to persist values of input fields on page reloads | ||
autoSave: 0, | ||
// color is for Safari mask-icon link | ||
color: 0, | ||
// itemProp, itemScope, itemType are for | ||
// Microdata support. See http://schema.org/docs/gs.html | ||
itemProp: 0, | ||
itemScope: HAS_BOOLEAN_VALUE, | ||
itemType: 0, | ||
// itemID and itemRef are for Microdata support as well but | ||
// only specified in the WHATWG spec document. See | ||
// https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api | ||
itemID: 0, | ||
itemRef: 0, | ||
// results show looking glass icon and recent searches on input | ||
// search fields in WebKit/Blink | ||
results: 0, | ||
// IE-only attribute that specifies security restrictions on an iframe | ||
// as an alternative to the sandbox attribute on IE<10 | ||
security: 0, | ||
// IE-only attribute that controls focus behavior | ||
unselectable: 0 | ||
}, | ||
DOMAttributeNames: { | ||
acceptCharset: 'accept-charset', | ||
className: 'class', | ||
htmlFor: 'for', | ||
httpEquiv: 'http-equiv' | ||
}, | ||
DOMPropertyNames: {}, | ||
DOMMutationMethods: { | ||
value: function (node, value) { | ||
if (value == null) { | ||
return node.removeAttribute('value'); | ||
} | ||
if (!condition) { | ||
var error; | ||
if (format === undefined) { | ||
error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); | ||
} else { | ||
var args = [a, b, c, d, e, f]; | ||
var argIndex = 0; | ||
error = new Error(format.replace(/%s/g, function () { | ||
return args[argIndex++]; | ||
})); | ||
error.name = 'Invariant Violation'; | ||
} | ||
// Number inputs get special treatment due to some edge cases in | ||
// Chrome. Let everything else assign the value attribute as normal. | ||
// https://github.com/facebook/react/issues/7253#issuecomment-236074326 | ||
if (node.type !== 'number' || node.hasAttribute('value') === false) { | ||
node.setAttribute('value', '' + value); | ||
} else if (node.validity && !node.validity.badInput && node.ownerDocument.activeElement !== node) { | ||
// Don't assign an attribute if validation reports bad | ||
// input. Chrome will clear the value. Additionally, don't | ||
// operate on inputs that have focus, otherwise Chrome might | ||
// strip off trailing decimal places and cause the user's | ||
// cursor position to jump to the beginning of the input. | ||
// | ||
// In ReactDOMInput, we have an onBlur event that will trigger | ||
// this function again when focus is lost. | ||
node.setAttribute('value', '' + value); | ||
} | ||
} | ||
error.framesToPop = 1; // we don't care about invariant's own frame | ||
throw error; | ||
} | ||
}; | ||
} | ||
module.exports = HTMLDOMPropertyConfig; | ||
module.exports = invariant; | ||
@@ -1596,110 +1366,340 @@ /***/ }), | ||
"use strict"; | ||
/** | ||
* Copyright (c) 2013-present, Facebook, Inc. | ||
* All rights reserved. | ||
* Module dependencies. | ||
*/ | ||
var domparser = __webpack_require__(12); | ||
var utilities = __webpack_require__(13); | ||
var formatDOM = utilities.formatDOM; | ||
/** | ||
* Constants. | ||
*/ | ||
var DIRECTIVE_REGEX = /<(![a-zA-Z\s]+)>/; // e.g., <!doctype html> | ||
/** | ||
* Parses HTML and reformats DOM nodes output. | ||
* | ||
* 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. | ||
* | ||
* | ||
* @param {String} html - The HTML string. | ||
* @return {Array} - The formatted DOM nodes. | ||
*/ | ||
module.exports = function parseDOM(html) { | ||
if (typeof html !== 'string') { | ||
throw new TypeError('First argument must be a string.'); | ||
} | ||
if (!html) return []; | ||
// directive found | ||
var match = html.match(DIRECTIVE_REGEX); | ||
var directive; | ||
if (match && match[1]) { | ||
directive = match[1]; | ||
} | ||
return formatDOM(domparser(html), null, directive); | ||
}; | ||
/***/ }), | ||
/* 12 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
/** | ||
* WARNING: DO NOT manually require this module. | ||
* This is a replacement for `invariant(...)` used by the error code system | ||
* and will _only_ be required by the corresponding babel pass. | ||
* It always throws. | ||
* Constants. | ||
*/ | ||
var HTML_TAG_NAME = 'html'; | ||
var BODY_TAG_NAME = 'body'; | ||
var HEAD_TAG_NAME = 'head'; | ||
var FIRST_TAG_REGEX = /<([a-zA-Z]+[0-9]?)/; // e.g., <h1> | ||
var HEAD_REGEX = /<head[\s\S]*>[\s\S]*<\/head>/i; | ||
var BODY_REGEX = /<body[\s\S]*>[\s\S]*<\/body>/i; | ||
function reactProdInvariant(code) { | ||
var argCount = arguments.length - 1; | ||
/** | ||
* DOMParser (performance: slow). | ||
* | ||
* https://developer.mozilla.org/docs/Web/API/DOMParser#Parsing_an_SVG_or_HTML_document | ||
*/ | ||
var parseFromString; | ||
if (typeof window.DOMParser === 'function') { | ||
var domParser = new window.DOMParser(); | ||
var MIME_TYPE = 'text/' + HTML_TAG_NAME; | ||
var message = 'Minified React error #' + code + '; visit ' + 'http://facebook.github.io/react/docs/error-decoder.html?invariant=' + code; | ||
/** | ||
* Creates an HTML document using `DOMParser.parseFromString`. | ||
* | ||
* @param {String} html - The HTML string. | ||
* @param {String} [tagName] - The element to render the HTML. | ||
* @return {HTMLDocument} | ||
*/ | ||
parseFromString = function domStringParser(html, tagName) { | ||
if (tagName) { | ||
html = ['<', tagName, '>', html, '</', tagName, '>'].join(''); | ||
} | ||
return domParser.parseFromString(html, MIME_TYPE); | ||
}; | ||
} | ||
for (var argIdx = 0; argIdx < argCount; argIdx++) { | ||
message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]); | ||
} | ||
/** | ||
* DOMImplementation (performance: fair). | ||
* | ||
* https://developer.mozilla.org/docs/Web/API/DOMImplementation/createHTMLDocument | ||
*/ | ||
var parseFromDocument; | ||
if (typeof document.implementation === 'object') { | ||
// title parameter is required in IE | ||
var doc = document.implementation.createHTMLDocument('title'); | ||
// remove the title | ||
doc.documentElement.innerHTML = ''; | ||
message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.'; | ||
/** | ||
* Use HTML document created by `document.implementation.createHTMLDocument`. | ||
* | ||
* @param {String} html - The HTML string. | ||
* @param {String} [tagName] - The element to render the HTML. | ||
* @return {HTMLDocument} | ||
*/ | ||
parseFromDocument = function createHTMLDocument(html, tagName) { | ||
if (tagName) { | ||
doc.documentElement.getElementsByTagName(tagName)[0].innerHTML = html; | ||
} else { | ||
doc.documentElement.innerHTML = html; | ||
} | ||
return doc; | ||
}; | ||
} | ||
var error = new Error(message); | ||
error.name = 'Invariant Violation'; | ||
error.framesToPop = 1; // we don't care about reactProdInvariant's own frame | ||
/** | ||
* Template (performance: fast). | ||
* | ||
* https://developer.mozilla.org/docs/Web/HTML/Element/template | ||
*/ | ||
var parseFromTemplate; | ||
var template = document.createElement('template'); | ||
if (template.content) { | ||
throw error; | ||
/** | ||
* Uses a template element (content fragment) to parse HTML. | ||
* | ||
* @param {String} html - The HTML string. | ||
* @return {NodeList} | ||
*/ | ||
parseFromTemplate = function templateParser(html) { | ||
template.innerHTML = html; | ||
return template.content.childNodes; | ||
}; | ||
} | ||
module.exports = reactProdInvariant; | ||
/** Fallback document parser. */ | ||
var parseWithFallback = parseFromDocument || parseFromString; | ||
/** | ||
* Parses HTML string to DOM nodes. | ||
* | ||
* @param {String} html - The HTML string. | ||
* @param {String} [tagName] - The tag name. | ||
* @return {NodeList|Array} | ||
*/ | ||
module.exports = function domparser(html) { | ||
// try to match first tag | ||
var tagName; | ||
var match = html.match(FIRST_TAG_REGEX); | ||
if (match && match[1]) { | ||
tagName = match[1]; | ||
} | ||
var doc; | ||
var element; | ||
var elements; | ||
switch (tagName) { | ||
case HTML_TAG_NAME: | ||
if (parseFromString) { | ||
doc = parseFromString(html); | ||
// strip elements if not found | ||
if (!HEAD_REGEX.test(html)) { | ||
element = doc.getElementsByTagName(HEAD_TAG_NAME)[0]; | ||
element.parentNode.removeChild(element); | ||
} | ||
if (!BODY_REGEX.test(html)) { | ||
element = doc.getElementsByTagName(BODY_TAG_NAME)[0]; | ||
element.parentNode.removeChild(element); | ||
} | ||
return doc.getElementsByTagName(HTML_TAG_NAME); | ||
} | ||
break; | ||
case HEAD_TAG_NAME: | ||
if (parseWithFallback) { | ||
elements = parseWithFallback(html).getElementsByTagName(HEAD_TAG_NAME); | ||
// account for possibility of sibling | ||
if (BODY_REGEX.test(html)) { | ||
return elements[0].parentNode.childNodes; | ||
} | ||
return elements; | ||
} | ||
break; | ||
case BODY_TAG_NAME: | ||
if (parseWithFallback) { | ||
elements = parseWithFallback(html).getElementsByTagName(BODY_TAG_NAME); | ||
// account for possibility of sibling | ||
if (HEAD_REGEX.test(html)) { | ||
return elements[0].parentNode.childNodes; | ||
} | ||
return elements; | ||
} | ||
break; | ||
// low-level tag or text | ||
default: | ||
if (parseFromTemplate) return parseFromTemplate(html); | ||
if (parseWithFallback) { | ||
return parseWithFallback(html, BODY_TAG_NAME).getElementsByTagName(BODY_TAG_NAME)[0].childNodes; | ||
} | ||
break; | ||
} | ||
return []; | ||
}; | ||
/***/ }), | ||
/* 12 */ | ||
/* 13 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
/** | ||
* Copyright (c) 2013-present, Facebook, Inc. | ||
* All rights reserved. | ||
* Format DOM attributes to an associative array. | ||
* | ||
* 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. | ||
* | ||
* @param {NamedNodeMap} - The list of attributes. | ||
* @return {Object} - The object of attributes. | ||
*/ | ||
function formatAttributes(attributes) { | ||
var result = {}; | ||
var attribute; | ||
// NamedNodeMap is array-like | ||
for (var i = 0, len = attributes.length; i < len; i++) { | ||
attribute = attributes[i]; | ||
result[attribute.name] = attribute.value; | ||
} | ||
return result; | ||
} | ||
/** | ||
* Use invariant() to assert state which your program assumes to be true. | ||
* Format the browser DOM nodes to mimic the output of `htmlparser2.parseDOM()`. | ||
* | ||
* Provide sprintf-style format (only %s is supported) and arguments | ||
* to provide information about what broke and what you were | ||
* expecting. | ||
* | ||
* The invariant message will be stripped in production, but the invariant | ||
* will remain to ensure logic does not differ in production. | ||
* @param {NodeList} nodes - The DOM nodes. | ||
* @param {Object} [parentObj] - The formatted parent node. | ||
* @param {String} [directive] - The directive. | ||
* @return {Object} - The formatted DOM object. | ||
*/ | ||
function formatDOM(nodes, parentObj, directive) { | ||
parentObj = parentObj || null; | ||
var validateFormat = function validateFormat(format) {}; | ||
var result = []; | ||
var node; | ||
var prevNode; | ||
var nodeObj; | ||
if (true) { | ||
validateFormat = function validateFormat(format) { | ||
if (format === undefined) { | ||
throw new Error('invariant requires an error message argument'); | ||
// NodeList is array-like | ||
for (var i = 0, len = nodes.length; i < len; i++) { | ||
node = nodes[i]; | ||
// reset | ||
nodeObj = { | ||
next: null, | ||
prev: result[i - 1] || null, | ||
parent: parentObj | ||
}; | ||
// set the next node for the previous node (if applicable) | ||
prevNode = result[i - 1]; | ||
if (prevNode) { | ||
prevNode.next = nodeObj; | ||
} | ||
// set the node name if it's not "#text" or "#comment" | ||
// e.g., "div" | ||
if (node.nodeName.indexOf('#') !== 0) { | ||
nodeObj.name = node.nodeName.toLowerCase(); | ||
// also, nodes of type "tag" have "attribs" | ||
nodeObj.attribs = {}; // default | ||
if (node.attributes && node.attributes.length) { | ||
nodeObj.attribs = formatAttributes(node.attributes); | ||
} | ||
} | ||
// set the node type | ||
// e.g., "tag" | ||
switch (node.nodeType) { | ||
// 1 = element | ||
case 1: | ||
if (nodeObj.name === 'script' || nodeObj.name === 'style') { | ||
nodeObj.type = nodeObj.name; | ||
} else { | ||
nodeObj.type = 'tag'; | ||
} | ||
// recursively format the children | ||
nodeObj.children = formatDOM(node.childNodes, nodeObj); | ||
break; | ||
// 2 = attribute | ||
// 3 = text | ||
case 3: | ||
nodeObj.type = 'text'; | ||
nodeObj.data = node.nodeValue; | ||
break; | ||
// 8 = comment | ||
case 8: | ||
nodeObj.type = 'comment'; | ||
nodeObj.data = node.nodeValue; | ||
break; | ||
default: | ||
break; | ||
} | ||
result.push(nodeObj); | ||
} | ||
}; | ||
} | ||
function invariant(condition, format, a, b, c, d, e, f) { | ||
validateFormat(format); | ||
if (directive) { | ||
result.unshift({ | ||
name: directive.substring(0, directive.indexOf(' ')).toLowerCase(), | ||
data: directive, | ||
type: 'directive', | ||
next: result[0] ? result[0] : null, | ||
prev: null, | ||
parent: parentObj | ||
}); | ||
if (!condition) { | ||
var error; | ||
if (format === undefined) { | ||
error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); | ||
} else { | ||
var args = [a, b, c, d, e, f]; | ||
var argIndex = 0; | ||
error = new Error(format.replace(/%s/g, function () { | ||
return args[argIndex++]; | ||
})); | ||
error.name = 'Invariant Violation'; | ||
if (result[1]) { | ||
result[1].prev = result[0]; | ||
} | ||
} | ||
error.framesToPop = 1; // we don't care about invariant's own frame | ||
throw error; | ||
} | ||
return result; | ||
} | ||
module.exports = invariant; | ||
/** | ||
* Export utilities. | ||
*/ | ||
module.exports = { | ||
formatAttributes: formatAttributes, | ||
formatDOM: formatDOM | ||
}; | ||
/***/ }), | ||
/* 13 */ | ||
/***/ (function(module, exports) { | ||
module.exports = __WEBPACK_EXTERNAL_MODULE_13__; | ||
/***/ }) | ||
/******/ ]); | ||
}); |
@@ -1,1 +0,1 @@ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports.HTMLReactParser=t(require("react")):e.HTMLReactParser=t(e.React)}(this,function(e){return function(e){function t(n){if(r[n])return r[n].exports;var i=r[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var r={};return t.m=e,t.c=r,t.i=function(e){return e},t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=3)}([function(e,t,r){"use strict";function n(e){if("string"!=typeof e)throw new TypeError("First argument must be a string");if(e.indexOf("-")>0){for(var t=e.toLowerCase().split("-"),r=1,n=t.length;r<n;r++)t[r]=t[r].charAt(0).toUpperCase()+t[r].slice(1);return t.join("")}return e}function i(e,t){if("object"!=typeof e||!e)throw new TypeError("First argument must be an object");var r,n,i="function"==typeof t,o={},a={};for(r in e)n=e[r],i&&(o=t(r,n))&&2===o.length?a[o[0]]=o[1]:"string"==typeof n&&(a[n]=r);return a}e.exports={camelCase:n,invertObject:i}},function(e,t,r){"use strict";function n(e,t){t=t||{};for(var r,a,s,l,c=[],u="function"==typeof t.replace,p=0,d=e.length;p<d;p++)if(r=e[p],u&&(a=t.replace(r),i.isValidElement(a)))d>1&&(a=i.cloneElement(a,{key:p})),c.push(a);else if("text"!==r.type){if(s=o(r.attribs),l=null,"script"===r.type||"style"===r.type)r.children[0]&&(s.dangerouslySetInnerHTML={__html:r.children[0].data});else{if("tag"!==r.type)continue;"textarea"===r.name&&r.children[0]?s.defaultValue=r.children[0].data:r.children&&r.children.length&&(l=n(r.children,t))}d>1&&(s.key=p),c.push(i.createElement(r.name,s,l))}else c.push(r.data);return 1===c.length?c[0]:c}var i=r(13),o=r(4);e.exports=n},function(e,t,r){"use strict";var n=r(6),i=r(7),o=i.formatDOM,a=/<(![a-zA-Z\s]+)>/;e.exports=function(e){if("string"!=typeof e)throw new TypeError("First argument must be a string.");if(!e)return[];var t,r=e.match(a);return r&&r[1]&&(t=r[1]),o(n(e),null,t)}},function(e,t,r){"use strict";function n(e,t){if("string"!=typeof e)throw new TypeError("First argument must be a string");return i(o(e,a),t)}var i=r(1),o=r(2),a={decodeEntities:!0};e.exports=n},function(e,t,r){"use strict";function n(e){e=e||{};var t,r,n,o={};for(t in e)r=e[t],l(t)?o[t]=r:(n=s.html[t.toLowerCase()],n?o[n]=r:(n=s.svg[t])&&(o[n]=r));return e.style&&(o.style=i(e.style)),o}function i(e){if("string"!=typeof e)throw new Error("`cssToJs`: first argument must be a string. ");for(var t,r,n,i={},a=e.split(";"),s=0,l=a.length;s<l;s++)if(t=a[s].trim().split(":"),2===t.length&&(t[0]=t[0].trim(),t[1]=t[1].trim(),t[0]&&t[1]))for(r=0,n=t.length;r<n;r++)i[o.camelCase(t[0])]=t[1];return i}var o=r(0),a=r(5),s=a.config,l=a.HTMLDOMPropertyConfig.isCustomAttribute;e.exports=n},function(e,t,r){"use strict";var n,i=r(0),o=r(9),a=r(10),s={html:{},svg:{}};s.html=i.invertObject(o.DOMAttributeNames);for(n in o.Properties)s.html[n.toLowerCase()]=n;s.svg=i.invertObject(a.DOMAttributeNames);for(n in a.Properties)s.html[n]=n;e.exports={config:s,HTMLDOMPropertyConfig:o,SVGDOMPropertyConfig:a}},function(e,t,r){"use strict";var n,i=/<([a-zA-Z]+[0-9]?)/,o=/<head[\s\S]*>[\s\S]*<\/head>/i,a=/<body[\s\S]*>[\s\S]*<\/body>/i;if("function"==typeof window.DOMParser){var s=new window.DOMParser;n=function(e,t){return t&&(e=["<",t,">",e,"</",t,">"].join("")),s.parseFromString(e,"text/html")}}var l;if("object"==typeof document.implementation){var c=document.implementation.createHTMLDocument();l=function(e,t){return t?c.documentElement.getElementsByTagName(t)[0].innerHTML=e:c.documentElement.innerHTML=e,c}}var u,p=document.createElement("template");p.content&&(u=function(e){return p.innerHTML=e,p.content.childNodes});var d=l||n;e.exports=function(e){var t,r=e.match(i);r&&r[1]&&(t=r[1]);var s,l,c;switch(t){case"html":if(n)return s=n(e),o.test(e)||(l=s.getElementsByTagName("head")[0],l.parentNode.removeChild(l)),a.test(e)||(l=s.getElementsByTagName("body")[0],l.parentNode.removeChild(l)),s.getElementsByTagName("html");break;case"head":if(d)return c=d(e).getElementsByTagName("head"),a.test(e)?c[0].parentNode.childNodes:c;break;case"body":if(d)return c=d(e).getElementsByTagName("body"),o.test(e)?c[0].parentNode.childNodes:c;break;default:if(u)return u(e);if(d)return d(e,"body").getElementsByTagName("body")[0].childNodes}return[]}},function(e,t,r){"use strict";function n(e){for(var t,r={},n=0,i=e.length;n<i;n++)t=e[n],r[t.name]=t.value;return r}function i(e,t,r){t=t||null;for(var o,a,s,l=[],c=0,u=e.length;c<u;c++){switch(o=e[c],s={next:null,prev:l[c-1]||null,parent:t},a=l[c-1],a&&(a.next=s),0!==o.nodeName.indexOf("#")&&(s.name=o.nodeName.toLowerCase(),s.attribs={},o.attributes&&o.attributes.length&&(s.attribs=n(o.attributes))),o.nodeType){case 1:"script"===s.name||"style"===s.name?s.type=s.name:s.type="tag",s.children=i(o.childNodes,s);break;case 3:s.type="text",s.data=o.nodeValue;break;case 8:s.type="comment",s.data=o.nodeValue}l.push(s)}return r&&(l.unshift({name:r.substring(0,r.indexOf(" ")).toLowerCase(),data:r,type:"directive",next:l[0]?l[0]:null,prev:null,parent:t}),l[1]&&(l[1].prev=l[0])),l}e.exports={formatAttributes:n,formatDOM:i}},function(e,t,r){"use strict";function n(e,t){return(e&t)===t}var i=r(11),o=(r(12),{MUST_USE_PROPERTY:1,HAS_BOOLEAN_VALUE:4,HAS_NUMERIC_VALUE:8,HAS_POSITIVE_NUMERIC_VALUE:24,HAS_OVERLOADED_BOOLEAN_VALUE:32,injectDOMPropertyConfig:function(e){var t=o,r=e.Properties||{},a=e.DOMAttributeNamespaces||{},l=e.DOMAttributeNames||{},c=e.DOMPropertyNames||{},u=e.DOMMutationMethods||{};e.isCustomAttribute&&s._isCustomAttributeFunctions.push(e.isCustomAttribute);for(var p in r){s.properties.hasOwnProperty(p)&&i("48",p);var d=p.toLowerCase(),m=r[p],f={attributeName:d,attributeNamespace:null,propertyName:p,mutationMethod:null,mustUseProperty:n(m,t.MUST_USE_PROPERTY),hasBooleanValue:n(m,t.HAS_BOOLEAN_VALUE),hasNumericValue:n(m,t.HAS_NUMERIC_VALUE),hasPositiveNumericValue:n(m,t.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:n(m,t.HAS_OVERLOADED_BOOLEAN_VALUE)};if(f.hasBooleanValue+f.hasNumericValue+f.hasOverloadedBooleanValue<=1||i("50",p),l.hasOwnProperty(p)){var h=l[p];f.attributeName=h}a.hasOwnProperty(p)&&(f.attributeNamespace=a[p]),c.hasOwnProperty(p)&&(f.propertyName=c[p]),u.hasOwnProperty(p)&&(f.mutationMethod=u[p]),s.properties[p]=f}}}),a=":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",s={ID_ATTRIBUTE_NAME:"data-reactid",ROOT_ATTRIBUTE_NAME:"data-reactroot",ATTRIBUTE_NAME_START_CHAR:a,ATTRIBUTE_NAME_CHAR:a+"\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",properties:{},getPossibleStandardName:null,_isCustomAttributeFunctions:[],isCustomAttribute:function(e){for(var t=0;t<s._isCustomAttributeFunctions.length;t++){if((0,s._isCustomAttributeFunctions[t])(e))return!0}return!1},injection:o};e.exports=s},function(e,t,r){"use strict";var n=r(8),i=n.injection.MUST_USE_PROPERTY,o=n.injection.HAS_BOOLEAN_VALUE,a=n.injection.HAS_NUMERIC_VALUE,s=n.injection.HAS_POSITIVE_NUMERIC_VALUE,l=n.injection.HAS_OVERLOADED_BOOLEAN_VALUE,c={isCustomAttribute:RegExp.prototype.test.bind(new RegExp("^(data|aria)-["+n.ATTRIBUTE_NAME_CHAR+"]*$")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:o,allowTransparency:0,alt:0,as:0,async:o,autoComplete:0,autoPlay:o,capture:o,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:i|o,cite:0,classID:0,className:0,cols:s,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:o,coords:0,crossOrigin:0,data:0,dateTime:0,default:o,defer:o,dir:0,disabled:o,download:l,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:o,formTarget:0,frameBorder:0,headers:0,height:0,hidden:o,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:o,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:i|o,muted:i|o,name:0,nonce:0,noValidate:o,open:o,optimum:0,pattern:0,placeholder:0,playsInline:o,poster:0,preload:0,profile:0,radioGroup:0,readOnly:o,referrerPolicy:0,rel:0,required:o,reversed:o,role:0,rows:s,rowSpan:a,sandbox:0,scope:0,scoped:o,scrolling:0,seamless:o,selected:i|o,shape:0,size:s,sizes:0,span:s,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:a,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,typeof:0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:o,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{},DOMMutationMethods:{value:function(e,t){if(null==t)return e.removeAttribute("value");"number"!==e.type||!1===e.hasAttribute("value")?e.setAttribute("value",""+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute("value",""+t)}}};e.exports=c},function(e,t,r){"use strict";var n={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"},i={accentHeight:"accent-height",accumulate:0,additive:0,alignmentBaseline:"alignment-baseline",allowReorder:"allowReorder",alphabetic:0,amplitude:0,arabicForm:"arabic-form",ascent:0,attributeName:"attributeName",attributeType:"attributeType",autoReverse:"autoReverse",azimuth:0,baseFrequency:"baseFrequency",baseProfile:"baseProfile",baselineShift:"baseline-shift",bbox:0,begin:0,bias:0,by:0,calcMode:"calcMode",capHeight:"cap-height",clip:0,clipPath:"clip-path",clipRule:"clip-rule",clipPathUnits:"clipPathUnits",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",contentScriptType:"contentScriptType",contentStyleType:"contentStyleType",cursor:0,cx:0,cy:0,d:0,decelerate:0,descent:0,diffuseConstant:"diffuseConstant",direction:0,display:0,divisor:0,dominantBaseline:"dominant-baseline",dur:0,dx:0,dy:0,edgeMode:"edgeMode",elevation:0,enableBackground:"enable-background",end:0,exponent:0,externalResourcesRequired:"externalResourcesRequired",fill:0,fillOpacity:"fill-opacity",fillRule:"fill-rule",filter:0,filterRes:"filterRes",filterUnits:"filterUnits",floodColor:"flood-color",floodOpacity:"flood-opacity",focusable:0,fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",format:0,from:0,fx:0,fy:0,g1:0,g2:0,glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",glyphRef:"glyphRef",gradientTransform:"gradientTransform",gradientUnits:"gradientUnits",hanging:0,horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",ideographic:0,imageRendering:"image-rendering",in:0,in2:0,intercept:0,k:0,k1:0,k2:0,k3:0,k4:0,kernelMatrix:"kernelMatrix",kernelUnitLength:"kernelUnitLength",kerning:0,keyPoints:"keyPoints",keySplines:"keySplines",keyTimes:"keyTimes",lengthAdjust:"lengthAdjust",letterSpacing:"letter-spacing",lightingColor:"lighting-color",limitingConeAngle:"limitingConeAngle",local:0,markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",markerHeight:"markerHeight",markerUnits:"markerUnits",markerWidth:"markerWidth",mask:0,maskContentUnits:"maskContentUnits",maskUnits:"maskUnits",mathematical:0,mode:0,numOctaves:"numOctaves",offset:0,opacity:0,operator:0,order:0,orient:0,orientation:0,origin:0,overflow:0,overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pathLength:"pathLength",patternContentUnits:"patternContentUnits",patternTransform:"patternTransform",patternUnits:"patternUnits",pointerEvents:"pointer-events",points:0,pointsAtX:"pointsAtX",pointsAtY:"pointsAtY",pointsAtZ:"pointsAtZ",preserveAlpha:"preserveAlpha",preserveAspectRatio:"preserveAspectRatio",primitiveUnits:"primitiveUnits",r:0,radius:0,refX:"refX",refY:"refY",renderingIntent:"rendering-intent",repeatCount:"repeatCount",repeatDur:"repeatDur",requiredExtensions:"requiredExtensions",requiredFeatures:"requiredFeatures",restart:0,result:0,rotate:0,rx:0,ry:0,scale:0,seed:0,shapeRendering:"shape-rendering",slope:0,spacing:0,specularConstant:"specularConstant",specularExponent:"specularExponent",speed:0,spreadMethod:"spreadMethod",startOffset:"startOffset",stdDeviation:"stdDeviation",stemh:0,stemv:0,stitchTiles:"stitchTiles",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",string:0,stroke:0,strokeDasharray:"stroke-dasharray",strokeDashoffset:"stroke-dashoffset",strokeLinecap:"stroke-linecap",strokeLinejoin:"stroke-linejoin",strokeMiterlimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",surfaceScale:"surfaceScale",systemLanguage:"systemLanguage",tableValues:"tableValues",targetX:"targetX",targetY:"targetY",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",textLength:"textLength",to:0,transform:0,u1:0,u2:0,underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicode:0,unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",values:0,vectorEffect:"vector-effect",version:0,vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",viewBox:"viewBox",viewTarget:"viewTarget",visibility:0,widths:0,wordSpacing:"word-spacing",writingMode:"writing-mode",x:0,xHeight:"x-height",x1:0,x2:0,xChannelSelector:"xChannelSelector",xlinkActuate:"xlink:actuate",xlinkArcrole:"xlink:arcrole",xlinkHref:"xlink:href",xlinkRole:"xlink:role",xlinkShow:"xlink:show",xlinkTitle:"xlink:title",xlinkType:"xlink:type",xmlBase:"xml:base",xmlns:0,xmlnsXlink:"xmlns:xlink",xmlLang:"xml:lang",xmlSpace:"xml:space",y:0,y1:0,y2:0,yChannelSelector:"yChannelSelector",z:0,zoomAndPan:"zoomAndPan"},o={Properties:{},DOMAttributeNamespaces:{xlinkActuate:n.xlink,xlinkArcrole:n.xlink,xlinkHref:n.xlink,xlinkRole:n.xlink,xlinkShow:n.xlink,xlinkTitle:n.xlink,xlinkType:n.xlink,xmlBase:n.xml,xmlLang:n.xml,xmlSpace:n.xml},DOMAttributeNames:{}};Object.keys(i).forEach(function(e){o.Properties[e]=0,i[e]&&(o.DOMAttributeNames[e]=i[e])}),e.exports=o},function(e,t,r){"use strict";function n(e){for(var t=arguments.length-1,r="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,n=0;n<t;n++)r+="&args[]="+encodeURIComponent(arguments[n+1]);r+=" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";var i=new Error(r);throw i.name="Invariant Violation",i.framesToPop=1,i}e.exports=n},function(e,t,r){"use strict";function n(e,t,r,n,o,a,s,l){if(i(t),!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[r,n,o,a,s,l],p=0;c=new Error(t.replace(/%s/g,function(){return u[p++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}}var i=function(e){};e.exports=n},function(t,r){t.exports=e}])}); | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports.HTMLReactParser=t(require("react")):e.HTMLReactParser=t(e.React)}(this,function(e){return function(e){function t(n){if(r[n])return r[n].exports;var i=r[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var r={};return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=1)}([function(e,t,r){"use strict";function n(e){if("string"!=typeof e)throw new TypeError("First argument must be a string");if(e.indexOf("-")>0){for(var t=e.toLowerCase().split("-"),r=1,n=t.length;r<n;r++)t[r]=t[r].charAt(0).toUpperCase()+t[r].slice(1);return t.join("")}return e}function i(e,t){if("object"!=typeof e||!e)throw new TypeError("First argument must be an object");var r,n,i="function"==typeof t,o={},a={};for(r in e)n=e[r],i&&(o=t(r,n))&&2===o.length?a[o[0]]=o[1]:"string"==typeof n&&(a[n]=r);return a}e.exports={camelCase:n,invertObject:i}},function(e,t,r){"use strict";function n(e,t){if("string"!=typeof e)throw new TypeError("First argument must be a string");return i(o(e,a),t)}var i=r(2),o=r(11),a={decodeEntities:!0};e.exports=n},function(e,t,r){"use strict";function n(e,t){t=t||{};for(var r,a,s,l,c=[],u="function"==typeof t.replace,p=0,d=e.length;p<d;p++)if(r=e[p],u&&(a=t.replace(r),i.isValidElement(a)))d>1&&(a=i.cloneElement(a,{key:p})),c.push(a);else if("text"!==r.type){if(s=o(r.attribs),l=null,"script"===r.type||"style"===r.type)r.children[0]&&(s.dangerouslySetInnerHTML={__html:r.children[0].data});else{if("tag"!==r.type)continue;"textarea"===r.name&&r.children[0]?s.defaultValue=r.children[0].data:r.children&&r.children.length&&(l=n(r.children,t))}d>1&&(s.key=p),c.push(i.createElement(r.name,s,l))}else c.push(r.data);return 1===c.length?c[0]:c}var i=r(3),o=r(4);e.exports=n},function(t,r){t.exports=e},function(e,t,r){"use strict";function n(e){e=e||{};var t,r,n,o={};for(t in e)r=e[t],l(t)?o[t]=r:(n=s.html[t.toLowerCase()],n?o[n]=r:(n=s.svg[t])&&(o[n]=r));return e.style&&(o.style=i(e.style)),o}function i(e){if("string"!=typeof e)throw new Error("`cssToJs`: first argument must be a string. ");for(var t,r,n,i={},a=e.split(";"),s=0,l=a.length;s<l;s++)if(t=a[s].trim().split(":"),2===t.length&&(t[0]=t[0].trim(),t[1]=t[1].trim(),t[0]&&t[1]))for(r=0,n=t.length;r<n;r++)i[o.camelCase(t[0])]=t[1];return i}var o=r(0),a=r(5),s=a.config,l=a.HTMLDOMPropertyConfig.isCustomAttribute;e.exports=n},function(e,t,r){"use strict";var n,i=r(0),o=r(6),a=r(10),s={html:{},svg:{}};s.html=i.invertObject(o.DOMAttributeNames);for(n in o.Properties)s.html[n.toLowerCase()]=n;s.svg=i.invertObject(a.DOMAttributeNames);for(n in a.Properties)s.html[n]=n;e.exports={config:s,HTMLDOMPropertyConfig:o,SVGDOMPropertyConfig:a}},function(e,t,r){"use strict";var n=r(7),i=n.injection.MUST_USE_PROPERTY,o=n.injection.HAS_BOOLEAN_VALUE,a=n.injection.HAS_NUMERIC_VALUE,s=n.injection.HAS_POSITIVE_NUMERIC_VALUE,l=n.injection.HAS_OVERLOADED_BOOLEAN_VALUE,c={isCustomAttribute:RegExp.prototype.test.bind(new RegExp("^(data|aria)-["+n.ATTRIBUTE_NAME_CHAR+"]*$")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:o,allowTransparency:0,alt:0,as:0,async:o,autoComplete:0,autoPlay:o,capture:o,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:i|o,cite:0,classID:0,className:0,cols:s,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:o,coords:0,crossOrigin:0,data:0,dateTime:0,default:o,defer:o,dir:0,disabled:o,download:l,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:o,formTarget:0,frameBorder:0,headers:0,height:0,hidden:o,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:o,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:i|o,muted:i|o,name:0,nonce:0,noValidate:o,open:o,optimum:0,pattern:0,placeholder:0,playsInline:o,poster:0,preload:0,profile:0,radioGroup:0,readOnly:o,referrerPolicy:0,rel:0,required:o,reversed:o,role:0,rows:s,rowSpan:a,sandbox:0,scope:0,scoped:o,scrolling:0,seamless:o,selected:i|o,shape:0,size:s,sizes:0,span:s,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:a,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,typeof:0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:o,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{},DOMMutationMethods:{value:function(e,t){if(null==t)return e.removeAttribute("value");"number"!==e.type||!1===e.hasAttribute("value")?e.setAttribute("value",""+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute("value",""+t)}}};e.exports=c},function(e,t,r){"use strict";function n(e,t){return(e&t)===t}var i=r(8),o=(r(9),{MUST_USE_PROPERTY:1,HAS_BOOLEAN_VALUE:4,HAS_NUMERIC_VALUE:8,HAS_POSITIVE_NUMERIC_VALUE:24,HAS_OVERLOADED_BOOLEAN_VALUE:32,injectDOMPropertyConfig:function(e){var t=o,r=e.Properties||{},a=e.DOMAttributeNamespaces||{},l=e.DOMAttributeNames||{},c=e.DOMPropertyNames||{},u=e.DOMMutationMethods||{};e.isCustomAttribute&&s._isCustomAttributeFunctions.push(e.isCustomAttribute);for(var p in r){s.properties.hasOwnProperty(p)&&i("48",p);var d=p.toLowerCase(),m=r[p],f={attributeName:d,attributeNamespace:null,propertyName:p,mutationMethod:null,mustUseProperty:n(m,t.MUST_USE_PROPERTY),hasBooleanValue:n(m,t.HAS_BOOLEAN_VALUE),hasNumericValue:n(m,t.HAS_NUMERIC_VALUE),hasPositiveNumericValue:n(m,t.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:n(m,t.HAS_OVERLOADED_BOOLEAN_VALUE)};if(f.hasBooleanValue+f.hasNumericValue+f.hasOverloadedBooleanValue<=1||i("50",p),l.hasOwnProperty(p)){var h=l[p];f.attributeName=h}a.hasOwnProperty(p)&&(f.attributeNamespace=a[p]),c.hasOwnProperty(p)&&(f.propertyName=c[p]),u.hasOwnProperty(p)&&(f.mutationMethod=u[p]),s.properties[p]=f}}}),a=":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",s={ID_ATTRIBUTE_NAME:"data-reactid",ROOT_ATTRIBUTE_NAME:"data-reactroot",ATTRIBUTE_NAME_START_CHAR:a,ATTRIBUTE_NAME_CHAR:a+"\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",properties:{},getPossibleStandardName:null,_isCustomAttributeFunctions:[],isCustomAttribute:function(e){for(var t=0;t<s._isCustomAttributeFunctions.length;t++){if((0,s._isCustomAttributeFunctions[t])(e))return!0}return!1},injection:o};e.exports=s},function(e,t,r){"use strict";function n(e){for(var t=arguments.length-1,r="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,n=0;n<t;n++)r+="&args[]="+encodeURIComponent(arguments[n+1]);r+=" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";var i=new Error(r);throw i.name="Invariant Violation",i.framesToPop=1,i}e.exports=n},function(e,t,r){"use strict";function n(e,t,r,n,o,a,s,l){if(i(t),!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[r,n,o,a,s,l],p=0;c=new Error(t.replace(/%s/g,function(){return u[p++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}}var i=function(e){};e.exports=n},function(e,t,r){"use strict";var n={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"},i={accentHeight:"accent-height",accumulate:0,additive:0,alignmentBaseline:"alignment-baseline",allowReorder:"allowReorder",alphabetic:0,amplitude:0,arabicForm:"arabic-form",ascent:0,attributeName:"attributeName",attributeType:"attributeType",autoReverse:"autoReverse",azimuth:0,baseFrequency:"baseFrequency",baseProfile:"baseProfile",baselineShift:"baseline-shift",bbox:0,begin:0,bias:0,by:0,calcMode:"calcMode",capHeight:"cap-height",clip:0,clipPath:"clip-path",clipRule:"clip-rule",clipPathUnits:"clipPathUnits",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",contentScriptType:"contentScriptType",contentStyleType:"contentStyleType",cursor:0,cx:0,cy:0,d:0,decelerate:0,descent:0,diffuseConstant:"diffuseConstant",direction:0,display:0,divisor:0,dominantBaseline:"dominant-baseline",dur:0,dx:0,dy:0,edgeMode:"edgeMode",elevation:0,enableBackground:"enable-background",end:0,exponent:0,externalResourcesRequired:"externalResourcesRequired",fill:0,fillOpacity:"fill-opacity",fillRule:"fill-rule",filter:0,filterRes:"filterRes",filterUnits:"filterUnits",floodColor:"flood-color",floodOpacity:"flood-opacity",focusable:0,fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",format:0,from:0,fx:0,fy:0,g1:0,g2:0,glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",glyphRef:"glyphRef",gradientTransform:"gradientTransform",gradientUnits:"gradientUnits",hanging:0,horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",ideographic:0,imageRendering:"image-rendering",in:0,in2:0,intercept:0,k:0,k1:0,k2:0,k3:0,k4:0,kernelMatrix:"kernelMatrix",kernelUnitLength:"kernelUnitLength",kerning:0,keyPoints:"keyPoints",keySplines:"keySplines",keyTimes:"keyTimes",lengthAdjust:"lengthAdjust",letterSpacing:"letter-spacing",lightingColor:"lighting-color",limitingConeAngle:"limitingConeAngle",local:0,markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",markerHeight:"markerHeight",markerUnits:"markerUnits",markerWidth:"markerWidth",mask:0,maskContentUnits:"maskContentUnits",maskUnits:"maskUnits",mathematical:0,mode:0,numOctaves:"numOctaves",offset:0,opacity:0,operator:0,order:0,orient:0,orientation:0,origin:0,overflow:0,overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pathLength:"pathLength",patternContentUnits:"patternContentUnits",patternTransform:"patternTransform",patternUnits:"patternUnits",pointerEvents:"pointer-events",points:0,pointsAtX:"pointsAtX",pointsAtY:"pointsAtY",pointsAtZ:"pointsAtZ",preserveAlpha:"preserveAlpha",preserveAspectRatio:"preserveAspectRatio",primitiveUnits:"primitiveUnits",r:0,radius:0,refX:"refX",refY:"refY",renderingIntent:"rendering-intent",repeatCount:"repeatCount",repeatDur:"repeatDur",requiredExtensions:"requiredExtensions",requiredFeatures:"requiredFeatures",restart:0,result:0,rotate:0,rx:0,ry:0,scale:0,seed:0,shapeRendering:"shape-rendering",slope:0,spacing:0,specularConstant:"specularConstant",specularExponent:"specularExponent",speed:0,spreadMethod:"spreadMethod",startOffset:"startOffset",stdDeviation:"stdDeviation",stemh:0,stemv:0,stitchTiles:"stitchTiles",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",string:0,stroke:0,strokeDasharray:"stroke-dasharray",strokeDashoffset:"stroke-dashoffset",strokeLinecap:"stroke-linecap",strokeLinejoin:"stroke-linejoin",strokeMiterlimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",surfaceScale:"surfaceScale",systemLanguage:"systemLanguage",tableValues:"tableValues",targetX:"targetX",targetY:"targetY",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",textLength:"textLength",to:0,transform:0,u1:0,u2:0,underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicode:0,unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",values:0,vectorEffect:"vector-effect",version:0,vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",viewBox:"viewBox",viewTarget:"viewTarget",visibility:0,widths:0,wordSpacing:"word-spacing",writingMode:"writing-mode",x:0,xHeight:"x-height",x1:0,x2:0,xChannelSelector:"xChannelSelector",xlinkActuate:"xlink:actuate",xlinkArcrole:"xlink:arcrole",xlinkHref:"xlink:href",xlinkRole:"xlink:role",xlinkShow:"xlink:show",xlinkTitle:"xlink:title",xlinkType:"xlink:type",xmlBase:"xml:base",xmlns:0,xmlnsXlink:"xmlns:xlink",xmlLang:"xml:lang",xmlSpace:"xml:space",y:0,y1:0,y2:0,yChannelSelector:"yChannelSelector",z:0,zoomAndPan:"zoomAndPan"},o={Properties:{},DOMAttributeNamespaces:{xlinkActuate:n.xlink,xlinkArcrole:n.xlink,xlinkHref:n.xlink,xlinkRole:n.xlink,xlinkShow:n.xlink,xlinkTitle:n.xlink,xlinkType:n.xlink,xmlBase:n.xml,xmlLang:n.xml,xmlSpace:n.xml},DOMAttributeNames:{}};Object.keys(i).forEach(function(e){o.Properties[e]=0,i[e]&&(o.DOMAttributeNames[e]=i[e])}),e.exports=o},function(e,t,r){"use strict";var n=r(12),i=r(13),o=i.formatDOM,a=/<(![a-zA-Z\s]+)>/;e.exports=function(e){if("string"!=typeof e)throw new TypeError("First argument must be a string.");if(!e)return[];var t,r=e.match(a);return r&&r[1]&&(t=r[1]),o(n(e),null,t)}},function(e,t,r){"use strict";var n,i=/<([a-zA-Z]+[0-9]?)/,o=/<head[\s\S]*>[\s\S]*<\/head>/i,a=/<body[\s\S]*>[\s\S]*<\/body>/i;if("function"==typeof window.DOMParser){var s=new window.DOMParser;n=function(e,t){return t&&(e=["<",t,">",e,"</",t,">"].join("")),s.parseFromString(e,"text/html")}}var l;if("object"==typeof document.implementation){var c=document.implementation.createHTMLDocument("title");c.documentElement.innerHTML="",l=function(e,t){return t?c.documentElement.getElementsByTagName(t)[0].innerHTML=e:c.documentElement.innerHTML=e,c}}var u,p=document.createElement("template");p.content&&(u=function(e){return p.innerHTML=e,p.content.childNodes});var d=l||n;e.exports=function(e){var t,r=e.match(i);r&&r[1]&&(t=r[1]);var s,l,c;switch(t){case"html":if(n)return s=n(e),o.test(e)||(l=s.getElementsByTagName("head")[0],l.parentNode.removeChild(l)),a.test(e)||(l=s.getElementsByTagName("body")[0],l.parentNode.removeChild(l)),s.getElementsByTagName("html");break;case"head":if(d)return c=d(e).getElementsByTagName("head"),a.test(e)?c[0].parentNode.childNodes:c;break;case"body":if(d)return c=d(e).getElementsByTagName("body"),o.test(e)?c[0].parentNode.childNodes:c;break;default:if(u)return u(e);if(d)return d(e,"body").getElementsByTagName("body")[0].childNodes}return[]}},function(e,t,r){"use strict";function n(e){for(var t,r={},n=0,i=e.length;n<i;n++)t=e[n],r[t.name]=t.value;return r}function i(e,t,r){t=t||null;for(var o,a,s,l=[],c=0,u=e.length;c<u;c++){switch(o=e[c],s={next:null,prev:l[c-1]||null,parent:t},a=l[c-1],a&&(a.next=s),0!==o.nodeName.indexOf("#")&&(s.name=o.nodeName.toLowerCase(),s.attribs={},o.attributes&&o.attributes.length&&(s.attribs=n(o.attributes))),o.nodeType){case 1:"script"===s.name||"style"===s.name?s.type=s.name:s.type="tag",s.children=i(o.childNodes,s);break;case 3:s.type="text",s.data=o.nodeValue;break;case 8:s.type="comment",s.data=o.nodeValue}l.push(s)}return r&&(l.unshift({name:r.substring(0,r.indexOf(" ")).toLowerCase(),data:r,type:"directive",next:l[0]?l[0]:null,prev:null,parent:t}),l[1]&&(l[1].prev=l[0])),l}e.exports={formatAttributes:n,formatDOM:i}}])}); |
{ | ||
"name": "html-react-parser", | ||
"version": "0.3.4", | ||
"version": "0.3.5", | ||
"description": "An HTML to React parser.", | ||
@@ -32,7 +32,7 @@ "author": "Mark <mark@remarkablemark.org>", | ||
"dependencies": { | ||
"html-dom-parser": "0.1.0" | ||
"html-dom-parser": "0.1.1" | ||
}, | ||
"devDependencies": { | ||
"coveralls": "^2.13.1", | ||
"eslint": "^4.0.0", | ||
"eslint": "^4.1.1", | ||
"istanbul": "^0.4.5", | ||
@@ -42,3 +42,3 @@ "mocha": "^3.4.2", | ||
"react-dom": ">=15.4", | ||
"webpack": "^2.6.1" | ||
"webpack": "^3.0.0" | ||
}, | ||
@@ -45,0 +45,0 @@ "peerDependencies": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
85885
+ Addedhtml-dom-parser@0.1.1(transitive)
- Removedhtml-dom-parser@0.1.0(transitive)
Updatedhtml-dom-parser@0.1.1