UNPKG

83 kBSource Map (JSON)View Raw
1{"version":3,"file":"html-react-parser.min.js","sources":["../node_modules/react-property/lib/HTMLDOMPropertyConfig.js","../node_modules/react-property/lib/SVGDOMPropertyConfig.js","../node_modules/react-property/index.js","../node_modules/react-property/lib/injection.js","../node_modules/inline-style-parser/index.js","../node_modules/style-to-object/index.js","../node_modules/style-to-js/cjs/utilities.js","../lib/utilities.js","../node_modules/style-to-js/cjs/index.js","../lib/attributes-to-props.js","../lib/dom-to-react.js","../node_modules/html-dom-parser/lib/client/utilities.js","../node_modules/html-dom-parser/lib/client/constants.js","../node_modules/domhandler/lib/node.js","../node_modules/html-dom-parser/lib/client/domparser.js","../node_modules/html-dom-parser/lib/client/html-to-dom.js","../index.js"],"sourcesContent":["module.exports = {\n Properties: {\n autoFocus: 4,\n accept: 0,\n acceptCharset: 0,\n accessKey: 0,\n action: 0,\n allowFullScreen: 4,\n allowTransparency: 0,\n alt: 0,\n as: 0,\n async: 4,\n autoComplete: 0,\n autoPlay: 4,\n capture: 4,\n cellPadding: 0,\n cellSpacing: 0,\n charSet: 0,\n challenge: 0,\n checked: 5,\n cite: 0,\n classID: 0,\n className: 0,\n cols: 24,\n colSpan: 0,\n content: 0,\n contentEditable: 0,\n contextMenu: 0,\n controls: 4,\n controlsList: 0,\n coords: 0,\n crossOrigin: 0,\n data: 0,\n dateTime: 0,\n default: 4,\n defer: 4,\n dir: 0,\n disabled: 4,\n download: 32,\n draggable: 0,\n encType: 0,\n form: 0,\n formAction: 0,\n formEncType: 0,\n formMethod: 0,\n formNoValidate: 4,\n formTarget: 0,\n frameBorder: 0,\n headers: 0,\n height: 0,\n hidden: 4,\n high: 0,\n href: 0,\n hrefLang: 0,\n htmlFor: 0,\n httpEquiv: 0,\n icon: 0,\n id: 0,\n inputMode: 0,\n integrity: 0,\n is: 0,\n keyParams: 0,\n keyType: 0,\n kind: 0,\n label: 0,\n lang: 0,\n list: 0,\n loop: 4,\n low: 0,\n manifest: 0,\n marginHeight: 0,\n marginWidth: 0,\n max: 0,\n maxLength: 0,\n media: 0,\n mediaGroup: 0,\n method: 0,\n min: 0,\n minLength: 0,\n multiple: 5,\n muted: 5,\n name: 0,\n nonce: 0,\n noValidate: 4,\n open: 4,\n optimum: 0,\n pattern: 0,\n placeholder: 0,\n playsInline: 4,\n poster: 0,\n preload: 0,\n profile: 0,\n radioGroup: 0,\n readOnly: 4,\n referrerPolicy: 0,\n rel: 0,\n required: 4,\n reversed: 4,\n role: 0,\n rows: 24,\n rowSpan: 8,\n sandbox: 0,\n scope: 0,\n scoped: 4,\n scrolling: 0,\n seamless: 4,\n selected: 5,\n shape: 0,\n size: 24,\n sizes: 0,\n span: 24,\n spellCheck: 0,\n src: 0,\n srcDoc: 0,\n srcLang: 0,\n srcSet: 0,\n start: 8,\n step: 0,\n style: 0,\n summary: 0,\n tabIndex: 0,\n target: 0,\n title: 0,\n type: 0,\n useMap: 0,\n value: 0,\n width: 0,\n wmode: 0,\n wrap: 0,\n about: 0,\n datatype: 0,\n inlist: 0,\n prefix: 0,\n property: 0,\n resource: 0,\n typeof: 0,\n vocab: 0,\n autoCapitalize: 0,\n autoCorrect: 0,\n autoSave: 0,\n color: 0,\n itemProp: 0,\n itemScope: 4,\n itemType: 0,\n itemID: 0,\n itemRef: 0,\n results: 0,\n security: 0,\n unselectable: 0\n },\n DOMAttributeNames: {\n acceptCharset: 'accept-charset',\n className: 'class',\n htmlFor: 'for',\n httpEquiv: 'http-equiv'\n }\n};\n","module.exports = {\n Properties: {\n accentHeight: 0,\n accumulate: 0,\n additive: 0,\n alignmentBaseline: 0,\n allowReorder: 0,\n alphabetic: 0,\n amplitude: 0,\n arabicForm: 0,\n ascent: 0,\n attributeName: 0,\n attributeType: 0,\n autoReverse: 0,\n azimuth: 0,\n baseFrequency: 0,\n baseProfile: 0,\n baselineShift: 0,\n bbox: 0,\n begin: 0,\n bias: 0,\n by: 0,\n calcMode: 0,\n capHeight: 0,\n clip: 0,\n clipPath: 0,\n clipRule: 0,\n clipPathUnits: 0,\n colorInterpolation: 0,\n colorInterpolationFilters: 0,\n colorProfile: 0,\n colorRendering: 0,\n contentScriptType: 0,\n contentStyleType: 0,\n cursor: 0,\n cx: 0,\n cy: 0,\n d: 0,\n decelerate: 0,\n descent: 0,\n diffuseConstant: 0,\n direction: 0,\n display: 0,\n divisor: 0,\n dominantBaseline: 0,\n dur: 0,\n dx: 0,\n dy: 0,\n edgeMode: 0,\n elevation: 0,\n enableBackground: 0,\n end: 0,\n exponent: 0,\n externalResourcesRequired: 0,\n fill: 0,\n fillOpacity: 0,\n fillRule: 0,\n filter: 0,\n filterRes: 0,\n filterUnits: 0,\n floodColor: 0,\n floodOpacity: 0,\n focusable: 0,\n fontFamily: 0,\n fontSize: 0,\n fontSizeAdjust: 0,\n fontStretch: 0,\n fontStyle: 0,\n fontVariant: 0,\n fontWeight: 0,\n format: 0,\n from: 0,\n fx: 0,\n fy: 0,\n g1: 0,\n g2: 0,\n glyphName: 0,\n glyphOrientationHorizontal: 0,\n glyphOrientationVertical: 0,\n glyphRef: 0,\n gradientTransform: 0,\n gradientUnits: 0,\n hanging: 0,\n horizAdvX: 0,\n horizOriginX: 0,\n ideographic: 0,\n imageRendering: 0,\n in: 0,\n in2: 0,\n intercept: 0,\n k: 0,\n k1: 0,\n k2: 0,\n k3: 0,\n k4: 0,\n kernelMatrix: 0,\n kernelUnitLength: 0,\n kerning: 0,\n keyPoints: 0,\n keySplines: 0,\n keyTimes: 0,\n lengthAdjust: 0,\n letterSpacing: 0,\n lightingColor: 0,\n limitingConeAngle: 0,\n local: 0,\n markerEnd: 0,\n markerMid: 0,\n markerStart: 0,\n markerHeight: 0,\n markerUnits: 0,\n markerWidth: 0,\n mask: 0,\n maskContentUnits: 0,\n maskUnits: 0,\n mathematical: 0,\n mode: 0,\n numOctaves: 0,\n offset: 0,\n opacity: 0,\n operator: 0,\n order: 0,\n orient: 0,\n orientation: 0,\n origin: 0,\n overflow: 0,\n overlinePosition: 0,\n overlineThickness: 0,\n paintOrder: 0,\n panose1: 0,\n pathLength: 0,\n patternContentUnits: 0,\n patternTransform: 0,\n patternUnits: 0,\n pointerEvents: 0,\n points: 0,\n pointsAtX: 0,\n pointsAtY: 0,\n pointsAtZ: 0,\n preserveAlpha: 0,\n preserveAspectRatio: 0,\n primitiveUnits: 0,\n r: 0,\n radius: 0,\n refX: 0,\n refY: 0,\n renderingIntent: 0,\n repeatCount: 0,\n repeatDur: 0,\n requiredExtensions: 0,\n requiredFeatures: 0,\n restart: 0,\n result: 0,\n rotate: 0,\n rx: 0,\n ry: 0,\n scale: 0,\n seed: 0,\n shapeRendering: 0,\n slope: 0,\n spacing: 0,\n specularConstant: 0,\n specularExponent: 0,\n speed: 0,\n spreadMethod: 0,\n startOffset: 0,\n stdDeviation: 0,\n stemh: 0,\n stemv: 0,\n stitchTiles: 0,\n stopColor: 0,\n stopOpacity: 0,\n strikethroughPosition: 0,\n strikethroughThickness: 0,\n string: 0,\n stroke: 0,\n strokeDasharray: 0,\n strokeDashoffset: 0,\n strokeLinecap: 0,\n strokeLinejoin: 0,\n strokeMiterlimit: 0,\n strokeOpacity: 0,\n strokeWidth: 0,\n surfaceScale: 0,\n systemLanguage: 0,\n tableValues: 0,\n targetX: 0,\n targetY: 0,\n textAnchor: 0,\n textDecoration: 0,\n textRendering: 0,\n textLength: 0,\n to: 0,\n transform: 0,\n u1: 0,\n u2: 0,\n underlinePosition: 0,\n underlineThickness: 0,\n unicode: 0,\n unicodeBidi: 0,\n unicodeRange: 0,\n unitsPerEm: 0,\n vAlphabetic: 0,\n vHanging: 0,\n vIdeographic: 0,\n vMathematical: 0,\n values: 0,\n vectorEffect: 0,\n version: 0,\n vertAdvY: 0,\n vertOriginX: 0,\n vertOriginY: 0,\n viewBox: 0,\n viewTarget: 0,\n visibility: 0,\n widths: 0,\n wordSpacing: 0,\n writingMode: 0,\n x: 0,\n xHeight: 0,\n x1: 0,\n x2: 0,\n xChannelSelector: 0,\n xlinkActuate: 0,\n xlinkArcrole: 0,\n xlinkHref: 0,\n xlinkRole: 0,\n xlinkShow: 0,\n xlinkTitle: 0,\n xlinkType: 0,\n xmlBase: 0,\n xmlns: 0,\n xmlnsXlink: 0,\n xmlLang: 0,\n xmlSpace: 0,\n y: 0,\n y1: 0,\n y2: 0,\n yChannelSelector: 0,\n z: 0,\n zoomAndPan: 0\n },\n DOMAttributeNames: {\n accentHeight: 'accent-height',\n alignmentBaseline: 'alignment-baseline',\n arabicForm: 'arabic-form',\n baselineShift: 'baseline-shift',\n capHeight: 'cap-height',\n clipPath: 'clip-path',\n clipRule: 'clip-rule',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n colorProfile: 'color-profile',\n colorRendering: 'color-rendering',\n dominantBaseline: 'dominant-baseline',\n enableBackground: 'enable-background',\n fillOpacity: 'fill-opacity',\n fillRule: 'fill-rule',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontSizeAdjust: 'font-size-adjust',\n fontStretch: 'font-stretch',\n fontStyle: 'font-style',\n fontVariant: 'font-variant',\n fontWeight: 'font-weight',\n glyphName: 'glyph-name',\n glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n glyphOrientationVertical: 'glyph-orientation-vertical',\n horizAdvX: 'horiz-adv-x',\n horizOriginX: 'horiz-origin-x',\n imageRendering: 'image-rendering',\n letterSpacing: 'letter-spacing',\n lightingColor: 'lighting-color',\n markerEnd: 'marker-end',\n markerMid: 'marker-mid',\n markerStart: 'marker-start',\n overlinePosition: 'overline-position',\n overlineThickness: 'overline-thickness',\n paintOrder: 'paint-order',\n panose1: 'panose-1',\n pointerEvents: 'pointer-events',\n renderingIntent: 'rendering-intent',\n shapeRendering: 'shape-rendering',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n strikethroughPosition: 'strikethrough-position',\n strikethroughThickness: 'strikethrough-thickness',\n strokeDasharray: 'stroke-dasharray',\n strokeDashoffset: 'stroke-dashoffset',\n strokeLinecap: 'stroke-linecap',\n strokeLinejoin: 'stroke-linejoin',\n strokeMiterlimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n strokeWidth: 'stroke-width',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n textRendering: 'text-rendering',\n underlinePosition: 'underline-position',\n underlineThickness: 'underline-thickness',\n unicodeBidi: 'unicode-bidi',\n unicodeRange: 'unicode-range',\n unitsPerEm: 'units-per-em',\n vAlphabetic: 'v-alphabetic',\n vHanging: 'v-hanging',\n vIdeographic: 'v-ideographic',\n vMathematical: 'v-mathematical',\n vectorEffect: 'vector-effect',\n vertAdvY: 'vert-adv-y',\n vertOriginX: 'vert-origin-x',\n vertOriginY: 'vert-origin-y',\n wordSpacing: 'word-spacing',\n writingMode: 'writing-mode',\n xHeight: 'x-height',\n xlinkActuate: 'xlink:actuate',\n xlinkArcrole: 'xlink:arcrole',\n xlinkHref: 'xlink:href',\n xlinkRole: 'xlink:role',\n xlinkShow: 'xlink:show',\n xlinkTitle: 'xlink:title',\n xlinkType: 'xlink:type',\n xmlBase: 'xml:base',\n xmlnsXlink: 'xmlns:xlink',\n xmlLang: 'xml:lang',\n xmlSpace: 'xml:space'\n }\n};\n","var HTMLDOMPropertyConfig = require('./lib/HTMLDOMPropertyConfig');\nvar SVGDOMPropertyConfig = require('./lib/SVGDOMPropertyConfig');\nvar injection = require('./lib/injection');\n\nvar MUST_USE_PROPERTY = injection.MUST_USE_PROPERTY;\nvar HAS_BOOLEAN_VALUE = injection.HAS_BOOLEAN_VALUE;\nvar HAS_NUMERIC_VALUE = injection.HAS_NUMERIC_VALUE;\nvar HAS_POSITIVE_NUMERIC_VALUE = injection.HAS_POSITIVE_NUMERIC_VALUE;\nvar HAS_OVERLOADED_BOOLEAN_VALUE = injection.HAS_OVERLOADED_BOOLEAN_VALUE;\n\n/**\n * @see https://github.com/facebook/react/blob/15-stable/src/renderers/dom/shared/DOMProperty.js#L14-L16\n *\n * @param {Number} value\n * @param {Number} bitmask\n * @return {Boolean}\n */\nfunction checkMask(value, bitmask) {\n return (value & bitmask) === bitmask;\n}\n\n/**\n * @see https://github.com/facebook/react/blob/15-stable/src/renderers/dom/shared/DOMProperty.js#L57\n *\n * @param {Object} domPropertyConfig - HTMLDOMPropertyConfig or SVGDOMPropertyConfig\n * @param {Object} config - The object to be mutated\n * @param {Boolean} isSVG - Whether the injected config is HTML or SVG (it assumes the default is HTML)\n */\nfunction injectDOMPropertyConfig(domPropertyConfig, config, isSVG) {\n var Properties = domPropertyConfig.Properties;\n var DOMAttributeNames = domPropertyConfig.DOMAttributeNames;\n var attributeName;\n var propertyName;\n var propConfig;\n\n for (propertyName in Properties) {\n attributeName =\n DOMAttributeNames[propertyName] ||\n (isSVG ? propertyName : propertyName.toLowerCase());\n propConfig = Properties[propertyName];\n\n config[attributeName] = {\n attributeName: attributeName,\n propertyName: propertyName,\n mustUseProperty: checkMask(propConfig, MUST_USE_PROPERTY),\n hasBooleanValue: checkMask(propConfig, HAS_BOOLEAN_VALUE),\n hasNumericValue: checkMask(propConfig, HAS_NUMERIC_VALUE),\n hasPositiveNumericValue: checkMask(\n propConfig,\n HAS_POSITIVE_NUMERIC_VALUE\n ),\n hasOverloadedBooleanValue: checkMask(\n propConfig,\n HAS_OVERLOADED_BOOLEAN_VALUE\n )\n };\n }\n}\n\n/**\n * HTML properties config.\n *\n * @type {Object}\n */\nvar html = {};\ninjectDOMPropertyConfig(HTMLDOMPropertyConfig, html);\n\n/**\n * SVG properties config.\n *\n * @type {Object}\n */\nvar svg = {};\ninjectDOMPropertyConfig(SVGDOMPropertyConfig, svg, true);\n\n/**\n * HTML and SVG properties config.\n *\n * @type {Object}\n */\nvar properties = {};\ninjectDOMPropertyConfig(HTMLDOMPropertyConfig, properties);\ninjectDOMPropertyConfig(SVGDOMPropertyConfig, properties, true);\n\nvar ATTRIBUTE_NAME_START_CHAR =\n ':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';\nvar ATTRIBUTE_NAME_CHAR =\n ATTRIBUTE_NAME_START_CHAR + '\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\n\nmodule.exports = {\n html: html,\n svg: svg,\n properties: properties,\n\n /**\n * Checks whether a property name is a custom attribute.\n *\n * @see https://github.com/facebook/react/blob/15-stable/src/renderers/dom/shared/HTMLDOMPropertyConfig.js#L23-L25\n *\n * @param {String}\n * @return {Boolean}\n */\n isCustomAttribute: RegExp.prototype.test.bind(\n new RegExp('^(data|aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$')\n )\n};\n","module.exports = {\n MUST_USE_PROPERTY: 1,\n HAS_BOOLEAN_VALUE: 4,\n HAS_NUMERIC_VALUE: 8,\n HAS_POSITIVE_NUMERIC_VALUE: 24,\n HAS_OVERLOADED_BOOLEAN_VALUE: 32\n};\n","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function(style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function(node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","var parse = require('inline-style-parser');\n\n/**\n * Parses inline style to object.\n *\n * @example\n * // returns { 'line-height': '42' }\n * StyleToObject('line-height: 42;');\n *\n * @param {String} style - The inline style.\n * @param {Function} [iterator] - The iterator function.\n * @return {null|Object}\n */\nfunction StyleToObject(style, iterator) {\n var output = null;\n if (!style || typeof style !== 'string') {\n return output;\n }\n\n var declaration;\n var declarations = parse(style);\n var hasIterator = typeof iterator === 'function';\n var property;\n var value;\n\n for (var i = 0, len = declarations.length; i < len; i++) {\n declaration = declarations[i];\n property = declaration.property;\n value = declaration.value;\n\n if (hasIterator) {\n iterator(property, value, declaration);\n } else if (value) {\n output || (output = {});\n output[property] = value;\n }\n }\n\n return output;\n}\n\nmodule.exports = StyleToObject;\n","\"use strict\";\nexports.__esModule = true;\nexports.camelCase = void 0;\nvar CUSTOM_PROPERTY_REGEX = /^--[a-zA-Z0-9-]+$/;\nvar HYPHEN_REGEX = /-([a-z])/g;\nvar NO_HYPHEN_REGEX = /^[^-]+$/;\nvar VENDOR_PREFIX_REGEX = /^-(webkit|moz|ms|o|khtml)-/;\nvar skipCamelCase = function (property) {\n return !property ||\n NO_HYPHEN_REGEX.test(property) ||\n CUSTOM_PROPERTY_REGEX.test(property);\n};\nvar capitalize = function (match, character) {\n return character.toUpperCase();\n};\nvar trimHyphen = function (match, prefix) { return prefix + \"-\"; };\nvar camelCase = function (property, options) {\n if (options === void 0) { options = {}; }\n if (skipCamelCase(property)) {\n return property;\n }\n property = property.toLowerCase();\n if (!options.reactCompat) {\n property = property.replace(VENDOR_PREFIX_REGEX, trimHyphen);\n }\n return property.replace(HYPHEN_REGEX, capitalize);\n};\nexports.camelCase = camelCase;\n","var React = require('react');\nvar styleToJS = require('style-to-js').default;\n\n/**\n * Swap key with value in an object.\n *\n * @param {Object} obj - The object.\n * @param {Function} [override] - The override method.\n * @return {Object} - The inverted object.\n */\nfunction invertObject(obj, override) {\n if (!obj || typeof obj !== 'object') {\n throw new TypeError('First argument must be an object');\n }\n\n var key;\n var value;\n var isOverridePresent = typeof override === 'function';\n var overrides = {};\n var result = {};\n\n for (key in obj) {\n value = obj[key];\n\n if (isOverridePresent) {\n overrides = override(key, value);\n if (overrides && overrides.length === 2) {\n result[overrides[0]] = overrides[1];\n continue;\n }\n }\n\n if (typeof value === 'string') {\n result[value] = key;\n }\n }\n\n return result;\n}\n\n/**\n * Check if a given tag is a custom component.\n *\n * @see {@link https://github.com/facebook/react/blob/v16.6.3/packages/react-dom/src/shared/isCustomComponent.js}\n *\n * @param {string} tagName - The name of the html tag.\n * @param {Object} props - The props being passed to the element.\n * @return {boolean}\n */\nfunction isCustomComponent(tagName, props) {\n if (tagName.indexOf('-') === -1) {\n return props && typeof props.is === 'string';\n }\n\n switch (tagName) {\n // These are reserved SVG and MathML elements.\n // We don't mind this whitelist too much because we expect it to never grow.\n // The alternative is to track the namespace in a few places which is convoluted.\n // https://w3c.github.io/webcomponents/spec/custom/#custom-elements-core-concepts\n case 'annotation-xml':\n case 'color-profile':\n case 'font-face':\n case 'font-face-src':\n case 'font-face-uri':\n case 'font-face-format':\n case 'font-face-name':\n case 'missing-glyph':\n return false;\n default:\n return true;\n }\n}\n\nvar styleToJSOptions = { reactCompat: true };\n\n/**\n * Sets style prop.\n *\n * @param {null|undefined|string} style\n * @param {object} props\n */\nfunction setStyleProp(style, props) {\n if (style === null || style === undefined) {\n return;\n }\n props.style = styleToJS(style, styleToJSOptions);\n}\n\n/**\n * @constant {boolean}\n * @see {@link https://reactjs.org/blog/2017/09/08/dom-attributes-in-react-16.html}\n */\nvar PRESERVE_CUSTOM_ATTRIBUTES = React.version.split('.')[0] >= 16;\n\nmodule.exports = {\n PRESERVE_CUSTOM_ATTRIBUTES: PRESERVE_CUSTOM_ATTRIBUTES,\n invertObject: invertObject,\n isCustomComponent: isCustomComponent,\n setStyleProp: setStyleProp\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nexports.__esModule = true;\nvar style_to_object_1 = __importDefault(require(\"style-to-object\"));\nvar utilities_1 = require(\"./utilities\");\nfunction StyleToJS(style, options) {\n var output = {};\n if (!style || typeof style !== 'string') {\n return output;\n }\n style_to_object_1[\"default\"](style, function (property, value) {\n if (property && value) {\n output[utilities_1.camelCase(property, options)] = value;\n }\n });\n return output;\n}\nexports[\"default\"] = StyleToJS;\n","var reactProperty = require('react-property');\nvar utilities = require('./utilities');\n\nvar setStyleProp = utilities.setStyleProp;\n\nvar htmlProperties = reactProperty.html;\nvar svgProperties = reactProperty.svg;\nvar isCustomAttribute = reactProperty.isCustomAttribute;\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * Converts HTML/SVG DOM attributes to React props.\n *\n * @param {object} [attributes={}] - HTML/SVG DOM attributes.\n * @return {object} - React props.\n */\nfunction attributesToProps(attributes) {\n attributes = attributes || {};\n\n var attributeName;\n var attributeNameLowerCased;\n var attributeValue;\n var property;\n var props = {};\n\n for (attributeName in attributes) {\n attributeValue = attributes[attributeName];\n\n // ARIA (aria-*) or custom data (data-*) attribute\n if (isCustomAttribute(attributeName)) {\n props[attributeName] = attributeValue;\n continue;\n }\n\n // convert HTML attribute to React prop\n attributeNameLowerCased = attributeName.toLowerCase();\n if (hasOwnProperty.call(htmlProperties, attributeNameLowerCased)) {\n property = htmlProperties[attributeNameLowerCased];\n props[property.propertyName] =\n property.hasBooleanValue ||\n (property.hasOverloadedBooleanValue && !attributeValue)\n ? true\n : attributeValue;\n continue;\n }\n\n // convert SVG attribute to React prop\n if (hasOwnProperty.call(svgProperties, attributeName)) {\n property = svgProperties[attributeName];\n props[property.propertyName] = attributeValue;\n continue;\n }\n\n // preserve custom attribute if React >=16\n if (utilities.PRESERVE_CUSTOM_ATTRIBUTES) {\n props[attributeName] = attributeValue;\n }\n }\n\n // transform inline style to object\n setStyleProp(attributes.style, props);\n\n return props;\n}\n\nmodule.exports = attributesToProps;\n","var React = require('react');\nvar attributesToProps = require('./attributes-to-props');\nvar utilities = require('./utilities');\n\nvar setStyleProp = utilities.setStyleProp;\n\n/**\n * Converts DOM nodes to JSX element(s).\n *\n * @param {DomElement[]} nodes - DOM nodes.\n * @param {object} [options={}] - Options.\n * @param {Function} [options.replace] - Replacer.\n * @param {object} [options.library] - Library (React/Preact/etc.).\n * @return {string|JSX.Element|JSX.Element[]}\n */\nfunction domToReact(nodes, options) {\n options = options || {};\n\n var library = options.library || React;\n var cloneElement = library.cloneElement;\n var createElement = library.createElement;\n var isValidElement = library.isValidElement;\n\n var result = [];\n var node;\n var hasReplace = typeof options.replace === 'function';\n var replaceElement;\n var props;\n var children;\n var data;\n var trim = options.trim;\n\n for (var i = 0, len = nodes.length; i < len; i++) {\n node = nodes[i];\n\n // replace with custom React element (if present)\n if (hasReplace) {\n replaceElement = options.replace(node);\n\n if (isValidElement(replaceElement)) {\n // set \"key\" prop for sibling elements\n // https://fb.me/react-warning-keys\n if (len > 1) {\n replaceElement = cloneElement(replaceElement, {\n key: replaceElement.key || i\n });\n }\n result.push(replaceElement);\n continue;\n }\n }\n\n if (node.type === 'text') {\n // if trim option is enabled, skip whitespace text nodes\n if (trim) {\n data = node.data.trim();\n if (data) {\n result.push(node.data);\n }\n } else {\n result.push(node.data);\n }\n continue;\n }\n\n props = node.attribs;\n if (skipAttributesToProps(node)) {\n setStyleProp(props.style, props);\n } else if (props) {\n props = attributesToProps(props);\n }\n\n children = null;\n\n switch (node.type) {\n case 'script':\n case 'style':\n // prevent text in <script> or <style> from being escaped\n // https://reactjs.org/docs/dom-elements.html#dangerouslysetinnerhtml\n if (node.children[0]) {\n props.dangerouslySetInnerHTML = {\n __html: node.children[0].data\n };\n }\n break;\n\n case 'tag':\n // setting textarea value in children is an antipattern in React\n // https://reactjs.org/docs/forms.html#the-textarea-tag\n if (node.name === 'textarea' && node.children[0]) {\n props.defaultValue = node.children[0].data;\n } else if (node.children && node.children.length) {\n // continue recursion of creating React elements (if applicable)\n children = domToReact(node.children, options);\n }\n break;\n\n // skip all other cases (e.g., comment)\n default:\n continue;\n }\n\n // set \"key\" prop for sibling elements\n // https://fb.me/react-warning-keys\n if (len > 1) {\n props.key = i;\n }\n\n result.push(createElement(node.name, props, children));\n }\n\n return result.length === 1 ? result[0] : result;\n}\n\n/**\n * Determines whether DOM element attributes should be transformed to props.\n * Web Components should not have their attributes transformed except for `style`.\n *\n * @param {DomElement} node\n * @return {boolean}\n */\nfunction skipAttributesToProps(node) {\n return (\n utilities.PRESERVE_CUSTOM_ATTRIBUTES &&\n node.type === 'tag' &&\n utilities.isCustomComponent(node.name, node.attribs)\n );\n}\n\nmodule.exports = domToReact;\n","var constants = require('./constants');\nvar domhandler = require('domhandler/lib/node');\n\nvar CASE_SENSITIVE_TAG_NAMES = constants.CASE_SENSITIVE_TAG_NAMES;\n\nvar Comment = domhandler.Comment;\nvar Element = domhandler.Element;\nvar ProcessingInstruction = domhandler.ProcessingInstruction;\nvar Text = domhandler.Text;\n\nvar caseSensitiveTagNamesMap = {};\nvar tagName;\n\nfor (var i = 0, len = CASE_SENSITIVE_TAG_NAMES.length; i < len; i++) {\n tagName = CASE_SENSITIVE_TAG_NAMES[i];\n caseSensitiveTagNamesMap[tagName.toLowerCase()] = tagName;\n}\n\n/**\n * Gets case-sensitive tag name.\n *\n * @param {string} tagName - Tag name in lowercase.\n * @return {string|undefined} - Case-sensitive tag name.\n */\nfunction getCaseSensitiveTagName(tagName) {\n return caseSensitiveTagNamesMap[tagName];\n}\n\n/**\n * Formats DOM attributes to a hash map.\n *\n * @param {NamedNodeMap} attributes - List of attributes.\n * @return {object} - Map of attribute name to value.\n */\nfunction formatAttributes(attributes) {\n var result = {};\n var attribute;\n // `NamedNodeMap` is array-like\n for (var i = 0, len = attributes.length; i < len; i++) {\n attribute = attributes[i];\n result[attribute.name] = attribute.value;\n }\n return result;\n}\n\n/**\n * Corrects the tag name if it is case-sensitive (SVG).\n * Otherwise, returns the lowercase tag name (HTML).\n *\n * @param {string} tagName - Lowercase tag name.\n * @return {string} - Formatted tag name.\n */\nfunction formatTagName(tagName) {\n tagName = tagName.toLowerCase();\n var caseSensitiveTagName = getCaseSensitiveTagName(tagName);\n if (caseSensitiveTagName) {\n return caseSensitiveTagName;\n }\n return tagName;\n}\n\n/**\n * Transforms DOM nodes to `domhandler` nodes.\n *\n * @param {NodeList} nodes - DOM nodes.\n * @param {Element|null} [parent=null] - Parent node.\n * @param {string} [directive] - Directive.\n * @return {Array<Comment|Element|ProcessingInstruction|Text>}\n */\nfunction formatDOM(nodes, parent, directive) {\n parent = parent || null;\n var result = [];\n\n for (var index = 0, len = nodes.length; index < len; index++) {\n var node = nodes[index];\n var current;\n\n // set the node data given the type\n switch (node.nodeType) {\n case 1:\n // script, style, or tag\n current = new Element(\n formatTagName(node.nodeName),\n formatAttributes(node.attributes)\n );\n current.children = formatDOM(node.childNodes, current);\n break;\n\n case 3:\n current = new Text(node.nodeValue);\n break;\n\n case 8:\n current = new Comment(node.nodeValue);\n break;\n\n default:\n continue;\n }\n\n // set previous node next\n var prev = result[index - 1] || null;\n if (prev) {\n prev.next = current;\n }\n\n // set properties for current node\n current.parent = parent;\n current.prev = prev;\n current.next = null;\n\n result.push(current);\n }\n\n if (directive) {\n current = new ProcessingInstruction(\n directive.substring(0, directive.indexOf(' ')).toLowerCase(),\n directive\n );\n current.next = result[0] || null;\n current.parent = parent;\n result.unshift(current);\n\n if (result[1]) {\n result[1].prev = result[0];\n }\n }\n\n return result;\n}\n\n/**\n * Detects if browser is Internet Explorer.\n *\n * @return {boolean} - Whether IE is detected.\n */\nfunction isIE() {\n return /(MSIE |Trident\\/|Edge\\/)/.test(navigator.userAgent);\n}\n\nmodule.exports = {\n formatAttributes: formatAttributes,\n formatDOM: formatDOM,\n isIE: isIE\n};\n","/**\n * SVG elements are case-sensitive.\n *\n * @see {@link https://developer.mozilla.org/docs/Web/SVG/Element#SVG_elements_A_to_Z}\n */\nvar CASE_SENSITIVE_TAG_NAMES = [\n 'animateMotion',\n 'animateTransform',\n 'clipPath',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDropShadow',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussainBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n 'foreignObject',\n 'linearGradient',\n 'radialGradient',\n 'textPath'\n];\n\nmodule.exports = {\n CASE_SENSITIVE_TAG_NAMES: CASE_SENSITIVE_TAG_NAMES\n};\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.cloneNode = exports.Element = exports.Document = exports.NodeWithChildren = exports.ProcessingInstruction = exports.Comment = exports.Text = exports.DataNode = exports.Node = void 0;\nvar nodeTypes = new Map([\n [\"tag\" /* Tag */, 1],\n [\"script\" /* Script */, 1],\n [\"style\" /* Style */, 1],\n [\"directive\" /* Directive */, 1],\n [\"text\" /* Text */, 3],\n [\"cdata\" /* CDATA */, 4],\n [\"comment\" /* Comment */, 8],\n [\"root\" /* Root */, 9],\n]);\n/**\n * This object will be used as the prototype for Nodes when creating a\n * DOM-Level-1-compliant structure.\n */\nvar Node = /** @class */ (function () {\n /**\n *\n * @param type The type of the node.\n */\n function Node(type) {\n this.type = type;\n /** Parent of the node */\n this.parent = null;\n /** Previous sibling */\n this.prev = null;\n /** Next sibling */\n this.next = null;\n /** The start index of the node. Requires `withStartIndices` on the handler to be `true. */\n this.startIndex = null;\n /** The end index of the node. Requires `withEndIndices` on the handler to be `true. */\n this.endIndex = null;\n }\n Object.defineProperty(Node.prototype, \"nodeType\", {\n // Read-only aliases\n get: function () {\n var _a;\n return (_a = nodeTypes.get(this.type)) !== null && _a !== void 0 ? _a : 1;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Node.prototype, \"parentNode\", {\n // Read-write aliases for properties\n get: function () {\n return this.parent;\n },\n set: function (parent) {\n this.parent = parent;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Node.prototype, \"previousSibling\", {\n get: function () {\n return this.prev;\n },\n set: function (prev) {\n this.prev = prev;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Node.prototype, \"nextSibling\", {\n get: function () {\n return this.next;\n },\n set: function (next) {\n this.next = next;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Clone this node, and optionally its children.\n *\n * @param recursive Clone child nodes as well.\n * @returns A clone of the node.\n */\n Node.prototype.cloneNode = function (recursive) {\n if (recursive === void 0) { recursive = false; }\n return cloneNode(this, recursive);\n };\n return Node;\n}());\nexports.Node = Node;\nvar DataNode = /** @class */ (function (_super) {\n __extends(DataNode, _super);\n /**\n * @param type The type of the node\n * @param data The content of the data node\n */\n function DataNode(type, data) {\n var _this = _super.call(this, type) || this;\n _this.data = data;\n return _this;\n }\n Object.defineProperty(DataNode.prototype, \"nodeValue\", {\n get: function () {\n return this.data;\n },\n set: function (data) {\n this.data = data;\n },\n enumerable: false,\n configurable: true\n });\n return DataNode;\n}(Node));\nexports.DataNode = DataNode;\nvar Text = /** @class */ (function (_super) {\n __extends(Text, _super);\n function Text(data) {\n return _super.call(this, \"text\" /* Text */, data) || this;\n }\n return Text;\n}(DataNode));\nexports.Text = Text;\nvar Comment = /** @class */ (function (_super) {\n __extends(Comment, _super);\n function Comment(data) {\n return _super.call(this, \"comment\" /* Comment */, data) || this;\n }\n return Comment;\n}(DataNode));\nexports.Comment = Comment;\nvar ProcessingInstruction = /** @class */ (function (_super) {\n __extends(ProcessingInstruction, _super);\n function ProcessingInstruction(name, data) {\n var _this = _super.call(this, \"directive\" /* Directive */, data) || this;\n _this.name = name;\n return _this;\n }\n return ProcessingInstruction;\n}(DataNode));\nexports.ProcessingInstruction = ProcessingInstruction;\n/**\n * A `Node` that can have children.\n */\nvar NodeWithChildren = /** @class */ (function (_super) {\n __extends(NodeWithChildren, _super);\n /**\n * @param type Type of the node.\n * @param children Children of the node. Only certain node types can have children.\n */\n function NodeWithChildren(type, children) {\n var _this = _super.call(this, type) || this;\n _this.children = children;\n return _this;\n }\n Object.defineProperty(NodeWithChildren.prototype, \"firstChild\", {\n // Aliases\n get: function () {\n var _a;\n return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(NodeWithChildren.prototype, \"lastChild\", {\n get: function () {\n return this.children.length > 0\n ? this.children[this.children.length - 1]\n : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(NodeWithChildren.prototype, \"childNodes\", {\n get: function () {\n return this.children;\n },\n set: function (children) {\n this.children = children;\n },\n enumerable: false,\n configurable: true\n });\n return NodeWithChildren;\n}(Node));\nexports.NodeWithChildren = NodeWithChildren;\nvar Document = /** @class */ (function (_super) {\n __extends(Document, _super);\n function Document(children) {\n return _super.call(this, \"root\" /* Root */, children) || this;\n }\n return Document;\n}(NodeWithChildren));\nexports.Document = Document;\nvar Element = /** @class */ (function (_super) {\n __extends(Element, _super);\n /**\n * @param name Name of the tag, eg. `div`, `span`.\n * @param attribs Object mapping attribute names to attribute values.\n * @param children Children of the node.\n */\n function Element(name, attribs, children) {\n if (children === void 0) { children = []; }\n var _this = _super.call(this, name === \"script\"\n ? \"script\" /* Script */\n : name === \"style\"\n ? \"style\" /* Style */\n : \"tag\" /* Tag */, children) || this;\n _this.name = name;\n _this.attribs = attribs;\n _this.attribs = attribs;\n return _this;\n }\n Object.defineProperty(Element.prototype, \"tagName\", {\n // DOM Level 1 aliases\n get: function () {\n return this.name;\n },\n set: function (name) {\n this.name = name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Element.prototype, \"attributes\", {\n get: function () {\n var _this = this;\n return Object.keys(this.attribs).map(function (name) {\n var _a, _b;\n return ({\n name: name,\n value: _this.attribs[name],\n namespace: (_a = _this[\"x-attribsNamespace\"]) === null || _a === void 0 ? void 0 : _a[name],\n prefix: (_b = _this[\"x-attribsPrefix\"]) === null || _b === void 0 ? void 0 : _b[name],\n });\n });\n },\n enumerable: false,\n configurable: true\n });\n return Element;\n}(NodeWithChildren));\nexports.Element = Element;\n/**\n * Clone a node, and optionally its children.\n *\n * @param recursive Clone child nodes as well.\n * @returns A clone of the node.\n */\nfunction cloneNode(node, recursive) {\n if (recursive === void 0) { recursive = false; }\n var result;\n switch (node.type) {\n case \"text\" /* Text */:\n result = new Text(node.data);\n break;\n case \"directive\" /* Directive */: {\n var instr = node;\n result = new ProcessingInstruction(instr.name, instr.data);\n if (instr[\"x-name\"] != null) {\n result[\"x-name\"] = instr[\"x-name\"];\n result[\"x-publicId\"] = instr[\"x-publicId\"];\n result[\"x-systemId\"] = instr[\"x-systemId\"];\n }\n break;\n }\n case \"comment\" /* Comment */:\n result = new Comment(node.data);\n break;\n case \"tag\" /* Tag */:\n case \"script\" /* Script */:\n case \"style\" /* Style */: {\n var elem = node;\n var children = recursive ? cloneChildren(elem.children) : [];\n var clone_1 = new Element(elem.name, __assign({}, elem.attribs), children);\n children.forEach(function (child) { return (child.parent = clone_1); });\n if (elem[\"x-attribsNamespace\"]) {\n clone_1[\"x-attribsNamespace\"] = __assign({}, elem[\"x-attribsNamespace\"]);\n }\n if (elem[\"x-attribsPrefix\"]) {\n clone_1[\"x-attribsPrefix\"] = __assign({}, elem[\"x-attribsPrefix\"]);\n }\n result = clone_1;\n break;\n }\n case \"cdata\" /* CDATA */: {\n var cdata = node;\n var children = recursive ? cloneChildren(cdata.children) : [];\n var clone_2 = new NodeWithChildren(node.type, children);\n children.forEach(function (child) { return (child.parent = clone_2); });\n result = clone_2;\n break;\n }\n case \"root\" /* Root */: {\n var doc = node;\n var children = recursive ? cloneChildren(doc.children) : [];\n var clone_3 = new Document(children);\n children.forEach(function (child) { return (child.parent = clone_3); });\n if (doc[\"x-mode\"]) {\n clone_3[\"x-mode\"] = doc[\"x-mode\"];\n }\n result = clone_3;\n break;\n }\n case \"doctype\" /* Doctype */: {\n // This type isn't used yet.\n throw new Error(\"Not implemented yet: ElementType.Doctype case\");\n }\n }\n result.startIndex = node.startIndex;\n result.endIndex = node.endIndex;\n return result;\n}\nexports.cloneNode = cloneNode;\nfunction cloneChildren(childs) {\n var children = childs.map(function (child) { return cloneNode(child, true); });\n for (var i = 1; i < children.length; i++) {\n children[i].prev = children[i - 1];\n children[i - 1].next = children[i];\n }\n return children;\n}\n","// constants\nvar HTML = 'html';\nvar HEAD = 'head';\nvar BODY = 'body';\nvar FIRST_TAG_REGEX = /<([a-zA-Z]+[0-9]?)/; // e.g., <h1>\nvar HEAD_TAG_REGEX = /<head.*>/i;\nvar BODY_TAG_REGEX = /<body.*>/i;\n\n// falls back to `parseFromString` if `createHTMLDocument` cannot be used\nvar parseFromDocument = function () {\n throw new Error(\n 'This browser does not support `document.implementation.createHTMLDocument`'\n );\n};\n\nvar parseFromString = function () {\n throw new Error(\n 'This browser does not support `DOMParser.prototype.parseFromString`'\n );\n};\n\n/**\n * DOMParser (performance: slow).\n *\n * @see https://developer.mozilla.org/docs/Web/API/DOMParser#Parsing_an_SVG_or_HTML_document\n */\nif (typeof window.DOMParser === 'function') {\n var domParser = new window.DOMParser();\n var mimeType = 'text/html';\n\n /**\n * Creates an HTML document using `DOMParser.parseFromString`.\n *\n * @param {string} html - The HTML string.\n * @param {string} [tagName] - The element to render the HTML (with 'body' as fallback).\n * @return {HTMLDocument}\n */\n parseFromString = function (html, tagName) {\n if (tagName) {\n html = '<' + tagName + '>' + html + '</' + tagName + '>';\n }\n\n return domParser.parseFromString(html, mimeType);\n };\n\n parseFromDocument = parseFromString;\n}\n\n/**\n * DOMImplementation (performance: fair).\n *\n * @see https://developer.mozilla.org/docs/Web/API/DOMImplementation/createHTMLDocument\n */\nif (document.implementation) {\n var isIE = require('./utilities').isIE;\n\n // title parameter is required in IE\n // https://msdn.microsoft.com/en-us/library/ff975457(v=vs.85).aspx\n var doc = document.implementation.createHTMLDocument(\n isIE() ? 'html-dom-parser' : undefined\n );\n\n /**\n * Use HTML document created by `document.implementation.createHTMLDocument`.\n *\n * @param {string} html - The HTML string.\n * @param {string} [tagName] - The element to render the HTML (with 'body' as fallback).\n * @return {HTMLDocument}\n */\n parseFromDocument = function (html, tagName) {\n if (tagName) {\n doc.documentElement.getElementsByTagName(tagName)[0].innerHTML = html;\n return doc;\n }\n\n doc.documentElement.innerHTML = html;\n return doc;\n };\n}\n\n/**\n * Template (performance: fast).\n *\n * @see https://developer.mozilla.org/docs/Web/HTML/Element/template\n */\nvar template = document.createElement('template');\nvar parseFromTemplate;\n\nif (template.content) {\n /**\n * Uses a template element (content fragment) to parse HTML.\n *\n * @param {string} html - The HTML string.\n * @return {NodeList}\n */\n parseFromTemplate = function (html) {\n template.innerHTML = html;\n return template.content.childNodes;\n };\n}\n\n/**\n * Parses HTML string to DOM nodes.\n *\n * @param {string} html - HTML markup.\n * @return {NodeList}\n */\nfunction domparser(html) {\n var firstTagName;\n var match = html.match(FIRST_TAG_REGEX);\n\n if (match && match[1]) {\n firstTagName = match[1].toLowerCase();\n }\n\n var doc;\n var element;\n var elements;\n\n switch (firstTagName) {\n case HTML:\n doc = parseFromString(html);\n\n // the created document may come with filler head/body elements,\n // so make sure to remove them if they don't actually exist\n if (!HEAD_TAG_REGEX.test(html)) {\n element = doc.getElementsByTagName(HEAD)[0];\n if (element) {\n element.parentNode.removeChild(element);\n }\n }\n\n if (!BODY_TAG_REGEX.test(html)) {\n element = doc.getElementsByTagName(BODY)[0];\n if (element) {\n element.parentNode.removeChild(element);\n }\n }\n\n return doc.getElementsByTagName(HTML);\n\n case HEAD:\n case BODY:\n elements = parseFromDocument(html).getElementsByTagName(firstTagName);\n\n // if there's a sibling element, then return both elements\n if (BODY_TAG_REGEX.test(html) && HEAD_TAG_REGEX.test(html)) {\n return elements[0].parentNode.childNodes;\n }\n return elements;\n\n // low-level tag or text\n default:\n if (parseFromTemplate) {\n return parseFromTemplate(html);\n }\n\n return parseFromDocument(html, BODY).getElementsByTagName(BODY)[0]\n .childNodes;\n }\n}\n\nmodule.exports = domparser;\n","var domparser = require('./domparser');\nvar formatDOM = require('./utilities').formatDOM;\n\nvar DIRECTIVE_REGEX = /<(![a-zA-Z\\s]+)>/; // e.g., <!doctype html>\n\n/**\n * Parses HTML string to DOM nodes in browser.\n *\n * @param {string} html - HTML markup.\n * @return {DomElement[]} - DOM elements.\n */\nfunction HTMLDOMParser(html) {\n if (typeof html !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (html === '') {\n return [];\n }\n\n // match directive\n var match = html.match(DIRECTIVE_REGEX);\n var directive;\n\n if (match && match[1]) {\n directive = match[1];\n }\n\n return formatDOM(domparser(html), null, directive);\n}\n\nmodule.exports = HTMLDOMParser;\n","var domToReact = require('./lib/dom-to-react');\nvar attributesToProps = require('./lib/attributes-to-props');\nvar htmlToDOM = require('html-dom-parser');\n\nvar domParserOptions = { lowerCaseAttributeNames: false };\n\n/**\n * Converts HTML string to React elements.\n *\n * @param {String} html - HTML string.\n * @param {Object} [options] - Parser options.\n * @param {Object} [options.htmlparser2] - htmlparser2 options.\n * @param {Object} [options.library] - Library for React, Preact, etc.\n * @param {Function} [options.replace] - Replace method.\n * @return {JSX.Element|JSX.Element[]|String} - React element(s), empty array, or string.\n */\nfunction HTMLReactParser(html, options) {\n if (typeof html !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n if (html === '') {\n return [];\n }\n options = options || {};\n return domToReact(\n htmlToDOM(html, options.htmlparser2 || domParserOptions),\n options\n );\n}\n\nHTMLReactParser.domToReact = domToReact;\nHTMLReactParser.htmlToDOM = htmlToDOM;\nHTMLReactParser.attributesToProps = attributesToProps;\n\n// support CommonJS and ES Modules\nmodule.exports = HTMLReactParser;\nmodule.exports.default = HTMLReactParser;\n"],"names":["Properties","autoFocus","accept","acceptCharset","accessKey","action","allowFullScreen","allowTransparency","alt","as","async","autoComplete","autoPlay","capture","cellPadding","cellSpacing","charSet","challenge","checked","cite","classID","className","cols","colSpan","content","contentEditable","contextMenu","controls","controlsList","coords","crossOrigin","data","dateTime","default","defer","dir","disabled","download","draggable","encType","form","formAction","formEncType","formMethod","formNoValidate","formTarget","frameBorder","headers","height","hidden","high","href","hrefLang","htmlFor","httpEquiv","icon","id","inputMode","integrity","is","keyParams","keyType","kind","label","lang","list","loop","low","manifest","marginHeight","marginWidth","max","maxLength","media","mediaGroup","method","min","minLength","multiple","muted","name","nonce","noValidate","open","optimum","pattern","placeholder","playsInline","poster","preload","profile","radioGroup","readOnly","referrerPolicy","rel","required","reversed","role","rows","rowSpan","sandbox","scope","scoped","scrolling","seamless","selected","shape","size","sizes","span","spellCheck","src","srcDoc","srcLang","srcSet","start","step","style","summary","tabIndex","target","title","type","useMap","value","width","wmode","wrap","about","datatype","inlist","prefix","property","resource","typeof","vocab","autoCapitalize","autoCorrect","autoSave","color","itemProp","itemScope","itemType","itemID","itemRef","results","security","unselectable","DOMAttributeNames","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baseProfile","baselineShift","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipRule","clipPathUnits","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","ideographic","imageRendering","in","in2","intercept","k","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerMid","markerStart","markerHeight","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","scale","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textRendering","textLength","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","viewBox","viewTarget","visibility","widths","wordSpacing","writingMode","x","xHeight","x1","x2","xChannelSelector","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlns","xmlnsXlink","xmlLang","xmlSpace","y","y1","y2","yChannelSelector","z","zoomAndPan","MUST_USE_PROPERTY","HAS_BOOLEAN_VALUE","HAS_NUMERIC_VALUE","HAS_POSITIVE_NUMERIC_VALUE","HAS_OVERLOADED_BOOLEAN_VALUE","checkMask","bitmask","injectDOMPropertyConfig","domPropertyConfig","config","isSVG","propertyName","propConfig","toLowerCase","mustUseProperty","hasBooleanValue","hasNumericValue","hasPositiveNumericValue","hasOverloadedBooleanValue","html","HTMLDOMPropertyConfig","svg","SVGDOMPropertyConfig","properties","isCustomAttribute","RegExp","prototype","test","bind","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","EMPTY_STRING","trim","str","replace","iterator","declaration","output","declarations","options","TypeError","lineno","column","updatePosition","lines","match","length","i","lastIndexOf","position","line","node","Position","whitespace","this","source","error","msg","err","Error","reason","filename","silent","re","m","exec","slice","comments","rules","c","comment","push","pos","charAt","prop","val","ret","decl","decls","parse","hasIterator","len","exports","CUSTOM_PROPERTY_REGEX","HYPHEN_REGEX","NO_HYPHEN_REGEX","VENDOR_PREFIX_REGEX","capitalize","character","toUpperCase","trimHyphen","skipCamelCase","reactCompat","styleToJS","__importDefault","mod","__esModule","style_to_object_1","require$$0","utilities_1","camelCase","styleToJSOptions","PRESERVE_CUSTOM_ATTRIBUTES","React","split","invertObject","obj","override","key","isOverridePresent","overrides","isCustomComponent","tagName","props","indexOf","setStyleProp","utilities","htmlProperties","reactProperty","svgProperties","hasOwnProperty","Object","attributes","attributeNameLowerCased","attributeValue","call","skipAttributesToProps","attribs","domToReact","nodes","replaceElement","children","library","cloneElement","createElement","isValidElement","hasReplace","attributesToProps","dangerouslySetInnerHTML","__html","defaultValue","extendStatics","__extends","b","setPrototypeOf","__proto__","Array","p","__","constructor","create","__assign","assign","t","s","n","arguments","apply","defineProperty","nodeTypes","Map","Node","parent","prev","next","startIndex","endIndex","get","_a","enumerable","configurable","set","cloneNode","recursive","DataNode","_super","_this","Text","Comment","ProcessingInstruction","NodeWithChildren","Document","Element","keys","map","_b","namespace","instr","elem","cloneChildren","clone_1","forEach","child","clone_2","doc","clone_3","childs","CASE_SENSITIVE_TAG_NAMES","constants","domhandler","caseSensitiveTagNamesMap","formatAttributes","attribute","formatTagName","caseSensitiveTagName","getCaseSensitiveTagName","formatDOM","directive","index","current","nodeType","nodeName","childNodes","nodeValue","substring","unshift","navigator","userAgent","HTML","HEAD","BODY","FIRST_TAG_REGEX","HEAD_TAG_REGEX","BODY_TAG_REGEX","parseFromDocument","parseFromString","window","DOMParser","domParser","document","implementation","isIE","createHTMLDocument","undefined","documentElement","getElementsByTagName","innerHTML","parseFromTemplate","template","firstTagName","element","elements","parentNode","removeChild","DIRECTIVE_REGEX","domparser","domParserOptions","lowerCaseAttributeNames","HTMLReactParser","htmlToDOM","htmlparser2"],"mappings":"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"}
\No newline at end of file