preact-render-to-string 6.2.2 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.js","sources":["../src/util.js","../src/index.js"],"sourcesContent":["export const VOID_ELEMENTS = /^(?:area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;\nexport const UNSAFE_NAME = /[\\s\\n\\\\/='\"\\0<>]/;\nexport const NAMESPACE_REPLACE_REGEX = /^(xlink|xmlns|xml)([A-Z])/;\nexport const HTML_LOWER_CASE = /^accessK|^auto[A-Z]|^ch|^col|cont|cross|dateT|encT|form[A-Z]|frame|hrefL|inputM|maxL|minL|noV|playsI|readO|rowS|spellC|src[A-Z]|tabI|item[A-Z]/;\nexport const SVG_CAMEL_CASE = /^ac|^ali|arabic|basel|cap|clipPath$|clipRule$|color|dominant|enable|fill|flood|font|glyph[^R]|horiz|image|letter|lighting|marker[^WUH]|overline|panose|pointe|paint|rendering|shape|stop|strikethrough|stroke|text[^L]|transform|underline|unicode|units|^v[^i]|^w|^xH/;\n\n// DOM properties that should NOT have \"px\" added when numeric\nconst ENCODED_ENTITIES = /[\"&<]/;\n\n/** @param {string} str */\nexport function encodeEntities(str) {\n\t// Skip all work for strings with no entities needing encoding:\n\tif (str.length === 0 || ENCODED_ENTITIES.test(str) === false) return str;\n\n\tlet last = 0,\n\t\ti = 0,\n\t\tout = '',\n\t\tch = '';\n\n\t// Seek forward in str until the next entity char:\n\tfor (; i < str.length; i++) {\n\t\tswitch (str.charCodeAt(i)) {\n\t\t\tcase 34:\n\t\t\t\tch = '&quot;';\n\t\t\t\tbreak;\n\t\t\tcase 38:\n\t\t\t\tch = '&amp;';\n\t\t\t\tbreak;\n\t\t\tcase 60:\n\t\t\t\tch = '&lt;';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcontinue;\n\t\t}\n\t\t// Append skipped/buffered characters and the encoded entity:\n\t\tif (i !== last) out += str.slice(last, i);\n\t\tout += ch;\n\t\t// Start the next seek/buffer after the entity's offset:\n\t\tlast = i + 1;\n\t}\n\tif (i !== last) out += str.slice(last, i);\n\treturn out;\n}\n\nexport let indent = (s, char) =>\n\tString(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n\nexport let isLargeString = (s, length, ignoreLines) =>\n\tString(s).length > (length || 40) ||\n\t(!ignoreLines && String(s).indexOf('\\n') !== -1) ||\n\tString(s).indexOf('<') !== -1;\n\nconst JS_TO_CSS = {};\n\nconst IS_NON_DIMENSIONAL = new Set([\n\t'animation-iteration-count',\n\t'border-image-outset',\n\t'border-image-slice',\n\t'border-image-width',\n\t'box-flex',\n\t'box-flex-group',\n\t'box-ordinal-group',\n\t'column-count',\n\t'fill-opacity',\n\t'flex',\n\t'flex-grow',\n\t'flex-negative',\n\t'flex-order',\n\t'flex-positive',\n\t'flex-shrink',\n\t'flood-opacity',\n\t'font-weight',\n\t'grid-column',\n\t'grid-row',\n\t'line-clamp',\n\t'line-height',\n\t'opacity',\n\t'order',\n\t'orphans',\n\t'stop-opacity',\n\t'stroke-dasharray',\n\t'stroke-dashoffset',\n\t'stroke-miterlimit',\n\t'stroke-opacity',\n\t'stroke-width',\n\t'tab-size',\n\t'widows',\n\t'z-index',\n\t'zoom'\n]);\n\nconst CSS_REGEX = /[A-Z]/g;\n// Convert an Object style to a CSSText string\nexport function styleObjToCss(s) {\n\tlet str = '';\n\tfor (let prop in s) {\n\t\tlet val = s[prop];\n\t\tif (val != null && val !== '') {\n\t\t\tconst name =\n\t\t\t\tprop[0] == '-'\n\t\t\t\t\t? prop\n\t\t\t\t\t: JS_TO_CSS[prop] ||\n\t\t\t\t\t (JS_TO_CSS[prop] = prop.replace(CSS_REGEX, '-$&').toLowerCase());\n\n\t\t\tlet suffix = ';';\n\t\t\tif (\n\t\t\t\ttypeof val === 'number' &&\n\t\t\t\t// Exclude custom-attributes\n\t\t\t\t!name.startsWith('--') &&\n\t\t\t\t!IS_NON_DIMENSIONAL.has(name)\n\t\t\t) {\n\t\t\t\tsuffix = 'px;';\n\t\t\t}\n\t\t\tstr = str + name + ':' + val + suffix;\n\t\t}\n\t}\n\treturn str || undefined;\n}\n\n/**\n * Get flattened children from the children prop\n * @param {Array} accumulator\n * @param {any} children A `props.children` opaque object.\n * @returns {Array} accumulator\n * @private\n */\nexport function getChildren(accumulator, children) {\n\tif (Array.isArray(children)) {\n\t\tchildren.reduce(getChildren, accumulator);\n\t} else if (children != null && children !== false) {\n\t\taccumulator.push(children);\n\t}\n\treturn accumulator;\n}\n\nfunction markAsDirty() {\n\tthis.__d = true;\n}\n\nexport function createComponent(vnode, context) {\n\treturn {\n\t\t__v: vnode,\n\t\tcontext,\n\t\tprops: vnode.props,\n\t\t// silently drop state updates\n\t\tsetState: markAsDirty,\n\t\tforceUpdate: markAsDirty,\n\t\t__d: true,\n\t\t// hooks\n\t\t__h: []\n\t};\n}\n","import {\n\tencodeEntities,\n\tstyleObjToCss,\n\tUNSAFE_NAME,\n\tNAMESPACE_REPLACE_REGEX,\n\tHTML_LOWER_CASE,\n\tSVG_CAMEL_CASE\n} from './util.js';\nimport { options, h, Fragment } from 'preact';\nimport {\n\tCHILDREN,\n\tCOMMIT,\n\tCOMPONENT,\n\tDIFF,\n\tDIFFED,\n\tDIRTY,\n\tNEXT_STATE,\n\tPARENT,\n\tRENDER,\n\tSKIP_EFFECTS,\n\tVNODE\n} from './constants.js';\n\n/** @typedef {import('preact').VNode} VNode */\n\nconst EMPTY_ARR = [];\nconst isArray = Array.isArray;\nconst assign = Object.assign;\n\n// Global state for the current render pass\nlet beforeDiff, afterDiff, renderHook, ummountHook;\n\n/**\n * Render Preact JSX + Components to an HTML string.\n * @param {VNode} vnode\tJSX Element / VNode to render\n * @param {Object} [context={}] Initial root context object\n * @returns {string} serialized HTML\n */\nexport function renderToString(vnode, context) {\n\t// Performance optimization: `renderToString` is synchronous and we\n\t// therefore don't execute any effects. To do that we pass an empty\n\t// array to `options._commit` (`__c`). But we can go one step further\n\t// and avoid a lot of dirty checks and allocations by setting\n\t// `options._skipEffects` (`__s`) too.\n\tconst previousSkipEffects = options[SKIP_EFFECTS];\n\toptions[SKIP_EFFECTS] = true;\n\n\t// store options hooks once before each synchronous render call\n\tbeforeDiff = options[DIFF];\n\tafterDiff = options[DIFFED];\n\trenderHook = options[RENDER];\n\tummountHook = options.unmount;\n\n\tconst parent = h(Fragment, null);\n\tparent[CHILDREN] = [vnode];\n\n\ttry {\n\t\treturn _renderToString(\n\t\t\tvnode,\n\t\t\tcontext || EMPTY_OBJ,\n\t\t\tfalse,\n\t\t\tundefined,\n\t\t\tparent\n\t\t);\n\t} finally {\n\t\t// options._commit, we don't schedule any effects in this library right now,\n\t\t// so we can pass an empty queue to this hook.\n\t\tif (options[COMMIT]) options[COMMIT](vnode, EMPTY_ARR);\n\t\toptions[SKIP_EFFECTS] = previousSkipEffects;\n\t\tEMPTY_ARR.length = 0;\n\t}\n}\n\n// Installed as setState/forceUpdate for function components\nfunction markAsDirty() {\n\tthis.__d = true;\n}\n\nconst EMPTY_OBJ = {};\n\n/**\n * @param {VNode} vnode\n * @param {Record<string, unknown>} context\n */\nfunction renderClassComponent(vnode, context) {\n\tlet type = /** @type {import(\"preact\").ComponentClass<typeof vnode.props>} */ (vnode.type);\n\n\tlet isMounting = true;\n\tlet c;\n\tif (vnode[COMPONENT]) {\n\t\tisMounting = false;\n\t\tc = vnode[COMPONENT];\n\t\tc.state = c[NEXT_STATE];\n\t} else {\n\t\tc = new type(vnode.props, context);\n\t}\n\n\tvnode[COMPONENT] = c;\n\tc[VNODE] = vnode;\n\n\tc.props = vnode.props;\n\tc.context = context;\n\t// turn off stateful re-rendering:\n\tc[DIRTY] = true;\n\n\tif (c.state == null) c.state = EMPTY_OBJ;\n\n\tif (c[NEXT_STATE] == null) {\n\t\tc[NEXT_STATE] = c.state;\n\t}\n\n\tif (type.getDerivedStateFromProps) {\n\t\tc.state = assign(\n\t\t\t{},\n\t\t\tc.state,\n\t\t\ttype.getDerivedStateFromProps(c.props, c.state)\n\t\t);\n\t} else if (isMounting && c.componentWillMount) {\n\t\tc.componentWillMount();\n\n\t\t// If the user called setState in cWM we need to flush pending,\n\t\t// state updates. This is the same behaviour in React.\n\t\tc.state = c[NEXT_STATE] !== c.state ? c[NEXT_STATE] : c.state;\n\t} else if (!isMounting && c.componentWillUpdate) {\n\t\tc.componentWillUpdate();\n\t}\n\n\tif (renderHook) renderHook(vnode);\n\n\treturn c.render(c.props, c.state, context);\n}\n\n/**\n * Recursively render VNodes to HTML.\n * @param {VNode|any} vnode\n * @param {any} context\n * @param {boolean} isSvgMode\n * @param {any} selectValue\n * @param {VNode} parent\n * @returns {string}\n */\nfunction _renderToString(vnode, context, isSvgMode, selectValue, parent) {\n\t// Ignore non-rendered VNodes/values\n\tif (vnode == null || vnode === true || vnode === false || vnode === '') {\n\t\treturn '';\n\t}\n\n\t// Text VNodes: escape as HTML\n\tif (typeof vnode !== 'object') {\n\t\tif (typeof vnode === 'function') return '';\n\t\treturn encodeEntities(vnode + '');\n\t}\n\n\t// Recurse into children / Arrays\n\tif (isArray(vnode)) {\n\t\tlet rendered = '';\n\t\tparent[CHILDREN] = vnode;\n\t\tfor (let i = 0; i < vnode.length; i++) {\n\t\t\tlet child = vnode[i];\n\t\t\tif (child == null || typeof child === 'boolean') continue;\n\n\t\t\trendered =\n\t\t\t\trendered +\n\t\t\t\t_renderToString(child, context, isSvgMode, selectValue, parent);\n\t\t}\n\t\treturn rendered;\n\t}\n\n\t// VNodes have {constructor:undefined} to prevent JSON injection:\n\tif (vnode.constructor !== undefined) return '';\n\n\tvnode[PARENT] = parent;\n\tif (beforeDiff) beforeDiff(vnode);\n\n\tlet type = vnode.type,\n\t\tprops = vnode.props,\n\t\tcctx = context,\n\t\tcontextType,\n\t\trendered,\n\t\tcomponent;\n\n\t// Invoke rendering on Components\n\tif (typeof type === 'function') {\n\t\tif (type === Fragment) {\n\t\t\t// Fragments are the least used components of core that's why\n\t\t\t// branching here for comments has the least effect on perf.\n\t\t\tif (props.UNSTABLE_comment) {\n\t\t\t\treturn '<!--' + encodeEntities(props.UNSTABLE_comment || '') + '-->';\n\t\t\t}\n\n\t\t\trendered = props.children;\n\t\t} else {\n\t\t\tcontextType = type.contextType;\n\t\t\tif (contextType != null) {\n\t\t\t\tlet provider = context[contextType.__c];\n\t\t\t\tcctx = provider ? provider.props.value : contextType.__;\n\t\t\t}\n\n\t\t\tif (type.prototype && typeof type.prototype.render === 'function') {\n\t\t\t\trendered = /**#__NOINLINE__**/ renderClassComponent(vnode, cctx);\n\t\t\t\tcomponent = vnode[COMPONENT];\n\t\t\t} else {\n\t\t\t\tcomponent = {\n\t\t\t\t\t__v: vnode,\n\t\t\t\t\tprops,\n\t\t\t\t\tcontext: cctx,\n\t\t\t\t\t// silently drop state updates\n\t\t\t\t\tsetState: markAsDirty,\n\t\t\t\t\tforceUpdate: markAsDirty,\n\t\t\t\t\t__d: true,\n\t\t\t\t\t// hooks\n\t\t\t\t\t__h: []\n\t\t\t\t};\n\t\t\t\tvnode[COMPONENT] = component;\n\n\t\t\t\t// If a hook invokes setState() to invalidate the component during rendering,\n\t\t\t\t// re-render it up to 25 times to allow \"settling\" of memoized states.\n\t\t\t\t// Note:\n\t\t\t\t// This will need to be updated for Preact 11 to use internal.flags rather than component._dirty:\n\t\t\t\t// https://github.com/preactjs/preact/blob/d4ca6fdb19bc715e49fd144e69f7296b2f4daa40/src/diff/component.js#L35-L44\n\t\t\t\tlet count = 0;\n\t\t\t\twhile (component[DIRTY] && count++ < 25) {\n\t\t\t\t\tcomponent[DIRTY] = false;\n\n\t\t\t\t\tif (renderHook) renderHook(vnode);\n\n\t\t\t\t\trendered = type.call(component, props, cctx);\n\t\t\t\t}\n\t\t\t\tcomponent[DIRTY] = true;\n\t\t\t}\n\n\t\t\tif (component.getChildContext != null) {\n\t\t\t\tcontext = assign({}, context, component.getChildContext());\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t(type.getDerivedStateFromError || component.componentDidCatch) &&\n\t\t\t\toptions.errorBoundaries\n\t\t\t) {\n\t\t\t\tlet str = '';\n\t\t\t\t// When a component returns a Fragment node we flatten it in core, so we\n\t\t\t\t// need to mirror that logic here too\n\t\t\t\tlet isTopLevelFragment =\n\t\t\t\t\trendered != null &&\n\t\t\t\t\trendered.type === Fragment &&\n\t\t\t\t\trendered.key == null;\n\t\t\t\trendered = isTopLevelFragment ? rendered.props.children : rendered;\n\n\t\t\t\ttry {\n\t\t\t\t\tstr = _renderToString(\n\t\t\t\t\t\trendered,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\tisSvgMode,\n\t\t\t\t\t\tselectValue,\n\t\t\t\t\t\tvnode\n\t\t\t\t\t);\n\t\t\t\t\treturn str;\n\t\t\t\t} catch (err) {\n\t\t\t\t\tif (type.getDerivedStateFromError) {\n\t\t\t\t\t\tcomponent[NEXT_STATE] = type.getDerivedStateFromError(err);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (component.componentDidCatch) {\n\t\t\t\t\t\tcomponent.componentDidCatch(err, {});\n\t\t\t\t\t}\n\n\t\t\t\t\tif (component[DIRTY]) {\n\t\t\t\t\t\trendered = renderClassComponent(vnode, context);\n\t\t\t\t\t\tcomponent = vnode[COMPONENT];\n\n\t\t\t\t\t\tif (component.getChildContext != null) {\n\t\t\t\t\t\t\tcontext = assign({}, context, component.getChildContext());\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet isTopLevelFragment =\n\t\t\t\t\t\t\trendered != null &&\n\t\t\t\t\t\t\trendered.type === Fragment &&\n\t\t\t\t\t\t\trendered.key == null;\n\t\t\t\t\t\trendered = isTopLevelFragment ? rendered.props.children : rendered;\n\n\t\t\t\t\t\tstr = _renderToString(\n\t\t\t\t\t\t\trendered,\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\tisSvgMode,\n\t\t\t\t\t\t\tselectValue,\n\t\t\t\t\t\t\tvnode\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn str;\n\t\t\t\t} finally {\n\t\t\t\t\tif (afterDiff) afterDiff(vnode);\n\t\t\t\t\tvnode[PARENT] = undefined;\n\n\t\t\t\t\tif (ummountHook) ummountHook(vnode);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// When a component returns a Fragment node we flatten it in core, so we\n\t\t// need to mirror that logic here too\n\t\tlet isTopLevelFragment =\n\t\t\trendered != null && rendered.type === Fragment && rendered.key == null;\n\t\trendered = isTopLevelFragment ? rendered.props.children : rendered;\n\n\t\t// Recurse into children before invoking the after-diff hook\n\t\tconst str = _renderToString(\n\t\t\trendered,\n\t\t\tcontext,\n\t\t\tisSvgMode,\n\t\t\tselectValue,\n\t\t\tvnode\n\t\t);\n\t\tif (afterDiff) afterDiff(vnode);\n\t\tvnode[PARENT] = undefined;\n\n\t\tif (ummountHook) ummountHook(vnode);\n\n\t\treturn str;\n\t}\n\n\t// Serialize Element VNodes to HTML\n\tlet s = '<' + type,\n\t\thtml = '',\n\t\tchildren;\n\n\tfor (let name in props) {\n\t\tlet v = props[name];\n\n\t\tswitch (name) {\n\t\t\tcase 'children':\n\t\t\t\tchildren = v;\n\t\t\t\tcontinue;\n\n\t\t\t// VDOM-specific props\n\t\t\tcase 'key':\n\t\t\tcase 'ref':\n\t\t\tcase '__self':\n\t\t\tcase '__source':\n\t\t\t\tcontinue;\n\n\t\t\t// prefer for/class over htmlFor/className\n\t\t\tcase 'htmlFor':\n\t\t\t\tif ('for' in props) continue;\n\t\t\t\tname = 'for';\n\t\t\t\tbreak;\n\t\t\tcase 'className':\n\t\t\t\tif ('class' in props) continue;\n\t\t\t\tname = 'class';\n\t\t\t\tbreak;\n\n\t\t\t// Form element reflected properties\n\t\t\tcase 'defaultChecked':\n\t\t\t\tname = 'checked';\n\t\t\t\tbreak;\n\t\t\tcase 'defaultSelected':\n\t\t\t\tname = 'selected';\n\t\t\t\tbreak;\n\n\t\t\t// Special value attribute handling\n\t\t\tcase 'defaultValue':\n\t\t\tcase 'value':\n\t\t\t\tname = 'value';\n\t\t\t\tswitch (type) {\n\t\t\t\t\t// <textarea value=\"a&b\"> --> <textarea>a&amp;b</textarea>\n\t\t\t\t\tcase 'textarea':\n\t\t\t\t\t\tchildren = v;\n\t\t\t\t\t\tcontinue;\n\n\t\t\t\t\t// <select value> is serialized as a selected attribute on the matching option child\n\t\t\t\t\tcase 'select':\n\t\t\t\t\t\tselectValue = v;\n\t\t\t\t\t\tcontinue;\n\n\t\t\t\t\t// Add a selected attribute to <option> if its value matches the parent <select> value\n\t\t\t\t\tcase 'option':\n\t\t\t\t\t\tif (selectValue == v && !('selected' in props)) {\n\t\t\t\t\t\t\ts = s + ' selected';\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'dangerouslySetInnerHTML':\n\t\t\t\thtml = v && v.__html;\n\t\t\t\tcontinue;\n\n\t\t\t// serialize object styles to a CSS string\n\t\t\tcase 'style':\n\t\t\t\tif (typeof v === 'object') {\n\t\t\t\t\tv = styleObjToCss(v);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'acceptCharset':\n\t\t\t\tname = 'accept-charset';\n\t\t\t\tbreak;\n\t\t\tcase 'httpEquiv':\n\t\t\t\tname = 'http-equiv';\n\t\t\t\tbreak;\n\n\t\t\tdefault: {\n\t\t\t\tif (NAMESPACE_REPLACE_REGEX.test(name)) {\n\t\t\t\t\tname = name.replace(NAMESPACE_REPLACE_REGEX, '$1:$2').toLowerCase();\n\t\t\t\t} else if (UNSAFE_NAME.test(name)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t} else if ((name[4] === '-' || name === 'draggable') && v != null) {\n\t\t\t\t\t// serialize boolean aria-xyz or draggable attribute values as strings\n\t\t\t\t\t// `draggable` is an enumerated attribute and not Boolean. A value of `true` or `false` is mandatory\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/draggable\n\t\t\t\t\tv += '';\n\t\t\t\t} else if (isSvgMode) {\n\t\t\t\t\tif (SVG_CAMEL_CASE.test(name)) {\n\t\t\t\t\t\tname =\n\t\t\t\t\t\t\tname === 'panose1'\n\t\t\t\t\t\t\t\t? 'panose-1'\n\t\t\t\t\t\t\t\t: name.replace(/([A-Z])/g, '-$1').toLowerCase();\n\t\t\t\t\t}\n\t\t\t\t} else if (HTML_LOWER_CASE.test(name)) {\n\t\t\t\t\tname = name.toLowerCase();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// write this attribute to the buffer\n\t\tif (v != null && v !== false && typeof v !== 'function') {\n\t\t\tif (v === true || v === '') {\n\t\t\t\ts = s + ' ' + name;\n\t\t\t} else {\n\t\t\t\ts = s + ' ' + name + '=\"' + encodeEntities(v + '') + '\"';\n\t\t\t}\n\t\t}\n\t}\n\n\tif (UNSAFE_NAME.test(type)) {\n\t\t// this seems to performs a lot better than throwing\n\t\t// return '<!-- -->';\n\t\tthrow new Error(`${type} is not a valid HTML tag name in ${s}>`);\n\t}\n\n\tif (html) {\n\t\t// dangerouslySetInnerHTML defined this node's contents\n\t} else if (typeof children === 'string') {\n\t\t// single text child\n\t\thtml = encodeEntities(children);\n\t} else if (children != null && children !== false && children !== true) {\n\t\t// recurse into this element VNode's children\n\t\tlet childSvgMode =\n\t\t\ttype === 'svg' || (type !== 'foreignObject' && isSvgMode);\n\t\thtml = _renderToString(children, context, childSvgMode, selectValue, vnode);\n\t}\n\n\tif (afterDiff) afterDiff(vnode);\n\tvnode[PARENT] = undefined;\n\tif (ummountHook) ummountHook(vnode);\n\n\t// Emit self-closing tag for empty void elements:\n\tif (!html && SELF_CLOSING.has(type)) {\n\t\treturn s + '/>';\n\t}\n\n\treturn s + '>' + html + '</' + type + '>';\n}\n\nconst SELF_CLOSING = new Set([\n\t'area',\n\t'base',\n\t'br',\n\t'col',\n\t'command',\n\t'embed',\n\t'hr',\n\t'img',\n\t'input',\n\t'keygen',\n\t'link',\n\t'meta',\n\t'param',\n\t'source',\n\t'track',\n\t'wbr'\n]);\n\nexport default renderToString;\nexport const render = renderToString;\nexport const renderToStaticMarkup = renderToString;\n"],"names":["UNSAFE_NAME","NAMESPACE_REPLACE_REGEX","HTML_LOWER_CASE","SVG_CAMEL_CASE","ENCODED_ENTITIES","encodeEntities","str","length","test","last","i","out","ch","charCodeAt","slice","JS_TO_CSS","IS_NON_DIMENSIONAL","Set","CSS_REGEX","styleObjToCss","s","prop","val","name","replace","toLowerCase","suffix","startsWith","has","undefined","beforeDiff","afterDiff","renderHook","ummountHook","EMPTY_ARR","isArray","Array","assign","Object","renderToString","vnode","context","previousSkipEffects","options","unmount","parent","h","Fragment","_renderToString","EMPTY_OBJ","markAsDirty","this","__d","renderClassComponent","c","type","isMounting","state","props","getDerivedStateFromProps","componentWillMount","componentWillUpdate","render","isSvgMode","selectValue","rendered","child","constructor","contextType","component","cctx","UNSTABLE_comment","children","provider","__c","value","__","prototype","__v","setState","forceUpdate","__h","count","call","getChildContext","getDerivedStateFromError","componentDidCatch","errorBoundaries","key","err","html","v","__html","Error","SELF_CLOSING","renderToStaticMarkup"],"mappings":"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"}
1
+ {"version":3,"file":"index.umd.js","sources":["../src/util.js","../src/index.js"],"sourcesContent":["export const VOID_ELEMENTS = /^(?:area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;\nexport const UNSAFE_NAME = /[\\s\\n\\\\/='\"\\0<>]/;\nexport const NAMESPACE_REPLACE_REGEX = /^(xlink|xmlns|xml)([A-Z])/;\nexport const HTML_LOWER_CASE = /^accessK|^auto[A-Z]|^ch|^col|cont|cross|dateT|encT|form[A-Z]|frame|hrefL|inputM|maxL|minL|noV|playsI|readO|rowS|spellC|src[A-Z]|tabI|item[A-Z]/;\nexport const SVG_CAMEL_CASE = /^ac|^ali|arabic|basel|cap|clipPath$|clipRule$|color|dominant|enable|fill|flood|font|glyph[^R]|horiz|image|letter|lighting|marker[^WUH]|overline|panose|pointe|paint|rendering|shape|stop|strikethrough|stroke|text[^L]|transform|underline|unicode|units|^v[^i]|^w|^xH/;\n\n// DOM properties that should NOT have \"px\" added when numeric\nconst ENCODED_ENTITIES = /[\"&<]/;\n\n/** @param {string} str */\nexport function encodeEntities(str) {\n\t// Skip all work for strings with no entities needing encoding:\n\tif (str.length === 0 || ENCODED_ENTITIES.test(str) === false) return str;\n\n\tlet last = 0,\n\t\ti = 0,\n\t\tout = '',\n\t\tch = '';\n\n\t// Seek forward in str until the next entity char:\n\tfor (; i < str.length; i++) {\n\t\tswitch (str.charCodeAt(i)) {\n\t\t\tcase 34:\n\t\t\t\tch = '&quot;';\n\t\t\t\tbreak;\n\t\t\tcase 38:\n\t\t\t\tch = '&amp;';\n\t\t\t\tbreak;\n\t\t\tcase 60:\n\t\t\t\tch = '&lt;';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcontinue;\n\t\t}\n\t\t// Append skipped/buffered characters and the encoded entity:\n\t\tif (i !== last) out += str.slice(last, i);\n\t\tout += ch;\n\t\t// Start the next seek/buffer after the entity's offset:\n\t\tlast = i + 1;\n\t}\n\tif (i !== last) out += str.slice(last, i);\n\treturn out;\n}\n\nexport let indent = (s, char) =>\n\tString(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n\nexport let isLargeString = (s, length, ignoreLines) =>\n\tString(s).length > (length || 40) ||\n\t(!ignoreLines && String(s).indexOf('\\n') !== -1) ||\n\tString(s).indexOf('<') !== -1;\n\nconst JS_TO_CSS = {};\n\nconst IS_NON_DIMENSIONAL = new Set([\n\t'animation-iteration-count',\n\t'border-image-outset',\n\t'border-image-slice',\n\t'border-image-width',\n\t'box-flex',\n\t'box-flex-group',\n\t'box-ordinal-group',\n\t'column-count',\n\t'fill-opacity',\n\t'flex',\n\t'flex-grow',\n\t'flex-negative',\n\t'flex-order',\n\t'flex-positive',\n\t'flex-shrink',\n\t'flood-opacity',\n\t'font-weight',\n\t'grid-column',\n\t'grid-row',\n\t'line-clamp',\n\t'line-height',\n\t'opacity',\n\t'order',\n\t'orphans',\n\t'stop-opacity',\n\t'stroke-dasharray',\n\t'stroke-dashoffset',\n\t'stroke-miterlimit',\n\t'stroke-opacity',\n\t'stroke-width',\n\t'tab-size',\n\t'widows',\n\t'z-index',\n\t'zoom'\n]);\n\nconst CSS_REGEX = /[A-Z]/g;\n// Convert an Object style to a CSSText string\nexport function styleObjToCss(s) {\n\tlet str = '';\n\tfor (let prop in s) {\n\t\tlet val = s[prop];\n\t\tif (val != null && val !== '') {\n\t\t\tconst name =\n\t\t\t\tprop[0] == '-'\n\t\t\t\t\t? prop\n\t\t\t\t\t: JS_TO_CSS[prop] ||\n\t\t\t\t\t (JS_TO_CSS[prop] = prop.replace(CSS_REGEX, '-$&').toLowerCase());\n\n\t\t\tlet suffix = ';';\n\t\t\tif (\n\t\t\t\ttypeof val === 'number' &&\n\t\t\t\t// Exclude custom-attributes\n\t\t\t\t!name.startsWith('--') &&\n\t\t\t\t!IS_NON_DIMENSIONAL.has(name)\n\t\t\t) {\n\t\t\t\tsuffix = 'px;';\n\t\t\t}\n\t\t\tstr = str + name + ':' + val + suffix;\n\t\t}\n\t}\n\treturn str || undefined;\n}\n\n/**\n * Get flattened children from the children prop\n * @param {Array} accumulator\n * @param {any} children A `props.children` opaque object.\n * @returns {Array} accumulator\n * @private\n */\nexport function getChildren(accumulator, children) {\n\tif (Array.isArray(children)) {\n\t\tchildren.reduce(getChildren, accumulator);\n\t} else if (children != null && children !== false) {\n\t\taccumulator.push(children);\n\t}\n\treturn accumulator;\n}\n\nfunction markAsDirty() {\n\tthis.__d = true;\n}\n\nexport function createComponent(vnode, context) {\n\treturn {\n\t\t__v: vnode,\n\t\tcontext,\n\t\tprops: vnode.props,\n\t\t// silently drop state updates\n\t\tsetState: markAsDirty,\n\t\tforceUpdate: markAsDirty,\n\t\t__d: true,\n\t\t// hooks\n\t\t__h: []\n\t};\n}\n","import {\n\tencodeEntities,\n\tstyleObjToCss,\n\tUNSAFE_NAME,\n\tNAMESPACE_REPLACE_REGEX,\n\tHTML_LOWER_CASE,\n\tSVG_CAMEL_CASE\n} from './util.js';\nimport { options, h, Fragment } from 'preact';\nimport {\n\tCHILDREN,\n\tCOMMIT,\n\tCOMPONENT,\n\tDIFF,\n\tDIFFED,\n\tDIRTY,\n\tNEXT_STATE,\n\tPARENT,\n\tRENDER,\n\tSKIP_EFFECTS,\n\tVNODE\n} from './constants.js';\n\n/** @typedef {import('preact').VNode} VNode */\n\nconst EMPTY_ARR = [];\nconst isArray = Array.isArray;\nconst assign = Object.assign;\n\n// Global state for the current render pass\nlet beforeDiff, afterDiff, renderHook, ummountHook;\n\n/**\n * Render Preact JSX + Components to an HTML string.\n * @param {VNode} vnode\tJSX Element / VNode to render\n * @param {Object} [context={}] Initial root context object\n * @returns {string} serialized HTML\n */\nexport function renderToString(vnode, context) {\n\t// Performance optimization: `renderToString` is synchronous and we\n\t// therefore don't execute any effects. To do that we pass an empty\n\t// array to `options._commit` (`__c`). But we can go one step further\n\t// and avoid a lot of dirty checks and allocations by setting\n\t// `options._skipEffects` (`__s`) too.\n\tconst previousSkipEffects = options[SKIP_EFFECTS];\n\toptions[SKIP_EFFECTS] = true;\n\n\t// store options hooks once before each synchronous render call\n\tbeforeDiff = options[DIFF];\n\tafterDiff = options[DIFFED];\n\trenderHook = options[RENDER];\n\tummountHook = options.unmount;\n\n\tconst parent = h(Fragment, null);\n\tparent[CHILDREN] = [vnode];\n\n\ttry {\n\t\treturn _renderToString(\n\t\t\tvnode,\n\t\t\tcontext || EMPTY_OBJ,\n\t\t\tfalse,\n\t\t\tundefined,\n\t\t\tparent\n\t\t);\n\t} finally {\n\t\t// options._commit, we don't schedule any effects in this library right now,\n\t\t// so we can pass an empty queue to this hook.\n\t\tif (options[COMMIT]) options[COMMIT](vnode, EMPTY_ARR);\n\t\toptions[SKIP_EFFECTS] = previousSkipEffects;\n\t\tEMPTY_ARR.length = 0;\n\t}\n}\n\n// Installed as setState/forceUpdate for function components\nfunction markAsDirty() {\n\tthis.__d = true;\n}\n\nconst EMPTY_OBJ = {};\n\n/**\n * @param {VNode} vnode\n * @param {Record<string, unknown>} context\n */\nfunction renderClassComponent(vnode, context) {\n\tlet type = /** @type {import(\"preact\").ComponentClass<typeof vnode.props>} */ (vnode.type);\n\n\tlet isMounting = true;\n\tlet c;\n\tif (vnode[COMPONENT]) {\n\t\tisMounting = false;\n\t\tc = vnode[COMPONENT];\n\t\tc.state = c[NEXT_STATE];\n\t} else {\n\t\tc = new type(vnode.props, context);\n\t}\n\n\tvnode[COMPONENT] = c;\n\tc[VNODE] = vnode;\n\n\tc.props = vnode.props;\n\tc.context = context;\n\t// turn off stateful re-rendering:\n\tc[DIRTY] = true;\n\n\tif (c.state == null) c.state = EMPTY_OBJ;\n\n\tif (c[NEXT_STATE] == null) {\n\t\tc[NEXT_STATE] = c.state;\n\t}\n\n\tif (type.getDerivedStateFromProps) {\n\t\tc.state = assign(\n\t\t\t{},\n\t\t\tc.state,\n\t\t\ttype.getDerivedStateFromProps(c.props, c.state)\n\t\t);\n\t} else if (isMounting && c.componentWillMount) {\n\t\tc.componentWillMount();\n\n\t\t// If the user called setState in cWM we need to flush pending,\n\t\t// state updates. This is the same behaviour in React.\n\t\tc.state = c[NEXT_STATE] !== c.state ? c[NEXT_STATE] : c.state;\n\t} else if (!isMounting && c.componentWillUpdate) {\n\t\tc.componentWillUpdate();\n\t}\n\n\tif (renderHook) renderHook(vnode);\n\n\treturn c.render(c.props, c.state, context);\n}\n\n/**\n * Recursively render VNodes to HTML.\n * @param {VNode|any} vnode\n * @param {any} context\n * @param {boolean} isSvgMode\n * @param {any} selectValue\n * @param {VNode} parent\n * @returns {string}\n */\nfunction _renderToString(vnode, context, isSvgMode, selectValue, parent) {\n\t// Ignore non-rendered VNodes/values\n\tif (vnode == null || vnode === true || vnode === false || vnode === '') {\n\t\treturn '';\n\t}\n\n\t// Text VNodes: escape as HTML\n\tif (typeof vnode !== 'object') {\n\t\tif (typeof vnode === 'function') return '';\n\t\treturn encodeEntities(vnode + '');\n\t}\n\n\t// Recurse into children / Arrays\n\tif (isArray(vnode)) {\n\t\tlet rendered = '';\n\t\tparent[CHILDREN] = vnode;\n\t\tfor (let i = 0; i < vnode.length; i++) {\n\t\t\tlet child = vnode[i];\n\t\t\tif (child == null || typeof child === 'boolean') continue;\n\n\t\t\trendered =\n\t\t\t\trendered +\n\t\t\t\t_renderToString(child, context, isSvgMode, selectValue, parent);\n\t\t}\n\t\treturn rendered;\n\t}\n\n\t// VNodes have {constructor:undefined} to prevent JSON injection:\n\tif (vnode.constructor !== undefined) return '';\n\n\tvnode[PARENT] = parent;\n\tif (beforeDiff) beforeDiff(vnode);\n\n\tlet type = vnode.type,\n\t\tprops = vnode.props,\n\t\tcctx = context,\n\t\tcontextType,\n\t\trendered,\n\t\tcomponent;\n\n\t// Invoke rendering on Components\n\tif (typeof type === 'function') {\n\t\tif (type === Fragment) {\n\t\t\t// Serialized precompiled JSX.\n\t\t\tif (props.tpl) {\n\t\t\t\tlet out = '';\n\t\t\t\tfor (let i = 0; i < props.tpl.length; i++) {\n\t\t\t\t\tout += props.tpl[i];\n\n\t\t\t\t\tif (props.exprs && i < props.exprs.length) {\n\t\t\t\t\t\tconst value = props.exprs[i];\n\t\t\t\t\t\tif (value == null) continue;\n\n\t\t\t\t\t\t// Check if we're dealing with a vnode\n\t\t\t\t\t\tif (typeof value === 'object' && value.constructor === undefined) {\n\t\t\t\t\t\t\tout += _renderToString(\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\t\tisSvgMode,\n\t\t\t\t\t\t\t\tselectValue,\n\t\t\t\t\t\t\t\tvnode\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Values are pre-escaped by the JSX transform\n\t\t\t\t\t\t\tout += props.exprs[i];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn out;\n\t\t\t} else if (props.UNSTABLE_comment) {\n\t\t\t\t// Fragments are the least used components of core that's why\n\t\t\t\t// branching here for comments has the least effect on perf.\n\t\t\t\treturn '<!--' + encodeEntities(props.UNSTABLE_comment || '') + '-->';\n\t\t\t}\n\n\t\t\trendered = props.children;\n\t\t} else {\n\t\t\tcontextType = type.contextType;\n\t\t\tif (contextType != null) {\n\t\t\t\tlet provider = context[contextType.__c];\n\t\t\t\tcctx = provider ? provider.props.value : contextType.__;\n\t\t\t}\n\n\t\t\tif (type.prototype && typeof type.prototype.render === 'function') {\n\t\t\t\trendered = /**#__NOINLINE__**/ renderClassComponent(vnode, cctx);\n\t\t\t\tcomponent = vnode[COMPONENT];\n\t\t\t} else {\n\t\t\t\tcomponent = {\n\t\t\t\t\t__v: vnode,\n\t\t\t\t\tprops,\n\t\t\t\t\tcontext: cctx,\n\t\t\t\t\t// silently drop state updates\n\t\t\t\t\tsetState: markAsDirty,\n\t\t\t\t\tforceUpdate: markAsDirty,\n\t\t\t\t\t__d: true,\n\t\t\t\t\t// hooks\n\t\t\t\t\t__h: []\n\t\t\t\t};\n\t\t\t\tvnode[COMPONENT] = component;\n\n\t\t\t\t// If a hook invokes setState() to invalidate the component during rendering,\n\t\t\t\t// re-render it up to 25 times to allow \"settling\" of memoized states.\n\t\t\t\t// Note:\n\t\t\t\t// This will need to be updated for Preact 11 to use internal.flags rather than component._dirty:\n\t\t\t\t// https://github.com/preactjs/preact/blob/d4ca6fdb19bc715e49fd144e69f7296b2f4daa40/src/diff/component.js#L35-L44\n\t\t\t\tlet count = 0;\n\t\t\t\twhile (component[DIRTY] && count++ < 25) {\n\t\t\t\t\tcomponent[DIRTY] = false;\n\n\t\t\t\t\tif (renderHook) renderHook(vnode);\n\n\t\t\t\t\trendered = type.call(component, props, cctx);\n\t\t\t\t}\n\t\t\t\tcomponent[DIRTY] = true;\n\t\t\t}\n\n\t\t\tif (component.getChildContext != null) {\n\t\t\t\tcontext = assign({}, context, component.getChildContext());\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t(type.getDerivedStateFromError || component.componentDidCatch) &&\n\t\t\t\toptions.errorBoundaries\n\t\t\t) {\n\t\t\t\tlet str = '';\n\t\t\t\t// When a component returns a Fragment node we flatten it in core, so we\n\t\t\t\t// need to mirror that logic here too\n\t\t\t\tlet isTopLevelFragment =\n\t\t\t\t\trendered != null &&\n\t\t\t\t\trendered.type === Fragment &&\n\t\t\t\t\trendered.key == null;\n\t\t\t\trendered = isTopLevelFragment ? rendered.props.children : rendered;\n\n\t\t\t\ttry {\n\t\t\t\t\tstr = _renderToString(\n\t\t\t\t\t\trendered,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\tisSvgMode,\n\t\t\t\t\t\tselectValue,\n\t\t\t\t\t\tvnode\n\t\t\t\t\t);\n\t\t\t\t\treturn str;\n\t\t\t\t} catch (err) {\n\t\t\t\t\tif (type.getDerivedStateFromError) {\n\t\t\t\t\t\tcomponent[NEXT_STATE] = type.getDerivedStateFromError(err);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (component.componentDidCatch) {\n\t\t\t\t\t\tcomponent.componentDidCatch(err, {});\n\t\t\t\t\t}\n\n\t\t\t\t\tif (component[DIRTY]) {\n\t\t\t\t\t\trendered = renderClassComponent(vnode, context);\n\t\t\t\t\t\tcomponent = vnode[COMPONENT];\n\n\t\t\t\t\t\tif (component.getChildContext != null) {\n\t\t\t\t\t\t\tcontext = assign({}, context, component.getChildContext());\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet isTopLevelFragment =\n\t\t\t\t\t\t\trendered != null &&\n\t\t\t\t\t\t\trendered.type === Fragment &&\n\t\t\t\t\t\t\trendered.key == null;\n\t\t\t\t\t\trendered = isTopLevelFragment ? rendered.props.children : rendered;\n\n\t\t\t\t\t\tstr = _renderToString(\n\t\t\t\t\t\t\trendered,\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\tisSvgMode,\n\t\t\t\t\t\t\tselectValue,\n\t\t\t\t\t\t\tvnode\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn str;\n\t\t\t\t} finally {\n\t\t\t\t\tif (afterDiff) afterDiff(vnode);\n\t\t\t\t\tvnode[PARENT] = undefined;\n\n\t\t\t\t\tif (ummountHook) ummountHook(vnode);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// When a component returns a Fragment node we flatten it in core, so we\n\t\t// need to mirror that logic here too\n\t\tlet isTopLevelFragment =\n\t\t\trendered != null && rendered.type === Fragment && rendered.key == null;\n\t\trendered = isTopLevelFragment ? rendered.props.children : rendered;\n\n\t\t// Recurse into children before invoking the after-diff hook\n\t\tconst str = _renderToString(\n\t\t\trendered,\n\t\t\tcontext,\n\t\t\tisSvgMode,\n\t\t\tselectValue,\n\t\t\tvnode\n\t\t);\n\t\tif (afterDiff) afterDiff(vnode);\n\t\tvnode[PARENT] = undefined;\n\n\t\tif (ummountHook) ummountHook(vnode);\n\n\t\treturn str;\n\t}\n\n\t// Serialize Element VNodes to HTML\n\tlet s = '<' + type,\n\t\thtml = '',\n\t\tchildren;\n\n\tfor (let name in props) {\n\t\tlet v = props[name];\n\n\t\tswitch (name) {\n\t\t\tcase 'children':\n\t\t\t\tchildren = v;\n\t\t\t\tcontinue;\n\n\t\t\t// VDOM-specific props\n\t\t\tcase 'key':\n\t\t\tcase 'ref':\n\t\t\tcase '__self':\n\t\t\tcase '__source':\n\t\t\t\tcontinue;\n\n\t\t\t// prefer for/class over htmlFor/className\n\t\t\tcase 'htmlFor':\n\t\t\t\tif ('for' in props) continue;\n\t\t\t\tname = 'for';\n\t\t\t\tbreak;\n\t\t\tcase 'className':\n\t\t\t\tif ('class' in props) continue;\n\t\t\t\tname = 'class';\n\t\t\t\tbreak;\n\n\t\t\t// Form element reflected properties\n\t\t\tcase 'defaultChecked':\n\t\t\t\tname = 'checked';\n\t\t\t\tbreak;\n\t\t\tcase 'defaultSelected':\n\t\t\t\tname = 'selected';\n\t\t\t\tbreak;\n\n\t\t\t// Special value attribute handling\n\t\t\tcase 'defaultValue':\n\t\t\tcase 'value':\n\t\t\t\tname = 'value';\n\t\t\t\tswitch (type) {\n\t\t\t\t\t// <textarea value=\"a&b\"> --> <textarea>a&amp;b</textarea>\n\t\t\t\t\tcase 'textarea':\n\t\t\t\t\t\tchildren = v;\n\t\t\t\t\t\tcontinue;\n\n\t\t\t\t\t// <select value> is serialized as a selected attribute on the matching option child\n\t\t\t\t\tcase 'select':\n\t\t\t\t\t\tselectValue = v;\n\t\t\t\t\t\tcontinue;\n\n\t\t\t\t\t// Add a selected attribute to <option> if its value matches the parent <select> value\n\t\t\t\t\tcase 'option':\n\t\t\t\t\t\tif (selectValue == v && !('selected' in props)) {\n\t\t\t\t\t\t\ts = s + ' selected';\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'dangerouslySetInnerHTML':\n\t\t\t\thtml = v && v.__html;\n\t\t\t\tcontinue;\n\n\t\t\t// serialize object styles to a CSS string\n\t\t\tcase 'style':\n\t\t\t\tif (typeof v === 'object') {\n\t\t\t\t\tv = styleObjToCss(v);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'acceptCharset':\n\t\t\t\tname = 'accept-charset';\n\t\t\t\tbreak;\n\t\t\tcase 'httpEquiv':\n\t\t\t\tname = 'http-equiv';\n\t\t\t\tbreak;\n\n\t\t\tdefault: {\n\t\t\t\tif (NAMESPACE_REPLACE_REGEX.test(name)) {\n\t\t\t\t\tname = name.replace(NAMESPACE_REPLACE_REGEX, '$1:$2').toLowerCase();\n\t\t\t\t} else if (UNSAFE_NAME.test(name)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t} else if ((name[4] === '-' || name === 'draggable') && v != null) {\n\t\t\t\t\t// serialize boolean aria-xyz or draggable attribute values as strings\n\t\t\t\t\t// `draggable` is an enumerated attribute and not Boolean. A value of `true` or `false` is mandatory\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/draggable\n\t\t\t\t\tv += '';\n\t\t\t\t} else if (isSvgMode) {\n\t\t\t\t\tif (SVG_CAMEL_CASE.test(name)) {\n\t\t\t\t\t\tname =\n\t\t\t\t\t\t\tname === 'panose1'\n\t\t\t\t\t\t\t\t? 'panose-1'\n\t\t\t\t\t\t\t\t: name.replace(/([A-Z])/g, '-$1').toLowerCase();\n\t\t\t\t\t}\n\t\t\t\t} else if (HTML_LOWER_CASE.test(name)) {\n\t\t\t\t\tname = name.toLowerCase();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// write this attribute to the buffer\n\t\tif (v != null && v !== false && typeof v !== 'function') {\n\t\t\tif (v === true || v === '') {\n\t\t\t\ts = s + ' ' + name;\n\t\t\t} else {\n\t\t\t\ts = s + ' ' + name + '=\"' + encodeEntities(v + '') + '\"';\n\t\t\t}\n\t\t}\n\t}\n\n\tif (UNSAFE_NAME.test(type)) {\n\t\t// this seems to performs a lot better than throwing\n\t\t// return '<!-- -->';\n\t\tthrow new Error(`${type} is not a valid HTML tag name in ${s}>`);\n\t}\n\n\tif (html) {\n\t\t// dangerouslySetInnerHTML defined this node's contents\n\t} else if (typeof children === 'string') {\n\t\t// single text child\n\t\thtml = encodeEntities(children);\n\t} else if (children != null && children !== false && children !== true) {\n\t\t// recurse into this element VNode's children\n\t\tlet childSvgMode =\n\t\t\ttype === 'svg' || (type !== 'foreignObject' && isSvgMode);\n\t\thtml = _renderToString(children, context, childSvgMode, selectValue, vnode);\n\t}\n\n\tif (afterDiff) afterDiff(vnode);\n\tvnode[PARENT] = undefined;\n\tif (ummountHook) ummountHook(vnode);\n\n\t// Emit self-closing tag for empty void elements:\n\tif (!html && SELF_CLOSING.has(type)) {\n\t\treturn s + '/>';\n\t}\n\n\treturn s + '>' + html + '</' + type + '>';\n}\n\nconst SELF_CLOSING = new Set([\n\t'area',\n\t'base',\n\t'br',\n\t'col',\n\t'command',\n\t'embed',\n\t'hr',\n\t'img',\n\t'input',\n\t'keygen',\n\t'link',\n\t'meta',\n\t'param',\n\t'source',\n\t'track',\n\t'wbr'\n]);\n\nexport default renderToString;\nexport const render = renderToString;\nexport const renderToStaticMarkup = renderToString;\n"],"names":["UNSAFE_NAME","NAMESPACE_REPLACE_REGEX","HTML_LOWER_CASE","SVG_CAMEL_CASE","ENCODED_ENTITIES","encodeEntities","str","length","test","last","i","out","ch","charCodeAt","slice","JS_TO_CSS","IS_NON_DIMENSIONAL","Set","CSS_REGEX","styleObjToCss","s","prop","val","name","replace","toLowerCase","suffix","startsWith","has","undefined","beforeDiff","afterDiff","renderHook","ummountHook","EMPTY_ARR","isArray","Array","assign","Object","renderToString","vnode","context","previousSkipEffects","options","unmount","parent","h","Fragment","_renderToString","EMPTY_OBJ","markAsDirty","this","__d","renderClassComponent","c","type","isMounting","state","props","getDerivedStateFromProps","componentWillMount","componentWillUpdate","render","isSvgMode","selectValue","rendered","child","constructor","contextType","component","cctx","tpl","exprs","value","UNSTABLE_comment","children","provider","__c","__","prototype","__v","setState","forceUpdate","__h","count","call","getChildContext","getDerivedStateFromError","componentDidCatch","errorBoundaries","key","err","html","v","__html","Error","SELF_CLOSING","renderToStaticMarkup"],"mappings":"wRACaA,EAAc,mBACdC,EAA0B,4BAC1BC,EAAkB,iJAClBC,EAAiB,yQAGxBC,EAAmB,iBAGTC,EAAeC,GAE9B,GAAmB,IAAfA,EAAIC,SAA+C,IAA/BH,EAAiBI,KAAKF,GAAgB,OAAOA,EAQrE,IANA,IAAIG,EAAO,EACVC,EAAI,EACJC,EAAM,GACNC,EAAK,GAGCF,EAAIJ,EAAIC,OAAQG,IAAK,CAC3B,OAAQJ,EAAIO,WAAWH,IACtB,QACCE,EAAK,SACL,MACD,QACCA,EAAK,QACL,MACD,QACCA,EAAK,OACL,MACD,QACC,SAGEF,IAAMD,IAAME,GAAOL,EAAIQ,MAAML,EAAMC,IACvCC,GAAOC,EAEPH,EAAOC,EAAI,CACZ,CAEA,OADIA,IAAMD,IAAME,GAAOL,EAAIQ,MAAML,EAAMC,IAChCC,CACR,CAUA,IAAMI,EAAY,GAEZC,EAAqB,IAAIC,IAAI,CAClC,4BACA,sBACA,qBACA,qBACA,WACA,iBACA,oBACA,eACA,eACA,OACA,YACA,gBACA,aACA,gBACA,cACA,gBACA,cACA,cACA,WACA,aACA,cACA,UACA,QACA,UACA,eACA,mBACA,oBACA,oBACA,iBACA,eACA,WACA,SACA,UACA,SAGKC,EAAY,kBAEFC,EAAcC,GAC7B,IAAId,EAAM,GACV,IAAK,IAAIe,KAAQD,EAAG,CACnB,IAAIE,EAAMF,EAAEC,GACZ,GAAW,MAAPC,GAAuB,KAARA,EAAY,CAC9B,IAAMC,EACM,KAAXF,EAAK,GACFA,EACAN,EAAUM,KACTN,EAAUM,GAAQA,EAAKG,QAAQN,EAAW,OAAOO,eAElDC,EAAS,IAEG,iBAARJ,GAENC,EAAKI,WAAW,OAChBX,EAAmBY,IAAIL,KAExBG,EAAS,OAEVpB,EAAMA,EAAMiB,EAAO,IAAMD,EAAMI,CAChC,CACD,CACA,OAAOpB,QAAOuB,CACf,KCvFIC,EAAYC,EAAWC,EAAYC,EALjCC,EAAY,GACZC,EAAUC,MAAMD,QAChBE,EAASC,OAAOD,gBAWNE,EAAeC,EAAOC,GAMrC,IAAMC,EAAsBC,UAAoB,IAChDA,UAAoB,KAAI,EAGxBb,EAAaa,UAAY,IACzBZ,EAAYY,UAAc,OAC1BX,EAAaW,UAAc,IAC3BV,EAAcU,UAAQC,QAEtB,IAAMC,EAASC,IAAEC,WAAU,MAC3BF,EAAe,IAAI,CAACL,GAEpB,IACC,OAAOQ,EACNR,EACAC,GAAWQ,GACX,OACApB,EACAgB,EAQF,CANC,QAGIF,UAAc,KAAGA,UAAc,IAAEH,EAAON,GAC5CS,UAAoB,IAAID,EACxBR,EAAU3B,OAAS,CACpB,CACD,CAGA,SAAS2C,IACRC,KAAKC,KAAM,CACZ,CAEA,IAAMH,EAAY,GAMlB,SAASI,EAAqBb,EAAOC,GACpC,IAGIa,EAHAC,EAA2Ef,EAAMe,KAEjFC,GAAa,EA0CjB,OAxCIhB,EAAe,KAClBgB,GAAa,GACbF,EAAId,EAAe,KACjBiB,MAAQH,EAAY,KAEtBA,EAAI,IAAIC,EAAKf,EAAMkB,MAAOjB,GAG3BD,EAAe,IAAIc,EACnBA,EAAO,IAAId,EAEXc,EAAEI,MAAQlB,EAAMkB,MAChBJ,EAAEb,QAAUA,EAEZa,EAAO,KAAI,EAEI,MAAXA,EAAEG,QAAeH,EAAEG,MAAQR,GAEV,MAAjBK,EAAY,MACfA,EAAY,IAAIA,EAAEG,OAGfF,EAAKI,yBACRL,EAAEG,MAAQpB,EACT,GACAiB,EAAEG,MACFF,EAAKI,yBAAyBL,EAAEI,MAAOJ,EAAEG,QAEhCD,GAAcF,EAAEM,oBAC1BN,EAAEM,qBAIFN,EAAEG,MAAQH,EAAY,MAAMA,EAAEG,MAAQH,EAAY,IAAIA,EAAEG,QAC7CD,GAAcF,EAAEO,qBAC3BP,EAAEO,sBAGC7B,GAAYA,EAAWQ,GAEpBc,EAAEQ,OAAOR,EAAEI,MAAOJ,EAAEG,MAAOhB,EACnC,CAWA,SAASO,EAAgBR,EAAOC,EAASsB,EAAWC,EAAanB,GAEhE,GAAa,MAATL,IAA2B,IAAVA,IAA4B,IAAVA,GAA6B,KAAVA,EACzD,MAAO,GAIR,GAAqB,iBAAVA,EACV,MAAqB,mBAAVA,EAA6B,GACjCnC,EAAemC,EAAQ,IAI/B,GAAIL,EAAQK,GAAQ,CACnB,IAAIyB,EAAW,GACfpB,EAAe,IAAIL,EACnB,IAAK,IAAI9B,EAAI,EAAGA,EAAI8B,EAAMjC,OAAQG,IAAK,CACtC,IAAIwD,EAAQ1B,EAAM9B,GACL,MAATwD,GAAkC,kBAAVA,IAE5BD,GAECjB,EAAgBkB,EAAOzB,EAASsB,EAAWC,EAAanB,GAC1D,CACA,OAAOoB,CACR,CAGA,QAA0BpC,IAAtBW,EAAM2B,YAA2B,MAAO,GAE5C3B,EAAY,GAAIK,EACZf,GAAYA,EAAWU,GAE3B,IAGC4B,EACAH,EACAI,EALGd,EAAOf,EAAMe,KAChBG,EAAQlB,EAAMkB,MACdY,EAAO7B,EAMR,GAAoB,mBAATc,EAAqB,CAC/B,GAAIA,IAASR,WAAU,CAEtB,GAAIW,EAAMa,IAAK,CAEd,IADA,IAAI5D,EAAM,GACDD,EAAI,EAAGA,EAAIgD,EAAMa,IAAIhE,OAAQG,IAGrC,GAFAC,GAAO+C,EAAMa,IAAI7D,GAEbgD,EAAMc,OAAS9D,EAAIgD,EAAMc,MAAMjE,OAAQ,CAC1C,IAAMkE,EAAQf,EAAMc,MAAM9D,GAC1B,GAAa,MAAT+D,EAAe,SAIlB9D,GADoB,iBAAV8D,QAA4C5C,IAAtB4C,EAAMN,YAC/BnB,EACNyB,EACAhC,EACAsB,EACAC,EACAxB,GAIMkB,EAAMc,MAAM9D,EAErB,CAGD,OAAOC,CACR,IAAW+C,EAAMgB,iBAGhB,MAAO,UAASrE,EAAeqD,EAAMgB,kBAAoB,IAAM,SAGhET,EAAWP,EAAMiB,QAClB,KAAO,CAEN,GAAmB,OADnBP,EAAcb,EAAKa,aACM,CACxB,IAAIQ,EAAWnC,EAAQ2B,EAAYS,KACnCP,EAAOM,EAAWA,EAASlB,MAAMe,MAAQL,EAAYU,EACtD,CAEA,GAAIvB,EAAKwB,WAA8C,mBAA1BxB,EAAKwB,UAAUjB,OAC3CG,EAA+BZ,EAAqBb,EAAO8B,GAC3DD,EAAY7B,EAAe,QACrB,CAYNA,EAAe,IAXf6B,EAAY,CACXW,IAAKxC,EACLkB,MAAAA,EACAjB,QAAS6B,EAETW,SAAU/B,EACVgC,YAAahC,EACbE,KAAK,EAEL+B,IAAK,IAUN,IADA,IAAIC,EAAQ,EACLf,EAAe,KAAKe,IAAU,IACpCf,EAAe,KAAI,EAEfrC,GAAYA,EAAWQ,GAE3ByB,EAAWV,EAAK8B,KAAKhB,EAAWX,EAAOY,GAExCD,EAAe,KAAI,CACpB,CAMA,GAJiC,MAA7BA,EAAUiB,kBACb7C,EAAUJ,EAAO,GAAII,EAAS4B,EAAUiB,qBAIvC/B,EAAKgC,0BAA4BlB,EAAUmB,oBAC5C7C,UAAQ8C,gBACP,CACD,IAAInF,EAAM,GAOV2D,EAHa,MAAZA,GACAA,EAASV,OAASR,YACF,MAAhBkB,EAASyB,IACsBzB,EAASP,MAAMiB,SAAWV,EAE1D,IAQC,OAPA3D,EAAM0C,EACLiB,EACAxB,EACAsB,EACAC,EACAxB,EAyCF,CAtCE,MAAOmD,GAgCR,OA/BIpC,EAAKgC,2BACRlB,EAAoB,IAAId,EAAKgC,yBAAyBI,IAGnDtB,EAAUmB,mBACbnB,EAAUmB,kBAAkBG,EAAK,IAG9BtB,EAAe,MAClBJ,EAAWZ,EAAqBb,EAAOC,GAGN,OAFjC4B,EAAY7B,EAAe,KAEb8C,kBACb7C,EAAUJ,EAAO,GAAII,EAAS4B,EAAUiB,oBASzChF,EAAM0C,EAFNiB,EAHa,MAAZA,GACAA,EAASV,OAASR,YACF,MAAhBkB,EAASyB,IACsBzB,EAASP,MAAMiB,SAAWV,EAIzDxB,EACAsB,EACAC,EACAxB,IAIKlC,CACR,CAAC,QACIyB,GAAWA,EAAUS,GACzBA,EAAY,QAAIX,EAEZI,GAAaA,EAAYO,EAC9B,CACD,CACD,CAIA,IAKMlC,EAAM0C,EAHZiB,EADa,MAAZA,GAAoBA,EAASV,OAASR,YAA4B,MAAhBkB,EAASyB,IAC5BzB,EAASP,MAAMiB,SAAWV,EAKzDxB,EACAsB,EACAC,EACAxB,GAOD,OALIT,GAAWA,EAAUS,GACzBA,EAAY,QAAIX,EAEZI,GAAaA,EAAYO,GAEtBlC,CACR,CAGA,IAECqE,EAFGvD,EAAI,IAAMmC,EACbqC,EAAO,GAGR,IAAK,IAAIrE,KAAQmC,EAAO,CACvB,IAAImC,EAAInC,EAAMnC,GAEd,OAAQA,GACP,IAAK,WACJoD,EAAWkB,EACX,SAGD,IAAK,MACL,IAAK,MACL,IAAK,SACL,IAAK,WACJ,SAGD,IAAK,UACJ,GAAI,QAASnC,EAAO,SACpBnC,EAAO,MACP,MACD,IAAK,YACJ,GAAI,UAAWmC,EAAO,SACtBnC,EAAO,QACP,MAGD,IAAK,iBACJA,EAAO,UACP,MACD,IAAK,kBACJA,EAAO,WACP,MAGD,IAAK,eACL,IAAK,QAEJ,OADAA,EAAO,QACCgC,GAEP,IAAK,WACJoB,EAAWkB,EACX,SAGD,IAAK,SACJ7B,EAAc6B,EACd,SAGD,IAAK,SACA7B,GAAe6B,GAAO,aAAcnC,IACvCtC,GAAQ,aAIX,MAED,IAAK,0BACJwE,EAAOC,GAAKA,EAAEC,OACd,SAGD,IAAK,QACa,iBAAND,IACVA,EAAI1E,EAAc0E,IAEnB,MACD,IAAK,gBACJtE,EAAO,iBACP,MACD,IAAK,YACJA,EAAO,aACP,MAED,QACC,GAAItB,EAAwBO,KAAKe,GAChCA,EAAOA,EAAKC,QAAQvB,EAAyB,SAASwB,sBAC5CzB,EAAYQ,KAAKe,GAC3B,SACuB,MAAZA,EAAK,IAAuB,cAATA,GAA8B,MAALsE,EAK7C9B,EACN5D,EAAeK,KAAKe,KACvBA,EACU,YAATA,EACG,WACAA,EAAKC,QAAQ,WAAY,OAAOC,eAE3BvB,EAAgBM,KAAKe,KAC/BA,EAAOA,EAAKE,eATZoE,GAAK,EAUN,EAKO,MAALA,IAAmB,IAANA,GAA4B,mBAANA,IAErCzE,GADS,IAANyE,GAAoB,KAANA,EACbzE,EAAI,IAAMG,EAEVH,EAAI,IAAMG,EAAO,KAAOlB,EAAewF,EAAI,IAAM,IAGxD,CAEA,GAAI7F,EAAYQ,KAAK+C,GAGpB,UAAUwC,MAASxC,sCAAwCnC,OAoB5D,OAjBIwE,IAE2B,iBAAbjB,EAEjBiB,EAAOvF,EAAesE,GACA,MAAZA,IAAiC,IAAbA,IAAmC,IAAbA,IAIpDiB,EAAO5C,EAAgB2B,EAAUlC,EADvB,QAATc,GAA4B,kBAATA,GAA4BQ,EACQC,EAAaxB,KAGlET,GAAWA,EAAUS,GACzBA,EAAY,QAAIX,EACZI,GAAaA,EAAYO,IAGxBoD,GAAQI,EAAapE,IAAI2B,GACtBnC,EAAI,KAGLA,EAAI,IAAMwE,EAAO,KAAOrC,EAAO,GACvC,CAEA,IAAMyC,EAAe,IAAI/E,IAAI,CAC5B,OACA,OACA,KACA,MACA,UACA,QACA,KACA,MACA,QACA,SACA,OACA,OACA,QACA,SACA,QACA,QAIY6C,EAASvB,EACT0D,EAAuB1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"jsx.js","sources":["jsx.js"],"sourcesContent":["var t=require(\"preact\");if(\"function\"!=typeof Symbol){var e=0;Symbol=function(t){return\"@@\"+t+ ++e},Symbol.for=function(t){return\"@@\"+t}}var n=/^(?:area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/,r=/[\\s\\n\\\\/='\"\\0<>]/,o=/^(xlink|xmlns|xml)([A-Z])/,i=/^accessK|^auto[A-Z]|^ch|^col|cont|cross|dateT|encT|form[A-Z]|frame|hrefL|inputM|maxL|minL|noV|playsI|readO|rowS|spellC|src[A-Z]|tabI|item[A-Z]/,a=/^ac|^ali|arabic|basel|cap|clipPath$|clipRule$|color|dominant|enable|fill|flood|font|glyph[^R]|horiz|image|letter|lighting|marker[^WUH]|overline|panose|pointe|paint|rendering|shape|stop|strikethrough|stroke|text[^L]|transform|underline|unicode|units|^v[^i]|^w|^xH/,s=/[\"&<]/;function c(t){if(0===t.length||!1===s.test(t))return t;for(var e=0,n=0,r=\"\",o=\"\";n<t.length;n++){switch(t.charCodeAt(n)){case 34:o=\"&quot;\";break;case 38:o=\"&amp;\";break;case 60:o=\"&lt;\";break;default:continue}n!==e&&(r+=t.slice(e,n)),r+=o,e=n+1}return n!==e&&(r+=t.slice(e,n)),r}var l=function(t,e){return String(t).replace(/(\\n+)/g,\"$1\"+(e||\"\\t\"))},u=function(t,e,n){return String(t).length>(e||40)||!n&&-1!==String(t).indexOf(\"\\n\")||-1!==String(t).indexOf(\"<\")},f={},p=new Set([\"animation-iteration-count\",\"border-image-outset\",\"border-image-slice\",\"border-image-width\",\"box-flex\",\"box-flex-group\",\"box-ordinal-group\",\"column-count\",\"fill-opacity\",\"flex\",\"flex-grow\",\"flex-negative\",\"flex-order\",\"flex-positive\",\"flex-shrink\",\"flood-opacity\",\"font-weight\",\"grid-column\",\"grid-row\",\"line-clamp\",\"line-height\",\"opacity\",\"order\",\"orphans\",\"stop-opacity\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke-width\",\"tab-size\",\"widows\",\"z-index\",\"zoom\"]),d=/[A-Z]/g;function g(t){var e=\"\";for(var n in t){var r=t[n];if(null!=r&&\"\"!==r){var o=\"-\"==n[0]?n:f[n]||(f[n]=n.replace(d,\"-$&\").toLowerCase()),i=\";\";\"number\"!=typeof r||o.startsWith(\"--\")||p.has(o)||(i=\"px;\"),e=e+o+\":\"+r+i}}return e||void 0}function y(t,e){return Array.isArray(e)?e.reduce(y,t):null!=e&&!1!==e&&t.push(e),t}function b(){this.__d=!0}function m(t,e){return{__v:t,context:e,props:t.props,setState:b,forceUpdate:b,__d:!0,__h:[]}}var h=[],v=[];function _(e,n,r,o){var i=t.options.__s;t.options.__s=!0;try{return x(e,n||{},r,o)}finally{t.options.__c&&t.options.__c(e,v),t.options.__s=i,v.length=0}}function x(e,s,f,p,d,b){if(null==e||\"boolean\"==typeof e)return\"\";if(\"object\"!=typeof e)return\"function\"==typeof e?\"\":c(e+\"\");var h=f.pretty,v=h&&\"string\"==typeof h?h:\"\\t\";if(Array.isArray(e)){for(var _=\"\",S=0;S<e.length;S++)h&&S>0&&(_+=\"\\n\"),_+=x(e[S],s,f,p,d,b);return _}if(void 0!==e.constructor)return\"\";t.options.__b&&t.options.__b(e);var k,w=e.type,A=e.props,O=!1;if(\"function\"==typeof w){if(O=!0,!f.shallow||!p&&!1!==f.renderRootComponent){if(w===t.Fragment){var C=[];return y(C,e.props.children),x(C,s,f,!1!==f.shallowHighOrder,d,b)}var F,E=e.__c=m(e,s),$=t.options.__r,H=s,L=w.contextType;if(null!=L){var M=s[L.__c];H=M?M.props.value:L.__}if(w.prototype&&\"function\"==typeof w.prototype.render)(E=e.__c=new w(A,H)).__v=e,E._dirty=E.__d=!0,E.props=A,null==E.state&&(E.state={}),null==E._nextState&&null==E.__s&&(E._nextState=E.__s=E.state),E.context=H,w.getDerivedStateFromProps?E.state=Object.assign({},E.state,w.getDerivedStateFromProps(E.props,E.state)):E.componentWillMount&&(E.componentWillMount(),E.state=E._nextState!==E.state?E._nextState:E.__s!==E.state?E.__s:E.state),$&&$(e),F=E.render(E.props,E.state,E.context);else for(var I=0;E.__d&&I++<25;)E.__d=!1,$&&$(e),F=w.call(e.__c,A,H);E.getChildContext&&(s=Object.assign({},s,E.getChildContext()));var N=x(F,s,f,!1!==f.shallowHighOrder,d,b);return t.options.diffed&&t.options.diffed(e),N}w=(k=w).displayName||k!==Function&&k.name||j(k)}var D,W,U=\"<\"+w;if(A){var Z=Object.keys(A);f&&!0===f.sortAttributes&&Z.sort();for(var P=0;P<Z.length;P++){var R=Z[P],T=A[R];if(\"children\"!==R){if(!r.test(R)&&(f&&f.allAttributes||\"key\"!==R&&\"ref\"!==R&&\"__self\"!==R&&\"__source\"!==R)){if(\"defaultValue\"===R)R=\"value\";else if(\"defaultChecked\"===R)R=\"checked\";else if(\"defaultSelected\"===R)R=\"selected\";else if(\"className\"===R){if(void 0!==A.class)continue;R=\"class\"}else\"acceptCharset\"===R?R=\"accept-charset\":\"httpEquiv\"===R?R=\"http-equiv\":o.test(R)?R=R.replace(o,\"$1:$2\").toLowerCase():d?a.test(R)&&(R=\"panose1\"===R?\"panose-1\":R.replace(/([A-Z])/g,\"-$1\").toLowerCase()):i.test(R)&&(R=R.toLowerCase());if(\"htmlFor\"===R){if(A.for)continue;R=\"for\"}\"style\"===R&&T&&\"object\"==typeof T&&(T=g(T)),\"a\"===R[0]&&\"r\"===R[1]&&\"boolean\"==typeof T&&(T=String(T));var q=f.attributeHook&&f.attributeHook(R,T,s,f,O);if(q||\"\"===q)U+=q;else if(\"dangerouslySetInnerHTML\"===R)W=T&&T.__html;else if(\"textarea\"===w&&\"value\"===R)D=T;else if((T||0===T||\"\"===T)&&\"function\"!=typeof T){if(!(!0!==T&&\"\"!==T||(T=R,f&&f.xml))){U=U+\" \"+R;continue}if(\"value\"===R){if(\"select\"===w){b=T;continue}\"option\"===w&&b==T&&void 0===A.selected&&(U+=\" selected\")}U=U+\" \"+R+'=\"'+c(T+\"\")+'\"'}}}else D=T}}if(h){var z=U.replace(/\\n\\s*/,\" \");z===U||~z.indexOf(\"\\n\")?h&&~U.indexOf(\"\\n\")&&(U+=\"\\n\"):U=z}if(U+=\">\",r.test(w))throw new Error(w+\" is not a valid HTML tag name in \"+U);var J,V=n.test(w)||f.voidElements&&f.voidElements.test(w),B=[];if(W)h&&u(W)&&(W=\"\\n\"+v+l(W,v)),U+=W;else if(null!=D&&y(J=[],D).length){for(var G=h&&~U.indexOf(\"\\n\"),K=!1,Q=0;Q<J.length;Q++){var X=J[Q];if(null!=X&&!1!==X){var Y=x(X,s,f,!0,\"svg\"===w||\"foreignObject\"!==w&&d,b);if(h&&!G&&u(Y)&&(G=!0),Y)if(h){var tt=Y.length>0&&\"<\"!=Y[0];K&&tt?B[B.length-1]+=Y:B.push(Y),K=tt}else B.push(Y)}}if(h&&G)for(var et=B.length;et--;)B[et]=\"\\n\"+v+l(B[et],v)}if(t.options.diffed&&t.options.diffed(e),B.length||W)U+=B.join(\"\");else if(f&&f.xml)return U.substring(0,U.length-1)+\" />\";return!V||J||W?(h&&~U.indexOf(\"\\n\")&&(U+=\"\\n\"),U=U+\"</\"+w+\">\"):U=U.replace(/>$/,\" />\"),U}function j(t){var e=(Function.prototype.toString.call(t).match(/^\\s*function\\s+([^( ]+)/)||\"\")[1];if(!e){for(var n=-1,r=h.length;r--;)if(h[r]===t){n=r;break}n<0&&(n=h.push(t)-1),e=\"UnnamedComponent\"+n}return e}const S=/(\\\\|\\\"|\\')/g;var k=function(t){return t.replace(S,\"\\\\$1\")};const w=Object.prototype.toString,A=Date.prototype.toISOString,O=Error.prototype.toString,C=RegExp.prototype.toString,F=Symbol.prototype.toString,E=/^Symbol\\((.*)\\)(.*)$/,$=/\\n/gi,H=Object.getOwnPropertySymbols||(t=>[]);function L(t){return\"[object Array]\"===t||\"[object ArrayBuffer]\"===t||\"[object DataView]\"===t||\"[object Float32Array]\"===t||\"[object Float64Array]\"===t||\"[object Int8Array]\"===t||\"[object Int16Array]\"===t||\"[object Int32Array]\"===t||\"[object Uint8Array]\"===t||\"[object Uint8ClampedArray]\"===t||\"[object Uint16Array]\"===t||\"[object Uint32Array]\"===t}function M(t){return t!=+t?\"NaN\":0===t&&1/t<0?\"-0\":\"\"+t}function I(t){return\"\"===t.name?\"[Function anonymous]\":\"[Function \"+t.name+\"]\"}function N(t){return F.call(t).replace(E,\"Symbol($1)\")}function D(t){return\"[\"+O.call(t)+\"]\"}function W(t){if(!0===t||!1===t)return\"\"+t;if(void 0===t)return\"undefined\";if(null===t)return\"null\";const e=typeof t;if(\"number\"===e)return M(t);if(\"string\"===e)return'\"'+k(t)+'\"';if(\"function\"===e)return I(t);if(\"symbol\"===e)return N(t);const n=w.call(t);return\"[object WeakMap]\"===n?\"WeakMap {}\":\"[object WeakSet]\"===n?\"WeakSet {}\":\"[object Function]\"===n||\"[object GeneratorFunction]\"===n?I(t,min):\"[object Symbol]\"===n?N(t):\"[object Date]\"===n?A.call(t):\"[object Error]\"===n?D(t):\"[object RegExp]\"===n?C.call(t):\"[object Arguments]\"===n&&0===t.length?\"Arguments []\":L(n)&&0===t.length?t.constructor.name+\" []\":t instanceof Error&&D(t)}function U(t,e,n,r,o,i,a,s,c,l){let u=\"\";if(t.length){u+=o;const f=n+e;for(let n=0;n<t.length;n++)u+=f+V(t[n],e,f,r,o,i,a,s,c,l),n<t.length-1&&(u+=\",\"+r);u+=o+n}return\"[\"+u+\"]\"}function Z(t,e,n,r,o,i,a,s,c,l){return(l?\"\":\"Arguments \")+U(t,e,n,r,o,i,a,s,c,l)}function P(t,e,n,r,o,i,a,s,c,l){return(l?\"\":t.constructor.name+\" \")+U(t,e,n,r,o,i,a,s,c,l)}function R(t,e,n,r,o,i,a,s,c,l){let u=\"Map {\";const f=t.entries();let p=f.next();if(!p.done){u+=o;const t=n+e;for(;!p.done;)u+=t+V(p.value[0],e,t,r,o,i,a,s,c,l)+\" => \"+V(p.value[1],e,t,r,o,i,a,s,c,l),p=f.next(),p.done||(u+=\",\"+r);u+=o+n}return u+\"}\"}function T(t,e,n,r,o,i,a,s,c,l){let u=(l?\"\":t.constructor?t.constructor.name+\" \":\"Object \")+\"{\",f=Object.keys(t).sort();const p=H(t);if(p.length&&(f=f.filter(t=>!(\"symbol\"==typeof t||\"[object Symbol]\"===w.call(t))).concat(p)),f.length){u+=o;const p=n+e;for(let n=0;n<f.length;n++){const d=f[n];u+=p+V(d,e,p,r,o,i,a,s,c,l)+\": \"+V(t[d],e,p,r,o,i,a,s,c,l),n<f.length-1&&(u+=\",\"+r)}u+=o+n}return u+\"}\"}function q(t,e,n,r,o,i,a,s,c,l){let u=\"Set {\";const f=t.entries();let p=f.next();if(!p.done){u+=o;const t=n+e;for(;!p.done;)u+=t+V(p.value[1],e,t,r,o,i,a,s,c,l),p=f.next(),p.done||(u+=\",\"+r);u+=o+n}return u+\"}\"}function z(t,e,n,r,o,i,a,s,c,l){if((i=i.slice()).indexOf(t)>-1)return\"[Circular]\";i.push(t);const u=++s>a;if(!u&&t.toJSON&&\"function\"==typeof t.toJSON)return V(t.toJSON(),e,n,r,o,i,a,s,c,l);const f=w.call(t);return\"[object Arguments]\"===f?u?\"[Arguments]\":Z(t,e,n,r,o,i,a,s,c,l):L(f)?u?\"[Array]\":P(t,e,n,r,o,i,a,s,c,l):\"[object Map]\"===f?u?\"[Map]\":R(t,e,n,r,o,i,a,s,c,l):\"[object Set]\"===f?u?\"[Set]\":q(t,e,n,r,o,i,a,s,c,l):\"object\"==typeof t?u?\"[Object]\":T(t,e,n,r,o,i,a,s,c,l):void 0}function J(t,e,n,r,o,i,a,s,c,l){let u,f=!1;for(let e=0;e<c.length;e++)if(u=c[e],u.test(t)){f=!0;break}return!!f&&u.print(t,function(t){return V(t,e,n,r,o,i,a,s,c,l)},function(t){const r=n+e;return r+t.replace($,\"\\n\"+r)},{edgeSpacing:o,spacing:r})}function V(t,e,n,r,o,i,a,s,c,l){return W(t)||J(t,e,n,r,o,i,a,s,c,l)||z(t,e,n,r,o,i,a,s,c,l)}const B={indent:2,min:!1,maxDepth:Infinity,plugins:[]};function G(t){if(Object.keys(t).forEach(t=>{if(!B.hasOwnProperty(t))throw new Error(\"prettyFormat: Invalid option: \"+t)}),t.min&&void 0!==t.indent&&0!==t.indent)throw new Error(\"prettyFormat: Cannot run with min option and indent\")}function K(t){const e={};return Object.keys(B).forEach(n=>e[n]=t.hasOwnProperty(n)?t[n]:B[n]),e.min&&(e.indent=0),e}function Q(t){return new Array(t+1).join(\" \")}var X=function(t,e){let n,r;e?(G(e),e=K(e)):e=B;const o=e.min?\" \":\"\\n\",i=e.min?\"\":\"\\n\";if(e&&e.plugins.length){n=Q(e.indent),r=[];var a=J(t,n,\"\",o,i,r,e.maxDepth,0,e.plugins,e.min);if(a)return a}return W(t)||(n||(n=Q(e.indent)),r||(r=[]),z(t,n,\"\",o,i,r,e.maxDepth,0,e.plugins,e.min))},Y={test:function(t){return t&&\"object\"==typeof t&&\"type\"in t&&\"props\"in t&&\"key\"in t},print:function(t,e,n){return _(t,Y.context,Y.opts,!0)}},tt={plugins:[Y]},et={attributeHook:function(t,e,n,r,o){var i=typeof e;if(\"dangerouslySetInnerHTML\"===t)return!1;if(null==e||\"function\"===i&&!r.functions)return\"\";if(r.skipFalseAttributes&&!o&&(!1===e||(\"class\"===t||\"style\"===t)&&\"\"===e))return\"\";var a=\"string\"==typeof r.pretty?r.pretty:\"\\t\";return\"string\"!==i?(\"function\"!==i||r.functionNames?(Y.context=n,Y.opts=r,~(e=X(e,tt)).indexOf(\"\\n\")&&(e=l(\"\\n\"+e,a)+\"\\n\")):e=\"Function\",l(\"\\n\"+t+\"={\"+e+\"}\",a)):\"\\n\"+a+t+'=\"'+c(e)+'\"'},jsx:!0,xml:!1,functions:!0,functionNames:!0,skipFalseAttributes:!0,pretty:\" \"};function nt(t,e,n){var r=Object.assign({},et,n||{});return r.jsx||(r.attributeHook=null),_(t,e,r)}var rt={shallow:!0};exports.default=nt,exports.render=nt,exports.shallowRender=function(t,e,n){return nt(t,e,Object.assign({},rt,n||{}))};\n//# sourceMappingURL=jsx.js.map\n"],"names":["Symbol","c","s","t"],"mappings":"wBAAA,GAAsB,mBAAXA,OAAuB,CACjC,IAAIC,EAAI,EAERD,OAAS,SAAUE,GAClB,MAAA,KAAYA,KAAMD,CAClB,EACDD,WAAa,SAACE,GAAAA,MAAAA,KAADC,CACb,CAAA"}
1
+ {"version":3,"file":"jsx.js","sources":["jsx.js"],"sourcesContent":["var t=require(\"preact\");if(\"function\"!=typeof Symbol){var e=0;Symbol=function(t){return\"@@\"+t+ ++e},Symbol.for=function(t){return\"@@\"+t}}var n=/^(?:area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/,r=/[\\s\\n\\\\/='\"\\0<>]/,o=/^(xlink|xmlns|xml)([A-Z])/,i=/^accessK|^auto[A-Z]|^ch|^col|cont|cross|dateT|encT|form[A-Z]|frame|hrefL|inputM|maxL|minL|noV|playsI|readO|rowS|spellC|src[A-Z]|tabI|item[A-Z]/,a=/^ac|^ali|arabic|basel|cap|clipPath$|clipRule$|color|dominant|enable|fill|flood|font|glyph[^R]|horiz|image|letter|lighting|marker[^WUH]|overline|panose|pointe|paint|rendering|shape|stop|strikethrough|stroke|text[^L]|transform|underline|unicode|units|^v[^i]|^w|^xH/,s=/[\"&<]/;function c(t){if(0===t.length||!1===s.test(t))return t;for(var e=0,n=0,r=\"\",o=\"\";n<t.length;n++){switch(t.charCodeAt(n)){case 34:o=\"&quot;\";break;case 38:o=\"&amp;\";break;case 60:o=\"&lt;\";break;default:continue}n!==e&&(r+=t.slice(e,n)),r+=o,e=n+1}return n!==e&&(r+=t.slice(e,n)),r}var l=function(t,e){return String(t).replace(/(\\n+)/g,\"$1\"+(e||\"\\t\"))},u=function(t,e,n){return String(t).length>(e||40)||!n&&-1!==String(t).indexOf(\"\\n\")||-1!==String(t).indexOf(\"<\")},f={},p=new Set([\"animation-iteration-count\",\"border-image-outset\",\"border-image-slice\",\"border-image-width\",\"box-flex\",\"box-flex-group\",\"box-ordinal-group\",\"column-count\",\"fill-opacity\",\"flex\",\"flex-grow\",\"flex-negative\",\"flex-order\",\"flex-positive\",\"flex-shrink\",\"flood-opacity\",\"font-weight\",\"grid-column\",\"grid-row\",\"line-clamp\",\"line-height\",\"opacity\",\"order\",\"orphans\",\"stop-opacity\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke-width\",\"tab-size\",\"widows\",\"z-index\",\"zoom\"]),d=/[A-Z]/g;function g(t){var e=\"\";for(var n in t){var r=t[n];if(null!=r&&\"\"!==r){var o=\"-\"==n[0]?n:f[n]||(f[n]=n.replace(d,\"-$&\").toLowerCase()),i=\";\";\"number\"!=typeof r||o.startsWith(\"--\")||p.has(o)||(i=\"px;\"),e=e+o+\":\"+r+i}}return e||void 0}function y(t,e){return Array.isArray(e)?e.reduce(y,t):null!=e&&!1!==e&&t.push(e),t}function b(){this.__d=!0}function m(t,e){return{__v:t,context:e,props:t.props,setState:b,forceUpdate:b,__d:!0,__h:[]}}var h=[],v=[];function _(e,n,r,o){var i=t.options.__s;t.options.__s=!0;try{return x(e,n||{},r,o)}finally{t.options.__c&&t.options.__c(e,v),t.options.__s=i,v.length=0}}function x(e,s,f,p,d,b){if(null==e||\"boolean\"==typeof e)return\"\";if(\"object\"!=typeof e)return\"function\"==typeof e?\"\":c(e+\"\");var h=f.pretty,v=h&&\"string\"==typeof h?h:\"\\t\";if(Array.isArray(e)){for(var _=\"\",S=0;S<e.length;S++)h&&S>0&&(_+=\"\\n\"),_+=x(e[S],s,f,p,d,b);return _}if(void 0!==e.constructor)return\"\";t.options.__b&&t.options.__b(e);var k,w=e.type,A=e.props,O=!1;if(\"function\"==typeof w){if(O=!0,!f.shallow||!p&&!1!==f.renderRootComponent){if(w===t.Fragment){var C=[];return y(C,e.props.children),x(C,s,f,!1!==f.shallowHighOrder,d,b)}var F,E=e.__c=m(e,s),$=t.options.__r,H=s,L=w.contextType;if(null!=L){var M=s[L.__c];H=M?M.props.value:L.__}if(w.prototype&&\"function\"==typeof w.prototype.render)(E=e.__c=new w(A,H)).__v=e,E._dirty=E.__d=!0,E.props=A,null==E.state&&(E.state={}),null==E._nextState&&null==E.__s&&(E._nextState=E.__s=E.state),E.context=H,w.getDerivedStateFromProps?E.state=Object.assign({},E.state,w.getDerivedStateFromProps(E.props,E.state)):E.componentWillMount&&(E.componentWillMount(),E.state=E._nextState!==E.state?E._nextState:E.__s!==E.state?E.__s:E.state),$&&$(e),F=E.render(E.props,E.state,E.context);else for(var I=0;E.__d&&I++<25;)E.__d=!1,$&&$(e),F=w.call(e.__c,A,H);E.getChildContext&&(s=Object.assign({},s,E.getChildContext()));var N=x(F,s,f,!1!==f.shallowHighOrder,d,b);return t.options.diffed&&t.options.diffed(e),N}w=(k=w).displayName||k!==Function&&k.name||j(k)}var D,W,U=\"<\"+w;if(A){var Z=Object.keys(A);f&&!0===f.sortAttributes&&Z.sort();for(var P=0;P<Z.length;P++){var R=Z[P],T=A[R];if(\"children\"!==R){if(!r.test(R)&&(f&&f.allAttributes||\"key\"!==R&&\"ref\"!==R&&\"__self\"!==R&&\"__source\"!==R)){if(\"defaultValue\"===R)R=\"value\";else if(\"defaultChecked\"===R)R=\"checked\";else if(\"defaultSelected\"===R)R=\"selected\";else if(\"className\"===R){if(void 0!==A.class)continue;R=\"class\"}else\"acceptCharset\"===R?R=\"accept-charset\":\"httpEquiv\"===R?R=\"http-equiv\":o.test(R)?R=R.replace(o,\"$1:$2\").toLowerCase():d?a.test(R)&&(R=\"panose1\"===R?\"panose-1\":R.replace(/([A-Z])/g,\"-$1\").toLowerCase()):i.test(R)&&(R=R.toLowerCase());if(\"htmlFor\"===R){if(A.for)continue;R=\"for\"}\"style\"===R&&T&&\"object\"==typeof T&&(T=g(T)),\"a\"===R[0]&&\"r\"===R[1]&&\"boolean\"==typeof T&&(T=String(T));var q=f.attributeHook&&f.attributeHook(R,T,s,f,O);if(q||\"\"===q)U+=q;else if(\"dangerouslySetInnerHTML\"===R)W=T&&T.__html;else if(\"textarea\"===w&&\"value\"===R)D=T;else if((T||0===T||\"\"===T)&&\"function\"!=typeof T){if(!(!0!==T&&\"\"!==T||(T=R,f&&f.xml))){U=U+\" \"+R;continue}if(\"value\"===R){if(\"select\"===w){b=T;continue}\"option\"===w&&b==T&&void 0===A.selected&&(U+=\" selected\")}U=U+\" \"+R+'=\"'+c(T+\"\")+'\"'}}}else D=T}}if(h){var z=U.replace(/\\n\\s*/,\" \");z===U||~z.indexOf(\"\\n\")?h&&~U.indexOf(\"\\n\")&&(U+=\"\\n\"):U=z}if(U+=\">\",r.test(w))throw new Error(w+\" is not a valid HTML tag name in \"+U);var J,V=n.test(w)||f.voidElements&&f.voidElements.test(w),B=[];if(W)h&&u(W)&&(W=\"\\n\"+v+l(W,v)),U+=W;else if(null!=D&&y(J=[],D).length){for(var G=h&&~U.indexOf(\"\\n\"),K=!1,Q=0;Q<J.length;Q++){var X=J[Q];if(null!=X&&!1!==X){var Y=x(X,s,f,!0,\"svg\"===w||\"foreignObject\"!==w&&d,b);if(h&&!G&&u(Y)&&(G=!0),Y)if(h){var tt=Y.length>0&&\"<\"!=Y[0];K&&tt?B[B.length-1]+=Y:B.push(Y),K=tt}else B.push(Y)}}if(h&&G)for(var et=B.length;et--;)B[et]=\"\\n\"+v+l(B[et],v)}if(t.options.diffed&&t.options.diffed(e),B.length||W)U+=B.join(\"\");else if(f&&f.xml)return U.substring(0,U.length-1)+\" />\";return!V||J||W?(h&&~U.indexOf(\"\\n\")&&(U+=\"\\n\"),U=U+\"</\"+w+\">\"):U=U.replace(/>$/,\" />\"),U}function j(t){var e=(Function.prototype.toString.call(t).match(/^\\s*function\\s+([^( ]+)/)||\"\")[1];if(!e){for(var n=-1,r=h.length;r--;)if(h[r]===t){n=r;break}n<0&&(n=h.push(t)-1),e=\"UnnamedComponent\"+n}return e}const S=/(\\\\|\\\"|\\')/g;var k=function(t){return t.replace(S,\"\\\\$1\")};const w=Object.prototype.toString,A=Date.prototype.toISOString,O=Error.prototype.toString,C=RegExp.prototype.toString,F=Symbol.prototype.toString,E=/^Symbol\\((.*)\\)(.*)$/,$=/\\n/gi,H=Object.getOwnPropertySymbols||(t=>[]);function L(t){return\"[object Array]\"===t||\"[object ArrayBuffer]\"===t||\"[object DataView]\"===t||\"[object Float32Array]\"===t||\"[object Float64Array]\"===t||\"[object Int8Array]\"===t||\"[object Int16Array]\"===t||\"[object Int32Array]\"===t||\"[object Uint8Array]\"===t||\"[object Uint8ClampedArray]\"===t||\"[object Uint16Array]\"===t||\"[object Uint32Array]\"===t}function M(t){return t!=+t?\"NaN\":0===t&&1/t<0?\"-0\":\"\"+t}function I(t){return\"\"===t.name?\"[Function anonymous]\":\"[Function \"+t.name+\"]\"}function N(t){return F.call(t).replace(E,\"Symbol($1)\")}function D(t){return\"[\"+O.call(t)+\"]\"}function W(t){if(!0===t||!1===t)return\"\"+t;if(void 0===t)return\"undefined\";if(null===t)return\"null\";const e=typeof t;if(\"number\"===e)return M(t);if(\"string\"===e)return'\"'+k(t)+'\"';if(\"function\"===e)return I(t);if(\"symbol\"===e)return N(t);const n=w.call(t);return\"[object WeakMap]\"===n?\"WeakMap {}\":\"[object WeakSet]\"===n?\"WeakSet {}\":\"[object Function]\"===n||\"[object GeneratorFunction]\"===n?I(t,min):\"[object Symbol]\"===n?N(t):\"[object Date]\"===n?A.call(t):\"[object Error]\"===n?D(t):\"[object RegExp]\"===n?C.call(t):\"[object Arguments]\"===n&&0===t.length?\"Arguments []\":L(n)&&0===t.length?t.constructor.name+\" []\":t instanceof Error&&D(t)}function U(t,e,n,r,o,i,a,s,c,l){let u=\"\";if(t.length){u+=o;const f=n+e;for(let n=0;n<t.length;n++)u+=f+V(t[n],e,f,r,o,i,a,s,c,l),n<t.length-1&&(u+=\",\"+r);u+=o+n}return\"[\"+u+\"]\"}function Z(t,e,n,r,o,i,a,s,c,l){return(l?\"\":\"Arguments \")+U(t,e,n,r,o,i,a,s,c,l)}function P(t,e,n,r,o,i,a,s,c,l){return(l?\"\":t.constructor.name+\" \")+U(t,e,n,r,o,i,a,s,c,l)}function R(t,e,n,r,o,i,a,s,c,l){let u=\"Map {\";const f=t.entries();let p=f.next();if(!p.done){u+=o;const t=n+e;for(;!p.done;)u+=t+V(p.value[0],e,t,r,o,i,a,s,c,l)+\" => \"+V(p.value[1],e,t,r,o,i,a,s,c,l),p=f.next(),p.done||(u+=\",\"+r);u+=o+n}return u+\"}\"}function T(t,e,n,r,o,i,a,s,c,l){let u=(l?\"\":t.constructor?t.constructor.name+\" \":\"Object \")+\"{\",f=Object.keys(t).sort();const p=H(t);if(p.length&&(f=f.filter(t=>!(\"symbol\"==typeof t||\"[object Symbol]\"===w.call(t))).concat(p)),f.length){u+=o;const p=n+e;for(let n=0;n<f.length;n++){const d=f[n];u+=p+V(d,e,p,r,o,i,a,s,c,l)+\": \"+V(t[d],e,p,r,o,i,a,s,c,l),n<f.length-1&&(u+=\",\"+r)}u+=o+n}return u+\"}\"}function q(t,e,n,r,o,i,a,s,c,l){let u=\"Set {\";const f=t.entries();let p=f.next();if(!p.done){u+=o;const t=n+e;for(;!p.done;)u+=t+V(p.value[1],e,t,r,o,i,a,s,c,l),p=f.next(),p.done||(u+=\",\"+r);u+=o+n}return u+\"}\"}function z(t,e,n,r,o,i,a,s,c,l){if((i=i.slice()).indexOf(t)>-1)return\"[Circular]\";i.push(t);const u=++s>a;if(!u&&t.toJSON&&\"function\"==typeof t.toJSON)return V(t.toJSON(),e,n,r,o,i,a,s,c,l);const f=w.call(t);return\"[object Arguments]\"===f?u?\"[Arguments]\":Z(t,e,n,r,o,i,a,s,c,l):L(f)?u?\"[Array]\":P(t,e,n,r,o,i,a,s,c,l):\"[object Map]\"===f?u?\"[Map]\":R(t,e,n,r,o,i,a,s,c,l):\"[object Set]\"===f?u?\"[Set]\":q(t,e,n,r,o,i,a,s,c,l):\"object\"==typeof t?u?\"[Object]\":T(t,e,n,r,o,i,a,s,c,l):void 0}function J(t,e,n,r,o,i,a,s,c,l){let u,f=!1;for(let e=0;e<c.length;e++)if(u=c[e],u.test(t)){f=!0;break}return!!f&&u.print(t,function(t){return V(t,e,n,r,o,i,a,s,c,l)},function(t){const r=n+e;return r+t.replace($,\"\\n\"+r)},{edgeSpacing:o,spacing:r})}function V(t,e,n,r,o,i,a,s,c,l){return W(t)||J(t,e,n,r,o,i,a,s,c,l)||z(t,e,n,r,o,i,a,s,c,l)}const B={indent:2,min:!1,maxDepth:Infinity,plugins:[]};function G(t){if(Object.keys(t).forEach(t=>{if(!B.hasOwnProperty(t))throw new Error(\"prettyFormat: Invalid option: \"+t)}),t.min&&void 0!==t.indent&&0!==t.indent)throw new Error(\"prettyFormat: Cannot run with min option and indent\")}function K(t){const e={};return Object.keys(B).forEach(n=>e[n]=t.hasOwnProperty(n)?t[n]:B[n]),e.min&&(e.indent=0),e}function Q(t){return new Array(t+1).join(\" \")}var X=function(t,e){let n,r;e?(G(e),e=K(e)):e=B;const o=e.min?\" \":\"\\n\",i=e.min?\"\":\"\\n\";if(e&&e.plugins.length){n=Q(e.indent),r=[];var a=J(t,n,\"\",o,i,r,e.maxDepth,0,e.plugins,e.min);if(a)return a}return W(t)||(n||(n=Q(e.indent)),r||(r=[]),z(t,n,\"\",o,i,r,e.maxDepth,0,e.plugins,e.min))},Y={test:function(t){return t&&\"object\"==typeof t&&\"type\"in t&&\"props\"in t&&\"key\"in t},print:function(t,e,n){return _(t,Y.context,Y.opts,!0)}},tt={plugins:[Y]},et={attributeHook:function(t,e,n,r,o){var i=typeof e;if(\"dangerouslySetInnerHTML\"===t)return!1;if(null==e||\"function\"===i&&!r.functions)return\"\";if(r.skipFalseAttributes&&!o&&(!1===e||(\"class\"===t||\"style\"===t)&&\"\"===e))return\"\";var a=\"string\"==typeof r.pretty?r.pretty:\"\\t\";return\"string\"!==i?(\"function\"!==i||r.functionNames?(Y.context=n,Y.opts=r,~(e=X(e,tt)).indexOf(\"\\n\")&&(e=l(\"\\n\"+e,a)+\"\\n\")):e=\"Function\",l(\"\\n\"+t+\"={\"+e+\"}\",a)):\"\\n\"+a+t+'=\"'+c(e)+'\"'},jsx:!0,xml:!1,functions:!0,functionNames:!0,skipFalseAttributes:!0,pretty:\" \"};function nt(t,e,n){var r=Object.assign({},et,n||{});return r.jsx||(r.attributeHook=null),_(t,e,r)}var rt={shallow:!0};exports.default=nt,exports.render=nt,exports.shallowRender=function(t,e,n){return nt(t,e,Object.assign({},rt,n||{}))};\n//# sourceMappingURL=jsx.js.map\n"],"names":["Symbol","e","t"],"mappings":"wBAAA,GAAsB,mBAAXA,OAAuB,CACjC,IAAIC,EAAI,EAERD,OAAS,SAAUE,GAClB,WAAYA,KAAMD,CACnB,EACAD,WAAa,SAACE,cAAWA,CAAC,CAC3B"}
package/dist/jsx.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"jsx.js","sources":["jsx.js"],"sourcesContent":["var t=require(\"preact\");if(\"function\"!=typeof Symbol){var e=0;Symbol=function(t){return\"@@\"+t+ ++e},Symbol.for=function(t){return\"@@\"+t}}var n=/^(?:area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/,r=/[\\s\\n\\\\/='\"\\0<>]/,o=/^(xlink|xmlns|xml)([A-Z])/,i=/^accessK|^auto[A-Z]|^ch|^col|cont|cross|dateT|encT|form[A-Z]|frame|hrefL|inputM|maxL|minL|noV|playsI|readO|rowS|spellC|src[A-Z]|tabI|item[A-Z]/,a=/^ac|^ali|arabic|basel|cap|clipPath$|clipRule$|color|dominant|enable|fill|flood|font|glyph[^R]|horiz|image|letter|lighting|marker[^WUH]|overline|panose|pointe|paint|rendering|shape|stop|strikethrough|stroke|text[^L]|transform|underline|unicode|units|^v[^i]|^w|^xH/,s=/[\"&<]/;function c(t){if(0===t.length||!1===s.test(t))return t;for(var e=0,n=0,r=\"\",o=\"\";n<t.length;n++){switch(t.charCodeAt(n)){case 34:o=\"&quot;\";break;case 38:o=\"&amp;\";break;case 60:o=\"&lt;\";break;default:continue}n!==e&&(r+=t.slice(e,n)),r+=o,e=n+1}return n!==e&&(r+=t.slice(e,n)),r}var l=function(t,e){return String(t).replace(/(\\n+)/g,\"$1\"+(e||\"\\t\"))},u=function(t,e,n){return String(t).length>(e||40)||!n&&-1!==String(t).indexOf(\"\\n\")||-1!==String(t).indexOf(\"<\")},f={},p=new Set([\"animation-iteration-count\",\"border-image-outset\",\"border-image-slice\",\"border-image-width\",\"box-flex\",\"box-flex-group\",\"box-ordinal-group\",\"column-count\",\"fill-opacity\",\"flex\",\"flex-grow\",\"flex-negative\",\"flex-order\",\"flex-positive\",\"flex-shrink\",\"flood-opacity\",\"font-weight\",\"grid-column\",\"grid-row\",\"line-clamp\",\"line-height\",\"opacity\",\"order\",\"orphans\",\"stop-opacity\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke-width\",\"tab-size\",\"widows\",\"z-index\",\"zoom\"]),d=/[A-Z]/g;function g(t){var e=\"\";for(var n in t){var r=t[n];if(null!=r&&\"\"!==r){var o=\"-\"==n[0]?n:f[n]||(f[n]=n.replace(d,\"-$&\").toLowerCase()),i=\";\";\"number\"!=typeof r||o.startsWith(\"--\")||p.has(o)||(i=\"px;\"),e=e+o+\":\"+r+i}}return e||void 0}function y(t,e){return Array.isArray(e)?e.reduce(y,t):null!=e&&!1!==e&&t.push(e),t}function b(){this.__d=!0}function m(t,e){return{__v:t,context:e,props:t.props,setState:b,forceUpdate:b,__d:!0,__h:[]}}var h=[],v=[];function _(e,n,r,o){var i=t.options.__s;t.options.__s=!0;try{return x(e,n||{},r,o)}finally{t.options.__c&&t.options.__c(e,v),t.options.__s=i,v.length=0}}function x(e,s,f,p,d,b){if(null==e||\"boolean\"==typeof e)return\"\";if(\"object\"!=typeof e)return\"function\"==typeof e?\"\":c(e+\"\");var h=f.pretty,v=h&&\"string\"==typeof h?h:\"\\t\";if(Array.isArray(e)){for(var _=\"\",S=0;S<e.length;S++)h&&S>0&&(_+=\"\\n\"),_+=x(e[S],s,f,p,d,b);return _}if(void 0!==e.constructor)return\"\";t.options.__b&&t.options.__b(e);var k,w=e.type,A=e.props,O=!1;if(\"function\"==typeof w){if(O=!0,!f.shallow||!p&&!1!==f.renderRootComponent){if(w===t.Fragment){var C=[];return y(C,e.props.children),x(C,s,f,!1!==f.shallowHighOrder,d,b)}var F,E=e.__c=m(e,s),$=t.options.__r,H=s,L=w.contextType;if(null!=L){var M=s[L.__c];H=M?M.props.value:L.__}if(w.prototype&&\"function\"==typeof w.prototype.render)(E=e.__c=new w(A,H)).__v=e,E._dirty=E.__d=!0,E.props=A,null==E.state&&(E.state={}),null==E._nextState&&null==E.__s&&(E._nextState=E.__s=E.state),E.context=H,w.getDerivedStateFromProps?E.state=Object.assign({},E.state,w.getDerivedStateFromProps(E.props,E.state)):E.componentWillMount&&(E.componentWillMount(),E.state=E._nextState!==E.state?E._nextState:E.__s!==E.state?E.__s:E.state),$&&$(e),F=E.render(E.props,E.state,E.context);else for(var I=0;E.__d&&I++<25;)E.__d=!1,$&&$(e),F=w.call(e.__c,A,H);E.getChildContext&&(s=Object.assign({},s,E.getChildContext()));var N=x(F,s,f,!1!==f.shallowHighOrder,d,b);return t.options.diffed&&t.options.diffed(e),N}w=(k=w).displayName||k!==Function&&k.name||j(k)}var D,W,U=\"<\"+w;if(A){var Z=Object.keys(A);f&&!0===f.sortAttributes&&Z.sort();for(var P=0;P<Z.length;P++){var R=Z[P],T=A[R];if(\"children\"!==R){if(!r.test(R)&&(f&&f.allAttributes||\"key\"!==R&&\"ref\"!==R&&\"__self\"!==R&&\"__source\"!==R)){if(\"defaultValue\"===R)R=\"value\";else if(\"defaultChecked\"===R)R=\"checked\";else if(\"defaultSelected\"===R)R=\"selected\";else if(\"className\"===R){if(void 0!==A.class)continue;R=\"class\"}else\"acceptCharset\"===R?R=\"accept-charset\":\"httpEquiv\"===R?R=\"http-equiv\":o.test(R)?R=R.replace(o,\"$1:$2\").toLowerCase():d?a.test(R)&&(R=\"panose1\"===R?\"panose-1\":R.replace(/([A-Z])/g,\"-$1\").toLowerCase()):i.test(R)&&(R=R.toLowerCase());if(\"htmlFor\"===R){if(A.for)continue;R=\"for\"}\"style\"===R&&T&&\"object\"==typeof T&&(T=g(T)),\"a\"===R[0]&&\"r\"===R[1]&&\"boolean\"==typeof T&&(T=String(T));var q=f.attributeHook&&f.attributeHook(R,T,s,f,O);if(q||\"\"===q)U+=q;else if(\"dangerouslySetInnerHTML\"===R)W=T&&T.__html;else if(\"textarea\"===w&&\"value\"===R)D=T;else if((T||0===T||\"\"===T)&&\"function\"!=typeof T){if(!(!0!==T&&\"\"!==T||(T=R,f&&f.xml))){U=U+\" \"+R;continue}if(\"value\"===R){if(\"select\"===w){b=T;continue}\"option\"===w&&b==T&&void 0===A.selected&&(U+=\" selected\")}U=U+\" \"+R+'=\"'+c(T+\"\")+'\"'}}}else D=T}}if(h){var z=U.replace(/\\n\\s*/,\" \");z===U||~z.indexOf(\"\\n\")?h&&~U.indexOf(\"\\n\")&&(U+=\"\\n\"):U=z}if(U+=\">\",r.test(w))throw new Error(w+\" is not a valid HTML tag name in \"+U);var J,V=n.test(w)||f.voidElements&&f.voidElements.test(w),B=[];if(W)h&&u(W)&&(W=\"\\n\"+v+l(W,v)),U+=W;else if(null!=D&&y(J=[],D).length){for(var G=h&&~U.indexOf(\"\\n\"),K=!1,Q=0;Q<J.length;Q++){var X=J[Q];if(null!=X&&!1!==X){var Y=x(X,s,f,!0,\"svg\"===w||\"foreignObject\"!==w&&d,b);if(h&&!G&&u(Y)&&(G=!0),Y)if(h){var tt=Y.length>0&&\"<\"!=Y[0];K&&tt?B[B.length-1]+=Y:B.push(Y),K=tt}else B.push(Y)}}if(h&&G)for(var et=B.length;et--;)B[et]=\"\\n\"+v+l(B[et],v)}if(t.options.diffed&&t.options.diffed(e),B.length||W)U+=B.join(\"\");else if(f&&f.xml)return U.substring(0,U.length-1)+\" />\";return!V||J||W?(h&&~U.indexOf(\"\\n\")&&(U+=\"\\n\"),U=U+\"</\"+w+\">\"):U=U.replace(/>$/,\" />\"),U}function j(t){var e=(Function.prototype.toString.call(t).match(/^\\s*function\\s+([^( ]+)/)||\"\")[1];if(!e){for(var n=-1,r=h.length;r--;)if(h[r]===t){n=r;break}n<0&&(n=h.push(t)-1),e=\"UnnamedComponent\"+n}return e}const S=/(\\\\|\\\"|\\')/g;var k=function(t){return t.replace(S,\"\\\\$1\")};const w=Object.prototype.toString,A=Date.prototype.toISOString,O=Error.prototype.toString,C=RegExp.prototype.toString,F=Symbol.prototype.toString,E=/^Symbol\\((.*)\\)(.*)$/,$=/\\n/gi,H=Object.getOwnPropertySymbols||(t=>[]);function L(t){return\"[object Array]\"===t||\"[object ArrayBuffer]\"===t||\"[object DataView]\"===t||\"[object Float32Array]\"===t||\"[object Float64Array]\"===t||\"[object Int8Array]\"===t||\"[object Int16Array]\"===t||\"[object Int32Array]\"===t||\"[object Uint8Array]\"===t||\"[object Uint8ClampedArray]\"===t||\"[object Uint16Array]\"===t||\"[object Uint32Array]\"===t}function M(t){return t!=+t?\"NaN\":0===t&&1/t<0?\"-0\":\"\"+t}function I(t){return\"\"===t.name?\"[Function anonymous]\":\"[Function \"+t.name+\"]\"}function N(t){return F.call(t).replace(E,\"Symbol($1)\")}function D(t){return\"[\"+O.call(t)+\"]\"}function W(t){if(!0===t||!1===t)return\"\"+t;if(void 0===t)return\"undefined\";if(null===t)return\"null\";const e=typeof t;if(\"number\"===e)return M(t);if(\"string\"===e)return'\"'+k(t)+'\"';if(\"function\"===e)return I(t);if(\"symbol\"===e)return N(t);const n=w.call(t);return\"[object WeakMap]\"===n?\"WeakMap {}\":\"[object WeakSet]\"===n?\"WeakSet {}\":\"[object Function]\"===n||\"[object GeneratorFunction]\"===n?I(t,min):\"[object Symbol]\"===n?N(t):\"[object Date]\"===n?A.call(t):\"[object Error]\"===n?D(t):\"[object RegExp]\"===n?C.call(t):\"[object Arguments]\"===n&&0===t.length?\"Arguments []\":L(n)&&0===t.length?t.constructor.name+\" []\":t instanceof Error&&D(t)}function U(t,e,n,r,o,i,a,s,c,l){let u=\"\";if(t.length){u+=o;const f=n+e;for(let n=0;n<t.length;n++)u+=f+V(t[n],e,f,r,o,i,a,s,c,l),n<t.length-1&&(u+=\",\"+r);u+=o+n}return\"[\"+u+\"]\"}function Z(t,e,n,r,o,i,a,s,c,l){return(l?\"\":\"Arguments \")+U(t,e,n,r,o,i,a,s,c,l)}function P(t,e,n,r,o,i,a,s,c,l){return(l?\"\":t.constructor.name+\" \")+U(t,e,n,r,o,i,a,s,c,l)}function R(t,e,n,r,o,i,a,s,c,l){let u=\"Map {\";const f=t.entries();let p=f.next();if(!p.done){u+=o;const t=n+e;for(;!p.done;)u+=t+V(p.value[0],e,t,r,o,i,a,s,c,l)+\" => \"+V(p.value[1],e,t,r,o,i,a,s,c,l),p=f.next(),p.done||(u+=\",\"+r);u+=o+n}return u+\"}\"}function T(t,e,n,r,o,i,a,s,c,l){let u=(l?\"\":t.constructor?t.constructor.name+\" \":\"Object \")+\"{\",f=Object.keys(t).sort();const p=H(t);if(p.length&&(f=f.filter(t=>!(\"symbol\"==typeof t||\"[object Symbol]\"===w.call(t))).concat(p)),f.length){u+=o;const p=n+e;for(let n=0;n<f.length;n++){const d=f[n];u+=p+V(d,e,p,r,o,i,a,s,c,l)+\": \"+V(t[d],e,p,r,o,i,a,s,c,l),n<f.length-1&&(u+=\",\"+r)}u+=o+n}return u+\"}\"}function q(t,e,n,r,o,i,a,s,c,l){let u=\"Set {\";const f=t.entries();let p=f.next();if(!p.done){u+=o;const t=n+e;for(;!p.done;)u+=t+V(p.value[1],e,t,r,o,i,a,s,c,l),p=f.next(),p.done||(u+=\",\"+r);u+=o+n}return u+\"}\"}function z(t,e,n,r,o,i,a,s,c,l){if((i=i.slice()).indexOf(t)>-1)return\"[Circular]\";i.push(t);const u=++s>a;if(!u&&t.toJSON&&\"function\"==typeof t.toJSON)return V(t.toJSON(),e,n,r,o,i,a,s,c,l);const f=w.call(t);return\"[object Arguments]\"===f?u?\"[Arguments]\":Z(t,e,n,r,o,i,a,s,c,l):L(f)?u?\"[Array]\":P(t,e,n,r,o,i,a,s,c,l):\"[object Map]\"===f?u?\"[Map]\":R(t,e,n,r,o,i,a,s,c,l):\"[object Set]\"===f?u?\"[Set]\":q(t,e,n,r,o,i,a,s,c,l):\"object\"==typeof t?u?\"[Object]\":T(t,e,n,r,o,i,a,s,c,l):void 0}function J(t,e,n,r,o,i,a,s,c,l){let u,f=!1;for(let e=0;e<c.length;e++)if(u=c[e],u.test(t)){f=!0;break}return!!f&&u.print(t,function(t){return V(t,e,n,r,o,i,a,s,c,l)},function(t){const r=n+e;return r+t.replace($,\"\\n\"+r)},{edgeSpacing:o,spacing:r})}function V(t,e,n,r,o,i,a,s,c,l){return W(t)||J(t,e,n,r,o,i,a,s,c,l)||z(t,e,n,r,o,i,a,s,c,l)}const B={indent:2,min:!1,maxDepth:Infinity,plugins:[]};function G(t){if(Object.keys(t).forEach(t=>{if(!B.hasOwnProperty(t))throw new Error(\"prettyFormat: Invalid option: \"+t)}),t.min&&void 0!==t.indent&&0!==t.indent)throw new Error(\"prettyFormat: Cannot run with min option and indent\")}function K(t){const e={};return Object.keys(B).forEach(n=>e[n]=t.hasOwnProperty(n)?t[n]:B[n]),e.min&&(e.indent=0),e}function Q(t){return new Array(t+1).join(\" \")}var X=function(t,e){let n,r;e?(G(e),e=K(e)):e=B;const o=e.min?\" \":\"\\n\",i=e.min?\"\":\"\\n\";if(e&&e.plugins.length){n=Q(e.indent),r=[];var a=J(t,n,\"\",o,i,r,e.maxDepth,0,e.plugins,e.min);if(a)return a}return W(t)||(n||(n=Q(e.indent)),r||(r=[]),z(t,n,\"\",o,i,r,e.maxDepth,0,e.plugins,e.min))},Y={test:function(t){return t&&\"object\"==typeof t&&\"type\"in t&&\"props\"in t&&\"key\"in t},print:function(t,e,n){return _(t,Y.context,Y.opts,!0)}},tt={plugins:[Y]},et={attributeHook:function(t,e,n,r,o){var i=typeof e;if(\"dangerouslySetInnerHTML\"===t)return!1;if(null==e||\"function\"===i&&!r.functions)return\"\";if(r.skipFalseAttributes&&!o&&(!1===e||(\"class\"===t||\"style\"===t)&&\"\"===e))return\"\";var a=\"string\"==typeof r.pretty?r.pretty:\"\\t\";return\"string\"!==i?(\"function\"!==i||r.functionNames?(Y.context=n,Y.opts=r,~(e=X(e,tt)).indexOf(\"\\n\")&&(e=l(\"\\n\"+e,a)+\"\\n\")):e=\"Function\",l(\"\\n\"+t+\"={\"+e+\"}\",a)):\"\\n\"+a+t+'=\"'+c(e)+'\"'},jsx:!0,xml:!1,functions:!0,functionNames:!0,skipFalseAttributes:!0,pretty:\" \"};function nt(t,e,n){var r=Object.assign({},et,n||{});return r.jsx||(r.attributeHook=null),_(t,e,r)}var rt={shallow:!0};exports.default=nt,exports.render=nt,exports.shallowRender=function(t,e,n){return nt(t,e,Object.assign({},rt,n||{}))};\n//# sourceMappingURL=jsx.js.map\n"],"names":["Symbol","c","s","t"],"mappings":"wBAAA,GAAsB,mBAAXA,OAAuB,CACjC,IAAIC,EAAI,EAERD,OAAS,SAAUE,GAClB,MAAA,KAAYA,KAAMD,CAClB,EACDD,WAAa,SAACE,GAAAA,MAAAA,KAADC,CACb,CAAA"}
1
+ {"version":3,"file":"jsx.js","sources":["jsx.js"],"sourcesContent":["var t=require(\"preact\");if(\"function\"!=typeof Symbol){var e=0;Symbol=function(t){return\"@@\"+t+ ++e},Symbol.for=function(t){return\"@@\"+t}}var n=/^(?:area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/,r=/[\\s\\n\\\\/='\"\\0<>]/,o=/^(xlink|xmlns|xml)([A-Z])/,i=/^accessK|^auto[A-Z]|^ch|^col|cont|cross|dateT|encT|form[A-Z]|frame|hrefL|inputM|maxL|minL|noV|playsI|readO|rowS|spellC|src[A-Z]|tabI|item[A-Z]/,a=/^ac|^ali|arabic|basel|cap|clipPath$|clipRule$|color|dominant|enable|fill|flood|font|glyph[^R]|horiz|image|letter|lighting|marker[^WUH]|overline|panose|pointe|paint|rendering|shape|stop|strikethrough|stroke|text[^L]|transform|underline|unicode|units|^v[^i]|^w|^xH/,s=/[\"&<]/;function c(t){if(0===t.length||!1===s.test(t))return t;for(var e=0,n=0,r=\"\",o=\"\";n<t.length;n++){switch(t.charCodeAt(n)){case 34:o=\"&quot;\";break;case 38:o=\"&amp;\";break;case 60:o=\"&lt;\";break;default:continue}n!==e&&(r+=t.slice(e,n)),r+=o,e=n+1}return n!==e&&(r+=t.slice(e,n)),r}var l=function(t,e){return String(t).replace(/(\\n+)/g,\"$1\"+(e||\"\\t\"))},u=function(t,e,n){return String(t).length>(e||40)||!n&&-1!==String(t).indexOf(\"\\n\")||-1!==String(t).indexOf(\"<\")},f={},p=new Set([\"animation-iteration-count\",\"border-image-outset\",\"border-image-slice\",\"border-image-width\",\"box-flex\",\"box-flex-group\",\"box-ordinal-group\",\"column-count\",\"fill-opacity\",\"flex\",\"flex-grow\",\"flex-negative\",\"flex-order\",\"flex-positive\",\"flex-shrink\",\"flood-opacity\",\"font-weight\",\"grid-column\",\"grid-row\",\"line-clamp\",\"line-height\",\"opacity\",\"order\",\"orphans\",\"stop-opacity\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke-width\",\"tab-size\",\"widows\",\"z-index\",\"zoom\"]),d=/[A-Z]/g;function g(t){var e=\"\";for(var n in t){var r=t[n];if(null!=r&&\"\"!==r){var o=\"-\"==n[0]?n:f[n]||(f[n]=n.replace(d,\"-$&\").toLowerCase()),i=\";\";\"number\"!=typeof r||o.startsWith(\"--\")||p.has(o)||(i=\"px;\"),e=e+o+\":\"+r+i}}return e||void 0}function y(t,e){return Array.isArray(e)?e.reduce(y,t):null!=e&&!1!==e&&t.push(e),t}function b(){this.__d=!0}function m(t,e){return{__v:t,context:e,props:t.props,setState:b,forceUpdate:b,__d:!0,__h:[]}}var h=[],v=[];function _(e,n,r,o){var i=t.options.__s;t.options.__s=!0;try{return x(e,n||{},r,o)}finally{t.options.__c&&t.options.__c(e,v),t.options.__s=i,v.length=0}}function x(e,s,f,p,d,b){if(null==e||\"boolean\"==typeof e)return\"\";if(\"object\"!=typeof e)return\"function\"==typeof e?\"\":c(e+\"\");var h=f.pretty,v=h&&\"string\"==typeof h?h:\"\\t\";if(Array.isArray(e)){for(var _=\"\",S=0;S<e.length;S++)h&&S>0&&(_+=\"\\n\"),_+=x(e[S],s,f,p,d,b);return _}if(void 0!==e.constructor)return\"\";t.options.__b&&t.options.__b(e);var k,w=e.type,A=e.props,O=!1;if(\"function\"==typeof w){if(O=!0,!f.shallow||!p&&!1!==f.renderRootComponent){if(w===t.Fragment){var C=[];return y(C,e.props.children),x(C,s,f,!1!==f.shallowHighOrder,d,b)}var F,E=e.__c=m(e,s),$=t.options.__r,H=s,L=w.contextType;if(null!=L){var M=s[L.__c];H=M?M.props.value:L.__}if(w.prototype&&\"function\"==typeof w.prototype.render)(E=e.__c=new w(A,H)).__v=e,E._dirty=E.__d=!0,E.props=A,null==E.state&&(E.state={}),null==E._nextState&&null==E.__s&&(E._nextState=E.__s=E.state),E.context=H,w.getDerivedStateFromProps?E.state=Object.assign({},E.state,w.getDerivedStateFromProps(E.props,E.state)):E.componentWillMount&&(E.componentWillMount(),E.state=E._nextState!==E.state?E._nextState:E.__s!==E.state?E.__s:E.state),$&&$(e),F=E.render(E.props,E.state,E.context);else for(var I=0;E.__d&&I++<25;)E.__d=!1,$&&$(e),F=w.call(e.__c,A,H);E.getChildContext&&(s=Object.assign({},s,E.getChildContext()));var N=x(F,s,f,!1!==f.shallowHighOrder,d,b);return t.options.diffed&&t.options.diffed(e),N}w=(k=w).displayName||k!==Function&&k.name||j(k)}var D,W,U=\"<\"+w;if(A){var Z=Object.keys(A);f&&!0===f.sortAttributes&&Z.sort();for(var P=0;P<Z.length;P++){var R=Z[P],T=A[R];if(\"children\"!==R){if(!r.test(R)&&(f&&f.allAttributes||\"key\"!==R&&\"ref\"!==R&&\"__self\"!==R&&\"__source\"!==R)){if(\"defaultValue\"===R)R=\"value\";else if(\"defaultChecked\"===R)R=\"checked\";else if(\"defaultSelected\"===R)R=\"selected\";else if(\"className\"===R){if(void 0!==A.class)continue;R=\"class\"}else\"acceptCharset\"===R?R=\"accept-charset\":\"httpEquiv\"===R?R=\"http-equiv\":o.test(R)?R=R.replace(o,\"$1:$2\").toLowerCase():d?a.test(R)&&(R=\"panose1\"===R?\"panose-1\":R.replace(/([A-Z])/g,\"-$1\").toLowerCase()):i.test(R)&&(R=R.toLowerCase());if(\"htmlFor\"===R){if(A.for)continue;R=\"for\"}\"style\"===R&&T&&\"object\"==typeof T&&(T=g(T)),\"a\"===R[0]&&\"r\"===R[1]&&\"boolean\"==typeof T&&(T=String(T));var q=f.attributeHook&&f.attributeHook(R,T,s,f,O);if(q||\"\"===q)U+=q;else if(\"dangerouslySetInnerHTML\"===R)W=T&&T.__html;else if(\"textarea\"===w&&\"value\"===R)D=T;else if((T||0===T||\"\"===T)&&\"function\"!=typeof T){if(!(!0!==T&&\"\"!==T||(T=R,f&&f.xml))){U=U+\" \"+R;continue}if(\"value\"===R){if(\"select\"===w){b=T;continue}\"option\"===w&&b==T&&void 0===A.selected&&(U+=\" selected\")}U=U+\" \"+R+'=\"'+c(T+\"\")+'\"'}}}else D=T}}if(h){var z=U.replace(/\\n\\s*/,\" \");z===U||~z.indexOf(\"\\n\")?h&&~U.indexOf(\"\\n\")&&(U+=\"\\n\"):U=z}if(U+=\">\",r.test(w))throw new Error(w+\" is not a valid HTML tag name in \"+U);var J,V=n.test(w)||f.voidElements&&f.voidElements.test(w),B=[];if(W)h&&u(W)&&(W=\"\\n\"+v+l(W,v)),U+=W;else if(null!=D&&y(J=[],D).length){for(var G=h&&~U.indexOf(\"\\n\"),K=!1,Q=0;Q<J.length;Q++){var X=J[Q];if(null!=X&&!1!==X){var Y=x(X,s,f,!0,\"svg\"===w||\"foreignObject\"!==w&&d,b);if(h&&!G&&u(Y)&&(G=!0),Y)if(h){var tt=Y.length>0&&\"<\"!=Y[0];K&&tt?B[B.length-1]+=Y:B.push(Y),K=tt}else B.push(Y)}}if(h&&G)for(var et=B.length;et--;)B[et]=\"\\n\"+v+l(B[et],v)}if(t.options.diffed&&t.options.diffed(e),B.length||W)U+=B.join(\"\");else if(f&&f.xml)return U.substring(0,U.length-1)+\" />\";return!V||J||W?(h&&~U.indexOf(\"\\n\")&&(U+=\"\\n\"),U=U+\"</\"+w+\">\"):U=U.replace(/>$/,\" />\"),U}function j(t){var e=(Function.prototype.toString.call(t).match(/^\\s*function\\s+([^( ]+)/)||\"\")[1];if(!e){for(var n=-1,r=h.length;r--;)if(h[r]===t){n=r;break}n<0&&(n=h.push(t)-1),e=\"UnnamedComponent\"+n}return e}const S=/(\\\\|\\\"|\\')/g;var k=function(t){return t.replace(S,\"\\\\$1\")};const w=Object.prototype.toString,A=Date.prototype.toISOString,O=Error.prototype.toString,C=RegExp.prototype.toString,F=Symbol.prototype.toString,E=/^Symbol\\((.*)\\)(.*)$/,$=/\\n/gi,H=Object.getOwnPropertySymbols||(t=>[]);function L(t){return\"[object Array]\"===t||\"[object ArrayBuffer]\"===t||\"[object DataView]\"===t||\"[object Float32Array]\"===t||\"[object Float64Array]\"===t||\"[object Int8Array]\"===t||\"[object Int16Array]\"===t||\"[object Int32Array]\"===t||\"[object Uint8Array]\"===t||\"[object Uint8ClampedArray]\"===t||\"[object Uint16Array]\"===t||\"[object Uint32Array]\"===t}function M(t){return t!=+t?\"NaN\":0===t&&1/t<0?\"-0\":\"\"+t}function I(t){return\"\"===t.name?\"[Function anonymous]\":\"[Function \"+t.name+\"]\"}function N(t){return F.call(t).replace(E,\"Symbol($1)\")}function D(t){return\"[\"+O.call(t)+\"]\"}function W(t){if(!0===t||!1===t)return\"\"+t;if(void 0===t)return\"undefined\";if(null===t)return\"null\";const e=typeof t;if(\"number\"===e)return M(t);if(\"string\"===e)return'\"'+k(t)+'\"';if(\"function\"===e)return I(t);if(\"symbol\"===e)return N(t);const n=w.call(t);return\"[object WeakMap]\"===n?\"WeakMap {}\":\"[object WeakSet]\"===n?\"WeakSet {}\":\"[object Function]\"===n||\"[object GeneratorFunction]\"===n?I(t,min):\"[object Symbol]\"===n?N(t):\"[object Date]\"===n?A.call(t):\"[object Error]\"===n?D(t):\"[object RegExp]\"===n?C.call(t):\"[object Arguments]\"===n&&0===t.length?\"Arguments []\":L(n)&&0===t.length?t.constructor.name+\" []\":t instanceof Error&&D(t)}function U(t,e,n,r,o,i,a,s,c,l){let u=\"\";if(t.length){u+=o;const f=n+e;for(let n=0;n<t.length;n++)u+=f+V(t[n],e,f,r,o,i,a,s,c,l),n<t.length-1&&(u+=\",\"+r);u+=o+n}return\"[\"+u+\"]\"}function Z(t,e,n,r,o,i,a,s,c,l){return(l?\"\":\"Arguments \")+U(t,e,n,r,o,i,a,s,c,l)}function P(t,e,n,r,o,i,a,s,c,l){return(l?\"\":t.constructor.name+\" \")+U(t,e,n,r,o,i,a,s,c,l)}function R(t,e,n,r,o,i,a,s,c,l){let u=\"Map {\";const f=t.entries();let p=f.next();if(!p.done){u+=o;const t=n+e;for(;!p.done;)u+=t+V(p.value[0],e,t,r,o,i,a,s,c,l)+\" => \"+V(p.value[1],e,t,r,o,i,a,s,c,l),p=f.next(),p.done||(u+=\",\"+r);u+=o+n}return u+\"}\"}function T(t,e,n,r,o,i,a,s,c,l){let u=(l?\"\":t.constructor?t.constructor.name+\" \":\"Object \")+\"{\",f=Object.keys(t).sort();const p=H(t);if(p.length&&(f=f.filter(t=>!(\"symbol\"==typeof t||\"[object Symbol]\"===w.call(t))).concat(p)),f.length){u+=o;const p=n+e;for(let n=0;n<f.length;n++){const d=f[n];u+=p+V(d,e,p,r,o,i,a,s,c,l)+\": \"+V(t[d],e,p,r,o,i,a,s,c,l),n<f.length-1&&(u+=\",\"+r)}u+=o+n}return u+\"}\"}function q(t,e,n,r,o,i,a,s,c,l){let u=\"Set {\";const f=t.entries();let p=f.next();if(!p.done){u+=o;const t=n+e;for(;!p.done;)u+=t+V(p.value[1],e,t,r,o,i,a,s,c,l),p=f.next(),p.done||(u+=\",\"+r);u+=o+n}return u+\"}\"}function z(t,e,n,r,o,i,a,s,c,l){if((i=i.slice()).indexOf(t)>-1)return\"[Circular]\";i.push(t);const u=++s>a;if(!u&&t.toJSON&&\"function\"==typeof t.toJSON)return V(t.toJSON(),e,n,r,o,i,a,s,c,l);const f=w.call(t);return\"[object Arguments]\"===f?u?\"[Arguments]\":Z(t,e,n,r,o,i,a,s,c,l):L(f)?u?\"[Array]\":P(t,e,n,r,o,i,a,s,c,l):\"[object Map]\"===f?u?\"[Map]\":R(t,e,n,r,o,i,a,s,c,l):\"[object Set]\"===f?u?\"[Set]\":q(t,e,n,r,o,i,a,s,c,l):\"object\"==typeof t?u?\"[Object]\":T(t,e,n,r,o,i,a,s,c,l):void 0}function J(t,e,n,r,o,i,a,s,c,l){let u,f=!1;for(let e=0;e<c.length;e++)if(u=c[e],u.test(t)){f=!0;break}return!!f&&u.print(t,function(t){return V(t,e,n,r,o,i,a,s,c,l)},function(t){const r=n+e;return r+t.replace($,\"\\n\"+r)},{edgeSpacing:o,spacing:r})}function V(t,e,n,r,o,i,a,s,c,l){return W(t)||J(t,e,n,r,o,i,a,s,c,l)||z(t,e,n,r,o,i,a,s,c,l)}const B={indent:2,min:!1,maxDepth:Infinity,plugins:[]};function G(t){if(Object.keys(t).forEach(t=>{if(!B.hasOwnProperty(t))throw new Error(\"prettyFormat: Invalid option: \"+t)}),t.min&&void 0!==t.indent&&0!==t.indent)throw new Error(\"prettyFormat: Cannot run with min option and indent\")}function K(t){const e={};return Object.keys(B).forEach(n=>e[n]=t.hasOwnProperty(n)?t[n]:B[n]),e.min&&(e.indent=0),e}function Q(t){return new Array(t+1).join(\" \")}var X=function(t,e){let n,r;e?(G(e),e=K(e)):e=B;const o=e.min?\" \":\"\\n\",i=e.min?\"\":\"\\n\";if(e&&e.plugins.length){n=Q(e.indent),r=[];var a=J(t,n,\"\",o,i,r,e.maxDepth,0,e.plugins,e.min);if(a)return a}return W(t)||(n||(n=Q(e.indent)),r||(r=[]),z(t,n,\"\",o,i,r,e.maxDepth,0,e.plugins,e.min))},Y={test:function(t){return t&&\"object\"==typeof t&&\"type\"in t&&\"props\"in t&&\"key\"in t},print:function(t,e,n){return _(t,Y.context,Y.opts,!0)}},tt={plugins:[Y]},et={attributeHook:function(t,e,n,r,o){var i=typeof e;if(\"dangerouslySetInnerHTML\"===t)return!1;if(null==e||\"function\"===i&&!r.functions)return\"\";if(r.skipFalseAttributes&&!o&&(!1===e||(\"class\"===t||\"style\"===t)&&\"\"===e))return\"\";var a=\"string\"==typeof r.pretty?r.pretty:\"\\t\";return\"string\"!==i?(\"function\"!==i||r.functionNames?(Y.context=n,Y.opts=r,~(e=X(e,tt)).indexOf(\"\\n\")&&(e=l(\"\\n\"+e,a)+\"\\n\")):e=\"Function\",l(\"\\n\"+t+\"={\"+e+\"}\",a)):\"\\n\"+a+t+'=\"'+c(e)+'\"'},jsx:!0,xml:!1,functions:!0,functionNames:!0,skipFalseAttributes:!0,pretty:\" \"};function nt(t,e,n){var r=Object.assign({},et,n||{});return r.jsx||(r.attributeHook=null),_(t,e,r)}var rt={shallow:!0};exports.default=nt,exports.render=nt,exports.shallowRender=function(t,e,n){return nt(t,e,Object.assign({},rt,n||{}))};\n//# sourceMappingURL=jsx.js.map\n"],"names":["Symbol","e","t"],"mappings":"wBAAA,GAAsB,mBAAXA,OAAuB,CACjC,IAAIC,EAAI,EAERD,OAAS,SAAUE,GAClB,WAAYA,KAAMD,CACnB,EACAD,WAAa,SAACE,cAAWA,CAAC,CAC3B"}
package/dist/jsx.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"jsx.mjs","sources":["../src/polyfills.js","../src/util.js","../src/pretty.js","../node_modules/pretty-format/printString.js","../node_modules/pretty-format/index.js","../src/jsx.js"],"sourcesContent":["if (typeof Symbol !== 'function') {\n\tlet c = 0;\n\t// eslint-disable-next-line\n\tSymbol = function (s) {\n\t\treturn `@@${s}${++c}`;\n\t};\n\tSymbol.for = (s) => `@@${s}`;\n}\n","export const VOID_ELEMENTS = /^(?:area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;\nexport const UNSAFE_NAME = /[\\s\\n\\\\/='\"\\0<>]/;\nexport const NAMESPACE_REPLACE_REGEX = /^(xlink|xmlns|xml)([A-Z])/;\nexport const HTML_LOWER_CASE = /^accessK|^auto[A-Z]|^ch|^col|cont|cross|dateT|encT|form[A-Z]|frame|hrefL|inputM|maxL|minL|noV|playsI|readO|rowS|spellC|src[A-Z]|tabI|item[A-Z]/;\nexport const SVG_CAMEL_CASE = /^ac|^ali|arabic|basel|cap|clipPath$|clipRule$|color|dominant|enable|fill|flood|font|glyph[^R]|horiz|image|letter|lighting|marker[^WUH]|overline|panose|pointe|paint|rendering|shape|stop|strikethrough|stroke|text[^L]|transform|underline|unicode|units|^v[^i]|^w|^xH/;\n\n// DOM properties that should NOT have \"px\" added when numeric\nconst ENCODED_ENTITIES = /[\"&<]/;\n\n/** @param {string} str */\nexport function encodeEntities(str) {\n\t// Skip all work for strings with no entities needing encoding:\n\tif (str.length === 0 || ENCODED_ENTITIES.test(str) === false) return str;\n\n\tlet last = 0,\n\t\ti = 0,\n\t\tout = '',\n\t\tch = '';\n\n\t// Seek forward in str until the next entity char:\n\tfor (; i < str.length; i++) {\n\t\tswitch (str.charCodeAt(i)) {\n\t\t\tcase 34:\n\t\t\t\tch = '&quot;';\n\t\t\t\tbreak;\n\t\t\tcase 38:\n\t\t\t\tch = '&amp;';\n\t\t\t\tbreak;\n\t\t\tcase 60:\n\t\t\t\tch = '&lt;';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcontinue;\n\t\t}\n\t\t// Append skipped/buffered characters and the encoded entity:\n\t\tif (i !== last) out += str.slice(last, i);\n\t\tout += ch;\n\t\t// Start the next seek/buffer after the entity's offset:\n\t\tlast = i + 1;\n\t}\n\tif (i !== last) out += str.slice(last, i);\n\treturn out;\n}\n\nexport let indent = (s, char) =>\n\tString(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n\nexport let isLargeString = (s, length, ignoreLines) =>\n\tString(s).length > (length || 40) ||\n\t(!ignoreLines && String(s).indexOf('\\n') !== -1) ||\n\tString(s).indexOf('<') !== -1;\n\nconst JS_TO_CSS = {};\n\nconst IS_NON_DIMENSIONAL = new Set([\n\t'animation-iteration-count',\n\t'border-image-outset',\n\t'border-image-slice',\n\t'border-image-width',\n\t'box-flex',\n\t'box-flex-group',\n\t'box-ordinal-group',\n\t'column-count',\n\t'fill-opacity',\n\t'flex',\n\t'flex-grow',\n\t'flex-negative',\n\t'flex-order',\n\t'flex-positive',\n\t'flex-shrink',\n\t'flood-opacity',\n\t'font-weight',\n\t'grid-column',\n\t'grid-row',\n\t'line-clamp',\n\t'line-height',\n\t'opacity',\n\t'order',\n\t'orphans',\n\t'stop-opacity',\n\t'stroke-dasharray',\n\t'stroke-dashoffset',\n\t'stroke-miterlimit',\n\t'stroke-opacity',\n\t'stroke-width',\n\t'tab-size',\n\t'widows',\n\t'z-index',\n\t'zoom'\n]);\n\nconst CSS_REGEX = /[A-Z]/g;\n// Convert an Object style to a CSSText string\nexport function styleObjToCss(s) {\n\tlet str = '';\n\tfor (let prop in s) {\n\t\tlet val = s[prop];\n\t\tif (val != null && val !== '') {\n\t\t\tconst name =\n\t\t\t\tprop[0] == '-'\n\t\t\t\t\t? prop\n\t\t\t\t\t: JS_TO_CSS[prop] ||\n\t\t\t\t\t (JS_TO_CSS[prop] = prop.replace(CSS_REGEX, '-$&').toLowerCase());\n\n\t\t\tlet suffix = ';';\n\t\t\tif (\n\t\t\t\ttypeof val === 'number' &&\n\t\t\t\t// Exclude custom-attributes\n\t\t\t\t!name.startsWith('--') &&\n\t\t\t\t!IS_NON_DIMENSIONAL.has(name)\n\t\t\t) {\n\t\t\t\tsuffix = 'px;';\n\t\t\t}\n\t\t\tstr = str + name + ':' + val + suffix;\n\t\t}\n\t}\n\treturn str || undefined;\n}\n\n/**\n * Get flattened children from the children prop\n * @param {Array} accumulator\n * @param {any} children A `props.children` opaque object.\n * @returns {Array} accumulator\n * @private\n */\nexport function getChildren(accumulator, children) {\n\tif (Array.isArray(children)) {\n\t\tchildren.reduce(getChildren, accumulator);\n\t} else if (children != null && children !== false) {\n\t\taccumulator.push(children);\n\t}\n\treturn accumulator;\n}\n\nfunction markAsDirty() {\n\tthis.__d = true;\n}\n\nexport function createComponent(vnode, context) {\n\treturn {\n\t\t__v: vnode,\n\t\tcontext,\n\t\tprops: vnode.props,\n\t\t// silently drop state updates\n\t\tsetState: markAsDirty,\n\t\tforceUpdate: markAsDirty,\n\t\t__d: true,\n\t\t// hooks\n\t\t__h: []\n\t};\n}\n","import {\n\tencodeEntities,\n\tindent,\n\tisLargeString,\n\tstyleObjToCss,\n\tgetChildren,\n\tcreateComponent,\n\tUNSAFE_NAME,\n\tVOID_ELEMENTS,\n\tNAMESPACE_REPLACE_REGEX,\n\tHTML_LOWER_CASE,\n\tSVG_CAMEL_CASE\n} from './util.js';\nimport { COMMIT, DIFF, DIFFED, RENDER, SKIP_EFFECTS } from './constants.js';\nimport { options, Fragment } from 'preact';\n\n/** @typedef {import('preact').VNode} VNode */\n\n// components without names, kept as a hash for later comparison to return consistent UnnamedComponentXX names.\nconst UNNAMED = [];\n\nconst EMPTY_ARR = [];\n\n/**\n * Render Preact JSX + Components to a pretty-printed HTML-like string.\n * @param {VNode} vnode\tJSX Element / VNode to render\n * @param {Object} [context={}] Initial root context object\n * @param {Object} [opts={}] Rendering options\n * @param {Boolean} [opts.shallow=false] Serialize nested Components (`<Foo a=\"b\" />`) instead of rendering\n * @param {Boolean} [opts.xml=false] Use self-closing tags for elements without children\n * @param {Boolean} [opts.pretty=false] Add whitespace for readability\n * @param {RegExp|undefined} [opts.voidElements] RegeEx to define which element types are self-closing\n * @param {boolean} [_inner]\n * @returns {String} a pretty-printed HTML-like string\n */\nexport default function renderToStringPretty(vnode, context, opts, _inner) {\n\t// Performance optimization: `renderToString` is synchronous and we\n\t// therefore don't execute any effects. To do that we pass an empty\n\t// array to `options._commit` (`__c`). But we can go one step further\n\t// and avoid a lot of dirty checks and allocations by setting\n\t// `options._skipEffects` (`__s`) too.\n\tconst previousSkipEffects = options[SKIP_EFFECTS];\n\toptions[SKIP_EFFECTS] = true;\n\n\ttry {\n\t\treturn _renderToStringPretty(vnode, context || {}, opts, _inner);\n\t} finally {\n\t\t// options._commit, we don't schedule any effects in this library right now,\n\t\t// so we can pass an empty queue to this hook.\n\t\tif (options[COMMIT]) options[COMMIT](vnode, EMPTY_ARR);\n\t\toptions[SKIP_EFFECTS] = previousSkipEffects;\n\t\tEMPTY_ARR.length = 0;\n\t}\n}\n\nfunction _renderToStringPretty(\n\tvnode,\n\tcontext,\n\topts,\n\tinner,\n\tisSvgMode,\n\tselectValue\n) {\n\tif (vnode == null || typeof vnode === 'boolean') {\n\t\treturn '';\n\t}\n\n\t// #text nodes\n\tif (typeof vnode !== 'object') {\n\t\tif (typeof vnode === 'function') return '';\n\t\treturn encodeEntities(vnode + '');\n\t}\n\n\tlet pretty = opts.pretty,\n\t\tindentChar = pretty && typeof pretty === 'string' ? pretty : '\\t';\n\n\tif (Array.isArray(vnode)) {\n\t\tlet rendered = '';\n\t\tfor (let i = 0; i < vnode.length; i++) {\n\t\t\tif (pretty && i > 0) rendered = rendered + '\\n';\n\t\t\trendered =\n\t\t\t\trendered +\n\t\t\t\t_renderToStringPretty(\n\t\t\t\t\tvnode[i],\n\t\t\t\t\tcontext,\n\t\t\t\t\topts,\n\t\t\t\t\tinner,\n\t\t\t\t\tisSvgMode,\n\t\t\t\t\tselectValue\n\t\t\t\t);\n\t\t}\n\t\treturn rendered;\n\t}\n\n\t// VNodes have {constructor:undefined} to prevent JSON injection:\n\tif (vnode.constructor !== undefined) return '';\n\n\tif (options[DIFF]) options[DIFF](vnode);\n\n\tlet nodeName = vnode.type,\n\t\tprops = vnode.props,\n\t\tisComponent = false;\n\n\t// components\n\tif (typeof nodeName === 'function') {\n\t\tisComponent = true;\n\t\tif (opts.shallow && (inner || opts.renderRootComponent === false)) {\n\t\t\tnodeName = getComponentName(nodeName);\n\t\t} else if (nodeName === Fragment) {\n\t\t\tconst children = [];\n\t\t\tgetChildren(children, vnode.props.children);\n\t\t\treturn _renderToStringPretty(\n\t\t\t\tchildren,\n\t\t\t\tcontext,\n\t\t\t\topts,\n\t\t\t\topts.shallowHighOrder !== false,\n\t\t\t\tisSvgMode,\n\t\t\t\tselectValue\n\t\t\t);\n\t\t} else {\n\t\t\tlet rendered;\n\n\t\t\tlet c = (vnode.__c = createComponent(vnode, context));\n\n\t\t\tlet renderHook = options[RENDER];\n\n\t\t\tlet cctx = context;\n\t\t\tlet cxType = nodeName.contextType;\n\t\t\tif (cxType != null) {\n\t\t\t\tlet provider = context[cxType.__c];\n\t\t\t\tcctx = provider ? provider.props.value : cxType.__;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t!nodeName.prototype ||\n\t\t\t\ttypeof nodeName.prototype.render !== 'function'\n\t\t\t) {\n\t\t\t\t// If a hook invokes setState() to invalidate the component during rendering,\n\t\t\t\t// re-render it up to 25 times to allow \"settling\" of memoized states.\n\t\t\t\t// Note:\n\t\t\t\t// This will need to be updated for Preact 11 to use internal.flags rather than component._dirty:\n\t\t\t\t// https://github.com/preactjs/preact/blob/d4ca6fdb19bc715e49fd144e69f7296b2f4daa40/src/diff/component.js#L35-L44\n\t\t\t\tlet count = 0;\n\t\t\t\twhile (c.__d && count++ < 25) {\n\t\t\t\t\tc.__d = false;\n\n\t\t\t\t\tif (renderHook) renderHook(vnode);\n\n\t\t\t\t\t// stateless functional components\n\t\t\t\t\trendered = nodeName.call(vnode.__c, props, cctx);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// c = new nodeName(props, context);\n\t\t\t\tc = vnode.__c = new nodeName(props, cctx);\n\t\t\t\tc.__v = vnode;\n\t\t\t\t// turn off stateful re-rendering:\n\t\t\t\tc._dirty = c.__d = true;\n\t\t\t\tc.props = props;\n\t\t\t\tif (c.state == null) c.state = {};\n\n\t\t\t\tif (c._nextState == null && c.__s == null) {\n\t\t\t\t\tc._nextState = c.__s = c.state;\n\t\t\t\t}\n\n\t\t\t\tc.context = cctx;\n\t\t\t\tif (nodeName.getDerivedStateFromProps)\n\t\t\t\t\tc.state = Object.assign(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tc.state,\n\t\t\t\t\t\tnodeName.getDerivedStateFromProps(c.props, c.state)\n\t\t\t\t\t);\n\t\t\t\telse if (c.componentWillMount) {\n\t\t\t\t\tc.componentWillMount();\n\n\t\t\t\t\t// If the user called setState in cWM we need to flush pending,\n\t\t\t\t\t// state updates. This is the same behaviour in React.\n\t\t\t\t\tc.state =\n\t\t\t\t\t\tc._nextState !== c.state\n\t\t\t\t\t\t\t? c._nextState\n\t\t\t\t\t\t\t: c.__s !== c.state\n\t\t\t\t\t\t\t? c.__s\n\t\t\t\t\t\t\t: c.state;\n\t\t\t\t}\n\n\t\t\t\tif (renderHook) renderHook(vnode);\n\n\t\t\t\trendered = c.render(c.props, c.state, c.context);\n\t\t\t}\n\n\t\t\tif (c.getChildContext) {\n\t\t\t\tcontext = Object.assign({}, context, c.getChildContext());\n\t\t\t}\n\n\t\t\tconst res = _renderToStringPretty(\n\t\t\t\trendered,\n\t\t\t\tcontext,\n\t\t\t\topts,\n\t\t\t\topts.shallowHighOrder !== false,\n\t\t\t\tisSvgMode,\n\t\t\t\tselectValue\n\t\t\t);\n\n\t\t\tif (options[DIFFED]) options[DIFFED](vnode);\n\n\t\t\treturn res;\n\t\t}\n\t}\n\n\t// render JSX to HTML\n\tlet s = '<' + nodeName,\n\t\tpropChildren,\n\t\thtml;\n\n\tif (props) {\n\t\tlet attrs = Object.keys(props);\n\n\t\t// allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\n\t\tif (opts && opts.sortAttributes === true) attrs.sort();\n\n\t\tfor (let i = 0; i < attrs.length; i++) {\n\t\t\tlet name = attrs[i],\n\t\t\t\tv = props[name];\n\t\t\tif (name === 'children') {\n\t\t\t\tpropChildren = v;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (UNSAFE_NAME.test(name)) continue;\n\n\t\t\tif (\n\t\t\t\t!(opts && opts.allAttributes) &&\n\t\t\t\t(name === 'key' ||\n\t\t\t\t\tname === 'ref' ||\n\t\t\t\t\tname === '__self' ||\n\t\t\t\t\tname === '__source')\n\t\t\t)\n\t\t\t\tcontinue;\n\n\t\t\tif (name === 'defaultValue') {\n\t\t\t\tname = 'value';\n\t\t\t} else if (name === 'defaultChecked') {\n\t\t\t\tname = 'checked';\n\t\t\t} else if (name === 'defaultSelected') {\n\t\t\t\tname = 'selected';\n\t\t\t} else if (name === 'className') {\n\t\t\t\tif (typeof props.class !== 'undefined') continue;\n\t\t\t\tname = 'class';\n\t\t\t} else if (name === 'acceptCharset') {\n\t\t\t\tname = 'accept-charset';\n\t\t\t} else if (name === 'httpEquiv') {\n\t\t\t\tname = 'http-equiv';\n\t\t\t} else if (NAMESPACE_REPLACE_REGEX.test(name)) {\n\t\t\t\tname = name.replace(NAMESPACE_REPLACE_REGEX, '$1:$2').toLowerCase();\n\t\t\t} else if (isSvgMode) {\n\t\t\t\tif (SVG_CAMEL_CASE.test(name)) {\n\t\t\t\t\tname =\n\t\t\t\t\t\tname === 'panose1'\n\t\t\t\t\t\t\t? 'panose-1'\n\t\t\t\t\t\t\t: name.replace(/([A-Z])/g, '-$1').toLowerCase();\n\t\t\t\t}\n\t\t\t} else if (HTML_LOWER_CASE.test(name)) {\n\t\t\t\tname = name.toLowerCase();\n\t\t\t}\n\n\t\t\tif (name === 'htmlFor') {\n\t\t\t\tif (props.for) continue;\n\t\t\t\tname = 'for';\n\t\t\t}\n\n\t\t\tif (name === 'style' && v && typeof v === 'object') {\n\t\t\t\tv = styleObjToCss(v);\n\t\t\t}\n\n\t\t\t// always use string values instead of booleans for aria attributes\n\t\t\t// also see https://github.com/preactjs/preact/pull/2347/files\n\t\t\tif (name[0] === 'a' && name['1'] === 'r' && typeof v === 'boolean') {\n\t\t\t\tv = String(v);\n\t\t\t}\n\n\t\t\tlet hooked =\n\t\t\t\topts.attributeHook &&\n\t\t\t\topts.attributeHook(name, v, context, opts, isComponent);\n\t\t\tif (hooked || hooked === '') {\n\t\t\t\ts = s + hooked;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (name === 'dangerouslySetInnerHTML') {\n\t\t\t\thtml = v && v.__html;\n\t\t\t} else if (nodeName === 'textarea' && name === 'value') {\n\t\t\t\t// <textarea value=\"a&b\"> --> <textarea>a&amp;b</textarea>\n\t\t\t\tpropChildren = v;\n\t\t\t} else if ((v || v === 0 || v === '') && typeof v !== 'function') {\n\t\t\t\tif (v === true || v === '') {\n\t\t\t\t\tv = name;\n\t\t\t\t\t// in non-xml mode, allow boolean attributes\n\t\t\t\t\tif (!opts || !opts.xml) {\n\t\t\t\t\t\ts = s + ' ' + name;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (name === 'value') {\n\t\t\t\t\tif (nodeName === 'select') {\n\t\t\t\t\t\tselectValue = v;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t// If we're looking at an <option> and it's the currently selected one\n\t\t\t\t\t\tnodeName === 'option' &&\n\t\t\t\t\t\tselectValue == v &&\n\t\t\t\t\t\t// and the <option> doesn't already have a selected attribute on it\n\t\t\t\t\t\ttypeof props.selected === 'undefined'\n\t\t\t\t\t) {\n\t\t\t\t\t\ts = s + ` selected`;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ts = s + ` ${name}=\"${encodeEntities(v + '')}\"`;\n\t\t\t}\n\t\t}\n\t}\n\n\t// account for >1 multiline attribute\n\tif (pretty) {\n\t\tlet sub = s.replace(/\\n\\s*/, ' ');\n\t\tif (sub !== s && !~sub.indexOf('\\n')) s = sub;\n\t\telse if (pretty && ~s.indexOf('\\n')) s = s + '\\n';\n\t}\n\n\ts = s + '>';\n\n\tif (UNSAFE_NAME.test(nodeName))\n\t\tthrow new Error(`${nodeName} is not a valid HTML tag name in ${s}`);\n\n\tlet isVoid =\n\t\tVOID_ELEMENTS.test(nodeName) ||\n\t\t(opts.voidElements && opts.voidElements.test(nodeName));\n\tlet pieces = [];\n\n\tlet children;\n\tif (html) {\n\t\t// if multiline, indent.\n\t\tif (pretty && isLargeString(html)) {\n\t\t\thtml = '\\n' + indentChar + indent(html, indentChar);\n\t\t}\n\t\ts = s + html;\n\t} else if (\n\t\tpropChildren != null &&\n\t\tgetChildren((children = []), propChildren).length\n\t) {\n\t\tlet hasLarge = pretty && ~s.indexOf('\\n');\n\t\tlet lastWasText = false;\n\n\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\tlet child = children[i];\n\n\t\t\tif (child != null && child !== false) {\n\t\t\t\tlet childSvgMode =\n\t\t\t\t\t\tnodeName === 'svg'\n\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t: nodeName === 'foreignObject'\n\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t: isSvgMode,\n\t\t\t\t\tret = _renderToStringPretty(\n\t\t\t\t\t\tchild,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\topts,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tchildSvgMode,\n\t\t\t\t\t\tselectValue\n\t\t\t\t\t);\n\n\t\t\t\tif (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;\n\n\t\t\t\t// Skip if we received an empty string\n\t\t\t\tif (ret) {\n\t\t\t\t\tif (pretty) {\n\t\t\t\t\t\tlet isText = ret.length > 0 && ret[0] != '<';\n\n\t\t\t\t\t\t// We merge adjacent text nodes, otherwise each piece would be printed\n\t\t\t\t\t\t// on a new line.\n\t\t\t\t\t\tif (lastWasText && isText) {\n\t\t\t\t\t\t\tpieces[pieces.length - 1] += ret;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tpieces.push(ret);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlastWasText = isText;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpieces.push(ret);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (pretty && hasLarge) {\n\t\t\tfor (let i = pieces.length; i--; ) {\n\t\t\t\tpieces[i] = '\\n' + indentChar + indent(pieces[i], indentChar);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (options[DIFFED]) options[DIFFED](vnode);\n\n\tif (pieces.length || html) {\n\t\ts = s + pieces.join('');\n\t} else if (opts && opts.xml) {\n\t\treturn s.substring(0, s.length - 1) + ' />';\n\t}\n\n\tif (isVoid && !children && !html) {\n\t\ts = s.replace(/>$/, ' />');\n\t} else {\n\t\tif (pretty && ~s.indexOf('\\n')) s = s + '\\n';\n\t\ts = s + `</${nodeName}>`;\n\t}\n\n\treturn s;\n}\n\nfunction getComponentName(component) {\n\treturn (\n\t\tcomponent.displayName ||\n\t\t(component !== Function && component.name) ||\n\t\tgetFallbackComponentName(component)\n\t);\n}\n\nfunction getFallbackComponentName(component) {\n\tlet str = Function.prototype.toString.call(component),\n\t\tname = (str.match(/^\\s*function\\s+([^( ]+)/) || '')[1];\n\tif (!name) {\n\t\t// search for an existing indexed name for the given component:\n\t\tlet index = -1;\n\t\tfor (let i = UNNAMED.length; i--; ) {\n\t\t\tif (UNNAMED[i] === component) {\n\t\t\t\tindex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// not found, create a new indexed name:\n\t\tif (index < 0) {\n\t\t\tindex = UNNAMED.push(component) - 1;\n\t\t}\n\t\tname = `UnnamedComponent${index}`;\n\t}\n\treturn name;\n}\n","'use strict';\n\nconst ESCAPED_CHARACTERS = /(\\\\|\\\"|\\')/g;\n\nmodule.exports = function printString(val) {\n return val.replace(ESCAPED_CHARACTERS, '\\\\$1');\n}\n","'use strict';\n\nconst printString = require('./printString');\n\nconst toString = Object.prototype.toString;\nconst toISOString = Date.prototype.toISOString;\nconst errorToString = Error.prototype.toString;\nconst regExpToString = RegExp.prototype.toString;\nconst symbolToString = Symbol.prototype.toString;\n\nconst SYMBOL_REGEXP = /^Symbol\\((.*)\\)(.*)$/;\nconst NEWLINE_REGEXP = /\\n/ig;\n\nconst getSymbols = Object.getOwnPropertySymbols || (obj => []);\n\nfunction isToStringedArrayType(toStringed) {\n return (\n toStringed === '[object Array]' ||\n toStringed === '[object ArrayBuffer]' ||\n toStringed === '[object DataView]' ||\n toStringed === '[object Float32Array]' ||\n toStringed === '[object Float64Array]' ||\n toStringed === '[object Int8Array]' ||\n toStringed === '[object Int16Array]' ||\n toStringed === '[object Int32Array]' ||\n toStringed === '[object Uint8Array]' ||\n toStringed === '[object Uint8ClampedArray]' ||\n toStringed === '[object Uint16Array]' ||\n toStringed === '[object Uint32Array]'\n );\n}\n\nfunction printNumber(val) {\n if (val != +val) return 'NaN';\n const isNegativeZero = val === 0 && (1 / val) < 0;\n return isNegativeZero ? '-0' : '' + val;\n}\n\nfunction printFunction(val) {\n if (val.name === '') {\n return '[Function anonymous]'\n } else {\n return '[Function ' + val.name + ']';\n }\n}\n\nfunction printSymbol(val) {\n return symbolToString.call(val).replace(SYMBOL_REGEXP, 'Symbol($1)');\n}\n\nfunction printError(val) {\n return '[' + errorToString.call(val) + ']';\n}\n\nfunction printBasicValue(val) {\n if (val === true || val === false) return '' + val;\n if (val === undefined) return 'undefined';\n if (val === null) return 'null';\n\n const typeOf = typeof val;\n\n if (typeOf === 'number') return printNumber(val);\n if (typeOf === 'string') return '\"' + printString(val) + '\"';\n if (typeOf === 'function') return printFunction(val);\n if (typeOf === 'symbol') return printSymbol(val);\n\n const toStringed = toString.call(val);\n\n if (toStringed === '[object WeakMap]') return 'WeakMap {}';\n if (toStringed === '[object WeakSet]') return 'WeakSet {}';\n if (toStringed === '[object Function]' || toStringed === '[object GeneratorFunction]') return printFunction(val, min);\n if (toStringed === '[object Symbol]') return printSymbol(val);\n if (toStringed === '[object Date]') return toISOString.call(val);\n if (toStringed === '[object Error]') return printError(val);\n if (toStringed === '[object RegExp]') return regExpToString.call(val);\n if (toStringed === '[object Arguments]' && val.length === 0) return 'Arguments []';\n if (isToStringedArrayType(toStringed) && val.length === 0) return val.constructor.name + ' []';\n\n if (val instanceof Error) return printError(val);\n\n return false;\n}\n\nfunction printList(list, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n let body = '';\n\n if (list.length) {\n body += edgeSpacing;\n\n const innerIndent = prevIndent + indent;\n\n for (let i = 0; i < list.length; i++) {\n body += innerIndent + print(list[i], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n\n if (i < list.length - 1) {\n body += ',' + spacing;\n }\n }\n\n body += edgeSpacing + prevIndent;\n }\n\n return '[' + body + ']';\n}\n\nfunction printArguments(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n return (min ? '' : 'Arguments ') + printList(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n}\n\nfunction printArray(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n return (min ? '' : val.constructor.name + ' ') + printList(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n}\n\nfunction printMap(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n let result = 'Map {';\n const iterator = val.entries();\n let current = iterator.next();\n\n if (!current.done) {\n result += edgeSpacing;\n\n const innerIndent = prevIndent + indent;\n\n while (!current.done) {\n const key = print(current.value[0], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n const value = print(current.value[1], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n\n result += innerIndent + key + ' => ' + value;\n\n current = iterator.next();\n\n if (!current.done) {\n result += ',' + spacing;\n }\n }\n\n result += edgeSpacing + prevIndent;\n }\n\n return result + '}';\n}\n\nfunction printObject(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n const constructor = min ? '' : (val.constructor ? val.constructor.name + ' ' : 'Object ');\n let result = constructor + '{';\n let keys = Object.keys(val).sort();\n const symbols = getSymbols(val);\n\n if (symbols.length) {\n keys = keys\n .filter(key => !(typeof key === 'symbol' || toString.call(key) === '[object Symbol]'))\n .concat(symbols);\n }\n\n if (keys.length) {\n result += edgeSpacing;\n\n const innerIndent = prevIndent + indent;\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const name = print(key, indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n const value = print(val[key], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n\n result += innerIndent + name + ': ' + value;\n\n if (i < keys.length - 1) {\n result += ',' + spacing;\n }\n }\n\n result += edgeSpacing + prevIndent;\n }\n\n return result + '}';\n}\n\nfunction printSet(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n let result = 'Set {';\n const iterator = val.entries();\n let current = iterator.next();\n\n if (!current.done) {\n result += edgeSpacing;\n\n const innerIndent = prevIndent + indent;\n\n while (!current.done) {\n result += innerIndent + print(current.value[1], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n\n current = iterator.next();\n\n if (!current.done) {\n result += ',' + spacing;\n }\n }\n\n result += edgeSpacing + prevIndent;\n }\n\n return result + '}';\n}\n\nfunction printComplexValue(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n refs = refs.slice();\n if (refs.indexOf(val) > -1) {\n return '[Circular]';\n } else {\n refs.push(val);\n }\n\n currentDepth++;\n\n const hitMaxDepth = currentDepth > maxDepth;\n\n if (!hitMaxDepth && val.toJSON && typeof val.toJSON === 'function') {\n return print(val.toJSON(), indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n }\n\n const toStringed = toString.call(val);\n if (toStringed === '[object Arguments]') {\n return hitMaxDepth ? '[Arguments]' : printArguments(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n } else if (isToStringedArrayType(toStringed)) {\n return hitMaxDepth ? '[Array]' : printArray(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n } else if (toStringed === '[object Map]') {\n return hitMaxDepth ? '[Map]' : printMap(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n } else if (toStringed === '[object Set]') {\n return hitMaxDepth ? '[Set]' : printSet(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n } else if (typeof val === 'object') {\n return hitMaxDepth ? '[Object]' : printObject(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n }\n}\n\nfunction printPlugin(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n let match = false;\n let plugin;\n\n for (let p = 0; p < plugins.length; p++) {\n plugin = plugins[p];\n\n if (plugin.test(val)) {\n match = true;\n break;\n }\n }\n\n if (!match) {\n return false;\n }\n\n function boundPrint(val) {\n return print(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n }\n\n function boundIndent(str) {\n const indentation = prevIndent + indent;\n return indentation + str.replace(NEWLINE_REGEXP, '\\n' + indentation);\n }\n\n return plugin.print(val, boundPrint, boundIndent, {\n edgeSpacing: edgeSpacing,\n spacing: spacing\n });\n}\n\nfunction print(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n const basic = printBasicValue(val);\n if (basic) return basic;\n\n const plugin = printPlugin(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n if (plugin) return plugin;\n\n return printComplexValue(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n}\n\nconst DEFAULTS = {\n indent: 2,\n min: false,\n maxDepth: Infinity,\n plugins: []\n};\n\nfunction validateOptions(opts) {\n Object.keys(opts).forEach(key => {\n if (!DEFAULTS.hasOwnProperty(key)) {\n throw new Error('prettyFormat: Invalid option: ' + key);\n }\n });\n\n if (opts.min && opts.indent !== undefined && opts.indent !== 0) {\n throw new Error('prettyFormat: Cannot run with min option and indent');\n }\n}\n\nfunction normalizeOptions(opts) {\n const result = {};\n\n Object.keys(DEFAULTS).forEach(key =>\n result[key] = opts.hasOwnProperty(key) ? opts[key] : DEFAULTS[key]\n );\n\n if (result.min) {\n result.indent = 0;\n }\n\n return result;\n}\n\nfunction createIndent(indent) {\n return new Array(indent + 1).join(' ');\n}\n\nfunction prettyFormat(val, opts) {\n if (!opts) {\n opts = DEFAULTS;\n } else {\n validateOptions(opts)\n opts = normalizeOptions(opts);\n }\n\n let indent;\n let refs;\n const prevIndent = '';\n const currentDepth = 0;\n const spacing = opts.min ? ' ' : '\\n';\n const edgeSpacing = opts.min ? '' : '\\n';\n\n if (opts && opts.plugins.length) {\n indent = createIndent(opts.indent);\n refs = [];\n var pluginsResult = printPlugin(val, indent, prevIndent, spacing, edgeSpacing, refs, opts.maxDepth, currentDepth, opts.plugins, opts.min);\n if (pluginsResult) return pluginsResult;\n }\n\n var basicResult = printBasicValue(val);\n if (basicResult) return basicResult;\n\n if (!indent) indent = createIndent(opts.indent);\n if (!refs) refs = [];\n return printComplexValue(val, indent, prevIndent, spacing, edgeSpacing, refs, opts.maxDepth, currentDepth, opts.plugins, opts.min);\n}\n\nmodule.exports = prettyFormat;\n","import './polyfills.js';\nimport renderToString from './pretty.js';\nimport { indent, encodeEntities } from './util.js';\nimport prettyFormat from 'pretty-format';\n\n/** @typedef {import('preact').VNode} VNode */\n\n// we have to patch in Array support, Possible issue in npm.im/pretty-format\nlet preactPlugin = {\n\ttest(object) {\n\t\treturn (\n\t\t\tobject &&\n\t\t\ttypeof object === 'object' &&\n\t\t\t'type' in object &&\n\t\t\t'props' in object &&\n\t\t\t'key' in object\n\t\t);\n\t},\n\tprint(val, print, indent) {\n\t\treturn renderToString(val, preactPlugin.context, preactPlugin.opts, true);\n\t}\n};\n\nlet prettyFormatOpts = {\n\tplugins: [preactPlugin]\n};\n\nfunction attributeHook(name, value, context, opts, isComponent) {\n\tlet type = typeof value;\n\n\t// Use render-to-string's built-in handling for these properties\n\tif (name === 'dangerouslySetInnerHTML') return false;\n\n\t// always skip null & undefined values, skip false DOM attributes, skip functions if told to\n\tif (value == null || (type === 'function' && !opts.functions)) return '';\n\n\tif (\n\t\topts.skipFalseAttributes &&\n\t\t!isComponent &&\n\t\t(value === false ||\n\t\t\t((name === 'class' || name === 'style') && value === ''))\n\t)\n\t\treturn '';\n\n\tlet indentChar = typeof opts.pretty === 'string' ? opts.pretty : '\\t';\n\tif (type !== 'string') {\n\t\tif (type === 'function' && !opts.functionNames) {\n\t\t\tvalue = 'Function';\n\t\t} else {\n\t\t\tpreactPlugin.context = context;\n\t\t\tpreactPlugin.opts = opts;\n\t\t\tvalue = prettyFormat(value, prettyFormatOpts);\n\t\t\tif (~value.indexOf('\\n')) {\n\t\t\t\tvalue = `${indent('\\n' + value, indentChar)}\\n`;\n\t\t\t}\n\t\t}\n\t\treturn indent(`\\n${name}={${value}}`, indentChar);\n\t}\n\treturn `\\n${indentChar}${name}=\"${encodeEntities(value)}\"`;\n}\n\nlet defaultOpts = {\n\tattributeHook,\n\tjsx: true,\n\txml: false,\n\tfunctions: true,\n\tfunctionNames: true,\n\tskipFalseAttributes: true,\n\tpretty: ' '\n};\n\n/**\n * Render Preact JSX + Components to a pretty-printed HTML-like string.\n * @param {VNode} vnode\tJSX Element / VNode to render\n * @param {Object} [context={}] Initial root context object\n * @param {Object} [options={}] Rendering options\n * @param {Boolean} [options.jsx=true] Generate JSX/XML output instead of HTML\n * @param {Boolean} [options.xml=false] Use self-closing tags for elements without children\n * @param {Boolean} [options.shallow=false] Serialize nested Components (`<Foo a=\"b\" />`) instead of rendering\n * @param {Boolean} [options.pretty=false] Add whitespace for readability\n * @param {RegExp|undefined} [options.voidElements] RegeEx to define which element types are self-closing\n * @returns {String} a pretty-printed HTML-like string\n */\nexport default function renderToStringPretty(vnode, context, options) {\n\tconst opts = Object.assign({}, defaultOpts, options || {});\n\tif (!opts.jsx) opts.attributeHook = null;\n\treturn renderToString(vnode, context, opts);\n}\nexport { renderToStringPretty as render };\n\nconst SHALLOW = { shallow: true };\n\n/** Only render elements, leaving Components inline as `<ComponentName ... />`.\n *\tThis method is just a convenience alias for `render(vnode, context, { shallow:true })`\n *\t@name shallow\n *\t@function\n *\t@param {VNode} vnode\tJSX VNode to render.\n *\t@param {Object} [context={}]\tOptionally pass an initial context object through the render path.\n *\t@param {Parameters<typeof renderToStringPretty>[2]} [options]\tOptionally pass an initial context object through the render path.\n */\nexport function shallowRender(vnode, context, options) {\n\tconst opts = Object.assign({}, SHALLOW, options || {});\n\treturn renderToStringPretty(vnode, context, opts);\n}\n"],"names":["Symbol","c","s","for","VOID_ELEMENTS","UNSAFE_NAME","NAMESPACE_REPLACE_REGEX","HTML_LOWER_CASE","SVG_CAMEL_CASE","ENCODED_ENTITIES","encodeEntities","str","length","test","last","i","out","ch","charCodeAt","slice","indent","char","String","replace","isLargeString","ignoreLines","indexOf","JS_TO_CSS","IS_NON_DIMENSIONAL","Set","CSS_REGEX","styleObjToCss","prop","val","name","toLowerCase","suffix","startsWith","has","undefined","getChildren","accumulator","children","Array","isArray","reduce","push","markAsDirty","this","__d","createComponent","vnode","context","__v","props","setState","forceUpdate","__h","UNNAMED","EMPTY_ARR","renderToStringPretty","opts","_inner","previousSkipEffects","options","_renderToStringPretty","inner","isSvgMode","selectValue","pretty","indentChar","rendered","constructor","nodeName","type","isComponent","shallow","renderRootComponent","Fragment","shallowHighOrder","__c","renderHook","cctx","cxType","contextType","provider","value","__","prototype","render","_dirty","state","_nextState","__s","getDerivedStateFromProps","Object","assign","componentWillMount","count","call","getChildContext","res","component","displayName","Function","getFallbackComponentName","propChildren","html","attrs","keys","sortAttributes","sort","v","allAttributes","class","hooked","attributeHook","__html","xml","selected","sub","Error","isVoid","voidElements","pieces","hasLarge","lastWasText","child","ret","isText","join","substring","toString","match","index","ESCAPED_CHARACTERS","toISOString","Date","errorToString","regExpToString","RegExp","symbolToString","SYMBOL_REGEXP","NEWLINE_REGEXP","getSymbols","getOwnPropertySymbols","obj","isToStringedArrayType","toStringed","printNumber","printFunction","printSymbol","printError","printBasicValue","typeOf","printString","min","printList","list","prevIndent","spacing","edgeSpacing","refs","maxDepth","currentDepth","plugins","body","innerIndent","print","printArguments","printArray","printMap","result","iterator","entries","current","next","done","printObject","symbols","filter","key","concat","printSet","printComplexValue","hitMaxDepth","toJSON","printPlugin","plugin","p","indentation","DEFAULTS","Infinity","validateOptions","forEach","hasOwnProperty","normalizeOptions","createIndent","pluginsResult","preactPlugin","object","renderToString","prettyFormatOpts","defaultOpts","functions","skipFalseAttributes","functionNames","prettyFormat","jsx","SHALLOW","shallowRender"],"mappings":"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"}
1
+ {"version":3,"file":"jsx.mjs","sources":["../src/polyfills.js","../src/util.js","../src/pretty.js","../node_modules/pretty-format/printString.js","../node_modules/pretty-format/index.js","../src/jsx.js"],"sourcesContent":["if (typeof Symbol !== 'function') {\n\tlet c = 0;\n\t// eslint-disable-next-line\n\tSymbol = function (s) {\n\t\treturn `@@${s}${++c}`;\n\t};\n\tSymbol.for = (s) => `@@${s}`;\n}\n","export const VOID_ELEMENTS = /^(?:area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;\nexport const UNSAFE_NAME = /[\\s\\n\\\\/='\"\\0<>]/;\nexport const NAMESPACE_REPLACE_REGEX = /^(xlink|xmlns|xml)([A-Z])/;\nexport const HTML_LOWER_CASE = /^accessK|^auto[A-Z]|^ch|^col|cont|cross|dateT|encT|form[A-Z]|frame|hrefL|inputM|maxL|minL|noV|playsI|readO|rowS|spellC|src[A-Z]|tabI|item[A-Z]/;\nexport const SVG_CAMEL_CASE = /^ac|^ali|arabic|basel|cap|clipPath$|clipRule$|color|dominant|enable|fill|flood|font|glyph[^R]|horiz|image|letter|lighting|marker[^WUH]|overline|panose|pointe|paint|rendering|shape|stop|strikethrough|stroke|text[^L]|transform|underline|unicode|units|^v[^i]|^w|^xH/;\n\n// DOM properties that should NOT have \"px\" added when numeric\nconst ENCODED_ENTITIES = /[\"&<]/;\n\n/** @param {string} str */\nexport function encodeEntities(str) {\n\t// Skip all work for strings with no entities needing encoding:\n\tif (str.length === 0 || ENCODED_ENTITIES.test(str) === false) return str;\n\n\tlet last = 0,\n\t\ti = 0,\n\t\tout = '',\n\t\tch = '';\n\n\t// Seek forward in str until the next entity char:\n\tfor (; i < str.length; i++) {\n\t\tswitch (str.charCodeAt(i)) {\n\t\t\tcase 34:\n\t\t\t\tch = '&quot;';\n\t\t\t\tbreak;\n\t\t\tcase 38:\n\t\t\t\tch = '&amp;';\n\t\t\t\tbreak;\n\t\t\tcase 60:\n\t\t\t\tch = '&lt;';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcontinue;\n\t\t}\n\t\t// Append skipped/buffered characters and the encoded entity:\n\t\tif (i !== last) out += str.slice(last, i);\n\t\tout += ch;\n\t\t// Start the next seek/buffer after the entity's offset:\n\t\tlast = i + 1;\n\t}\n\tif (i !== last) out += str.slice(last, i);\n\treturn out;\n}\n\nexport let indent = (s, char) =>\n\tString(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n\nexport let isLargeString = (s, length, ignoreLines) =>\n\tString(s).length > (length || 40) ||\n\t(!ignoreLines && String(s).indexOf('\\n') !== -1) ||\n\tString(s).indexOf('<') !== -1;\n\nconst JS_TO_CSS = {};\n\nconst IS_NON_DIMENSIONAL = new Set([\n\t'animation-iteration-count',\n\t'border-image-outset',\n\t'border-image-slice',\n\t'border-image-width',\n\t'box-flex',\n\t'box-flex-group',\n\t'box-ordinal-group',\n\t'column-count',\n\t'fill-opacity',\n\t'flex',\n\t'flex-grow',\n\t'flex-negative',\n\t'flex-order',\n\t'flex-positive',\n\t'flex-shrink',\n\t'flood-opacity',\n\t'font-weight',\n\t'grid-column',\n\t'grid-row',\n\t'line-clamp',\n\t'line-height',\n\t'opacity',\n\t'order',\n\t'orphans',\n\t'stop-opacity',\n\t'stroke-dasharray',\n\t'stroke-dashoffset',\n\t'stroke-miterlimit',\n\t'stroke-opacity',\n\t'stroke-width',\n\t'tab-size',\n\t'widows',\n\t'z-index',\n\t'zoom'\n]);\n\nconst CSS_REGEX = /[A-Z]/g;\n// Convert an Object style to a CSSText string\nexport function styleObjToCss(s) {\n\tlet str = '';\n\tfor (let prop in s) {\n\t\tlet val = s[prop];\n\t\tif (val != null && val !== '') {\n\t\t\tconst name =\n\t\t\t\tprop[0] == '-'\n\t\t\t\t\t? prop\n\t\t\t\t\t: JS_TO_CSS[prop] ||\n\t\t\t\t\t (JS_TO_CSS[prop] = prop.replace(CSS_REGEX, '-$&').toLowerCase());\n\n\t\t\tlet suffix = ';';\n\t\t\tif (\n\t\t\t\ttypeof val === 'number' &&\n\t\t\t\t// Exclude custom-attributes\n\t\t\t\t!name.startsWith('--') &&\n\t\t\t\t!IS_NON_DIMENSIONAL.has(name)\n\t\t\t) {\n\t\t\t\tsuffix = 'px;';\n\t\t\t}\n\t\t\tstr = str + name + ':' + val + suffix;\n\t\t}\n\t}\n\treturn str || undefined;\n}\n\n/**\n * Get flattened children from the children prop\n * @param {Array} accumulator\n * @param {any} children A `props.children` opaque object.\n * @returns {Array} accumulator\n * @private\n */\nexport function getChildren(accumulator, children) {\n\tif (Array.isArray(children)) {\n\t\tchildren.reduce(getChildren, accumulator);\n\t} else if (children != null && children !== false) {\n\t\taccumulator.push(children);\n\t}\n\treturn accumulator;\n}\n\nfunction markAsDirty() {\n\tthis.__d = true;\n}\n\nexport function createComponent(vnode, context) {\n\treturn {\n\t\t__v: vnode,\n\t\tcontext,\n\t\tprops: vnode.props,\n\t\t// silently drop state updates\n\t\tsetState: markAsDirty,\n\t\tforceUpdate: markAsDirty,\n\t\t__d: true,\n\t\t// hooks\n\t\t__h: []\n\t};\n}\n","import {\n\tencodeEntities,\n\tindent,\n\tisLargeString,\n\tstyleObjToCss,\n\tgetChildren,\n\tcreateComponent,\n\tUNSAFE_NAME,\n\tVOID_ELEMENTS,\n\tNAMESPACE_REPLACE_REGEX,\n\tHTML_LOWER_CASE,\n\tSVG_CAMEL_CASE\n} from './util.js';\nimport { COMMIT, DIFF, DIFFED, RENDER, SKIP_EFFECTS } from './constants.js';\nimport { options, Fragment } from 'preact';\n\n/** @typedef {import('preact').VNode} VNode */\n\n// components without names, kept as a hash for later comparison to return consistent UnnamedComponentXX names.\nconst UNNAMED = [];\n\nconst EMPTY_ARR = [];\n\n/**\n * Render Preact JSX + Components to a pretty-printed HTML-like string.\n * @param {VNode} vnode\tJSX Element / VNode to render\n * @param {Object} [context={}] Initial root context object\n * @param {Object} [opts={}] Rendering options\n * @param {Boolean} [opts.shallow=false] Serialize nested Components (`<Foo a=\"b\" />`) instead of rendering\n * @param {Boolean} [opts.xml=false] Use self-closing tags for elements without children\n * @param {Boolean} [opts.pretty=false] Add whitespace for readability\n * @param {RegExp|undefined} [opts.voidElements] RegeEx to define which element types are self-closing\n * @param {boolean} [_inner]\n * @returns {String} a pretty-printed HTML-like string\n */\nexport default function renderToStringPretty(vnode, context, opts, _inner) {\n\t// Performance optimization: `renderToString` is synchronous and we\n\t// therefore don't execute any effects. To do that we pass an empty\n\t// array to `options._commit` (`__c`). But we can go one step further\n\t// and avoid a lot of dirty checks and allocations by setting\n\t// `options._skipEffects` (`__s`) too.\n\tconst previousSkipEffects = options[SKIP_EFFECTS];\n\toptions[SKIP_EFFECTS] = true;\n\n\ttry {\n\t\treturn _renderToStringPretty(vnode, context || {}, opts, _inner);\n\t} finally {\n\t\t// options._commit, we don't schedule any effects in this library right now,\n\t\t// so we can pass an empty queue to this hook.\n\t\tif (options[COMMIT]) options[COMMIT](vnode, EMPTY_ARR);\n\t\toptions[SKIP_EFFECTS] = previousSkipEffects;\n\t\tEMPTY_ARR.length = 0;\n\t}\n}\n\nfunction _renderToStringPretty(\n\tvnode,\n\tcontext,\n\topts,\n\tinner,\n\tisSvgMode,\n\tselectValue\n) {\n\tif (vnode == null || typeof vnode === 'boolean') {\n\t\treturn '';\n\t}\n\n\t// #text nodes\n\tif (typeof vnode !== 'object') {\n\t\tif (typeof vnode === 'function') return '';\n\t\treturn encodeEntities(vnode + '');\n\t}\n\n\tlet pretty = opts.pretty,\n\t\tindentChar = pretty && typeof pretty === 'string' ? pretty : '\\t';\n\n\tif (Array.isArray(vnode)) {\n\t\tlet rendered = '';\n\t\tfor (let i = 0; i < vnode.length; i++) {\n\t\t\tif (pretty && i > 0) rendered = rendered + '\\n';\n\t\t\trendered =\n\t\t\t\trendered +\n\t\t\t\t_renderToStringPretty(\n\t\t\t\t\tvnode[i],\n\t\t\t\t\tcontext,\n\t\t\t\t\topts,\n\t\t\t\t\tinner,\n\t\t\t\t\tisSvgMode,\n\t\t\t\t\tselectValue\n\t\t\t\t);\n\t\t}\n\t\treturn rendered;\n\t}\n\n\t// VNodes have {constructor:undefined} to prevent JSON injection:\n\tif (vnode.constructor !== undefined) return '';\n\n\tif (options[DIFF]) options[DIFF](vnode);\n\n\tlet nodeName = vnode.type,\n\t\tprops = vnode.props,\n\t\tisComponent = false;\n\n\t// components\n\tif (typeof nodeName === 'function') {\n\t\tisComponent = true;\n\t\tif (opts.shallow && (inner || opts.renderRootComponent === false)) {\n\t\t\tnodeName = getComponentName(nodeName);\n\t\t} else if (nodeName === Fragment) {\n\t\t\tconst children = [];\n\t\t\tgetChildren(children, vnode.props.children);\n\t\t\treturn _renderToStringPretty(\n\t\t\t\tchildren,\n\t\t\t\tcontext,\n\t\t\t\topts,\n\t\t\t\topts.shallowHighOrder !== false,\n\t\t\t\tisSvgMode,\n\t\t\t\tselectValue\n\t\t\t);\n\t\t} else {\n\t\t\tlet rendered;\n\n\t\t\tlet c = (vnode.__c = createComponent(vnode, context));\n\n\t\t\tlet renderHook = options[RENDER];\n\n\t\t\tlet cctx = context;\n\t\t\tlet cxType = nodeName.contextType;\n\t\t\tif (cxType != null) {\n\t\t\t\tlet provider = context[cxType.__c];\n\t\t\t\tcctx = provider ? provider.props.value : cxType.__;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t!nodeName.prototype ||\n\t\t\t\ttypeof nodeName.prototype.render !== 'function'\n\t\t\t) {\n\t\t\t\t// If a hook invokes setState() to invalidate the component during rendering,\n\t\t\t\t// re-render it up to 25 times to allow \"settling\" of memoized states.\n\t\t\t\t// Note:\n\t\t\t\t// This will need to be updated for Preact 11 to use internal.flags rather than component._dirty:\n\t\t\t\t// https://github.com/preactjs/preact/blob/d4ca6fdb19bc715e49fd144e69f7296b2f4daa40/src/diff/component.js#L35-L44\n\t\t\t\tlet count = 0;\n\t\t\t\twhile (c.__d && count++ < 25) {\n\t\t\t\t\tc.__d = false;\n\n\t\t\t\t\tif (renderHook) renderHook(vnode);\n\n\t\t\t\t\t// stateless functional components\n\t\t\t\t\trendered = nodeName.call(vnode.__c, props, cctx);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// c = new nodeName(props, context);\n\t\t\t\tc = vnode.__c = new nodeName(props, cctx);\n\t\t\t\tc.__v = vnode;\n\t\t\t\t// turn off stateful re-rendering:\n\t\t\t\tc._dirty = c.__d = true;\n\t\t\t\tc.props = props;\n\t\t\t\tif (c.state == null) c.state = {};\n\n\t\t\t\tif (c._nextState == null && c.__s == null) {\n\t\t\t\t\tc._nextState = c.__s = c.state;\n\t\t\t\t}\n\n\t\t\t\tc.context = cctx;\n\t\t\t\tif (nodeName.getDerivedStateFromProps)\n\t\t\t\t\tc.state = Object.assign(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tc.state,\n\t\t\t\t\t\tnodeName.getDerivedStateFromProps(c.props, c.state)\n\t\t\t\t\t);\n\t\t\t\telse if (c.componentWillMount) {\n\t\t\t\t\tc.componentWillMount();\n\n\t\t\t\t\t// If the user called setState in cWM we need to flush pending,\n\t\t\t\t\t// state updates. This is the same behaviour in React.\n\t\t\t\t\tc.state =\n\t\t\t\t\t\tc._nextState !== c.state\n\t\t\t\t\t\t\t? c._nextState\n\t\t\t\t\t\t\t: c.__s !== c.state\n\t\t\t\t\t\t\t? c.__s\n\t\t\t\t\t\t\t: c.state;\n\t\t\t\t}\n\n\t\t\t\tif (renderHook) renderHook(vnode);\n\n\t\t\t\trendered = c.render(c.props, c.state, c.context);\n\t\t\t}\n\n\t\t\tif (c.getChildContext) {\n\t\t\t\tcontext = Object.assign({}, context, c.getChildContext());\n\t\t\t}\n\n\t\t\tconst res = _renderToStringPretty(\n\t\t\t\trendered,\n\t\t\t\tcontext,\n\t\t\t\topts,\n\t\t\t\topts.shallowHighOrder !== false,\n\t\t\t\tisSvgMode,\n\t\t\t\tselectValue\n\t\t\t);\n\n\t\t\tif (options[DIFFED]) options[DIFFED](vnode);\n\n\t\t\treturn res;\n\t\t}\n\t}\n\n\t// render JSX to HTML\n\tlet s = '<' + nodeName,\n\t\tpropChildren,\n\t\thtml;\n\n\tif (props) {\n\t\tlet attrs = Object.keys(props);\n\n\t\t// allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\n\t\tif (opts && opts.sortAttributes === true) attrs.sort();\n\n\t\tfor (let i = 0; i < attrs.length; i++) {\n\t\t\tlet name = attrs[i],\n\t\t\t\tv = props[name];\n\t\t\tif (name === 'children') {\n\t\t\t\tpropChildren = v;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (UNSAFE_NAME.test(name)) continue;\n\n\t\t\tif (\n\t\t\t\t!(opts && opts.allAttributes) &&\n\t\t\t\t(name === 'key' ||\n\t\t\t\t\tname === 'ref' ||\n\t\t\t\t\tname === '__self' ||\n\t\t\t\t\tname === '__source')\n\t\t\t)\n\t\t\t\tcontinue;\n\n\t\t\tif (name === 'defaultValue') {\n\t\t\t\tname = 'value';\n\t\t\t} else if (name === 'defaultChecked') {\n\t\t\t\tname = 'checked';\n\t\t\t} else if (name === 'defaultSelected') {\n\t\t\t\tname = 'selected';\n\t\t\t} else if (name === 'className') {\n\t\t\t\tif (typeof props.class !== 'undefined') continue;\n\t\t\t\tname = 'class';\n\t\t\t} else if (name === 'acceptCharset') {\n\t\t\t\tname = 'accept-charset';\n\t\t\t} else if (name === 'httpEquiv') {\n\t\t\t\tname = 'http-equiv';\n\t\t\t} else if (NAMESPACE_REPLACE_REGEX.test(name)) {\n\t\t\t\tname = name.replace(NAMESPACE_REPLACE_REGEX, '$1:$2').toLowerCase();\n\t\t\t} else if (isSvgMode) {\n\t\t\t\tif (SVG_CAMEL_CASE.test(name)) {\n\t\t\t\t\tname =\n\t\t\t\t\t\tname === 'panose1'\n\t\t\t\t\t\t\t? 'panose-1'\n\t\t\t\t\t\t\t: name.replace(/([A-Z])/g, '-$1').toLowerCase();\n\t\t\t\t}\n\t\t\t} else if (HTML_LOWER_CASE.test(name)) {\n\t\t\t\tname = name.toLowerCase();\n\t\t\t}\n\n\t\t\tif (name === 'htmlFor') {\n\t\t\t\tif (props.for) continue;\n\t\t\t\tname = 'for';\n\t\t\t}\n\n\t\t\tif (name === 'style' && v && typeof v === 'object') {\n\t\t\t\tv = styleObjToCss(v);\n\t\t\t}\n\n\t\t\t// always use string values instead of booleans for aria attributes\n\t\t\t// also see https://github.com/preactjs/preact/pull/2347/files\n\t\t\tif (name[0] === 'a' && name['1'] === 'r' && typeof v === 'boolean') {\n\t\t\t\tv = String(v);\n\t\t\t}\n\n\t\t\tlet hooked =\n\t\t\t\topts.attributeHook &&\n\t\t\t\topts.attributeHook(name, v, context, opts, isComponent);\n\t\t\tif (hooked || hooked === '') {\n\t\t\t\ts = s + hooked;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (name === 'dangerouslySetInnerHTML') {\n\t\t\t\thtml = v && v.__html;\n\t\t\t} else if (nodeName === 'textarea' && name === 'value') {\n\t\t\t\t// <textarea value=\"a&b\"> --> <textarea>a&amp;b</textarea>\n\t\t\t\tpropChildren = v;\n\t\t\t} else if ((v || v === 0 || v === '') && typeof v !== 'function') {\n\t\t\t\tif (v === true || v === '') {\n\t\t\t\t\tv = name;\n\t\t\t\t\t// in non-xml mode, allow boolean attributes\n\t\t\t\t\tif (!opts || !opts.xml) {\n\t\t\t\t\t\ts = s + ' ' + name;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (name === 'value') {\n\t\t\t\t\tif (nodeName === 'select') {\n\t\t\t\t\t\tselectValue = v;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t// If we're looking at an <option> and it's the currently selected one\n\t\t\t\t\t\tnodeName === 'option' &&\n\t\t\t\t\t\tselectValue == v &&\n\t\t\t\t\t\t// and the <option> doesn't already have a selected attribute on it\n\t\t\t\t\t\ttypeof props.selected === 'undefined'\n\t\t\t\t\t) {\n\t\t\t\t\t\ts = s + ` selected`;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ts = s + ` ${name}=\"${encodeEntities(v + '')}\"`;\n\t\t\t}\n\t\t}\n\t}\n\n\t// account for >1 multiline attribute\n\tif (pretty) {\n\t\tlet sub = s.replace(/\\n\\s*/, ' ');\n\t\tif (sub !== s && !~sub.indexOf('\\n')) s = sub;\n\t\telse if (pretty && ~s.indexOf('\\n')) s = s + '\\n';\n\t}\n\n\ts = s + '>';\n\n\tif (UNSAFE_NAME.test(nodeName))\n\t\tthrow new Error(`${nodeName} is not a valid HTML tag name in ${s}`);\n\n\tlet isVoid =\n\t\tVOID_ELEMENTS.test(nodeName) ||\n\t\t(opts.voidElements && opts.voidElements.test(nodeName));\n\tlet pieces = [];\n\n\tlet children;\n\tif (html) {\n\t\t// if multiline, indent.\n\t\tif (pretty && isLargeString(html)) {\n\t\t\thtml = '\\n' + indentChar + indent(html, indentChar);\n\t\t}\n\t\ts = s + html;\n\t} else if (\n\t\tpropChildren != null &&\n\t\tgetChildren((children = []), propChildren).length\n\t) {\n\t\tlet hasLarge = pretty && ~s.indexOf('\\n');\n\t\tlet lastWasText = false;\n\n\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\tlet child = children[i];\n\n\t\t\tif (child != null && child !== false) {\n\t\t\t\tlet childSvgMode =\n\t\t\t\t\t\tnodeName === 'svg'\n\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t: nodeName === 'foreignObject'\n\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t: isSvgMode,\n\t\t\t\t\tret = _renderToStringPretty(\n\t\t\t\t\t\tchild,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\topts,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tchildSvgMode,\n\t\t\t\t\t\tselectValue\n\t\t\t\t\t);\n\n\t\t\t\tif (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;\n\n\t\t\t\t// Skip if we received an empty string\n\t\t\t\tif (ret) {\n\t\t\t\t\tif (pretty) {\n\t\t\t\t\t\tlet isText = ret.length > 0 && ret[0] != '<';\n\n\t\t\t\t\t\t// We merge adjacent text nodes, otherwise each piece would be printed\n\t\t\t\t\t\t// on a new line.\n\t\t\t\t\t\tif (lastWasText && isText) {\n\t\t\t\t\t\t\tpieces[pieces.length - 1] += ret;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tpieces.push(ret);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlastWasText = isText;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpieces.push(ret);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (pretty && hasLarge) {\n\t\t\tfor (let i = pieces.length; i--; ) {\n\t\t\t\tpieces[i] = '\\n' + indentChar + indent(pieces[i], indentChar);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (options[DIFFED]) options[DIFFED](vnode);\n\n\tif (pieces.length || html) {\n\t\ts = s + pieces.join('');\n\t} else if (opts && opts.xml) {\n\t\treturn s.substring(0, s.length - 1) + ' />';\n\t}\n\n\tif (isVoid && !children && !html) {\n\t\ts = s.replace(/>$/, ' />');\n\t} else {\n\t\tif (pretty && ~s.indexOf('\\n')) s = s + '\\n';\n\t\ts = s + `</${nodeName}>`;\n\t}\n\n\treturn s;\n}\n\nfunction getComponentName(component) {\n\treturn (\n\t\tcomponent.displayName ||\n\t\t(component !== Function && component.name) ||\n\t\tgetFallbackComponentName(component)\n\t);\n}\n\nfunction getFallbackComponentName(component) {\n\tlet str = Function.prototype.toString.call(component),\n\t\tname = (str.match(/^\\s*function\\s+([^( ]+)/) || '')[1];\n\tif (!name) {\n\t\t// search for an existing indexed name for the given component:\n\t\tlet index = -1;\n\t\tfor (let i = UNNAMED.length; i--; ) {\n\t\t\tif (UNNAMED[i] === component) {\n\t\t\t\tindex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// not found, create a new indexed name:\n\t\tif (index < 0) {\n\t\t\tindex = UNNAMED.push(component) - 1;\n\t\t}\n\t\tname = `UnnamedComponent${index}`;\n\t}\n\treturn name;\n}\n","'use strict';\n\nconst ESCAPED_CHARACTERS = /(\\\\|\\\"|\\')/g;\n\nmodule.exports = function printString(val) {\n return val.replace(ESCAPED_CHARACTERS, '\\\\$1');\n}\n","'use strict';\n\nconst printString = require('./printString');\n\nconst toString = Object.prototype.toString;\nconst toISOString = Date.prototype.toISOString;\nconst errorToString = Error.prototype.toString;\nconst regExpToString = RegExp.prototype.toString;\nconst symbolToString = Symbol.prototype.toString;\n\nconst SYMBOL_REGEXP = /^Symbol\\((.*)\\)(.*)$/;\nconst NEWLINE_REGEXP = /\\n/ig;\n\nconst getSymbols = Object.getOwnPropertySymbols || (obj => []);\n\nfunction isToStringedArrayType(toStringed) {\n return (\n toStringed === '[object Array]' ||\n toStringed === '[object ArrayBuffer]' ||\n toStringed === '[object DataView]' ||\n toStringed === '[object Float32Array]' ||\n toStringed === '[object Float64Array]' ||\n toStringed === '[object Int8Array]' ||\n toStringed === '[object Int16Array]' ||\n toStringed === '[object Int32Array]' ||\n toStringed === '[object Uint8Array]' ||\n toStringed === '[object Uint8ClampedArray]' ||\n toStringed === '[object Uint16Array]' ||\n toStringed === '[object Uint32Array]'\n );\n}\n\nfunction printNumber(val) {\n if (val != +val) return 'NaN';\n const isNegativeZero = val === 0 && (1 / val) < 0;\n return isNegativeZero ? '-0' : '' + val;\n}\n\nfunction printFunction(val) {\n if (val.name === '') {\n return '[Function anonymous]'\n } else {\n return '[Function ' + val.name + ']';\n }\n}\n\nfunction printSymbol(val) {\n return symbolToString.call(val).replace(SYMBOL_REGEXP, 'Symbol($1)');\n}\n\nfunction printError(val) {\n return '[' + errorToString.call(val) + ']';\n}\n\nfunction printBasicValue(val) {\n if (val === true || val === false) return '' + val;\n if (val === undefined) return 'undefined';\n if (val === null) return 'null';\n\n const typeOf = typeof val;\n\n if (typeOf === 'number') return printNumber(val);\n if (typeOf === 'string') return '\"' + printString(val) + '\"';\n if (typeOf === 'function') return printFunction(val);\n if (typeOf === 'symbol') return printSymbol(val);\n\n const toStringed = toString.call(val);\n\n if (toStringed === '[object WeakMap]') return 'WeakMap {}';\n if (toStringed === '[object WeakSet]') return 'WeakSet {}';\n if (toStringed === '[object Function]' || toStringed === '[object GeneratorFunction]') return printFunction(val, min);\n if (toStringed === '[object Symbol]') return printSymbol(val);\n if (toStringed === '[object Date]') return toISOString.call(val);\n if (toStringed === '[object Error]') return printError(val);\n if (toStringed === '[object RegExp]') return regExpToString.call(val);\n if (toStringed === '[object Arguments]' && val.length === 0) return 'Arguments []';\n if (isToStringedArrayType(toStringed) && val.length === 0) return val.constructor.name + ' []';\n\n if (val instanceof Error) return printError(val);\n\n return false;\n}\n\nfunction printList(list, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n let body = '';\n\n if (list.length) {\n body += edgeSpacing;\n\n const innerIndent = prevIndent + indent;\n\n for (let i = 0; i < list.length; i++) {\n body += innerIndent + print(list[i], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n\n if (i < list.length - 1) {\n body += ',' + spacing;\n }\n }\n\n body += edgeSpacing + prevIndent;\n }\n\n return '[' + body + ']';\n}\n\nfunction printArguments(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n return (min ? '' : 'Arguments ') + printList(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n}\n\nfunction printArray(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n return (min ? '' : val.constructor.name + ' ') + printList(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n}\n\nfunction printMap(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n let result = 'Map {';\n const iterator = val.entries();\n let current = iterator.next();\n\n if (!current.done) {\n result += edgeSpacing;\n\n const innerIndent = prevIndent + indent;\n\n while (!current.done) {\n const key = print(current.value[0], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n const value = print(current.value[1], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n\n result += innerIndent + key + ' => ' + value;\n\n current = iterator.next();\n\n if (!current.done) {\n result += ',' + spacing;\n }\n }\n\n result += edgeSpacing + prevIndent;\n }\n\n return result + '}';\n}\n\nfunction printObject(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n const constructor = min ? '' : (val.constructor ? val.constructor.name + ' ' : 'Object ');\n let result = constructor + '{';\n let keys = Object.keys(val).sort();\n const symbols = getSymbols(val);\n\n if (symbols.length) {\n keys = keys\n .filter(key => !(typeof key === 'symbol' || toString.call(key) === '[object Symbol]'))\n .concat(symbols);\n }\n\n if (keys.length) {\n result += edgeSpacing;\n\n const innerIndent = prevIndent + indent;\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const name = print(key, indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n const value = print(val[key], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n\n result += innerIndent + name + ': ' + value;\n\n if (i < keys.length - 1) {\n result += ',' + spacing;\n }\n }\n\n result += edgeSpacing + prevIndent;\n }\n\n return result + '}';\n}\n\nfunction printSet(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n let result = 'Set {';\n const iterator = val.entries();\n let current = iterator.next();\n\n if (!current.done) {\n result += edgeSpacing;\n\n const innerIndent = prevIndent + indent;\n\n while (!current.done) {\n result += innerIndent + print(current.value[1], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n\n current = iterator.next();\n\n if (!current.done) {\n result += ',' + spacing;\n }\n }\n\n result += edgeSpacing + prevIndent;\n }\n\n return result + '}';\n}\n\nfunction printComplexValue(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n refs = refs.slice();\n if (refs.indexOf(val) > -1) {\n return '[Circular]';\n } else {\n refs.push(val);\n }\n\n currentDepth++;\n\n const hitMaxDepth = currentDepth > maxDepth;\n\n if (!hitMaxDepth && val.toJSON && typeof val.toJSON === 'function') {\n return print(val.toJSON(), indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n }\n\n const toStringed = toString.call(val);\n if (toStringed === '[object Arguments]') {\n return hitMaxDepth ? '[Arguments]' : printArguments(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n } else if (isToStringedArrayType(toStringed)) {\n return hitMaxDepth ? '[Array]' : printArray(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n } else if (toStringed === '[object Map]') {\n return hitMaxDepth ? '[Map]' : printMap(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n } else if (toStringed === '[object Set]') {\n return hitMaxDepth ? '[Set]' : printSet(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n } else if (typeof val === 'object') {\n return hitMaxDepth ? '[Object]' : printObject(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n }\n}\n\nfunction printPlugin(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n let match = false;\n let plugin;\n\n for (let p = 0; p < plugins.length; p++) {\n plugin = plugins[p];\n\n if (plugin.test(val)) {\n match = true;\n break;\n }\n }\n\n if (!match) {\n return false;\n }\n\n function boundPrint(val) {\n return print(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n }\n\n function boundIndent(str) {\n const indentation = prevIndent + indent;\n return indentation + str.replace(NEWLINE_REGEXP, '\\n' + indentation);\n }\n\n return plugin.print(val, boundPrint, boundIndent, {\n edgeSpacing: edgeSpacing,\n spacing: spacing\n });\n}\n\nfunction print(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n const basic = printBasicValue(val);\n if (basic) return basic;\n\n const plugin = printPlugin(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n if (plugin) return plugin;\n\n return printComplexValue(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n}\n\nconst DEFAULTS = {\n indent: 2,\n min: false,\n maxDepth: Infinity,\n plugins: []\n};\n\nfunction validateOptions(opts) {\n Object.keys(opts).forEach(key => {\n if (!DEFAULTS.hasOwnProperty(key)) {\n throw new Error('prettyFormat: Invalid option: ' + key);\n }\n });\n\n if (opts.min && opts.indent !== undefined && opts.indent !== 0) {\n throw new Error('prettyFormat: Cannot run with min option and indent');\n }\n}\n\nfunction normalizeOptions(opts) {\n const result = {};\n\n Object.keys(DEFAULTS).forEach(key =>\n result[key] = opts.hasOwnProperty(key) ? opts[key] : DEFAULTS[key]\n );\n\n if (result.min) {\n result.indent = 0;\n }\n\n return result;\n}\n\nfunction createIndent(indent) {\n return new Array(indent + 1).join(' ');\n}\n\nfunction prettyFormat(val, opts) {\n if (!opts) {\n opts = DEFAULTS;\n } else {\n validateOptions(opts)\n opts = normalizeOptions(opts);\n }\n\n let indent;\n let refs;\n const prevIndent = '';\n const currentDepth = 0;\n const spacing = opts.min ? ' ' : '\\n';\n const edgeSpacing = opts.min ? '' : '\\n';\n\n if (opts && opts.plugins.length) {\n indent = createIndent(opts.indent);\n refs = [];\n var pluginsResult = printPlugin(val, indent, prevIndent, spacing, edgeSpacing, refs, opts.maxDepth, currentDepth, opts.plugins, opts.min);\n if (pluginsResult) return pluginsResult;\n }\n\n var basicResult = printBasicValue(val);\n if (basicResult) return basicResult;\n\n if (!indent) indent = createIndent(opts.indent);\n if (!refs) refs = [];\n return printComplexValue(val, indent, prevIndent, spacing, edgeSpacing, refs, opts.maxDepth, currentDepth, opts.plugins, opts.min);\n}\n\nmodule.exports = prettyFormat;\n","import './polyfills.js';\nimport renderToString from './pretty.js';\nimport { indent, encodeEntities } from './util.js';\nimport prettyFormat from 'pretty-format';\n\n/** @typedef {import('preact').VNode} VNode */\n\n// we have to patch in Array support, Possible issue in npm.im/pretty-format\nlet preactPlugin = {\n\ttest(object) {\n\t\treturn (\n\t\t\tobject &&\n\t\t\ttypeof object === 'object' &&\n\t\t\t'type' in object &&\n\t\t\t'props' in object &&\n\t\t\t'key' in object\n\t\t);\n\t},\n\tprint(val, print, indent) {\n\t\treturn renderToString(val, preactPlugin.context, preactPlugin.opts, true);\n\t}\n};\n\nlet prettyFormatOpts = {\n\tplugins: [preactPlugin]\n};\n\nfunction attributeHook(name, value, context, opts, isComponent) {\n\tlet type = typeof value;\n\n\t// Use render-to-string's built-in handling for these properties\n\tif (name === 'dangerouslySetInnerHTML') return false;\n\n\t// always skip null & undefined values, skip false DOM attributes, skip functions if told to\n\tif (value == null || (type === 'function' && !opts.functions)) return '';\n\n\tif (\n\t\topts.skipFalseAttributes &&\n\t\t!isComponent &&\n\t\t(value === false ||\n\t\t\t((name === 'class' || name === 'style') && value === ''))\n\t)\n\t\treturn '';\n\n\tlet indentChar = typeof opts.pretty === 'string' ? opts.pretty : '\\t';\n\tif (type !== 'string') {\n\t\tif (type === 'function' && !opts.functionNames) {\n\t\t\tvalue = 'Function';\n\t\t} else {\n\t\t\tpreactPlugin.context = context;\n\t\t\tpreactPlugin.opts = opts;\n\t\t\tvalue = prettyFormat(value, prettyFormatOpts);\n\t\t\tif (~value.indexOf('\\n')) {\n\t\t\t\tvalue = `${indent('\\n' + value, indentChar)}\\n`;\n\t\t\t}\n\t\t}\n\t\treturn indent(`\\n${name}={${value}}`, indentChar);\n\t}\n\treturn `\\n${indentChar}${name}=\"${encodeEntities(value)}\"`;\n}\n\nlet defaultOpts = {\n\tattributeHook,\n\tjsx: true,\n\txml: false,\n\tfunctions: true,\n\tfunctionNames: true,\n\tskipFalseAttributes: true,\n\tpretty: ' '\n};\n\n/**\n * Render Preact JSX + Components to a pretty-printed HTML-like string.\n * @param {VNode} vnode\tJSX Element / VNode to render\n * @param {Object} [context={}] Initial root context object\n * @param {Object} [options={}] Rendering options\n * @param {Boolean} [options.jsx=true] Generate JSX/XML output instead of HTML\n * @param {Boolean} [options.xml=false] Use self-closing tags for elements without children\n * @param {Boolean} [options.shallow=false] Serialize nested Components (`<Foo a=\"b\" />`) instead of rendering\n * @param {Boolean} [options.pretty=false] Add whitespace for readability\n * @param {RegExp|undefined} [options.voidElements] RegeEx to define which element types are self-closing\n * @returns {String} a pretty-printed HTML-like string\n */\nexport default function renderToStringPretty(vnode, context, options) {\n\tconst opts = Object.assign({}, defaultOpts, options || {});\n\tif (!opts.jsx) opts.attributeHook = null;\n\treturn renderToString(vnode, context, opts);\n}\nexport { renderToStringPretty as render };\n\nconst SHALLOW = { shallow: true };\n\n/** Only render elements, leaving Components inline as `<ComponentName ... />`.\n *\tThis method is just a convenience alias for `render(vnode, context, { shallow:true })`\n *\t@name shallow\n *\t@function\n *\t@param {VNode} vnode\tJSX VNode to render.\n *\t@param {Object} [context={}]\tOptionally pass an initial context object through the render path.\n *\t@param {Parameters<typeof renderToStringPretty>[2]} [options]\tOptionally pass an initial context object through the render path.\n */\nexport function shallowRender(vnode, context, options) {\n\tconst opts = Object.assign({}, SHALLOW, options || {});\n\treturn renderToStringPretty(vnode, context, opts);\n}\n"],"names":["Symbol","c","s","for","VOID_ELEMENTS","UNSAFE_NAME","NAMESPACE_REPLACE_REGEX","HTML_LOWER_CASE","SVG_CAMEL_CASE","ENCODED_ENTITIES","encodeEntities","str","length","test","last","i","out","ch","charCodeAt","slice","indent","char","String","replace","isLargeString","ignoreLines","indexOf","JS_TO_CSS","IS_NON_DIMENSIONAL","Set","CSS_REGEX","styleObjToCss","prop","val","name","toLowerCase","suffix","startsWith","has","undefined","getChildren","accumulator","children","Array","isArray","reduce","push","markAsDirty","this","__d","createComponent","vnode","context","__v","props","setState","forceUpdate","__h","UNNAMED","EMPTY_ARR","renderToStringPretty","opts","_inner","previousSkipEffects","options","_renderToStringPretty","inner","isSvgMode","selectValue","pretty","indentChar","rendered","constructor","nodeName","type","isComponent","shallow","renderRootComponent","Fragment","shallowHighOrder","__c","renderHook","cctx","cxType","contextType","provider","value","__","prototype","render","_dirty","state","_nextState","__s","getDerivedStateFromProps","Object","assign","componentWillMount","count","call","getChildContext","res","component","displayName","Function","getFallbackComponentName","propChildren","html","attrs","keys","sortAttributes","sort","v","allAttributes","class","hooked","attributeHook","__html","xml","selected","sub","Error","isVoid","voidElements","pieces","hasLarge","lastWasText","child","ret","isText","join","substring","toString","match","index","ESCAPED_CHARACTERS","toISOString","Date","errorToString","regExpToString","RegExp","symbolToString","SYMBOL_REGEXP","NEWLINE_REGEXP","getSymbols","getOwnPropertySymbols","obj","isToStringedArrayType","toStringed","printNumber","printFunction","printSymbol","printError","printBasicValue","typeOf","printString","min","printList","list","prevIndent","spacing","edgeSpacing","refs","maxDepth","currentDepth","plugins","body","innerIndent","print","printArguments","printArray","printMap","result","iterator","entries","current","next","done","printObject","symbols","filter","key","concat","printSet","printComplexValue","hitMaxDepth","toJSON","printPlugin","plugin","p","indentation","DEFAULTS","Infinity","validateOptions","forEach","hasOwnProperty","normalizeOptions","createIndent","pluginsResult","preactPlugin","object","renderToString","prettyFormatOpts","defaultOpts","functions","skipFalseAttributes","functionNames","prettyFormat","jsx","SHALLOW","shallowRender"],"mappings":"+CAAA,GAAsB,mBAAXA,OAAuB,CACjC,IAAIC,EAAI,EAERD,OAAS,SAAUE,GAClB,MAAQ,KAAIA,MAAMD,GACnB,EACAD,OAAOG,IAAOD,GAAO,KAAIA,GAC1B,OCPaE,EAAgB,6EAChBC,EAAc,mBACdC,EAA0B,4BAC1BC,EAAkB,iJAClBC,EAAiB,yQAGxBC,EAAmB,iBAGTC,EAAeC,GAE9B,GAAmB,IAAfA,EAAIC,SAA+C,IAA/BH,EAAiBI,KAAKF,GAAgB,OAAOA,EAErE,IAAIG,EAAO,EACVC,EAAI,EACJC,EAAM,GACNC,EAAK,GAGN,KAAOF,EAAIJ,EAAIC,OAAQG,IAAK,CAC3B,OAAQJ,EAAIO,WAAWH,IACtB,QACCE,EAAK,SACL,MACD,QACCA,EAAK,QACL,MACD,QACCA,EAAK,OACL,MACD,QACC,SAGEF,IAAMD,IAAME,GAAOL,EAAIQ,MAAML,EAAMC,IACvCC,GAAOC,EAEPH,EAAOC,EAAI,CACZ,CAEA,OADIA,IAAMD,IAAME,GAAOL,EAAIQ,MAAML,EAAMC,IAChCC,CACR,KAEWI,EAASA,CAAClB,EAAGmB,IACvBC,OAAOpB,GAAGqB,QAAQ,SAAU,MAAQF,GAAQ,OAElCG,EAAgBA,CAACtB,EAAGU,EAAQa,IACtCH,OAAOpB,GAAGU,QAAUA,GAAU,MAC5Ba,IAA4C,IAA7BH,OAAOpB,GAAGwB,QAAQ,QACP,IAA5BJ,OAAOpB,GAAGwB,QAAQ,KAEnB,MAAMC,EAAY,GAEZC,EAAqB,IAAIC,IAAI,CAClC,4BACA,sBACA,qBACA,qBACA,WACA,iBACA,oBACA,eACA,eACA,OACA,YACA,gBACA,aACA,gBACA,cACA,gBACA,cACA,cACA,WACA,aACA,cACA,UACA,QACA,UACA,eACA,mBACA,oBACA,oBACA,iBACA,eACA,WACA,SACA,UACA,SAGKC,EAAY,kBAEFC,EAAc7B,GAC7B,IAAIS,EAAM,GACV,IAAK,IAAIqB,KAAQ9B,EAAG,CACnB,IAAI+B,EAAM/B,EAAE8B,GACZ,GAAW,MAAPC,GAAuB,KAARA,EAAY,CAC9B,MAAMC,EACM,KAAXF,EAAK,GACFA,EACAL,EAAUK,KACTL,EAAUK,GAAQA,EAAKT,QAAQO,EAAW,OAAOK,eAEtD,IAAIC,EAAS,IAEG,iBAARH,GAENC,EAAKG,WAAW,OAChBT,EAAmBU,IAAIJ,KAExBE,EAAS,OAEVzB,EAAMA,EAAMuB,EAAO,IAAMD,EAAMG,CAChC,CACD,CACA,OAAOzB,QAAO4B,CACf,UASgBC,EAAYC,EAAaC,GAMxC,OALIC,MAAMC,QAAQF,GACjBA,EAASG,OAAOL,EAAaC,GACP,MAAZC,IAAiC,IAAbA,GAC9BD,EAAYK,KAAKJ,GAEXD,CACR,CAEA,SAASM,IACRC,KAAKC,KAAM,CACZ,UAEgBC,EAAgBC,EAAOC,GACtC,MAAO,CACNC,IAAKF,EACLC,UACAE,MAAOH,EAAMG,MAEbC,SAAUR,EACVS,YAAaT,EACbE,KAAK,EAELQ,IAAK,GAEP,OCpIMC,EAAU,GAEVC,EAAY,YAcMC,EAAqBT,EAAOC,EAASS,EAAMC,GAMlE,MAAMC,EAAsBC,EAAoB,IAChDA,EAAoB,KAAI,EAExB,IACC,OAAOC,EAAsBd,EAAOC,GAAW,GAAIS,EAAMC,EAO1D,CANC,QAGIE,EAAc,KAAGA,EAAc,IAAEb,EAAOQ,GAC5CK,EAAoB,IAAID,EACxBJ,EAAU/C,OAAS,CACpB,CACD,CAEA,SAASqD,EACRd,EACAC,EACAS,EACAK,EACAC,EACAC,GAEA,GAAa,MAATjB,GAAkC,kBAAVA,EAC3B,MAAO,GAIR,GAAqB,iBAAVA,EACV,MAAqB,mBAAVA,EAA6B,GACjCzC,EAAeyC,EAAQ,IAG/B,IAAIkB,EAASR,EAAKQ,OACjBC,EAAaD,GAA4B,iBAAXA,EAAsBA,EAAS,KAE9D,GAAI1B,MAAMC,QAAQO,GAAQ,CACzB,IAAIoB,EAAW,GACf,IAAK,IAAIxD,EAAI,EAAGA,EAAIoC,EAAMvC,OAAQG,IAC7BsD,GAAUtD,EAAI,IAAGwD,GAAsB,MAC3CA,GAECN,EACCd,EAAMpC,GACNqC,EACAS,EACAK,EACAC,EACAC,GAGH,OAAOG,CACR,CAGA,QAA0BhC,IAAtBY,EAAMqB,YAA2B,MAAO,GAExCR,EAAY,KAAGA,EAAY,IAAEb,GAEjC,IAAIsB,EAAWtB,EAAMuB,KACpBpB,EAAQH,EAAMG,MACdqB,GAAc,EAGf,GAAwB,mBAAbF,EAAyB,CAEnC,GADAE,GAAc,GACVd,EAAKe,UAAYV,IAAsC,IAA7BL,EAAKgB,wBAExBJ,IAAaK,EAAU,CACjC,MAAMpC,EAAW,GAEjB,OADAF,EAAYE,EAAUS,EAAMG,MAAMZ,UAC3BuB,EACNvB,EACAU,EACAS,GAC0B,IAA1BA,EAAKkB,iBACLZ,EACAC,EAEF,CAAO,CACN,IAAIG,EAEAtE,EAAKkD,EAAM6B,IAAM9B,EAAgBC,EAAOC,GAExC6B,EAAajB,EAAc,IAE3BkB,EAAO9B,EACP+B,EAASV,EAASW,YACtB,GAAc,MAAVD,EAAgB,CACnB,IAAIE,EAAWjC,EAAQ+B,EAAOH,KAC9BE,EAAOG,EAAWA,EAAS/B,MAAMgC,MAAQH,EAAOI,EACjD,CAEA,GACEd,EAASe,WAC2B,mBAA9Bf,EAASe,UAAUC,OAkB1BxF,EAAIkD,EAAM6B,IAAM,IAAIP,EAASnB,EAAO4B,GACpCjF,EAAEoD,IAAMF,EAERlD,EAAEyF,OAASzF,EAAEgD,KAAM,EACnBhD,EAAEqD,MAAQA,EACK,MAAXrD,EAAE0F,QAAe1F,EAAE0F,MAAQ,IAEX,MAAhB1F,EAAE2F,YAA+B,MAAT3F,EAAE4F,MAC7B5F,EAAE2F,WAAa3F,EAAE4F,IAAM5F,EAAE0F,OAG1B1F,EAAEmD,QAAU8B,EACRT,EAASqB,yBACZ7F,EAAE0F,MAAQI,OAAOC,OAChB,GACA/F,EAAE0F,MACFlB,EAASqB,yBAAyB7F,EAAEqD,MAAOrD,EAAE0F,QAEtC1F,EAAEgG,qBACVhG,EAAEgG,qBAIFhG,EAAE0F,MACD1F,EAAE2F,aAAe3F,EAAE0F,MAChB1F,EAAE2F,WACF3F,EAAE4F,MAAQ5F,EAAE0F,MACZ1F,EAAE4F,IACF5F,EAAE0F,OAGHV,GAAYA,EAAW9B,GAE3BoB,EAAWtE,EAAEwF,OAAOxF,EAAEqD,MAAOrD,EAAE0F,MAAO1F,EAAEmD,aAlDvC,CAMD,IAAI8C,EAAQ,EACZ,KAAOjG,EAAEgD,KAAOiD,IAAU,IACzBjG,EAAEgD,KAAM,EAEJgC,GAAYA,EAAW9B,GAG3BoB,EAAWE,EAAS0B,KAAKhD,EAAM6B,IAAK1B,EAAO4B,EAE7C,CAsCIjF,EAAEmG,kBACLhD,EAAU2C,OAAOC,OAAO,GAAI5C,EAASnD,EAAEmG,oBAGxC,MAAMC,EAAMpC,EACXM,EACAnB,EACAS,GAC0B,IAA1BA,EAAKkB,iBACLZ,EACAC,GAKD,OAFIJ,EAAc,QAAGA,EAAc,OAAEb,GAE9BkD,CACR,EAlGC5B,GAuTuB6B,EAvTK7B,GAyTnB8B,aACTD,IAAcE,UAAYF,EAAUpE,MACrCuE,EAAyBH,EAxN1B,CAoND,IAA0BA,EAjNzB,IACCI,EACAC,EAFGzG,EAAI,IAAMuE,EAId,GAAInB,EAAO,CACV,IAAIsD,EAAQb,OAAOc,KAAKvD,GAGpBO,IAAgC,IAAxBA,EAAKiD,gBAAyBF,EAAMG,OAEhD,IAAK,IAAIhG,EAAI,EAAGA,EAAI6F,EAAMhG,OAAQG,IAAK,CACtC,IAAImB,EAAO0E,EAAM7F,GAChBiG,EAAI1D,EAAMpB,GACX,GAAa,aAATA,EAAqB,CACxBwE,EAAeM,EACf,QACD,CAEA,GAAI3G,EAAYQ,KAAKqB,GAAO,SAE5B,KACG2B,GAAQA,EAAKoD,eACL,QAAT/E,GACS,QAATA,GACS,WAATA,GACS,aAATA,GAED,SAED,GAAa,iBAATA,EACHA,EAAO,gBACY,mBAATA,EACVA,EAAO,kBACY,oBAATA,EACVA,EAAO,mBACY,cAATA,EAAsB,CAChC,QAA2B,IAAhBoB,EAAM4D,MAAuB,SACxChF,EAAO,OACR,KAAoB,kBAATA,EACVA,EAAO,iBACY,cAATA,EACVA,EAAO,aACG5B,EAAwBO,KAAKqB,GACvCA,EAAOA,EAAKX,QAAQjB,EAAyB,SAAS6B,cAC5CgC,EACN3D,EAAeK,KAAKqB,KACvBA,EACU,YAATA,EACG,WACAA,EAAKX,QAAQ,WAAY,OAAOY,eAE3B5B,EAAgBM,KAAKqB,KAC/BA,EAAOA,EAAKC,eAGb,GAAa,YAATD,EAAoB,CACvB,GAAIoB,EAAMnD,IAAK,SACf+B,EAAO,KACR,CAEa,UAATA,GAAoB8E,GAAkB,iBAANA,IACnCA,EAAIjF,EAAciF,IAKH,MAAZ9E,EAAK,IAA4B,MAAdA,EAAK,IAA6B,kBAAN8E,IAClDA,EAAI1F,OAAO0F,IAGZ,IAAIG,EACHtD,EAAKuD,eACLvD,EAAKuD,cAAclF,EAAM8E,EAAG5D,EAASS,EAAMc,GAC5C,GAAIwC,GAAqB,KAAXA,EACbjH,GAAQiH,OAIT,GAAa,4BAATjF,EACHyE,EAAOK,GAAKA,EAAEK,eACS,aAAb5C,GAAoC,UAATvC,EAErCwE,EAAeM,WACJA,GAAW,IAANA,GAAiB,KAANA,IAA0B,mBAANA,EAAkB,CACjE,MAAU,IAANA,GAAoB,KAANA,IACjBA,EAAI9E,EAEC2B,GAASA,EAAKyD,MAAK,CACvBpH,EAAIA,EAAI,IAAMgC,EACd,QACD,CAGD,GAAa,UAATA,EAAkB,CACrB,GAAiB,WAAbuC,EAAuB,CAC1BL,EAAc4C,EACd,QACD,CAEc,WAAbvC,GACAL,GAAe4C,QAEW,IAAnB1D,EAAMiE,WAEbrH,GAAS,YAEX,CACAA,GAAS,IAAGgC,MAASxB,EAAesG,EAAI,MACzC,CACD,CACD,CAGA,GAAI3C,EAAQ,CACX,IAAImD,EAAMtH,EAAEqB,QAAQ,QAAS,KACzBiG,IAAQtH,IAAOsH,EAAI9F,QAAQ,MACtB2C,IAAWnE,EAAEwB,QAAQ,QAAOxB,GAAQ,MADPA,EAAIsH,CAE3C,CAIA,GAFAtH,GAAQ,IAEJG,EAAYQ,KAAK4D,GACpB,UAAUgD,MAAO,GAAEhD,qCAA4CvE,KAEhE,IAKIwC,EALAgF,EACHtH,EAAcS,KAAK4D,IAClBZ,EAAK8D,cAAgB9D,EAAK8D,aAAa9G,KAAK4D,GAC1CmD,EAAS,GAGb,GAAIjB,EAECtC,GAAU7C,EAAcmF,KAC3BA,EAAO,KAAOrC,EAAalD,EAAOuF,EAAMrC,IAEzCpE,GAAQyG,UAEQ,MAAhBD,GACAlE,EAAaE,EAAW,GAAKgE,GAAc9F,OAC1C,CACD,IAAIiH,EAAWxD,IAAWnE,EAAEwB,QAAQ,MAChCoG,GAAc,EAElB,IAAK,IAAI/G,EAAI,EAAGA,EAAI2B,EAAS9B,OAAQG,IAAK,CACzC,IAAIgH,EAAQrF,EAAS3B,GAErB,GAAa,MAATgH,IAA2B,IAAVA,EAAiB,CACrC,IAMCC,EAAM/D,EACL8D,EACA3E,EACAS,GACA,EATa,QAAbY,GAEgB,kBAAbA,GAEAN,EAOHC,GAMF,GAHIC,IAAWwD,GAAYrG,EAAcwG,KAAMH,GAAW,GAGtDG,EACH,GAAI3D,EAAQ,CACX,IAAI4D,EAASD,EAAIpH,OAAS,GAAe,KAAVoH,EAAI,GAI/BF,GAAeG,EAClBL,EAAOA,EAAOhH,OAAS,IAAMoH,EAE7BJ,EAAO9E,KAAKkF,GAGbF,EAAcG,CACf,MACCL,EAAO9E,KAAKkF,EAGf,CACD,CACA,GAAI3D,GAAUwD,EACb,IAAK,IAAI9G,EAAI6G,EAAOhH,OAAQG,KAC3B6G,EAAO7G,GAAK,KAAOuD,EAAalD,EAAOwG,EAAO7G,GAAIuD,EAGrD,CAIA,GAFIN,EAAc,QAAGA,EAAc,OAAEb,GAEjCyE,EAAOhH,QAAU+F,EACpBzG,GAAQ0H,EAAOM,KAAK,YACVrE,GAAQA,EAAKyD,IACvB,OAAOpH,EAAEiI,UAAU,EAAGjI,EAAEU,OAAS,GAAK,MAUvC,OAPI8G,GAAWhF,GAAaiE,GAGvBtC,IAAWnE,EAAEwB,QAAQ,QAAOxB,GAAQ,MACxCA,GAAS,KAAIuE,MAHbvE,EAAIA,EAAEqB,QAAQ,KAAM,OAMdrB,CACR,CAUA,SAASuG,EAAyBH,GACjC,IACCpE,GADSsE,SAAShB,UAAU4C,SAASjC,KAAKG,GAC9B+B,MAAM,4BAA8B,IAAI,GACrD,IAAKnG,EAAM,CAEV,IAAIoG,GAAS,EACb,IAAK,IAAIvH,EAAI2C,EAAQ9C,OAAQG,KAC5B,GAAI2C,EAAQ3C,KAAOuF,EAAW,CAC7BgC,EAAQvH,EACR,KACD,CAGGuH,EAAQ,IACXA,EAAQ5E,EAAQZ,KAAKwD,GAAa,GAEnCpE,EAAQ,mBAAkBoG,GAC3B,CACA,OAAOpG,CACR,CC3bA,MAAMqG,EAAqB,cAE3B,MAAiB,SAAqBtG,GACpC,OAAOA,EAAIV,QAAQgH,EAAoB,OACzC,ECFA,MAAMH,EAAWrC,OAAOP,UAAU4C,SAC5BI,EAAcC,KAAKjD,UAAUgD,YAC7BE,EAAgBjB,MAAMjC,UAAU4C,SAChCO,EAAiBC,OAAOpD,UAAU4C,SAClCS,EAAiB7I,OAAOwF,UAAU4C,SAElCU,EAAgB,uBAChBC,EAAiB,OAEjBC,EAAajD,OAAOkD,wBAA0BC,GAAO,IAE3D,SAASC,EAAsBC,GAC7B,MACiB,mBAAfA,GACe,yBAAfA,GACe,sBAAfA,GACe,0BAAfA,GACe,0BAAfA,GACe,uBAAfA,GACe,wBAAfA,GACe,wBAAfA,GACe,wBAAfA,GACe,+BAAfA,GACe,yBAAfA,GACe,yBAAfA,CAEJ,CAEA,SAASC,EAAYpH,GACnB,OAAIA,IAAQA,EAAY,MACO,IAARA,GAAc,EAAIA,EAAO,EACxB,KAAO,GAAKA,CACtC,CAEA,SAASqH,EAAcrH,GACrB,MAAiB,KAAbA,EAAIC,KACC,uBAEA,aAAeD,EAAIC,KAAO,GAErC,CAEA,SAASqH,EAAYtH,GACnB,OAAO4G,EAAe1C,KAAKlE,GAAKV,QAAQuH,EAAe,aACzD,CAEA,SAASU,EAAWvH,GAClB,MAAO,IAAMyG,EAAcvC,KAAKlE,GAAO,GACzC,CAEA,SAASwH,EAAgBxH,GACvB,IAAY,IAARA,IAAwB,IAARA,EAAe,MAAO,GAAKA,EAC/C,QAAYM,IAARN,EAAmB,MAAO,YAC9B,GAAY,OAARA,EAAc,MAAO,OAEzB,MAAMyH,SAAgBzH,EAEtB,GAAe,WAAXyH,EAAqB,OAAOL,EAAYpH,GAC5C,GAAe,WAAXyH,EAAqB,MAAO,IAAMC,EAAY1H,GAAO,IACzD,GAAe,aAAXyH,EAAuB,OAAOJ,EAAcrH,GAChD,GAAe,WAAXyH,EAAqB,OAAOH,EAAYtH,GAE5C,MAAMmH,EAAahB,EAASjC,KAAKlE,GAEjC,MAAmB,qBAAfmH,EAA0C,aAC3B,qBAAfA,EAA0C,aAC3B,sBAAfA,GAAqD,+BAAfA,EAAoDE,EAAcrH,EAAK2H,KAC9F,oBAAfR,EAAyCG,EAAYtH,GACtC,kBAAfmH,EAAuCZ,EAAYrC,KAAKlE,GACzC,mBAAfmH,EAAwCI,EAAWvH,GACpC,oBAAfmH,EAAyCT,EAAexC,KAAKlE,GAC9C,uBAAfmH,GAAsD,IAAfnH,EAAIrB,OAAqB,eAChEuI,EAAsBC,IAA8B,IAAfnH,EAAIrB,OAAqBqB,EAAIuC,YAAYtC,KAAO,MAErFD,aAAewF,OAAc+B,EAAWvH,EAG9C,CAEA,SAAS4H,EAAUC,EAAM1I,EAAQ2I,EAAYC,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,GACxG,IAAIU,EAAO,GAEX,GAAIR,EAAKlJ,OAAQ,CACf0J,GAAQL,EAER,MAAMM,EAAcR,EAAa3I,EAEjC,IAAK,IAAIL,EAAI,EAAGA,EAAI+I,EAAKlJ,OAAQG,IAC/BuJ,GAAQC,EAAcC,EAAMV,EAAK/I,GAAIK,EAAQmJ,EAAaP,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,GAEnH7I,EAAI+I,EAAKlJ,OAAS,IACpB0J,GAAQ,IAAMN,GAIlBM,GAAQL,EAAcF,EAGxB,MAAO,IAAMO,EAAO,GACtB,CAEA,SAASG,EAAexI,EAAKb,EAAQ2I,EAAYC,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,GAC5G,OAAQA,EAAM,GAAK,cAAgBC,EAAU5H,EAAKb,EAAQ2I,EAAYC,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,EACrI,CAEA,SAASc,EAAWzI,EAAKb,EAAQ2I,EAAYC,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,GACxG,OAAQA,EAAM,GAAK3H,EAAIuC,YAAYtC,KAAO,KAAO2H,EAAU5H,EAAKb,EAAQ2I,EAAYC,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,EACnJ,CAEA,SAASe,EAAS1I,EAAKb,EAAQ2I,EAAYC,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,GACtG,IAAIgB,EAAS,QACb,MAAMC,EAAW5I,EAAI6I,UACrB,IAAIC,EAAUF,EAASG,OAEvB,IAAKD,EAAQE,KAAM,CACjBL,GAAUX,EAEV,MAAMM,EAAcR,EAAa3I,EAEjC,MAAQ2J,EAAQE,MAIdL,GAAUL,EAHEC,EAAMO,EAAQzF,MAAM,GAAIlE,EAAQmJ,EAAaP,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,GAGxF,OAFhBY,EAAMO,EAAQzF,MAAM,GAAIlE,EAAQmJ,EAAaP,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,GAIxHmB,EAAUF,EAASG,OAEdD,EAAQE,OACXL,GAAU,IAAMZ,GAIpBY,GAAUX,EAAcF,EAG1B,OAAOa,EAAS,GAClB,CAEA,SAASM,EAAYjJ,EAAKb,EAAQ2I,EAAYC,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,GAEzG,IAAIgB,GADgBhB,EAAM,GAAM3H,EAAIuC,YAAevC,EAAIuC,YAAYtC,KAAO,IAAM,WACrD,IACvB2E,EAAOd,OAAOc,KAAK5E,GAAK8E,OAC5B,MAAMoE,EAAUnC,EAAW/G,GAQ3B,GANIkJ,EAAQvK,SACViG,EAAOA,EACJuE,OAAOC,KAAwB,iBAARA,GAA2C,oBAAvBjD,EAASjC,KAAKkF,KACzDC,OAAOH,IAGRtE,EAAKjG,OAAQ,CACfgK,GAAUX,EAEV,MAAMM,EAAcR,EAAa3I,EAEjC,IAAK,IAAIL,EAAI,EAAGA,EAAI8F,EAAKjG,OAAQG,IAAK,CACpC,MAAMsK,EAAMxE,EAAK9F,GAIjB6J,GAAUL,EAHGC,EAAMa,EAAKjK,EAAQmJ,EAAaP,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,GAG3E,KAFjBY,EAAMvI,EAAIoJ,GAAMjK,EAAQmJ,EAAaP,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,GAI5G7I,EAAI8F,EAAKjG,OAAS,IACpBgK,GAAU,IAAMZ,GAIpBY,GAAUX,EAAcF,EAG1B,OAAOa,EAAS,GAClB,CAEA,SAASW,EAAStJ,EAAKb,EAAQ2I,EAAYC,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,GACtG,IAAIgB,EAAS,QACb,MAAMC,EAAW5I,EAAI6I,UACrB,IAAIC,EAAUF,EAASG,OAEvB,IAAKD,EAAQE,KAAM,CACjBL,GAAUX,EAEV,MAAMM,EAAcR,EAAa3I,EAEjC,MAAQ2J,EAAQE,MACdL,GAAUL,EAAcC,EAAMO,EAAQzF,MAAM,GAAIlE,EAAQmJ,EAAaP,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,GAElImB,EAAUF,EAASG,OAEdD,EAAQE,OACXL,GAAU,IAAMZ,GAIpBY,GAAUX,EAAcF,EAG1B,OAAOa,EAAS,GAClB,CAEA,SAASY,EAAkBvJ,EAAKb,EAAQ2I,EAAYC,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,GAE/G,IADAM,EAAOA,EAAK/I,SACHO,QAAQO,IAAQ,EACvB,MAAO,aAEPiI,EAAKpH,KAAKb,GAKZ,MAAMwJ,IAFNrB,EAEmCD,EAEnC,IAAKsB,GAAexJ,EAAIyJ,QAAgC,mBAAfzJ,EAAIyJ,OAC3C,OAAOlB,EAAMvI,EAAIyJ,SAAUtK,EAAQ2I,EAAYC,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,GAG9G,MAAMR,EAAahB,EAASjC,KAAKlE,GACjC,MAAmB,uBAAfmH,EACKqC,EAAc,cAAgBhB,EAAexI,EAAKb,EAAQ2I,EAAYC,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,GACjIT,EAAsBC,GACxBqC,EAAc,UAAYf,EAAWzI,EAAKb,EAAQ2I,EAAYC,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,GAC1G,iBAAfR,EACFqC,EAAc,QAAUd,EAAS1I,EAAKb,EAAQ2I,EAAYC,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,GACtG,iBAAfR,EACFqC,EAAc,QAAUF,EAAStJ,EAAKb,EAAQ2I,EAAYC,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,GACtG,iBAAR3H,EACTwJ,EAAc,WAAaP,EAAYjJ,EAAKb,EAAQ2I,EAAYC,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,QAD/H,CAGT,CAEA,SAAS+B,EAAY1J,EAAKb,EAAQ2I,EAAYC,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,GACzG,IACIgC,EADAvD,GAAQ,EAGZ,IAAK,IAAIwD,EAAI,EAAGA,EAAIxB,EAAQzJ,OAAQiL,IAGlC,GAFAD,EAASvB,EAAQwB,GAEbD,EAAO/K,KAAKoB,GAAM,CACpBoG,GAAQ,EACR,MAIJ,QAAKA,GAaEuD,EAAOpB,MAAMvI,EATpB,SAAoBA,GAClB,OAAOuI,EAAMvI,EAAKb,EAAQ2I,EAAYC,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,IAGrG,SAAqBjJ,GACnB,MAAMmL,EAAc/B,EAAa3I,EACjC,OAAO0K,EAAcnL,EAAIY,QAAQwH,EAAgB,KAAO+C,IAGR,CAChD7B,YAAaA,EACbD,QAASA,GAEb,CAEA,SAASQ,EAAMvI,EAAKb,EAAQ2I,EAAYC,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,GAEnG,OADcH,EAAgBxH,IAGf0J,EAAY1J,EAAKb,EAAQ2I,EAAYC,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,IAG1G4B,EAAkBvJ,EAAKb,EAAQ2I,EAAYC,EAASC,EAAaC,EAAMC,EAAUC,EAAcC,EAAST,EACjH,CAEA,MAAMmC,EAAW,CACf3K,OAAQ,EACRwI,KAAK,EACLO,SAAU6B,SACV3B,QAAS,IAGX,SAAS4B,EAAgBpI,GAOvB,GANAkC,OAAOc,KAAKhD,GAAMqI,QAAQb,IACxB,IAAKU,EAASI,eAAed,GAC3B,MAAM,IAAI5D,MAAM,iCAAmC4D,KAInDxH,EAAK+F,UAAuBrH,IAAhBsB,EAAKzC,QAAwC,IAAhByC,EAAKzC,OAChD,MAAM,IAAIqG,MAAM,sDAEpB,CAEA,SAAS2E,EAAiBvI,GACxB,MAAM+G,EAAS,GAUf,OARA7E,OAAOc,KAAKkF,GAAUG,QAAQb,GAC5BT,EAAOS,GAAOxH,EAAKsI,eAAed,GAAOxH,EAAKwH,GAAOU,EAASV,IAG5DT,EAAOhB,MACTgB,EAAOxJ,OAAS,GAGXwJ,CACT,CAEA,SAASyB,EAAajL,GACpB,OAAO,IAAIuB,MAAMvB,EAAS,GAAG8G,KAAK,IACpC,CAgCA,MA9BA,SAAsBjG,EAAK4B,GAQzB,IAAIzC,EACA8I,EARCrG,GAGHoI,EAAgBpI,GAChBA,EAAOuI,EAAiBvI,IAHxBA,EAAOkI,EAQT,MAEM/B,EAAUnG,EAAK+F,IAAM,IAAM,KAC3BK,EAAcpG,EAAK+F,IAAM,GAAK,KAEpC,GAAI/F,GAAQA,EAAKwG,QAAQzJ,OAAQ,CAC/BQ,EAASiL,EAAaxI,EAAKzC,QAC3B8I,EAAO,GACP,IAAIoC,EAAgBX,EAAY1J,EAAKb,EARpB,GAQwC4I,EAASC,EAAaC,EAAMrG,EAAKsG,SAPvE,EAO+FtG,EAAKwG,QAASxG,EAAK+F,KACrI,GAAI0C,EAAe,OAAOA,EAI5B,OADkB7C,EAAgBxH,KAG7Bb,IAAQA,EAASiL,EAAaxI,EAAKzC,SACnC8I,IAAMA,EAAO,IACXsB,EAAkBvJ,EAAKb,EAjBX,GAiB+B4I,EAASC,EAAaC,EAAMrG,EAAKsG,SAhB9D,EAgBsFtG,EAAKwG,QAASxG,EAAK+F,KAChI,EC5UA,IAAI2C,EAAe,CAClB1L,KAAK2L,GAEHA,GACkB,iBAAXA,GACP,SAAUA,GACV,UAAWA,GACX,QAASA,EAGXhC,MAAKA,CAACvI,EAAKuI,EAAOpJ,IACVqL,EAAexK,EAAKsK,EAAanJ,QAASmJ,EAAa1I,MAAM,IAIlE6I,GAAmB,CACtBrC,QAAS,CAACkC,IAqCPI,GAAc,CACjBvF,cAnCD,SAAuBlF,EAAMoD,EAAOlC,EAASS,EAAMc,GAClD,IAAID,SAAcY,EAGlB,GAAa,4BAATpD,EAAoC,SAGxC,GAAa,MAAToD,GAA2B,aAATZ,IAAwBb,EAAK+I,UAAY,MAAO,GAEtE,GACC/I,EAAKgJ,sBACJlI,KACU,IAAVW,IACW,UAATpD,GAA6B,UAATA,IAA+B,KAAVoD,GAE5C,MAAO,GAER,IAAIhB,EAAoC,iBAAhBT,EAAKQ,OAAsBR,EAAKQ,OAAS,KACjE,MAAa,WAATK,GACU,aAATA,GAAwBb,EAAKiJ,eAGhCP,EAAanJ,QAAUA,EACvBmJ,EAAa1I,KAAOA,IACpByB,EAAQyH,EAAazH,EAAOoH,KACjBhL,QAAQ,QAClB4D,EAAS,GAAElE,EAAO,KAAOkE,EAAOhB,SANjCgB,EAAQ,WASFlE,EAAQ,KAAIc,MAASoD,KAAUhB,IAE/B,KAAIA,IAAapC,MAASxB,EAAe4E,KAClD,EAIC0H,KAAK,EACL1F,KAAK,EACLsF,WAAW,EACXE,eAAe,EACfD,qBAAqB,EACrBxI,OAAQ,eAeeT,GAAqBT,EAAOC,EAASY,GAC5D,MAAMH,EAAOkC,OAAOC,OAAO,GAAI2G,GAAa3I,GAAW,IAEvD,OADKH,EAAKmJ,MAAKnJ,EAAKuD,cAAgB,MAC7BqF,EAAetJ,EAAOC,EAASS,EACvC,CAGA,MAAMoJ,GAAU,CAAErI,SAAS,YAUXsI,GAAc/J,EAAOC,EAASY,GAE7C,OAAOJ,GAAqBT,EAAOC,EADtB2C,OAAOC,OAAO,GAAIiH,GAASjJ,GAAW,IAEpD"}