{"version":3,"file":"interactivity/index.min.js","mappings":"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","sources":["webpack://wp/./packages/interactivity/node_modules/preact/src/constants.js","webpack://wp/./packages/interactivity/node_modules/preact/src/util.js","webpack://wp/./packages/interactivity/node_modules/preact/src/options.js","webpack://wp/./packages/interactivity/node_modules/preact/src/create-element.js","webpack://wp/./packages/interactivity/node_modules/preact/src/component.js","webpack://wp/./packages/interactivity/node_modules/preact/src/create-context.js","webpack://wp/./packages/interactivity/node_modules/preact/src/diff/children.js","webpack://wp/./packages/interactivity/node_modules/preact/src/diff/props.js","webpack://wp/./packages/interactivity/node_modules/preact/src/diff/index.js","webpack://wp/./packages/interactivity/node_modules/preact/src/render.js","webpack://wp/./packages/interactivity/node_modules/preact/src/clone-element.js","webpack://wp/./packages/interactivity/node_modules/preact/src/diff/catch-error.js","webpack://wp/webpack/bootstrap","webpack://wp/webpack/runtime/define property getters","webpack://wp/webpack/runtime/hasOwnProperty shorthand","webpack://wp/./packages/interactivity/node_modules/preact/hooks/src/index.js","webpack://wp/./node_modules/@preact/signals-core/src/index.ts","webpack://wp/./packages/interactivity/node_modules/@preact/signals/src/index.ts","webpack://wp/./packages/interactivity/build-module/@wordpress/interactivity/src/namespaces.ts","webpack://wp/./packages/interactivity/build-module/@wordpress/interactivity/src/scopes.ts","webpack://wp/./packages/interactivity/build-module/@wordpress/interactivity/src/utils.ts","webpack://wp/./packages/interactivity/build-module/proxies/@wordpress/interactivity/src/proxies/registry.ts","webpack://wp/./packages/interactivity/build-module/proxies/@wordpress/interactivity/src/proxies/signals.ts","webpack://wp/./packages/interactivity/build-module/proxies/@wordpress/interactivity/src/proxies/state.ts","webpack://wp/./packages/interactivity/build-module/proxies/@wordpress/interactivity/src/proxies/store.ts","webpack://wp/./packages/interactivity/build-module/proxies/@wordpress/interactivity/src/proxies/context.ts","webpack://wp/./packages/interactivity/build-module/@wordpress/interactivity/src/store.ts","webpack://wp/./packages/interactivity/build-module/@wordpress/interactivity/src/hooks.tsx","webpack://wp/./packages/interactivity/build-module/@wordpress/interactivity/src/directives.tsx","webpack://wp/./packages/interactivity/build-module/@wordpress/interactivity/src/constants.ts","webpack://wp/./packages/interactivity/build-module/@wordpress/interactivity/src/vdom.ts","webpack://wp/./packages/interactivity/build-module/@wordpress/interactivity/src/init.ts","webpack://wp/./packages/interactivity/build-module/@wordpress/interactivity/src/index.ts"],"sourcesContent":["/** Normal hydration that attaches to a DOM tree but does not diff it. */\nexport const MODE_HYDRATE = 1 << 5;\n/** Signifies this VNode suspended on the previous render */\nexport const MODE_SUSPENDED = 1 << 7;\n/** Indicates that this node needs to be inserted while patching children */\nexport const INSERT_VNODE = 1 << 16;\n/** Indicates a VNode has been matched with another VNode in the diff */\nexport const MATCHED = 1 << 17;\n\n/** Reset all mode flags */\nexport const RESET_MODE = ~(MODE_HYDRATE | MODE_SUSPENDED);\n\nexport const EMPTY_OBJ = /** @type {any} */ ({});\nexport const EMPTY_ARR = [];\nexport const IS_NON_DIMENSIONAL =\n\t/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;\n","import { EMPTY_ARR } from './constants';\n\nexport const isArray = Array.isArray;\n\n/**\n * Assign properties from `props` to `obj`\n * @template O, P The obj and props types\n * @param {O} obj The object to copy properties to\n * @param {P} props The object to copy properties from\n * @returns {O & P}\n */\nexport function assign(obj, props) {\n\t// @ts-expect-error We change the type of `obj` to be `O & P`\n\tfor (let i in props) obj[i] = props[i];\n\treturn /** @type {O & P} */ (obj);\n}\n\n/**\n * Remove a child node from its parent if attached. This is a workaround for\n * IE11 which doesn't support `Element.prototype.remove()`. Using this function\n * is smaller than including a dedicated polyfill.\n * @param {preact.ContainerNode} node The node to remove\n */\nexport function removeNode(node) {\n\tlet parentNode = node.parentNode;\n\tif (parentNode) parentNode.removeChild(node);\n}\n\nexport const slice = EMPTY_ARR.slice;\n","import { _catchError } from './diff/catch-error';\n\n/**\n * The `option` object can potentially contain callback functions\n * that are called during various stages of our renderer. This is the\n * foundation on which all our addons like `preact/debug`, `preact/compat`,\n * and `preact/hooks` are based on. See the `Options` type in `internal.d.ts`\n * for a full list of available option hooks (most editors/IDEs allow you to\n * ctrl+click or cmd+click on mac the type definition below).\n * @type {Options}\n */\nconst options = {\n\t_catchError\n};\n\nexport default options;\n","import { slice } from './util';\nimport options from './options';\n\nlet vnodeId = 0;\n\n/**\n * Create an virtual node (used for JSX)\n * @param {VNode[\"type\"]} type The node name or Component constructor for this\n * virtual node\n * @param {object | null | undefined} [props] The properties of the virtual node\n * @param {Array} [children] The children of the\n * virtual node\n * @returns {VNode}\n */\nexport function createElement(type, props, children) {\n\tlet normalizedProps = {},\n\t\tkey,\n\t\tref,\n\t\ti;\n\tfor (i in props) {\n\t\tif (i == 'key') key = props[i];\n\t\telse if (i == 'ref') ref = props[i];\n\t\telse normalizedProps[i] = props[i];\n\t}\n\n\tif (arguments.length > 2) {\n\t\tnormalizedProps.children =\n\t\t\targuments.length > 3 ? slice.call(arguments, 2) : children;\n\t}\n\n\t// If a Component VNode, check for and apply defaultProps\n\t// Note: type may be undefined in development, must never error here.\n\tif (typeof type == 'function' && type.defaultProps != null) {\n\t\tfor (i in type.defaultProps) {\n\t\t\tif (normalizedProps[i] === undefined) {\n\t\t\t\tnormalizedProps[i] = type.defaultProps[i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn createVNode(type, normalizedProps, key, ref, null);\n}\n\n/**\n * Create a VNode (used internally by Preact)\n * @param {VNode[\"type\"]} type The node name or Component\n * Constructor for this virtual node\n * @param {object | string | number | null} props The properties of this virtual node.\n * If this virtual node represents a text node, this is the text of the node (string or number).\n * @param {string | number | null} key The key for this virtual node, used when\n * diffing it against its children\n * @param {VNode[\"ref\"]} ref The ref property that will\n * receive a reference to its created child\n * @returns {VNode}\n */\nexport function createVNode(type, props, key, ref, original) {\n\t// V8 seems to be better at detecting type shapes if the object is allocated from the same call site\n\t// Do not inline into createElement and coerceToVNode!\n\t/** @type {VNode} */\n\tconst vnode = {\n\t\ttype,\n\t\tprops,\n\t\tkey,\n\t\tref,\n\t\t_children: null,\n\t\t_parent: null,\n\t\t_depth: 0,\n\t\t_dom: null,\n\t\t// _nextDom must be initialized to undefined b/c it will eventually\n\t\t// be set to dom.nextSibling which can return `null` and it is important\n\t\t// to be able to distinguish between an uninitialized _nextDom and\n\t\t// a _nextDom that has been set to `null`\n\t\t_nextDom: undefined,\n\t\t_component: null,\n\t\tconstructor: undefined,\n\t\t_original: original == null ? ++vnodeId : original,\n\t\t_index: -1,\n\t\t_flags: 0\n\t};\n\n\t// Only invoke the vnode hook if this was *not* a direct copy:\n\tif (original == null && options.vnode != null) options.vnode(vnode);\n\n\treturn vnode;\n}\n\nexport function createRef() {\n\treturn { current: null };\n}\n\nexport function Fragment(props) {\n\treturn props.children;\n}\n\n/**\n * Check if a the argument is a valid Preact VNode.\n * @param {*} vnode\n * @returns {vnode is VNode}\n */\nexport const isValidElement = vnode =>\n\tvnode != null && vnode.constructor == undefined;\n","import { assign } from './util';\nimport { diff, commitRoot } from './diff/index';\nimport options from './options';\nimport { Fragment } from './create-element';\nimport { MODE_HYDRATE } from './constants';\n\n/**\n * Base Component class. Provides `setState()` and `forceUpdate()`, which\n * trigger rendering\n * @param {object} props The initial component props\n * @param {object} context The initial context from parent components'\n * getChildContext\n */\nexport function BaseComponent(props, context) {\n\tthis.props = props;\n\tthis.context = context;\n}\n\n/**\n * Update component state and schedule a re-render.\n * @this {Component}\n * @param {object | ((s: object, p: object) => object)} update A hash of state\n * properties to update with new values or a function that given the current\n * state and props returns a new partial state\n * @param {() => void} [callback] A function to be called once component state is\n * updated\n */\nBaseComponent.prototype.setState = function (update, callback) {\n\t// only clone state when copying to nextState the first time.\n\tlet s;\n\tif (this._nextState != null && this._nextState !== this.state) {\n\t\ts = this._nextState;\n\t} else {\n\t\ts = this._nextState = assign({}, this.state);\n\t}\n\n\tif (typeof update == 'function') {\n\t\t// Some libraries like `immer` mark the current state as readonly,\n\t\t// preventing us from mutating it, so we need to clone it. See #2716\n\t\tupdate = update(assign({}, s), this.props);\n\t}\n\n\tif (update) {\n\t\tassign(s, update);\n\t}\n\n\t// Skip update if updater function returned null\n\tif (update == null) return;\n\n\tif (this._vnode) {\n\t\tif (callback) {\n\t\t\tthis._stateCallbacks.push(callback);\n\t\t}\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Immediately perform a synchronous re-render of the component\n * @this {Component}\n * @param {() => void} [callback] A function to be called after component is\n * re-rendered\n */\nBaseComponent.prototype.forceUpdate = function (callback) {\n\tif (this._vnode) {\n\t\t// Set render mode so that we can differentiate where the render request\n\t\t// is coming from. We need this because forceUpdate should never call\n\t\t// shouldComponentUpdate\n\t\tthis._force = true;\n\t\tif (callback) this._renderCallbacks.push(callback);\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Accepts `props` and `state`, and returns a new Virtual DOM tree to build.\n * Virtual DOM is generally constructed via [JSX](http://jasonformat.com/wtf-is-jsx).\n * @param {object} props Props (eg: JSX attributes) received from parent\n * element/component\n * @param {object} state The component's current state\n * @param {object} context Context object, as returned by the nearest\n * ancestor's `getChildContext()`\n * @returns {ComponentChildren | void}\n */\nBaseComponent.prototype.render = Fragment;\n\n/**\n * @param {VNode} vnode\n * @param {number | null} [childIndex]\n */\nexport function getDomSibling(vnode, childIndex) {\n\tif (childIndex == null) {\n\t\t// Use childIndex==null as a signal to resume the search from the vnode's sibling\n\t\treturn vnode._parent\n\t\t\t? getDomSibling(vnode._parent, vnode._index + 1)\n\t\t\t: null;\n\t}\n\n\tlet sibling;\n\tfor (; childIndex < vnode._children.length; childIndex++) {\n\t\tsibling = vnode._children[childIndex];\n\n\t\tif (sibling != null && sibling._dom != null) {\n\t\t\t// Since updateParentDomPointers keeps _dom pointer correct,\n\t\t\t// we can rely on _dom to tell us if this subtree contains a\n\t\t\t// rendered DOM node, and what the first rendered DOM node is\n\t\t\treturn sibling._dom;\n\t\t}\n\t}\n\n\t// If we get here, we have not found a DOM node in this vnode's children.\n\t// We must resume from this vnode's sibling (in it's parent _children array)\n\t// Only climb up and search the parent if we aren't searching through a DOM\n\t// VNode (meaning we reached the DOM parent of the original vnode that began\n\t// the search)\n\treturn typeof vnode.type == 'function' ? getDomSibling(vnode) : null;\n}\n\n/**\n * Trigger in-place re-rendering of a component.\n * @param {Component} component The component to rerender\n */\nfunction renderComponent(component) {\n\tlet oldVNode = component._vnode,\n\t\toldDom = oldVNode._dom,\n\t\tparentDom = component._parentDom,\n\t\tcommitQueue = [],\n\t\trefQueue = [];\n\n\tif (parentDom) {\n\t\tconst newVNode = assign({}, oldVNode);\n\t\tnewVNode._original = oldVNode._original + 1;\n\t\tif (options.vnode) options.vnode(newVNode);\n\n\t\tdiff(\n\t\t\tparentDom,\n\t\t\tnewVNode,\n\t\t\toldVNode,\n\t\t\tcomponent._globalContext,\n\t\t\tparentDom.ownerSVGElement !== undefined,\n\t\t\toldVNode._flags & MODE_HYDRATE ? [oldDom] : null,\n\t\t\tcommitQueue,\n\t\t\toldDom == null ? getDomSibling(oldVNode) : oldDom,\n\t\t\t!!(oldVNode._flags & MODE_HYDRATE),\n\t\t\trefQueue\n\t\t);\n\n\t\tnewVNode._parent._children[newVNode._index] = newVNode;\n\t\tcommitRoot(commitQueue, newVNode, refQueue);\n\n\t\tif (newVNode._dom != oldDom) {\n\t\t\tupdateParentDomPointers(newVNode);\n\t\t}\n\t}\n}\n\n/**\n * @param {VNode} vnode\n */\nfunction updateParentDomPointers(vnode) {\n\tif ((vnode = vnode._parent) != null && vnode._component != null) {\n\t\tvnode._dom = vnode._component.base = null;\n\t\tfor (let i = 0; i < vnode._children.length; i++) {\n\t\t\tlet child = vnode._children[i];\n\t\t\tif (child != null && child._dom != null) {\n\t\t\t\tvnode._dom = vnode._component.base = child._dom;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn updateParentDomPointers(vnode);\n\t}\n}\n\n/**\n * The render queue\n * @type {Array}\n */\nlet rerenderQueue = [];\n\n/*\n * The value of `Component.debounce` must asynchronously invoke the passed in callback. It is\n * important that contributors to Preact can consistently reason about what calls to `setState`, etc.\n * do, and when their effects will be applied. See the links below for some further reading on designing\n * asynchronous APIs.\n * * [Designing APIs for Asynchrony](https://blog.izs.me/2013/08/designing-apis-for-asynchrony)\n * * [Callbacks synchronous and asynchronous](https://blog.ometer.com/2011/07/24/callbacks-synchronous-and-asynchronous/)\n */\n\nlet prevDebounce;\n\nconst defer =\n\ttypeof Promise == 'function'\n\t\t? Promise.prototype.then.bind(Promise.resolve())\n\t\t: setTimeout;\n\n/**\n * Enqueue a rerender of a component\n * @param {Component} c The component to rerender\n */\nexport function enqueueRender(c) {\n\tif (\n\t\t(!c._dirty &&\n\t\t\t(c._dirty = true) &&\n\t\t\trerenderQueue.push(c) &&\n\t\t\t!process._rerenderCount++) ||\n\t\tprevDebounce !== options.debounceRendering\n\t) {\n\t\tprevDebounce = options.debounceRendering;\n\t\t(prevDebounce || defer)(process);\n\t}\n}\n\n/**\n * @param {Component} a\n * @param {Component} b\n */\nconst depthSort = (a, b) => a._vnode._depth - b._vnode._depth;\n\n/** Flush the render queue by rerendering all queued components */\nfunction process() {\n\tlet c;\n\trerenderQueue.sort(depthSort);\n\t// Don't update `renderCount` yet. Keep its value non-zero to prevent unnecessary\n\t// process() calls from getting scheduled while `queue` is still being consumed.\n\twhile ((c = rerenderQueue.shift())) {\n\t\tif (c._dirty) {\n\t\t\tlet renderQueueLength = rerenderQueue.length;\n\t\t\trenderComponent(c);\n\t\t\tif (rerenderQueue.length > renderQueueLength) {\n\t\t\t\t// When i.e. rerendering a provider additional new items can be injected, we want to\n\t\t\t\t// keep the order from top to bottom with those new items so we can handle them in a\n\t\t\t\t// single pass\n\t\t\t\trerenderQueue.sort(depthSort);\n\t\t\t}\n\t\t}\n\t}\n\tprocess._rerenderCount = 0;\n}\n\nprocess._rerenderCount = 0;\n","import { enqueueRender } from './component';\n\nexport let i = 0;\n\nexport function createContext(defaultValue, contextId) {\n\tcontextId = '__cC' + i++;\n\n\tconst context = {\n\t\t_id: contextId,\n\t\t_defaultValue: defaultValue,\n\t\t/** @type {FunctionComponent} */\n\t\tConsumer(props, contextValue) {\n\t\t\t// return props.children(\n\t\t\t// \tcontext[contextId] ? context[contextId].props.value : defaultValue\n\t\t\t// );\n\t\t\treturn props.children(contextValue);\n\t\t},\n\t\t/** @type {FunctionComponent} */\n\t\tProvider(props) {\n\t\t\tif (!this.getChildContext) {\n\t\t\t\t/** @type {Component[]} */\n\t\t\t\tlet subs = [];\n\t\t\t\tlet ctx = {};\n\t\t\t\tctx[contextId] = this;\n\n\t\t\t\tthis.getChildContext = () => ctx;\n\n\t\t\t\tthis.shouldComponentUpdate = function (_props) {\n\t\t\t\t\tif (this.props.value !== _props.value) {\n\t\t\t\t\t\t// I think the forced value propagation here was only needed when `options.debounceRendering` was being bypassed:\n\t\t\t\t\t\t// https://github.com/preactjs/preact/commit/4d339fb803bea09e9f198abf38ca1bf8ea4b7771#diff-54682ce380935a717e41b8bfc54737f6R358\n\t\t\t\t\t\t// In those cases though, even with the value corrected, we're double-rendering all nodes.\n\t\t\t\t\t\t// It might be better to just tell folks not to use force-sync mode.\n\t\t\t\t\t\t// Currently, using `useContext()` in a class component will overwrite its `this.context` value.\n\t\t\t\t\t\t// subs.some(c => {\n\t\t\t\t\t\t// \tc.context = _props.value;\n\t\t\t\t\t\t// \tenqueueRender(c);\n\t\t\t\t\t\t// });\n\n\t\t\t\t\t\t// subs.some(c => {\n\t\t\t\t\t\t// \tc.context[contextId] = _props.value;\n\t\t\t\t\t\t// \tenqueueRender(c);\n\t\t\t\t\t\t// });\n\t\t\t\t\t\tsubs.some(c => {\n\t\t\t\t\t\t\tc._force = true;\n\t\t\t\t\t\t\tenqueueRender(c);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tthis.sub = c => {\n\t\t\t\t\tsubs.push(c);\n\t\t\t\t\tlet old = c.componentWillUnmount;\n\t\t\t\t\tc.componentWillUnmount = () => {\n\t\t\t\t\t\tsubs.splice(subs.indexOf(c), 1);\n\t\t\t\t\t\tif (old) old.call(c);\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn props.children;\n\t\t}\n\t};\n\n\t// Devtools needs access to the context object when it\n\t// encounters a Provider. This is necessary to support\n\t// setting `displayName` on the context object instead\n\t// of on the component itself. See:\n\t// https://reactjs.org/docs/context.html#contextdisplayname\n\n\treturn (context.Provider._contextRef = context.Consumer.contextType =\n\t\tcontext);\n}\n","import { diff, unmount, applyRef } from './index';\nimport { createVNode, Fragment } from '../create-element';\nimport { EMPTY_OBJ, EMPTY_ARR, INSERT_VNODE, MATCHED } from '../constants';\nimport { isArray } from '../util';\nimport { getDomSibling } from '../component';\n\n/**\n * Diff the children of a virtual node\n * @param {PreactElement} parentDom The DOM element whose children are being\n * diffed\n * @param {ComponentChildren[]} renderResult\n * @param {VNode} newParentVNode The new virtual node whose children should be\n * diff'ed against oldParentVNode\n * @param {VNode} oldParentVNode The old virtual node whose children should be\n * diff'ed against newParentVNode\n * @param {object} globalContext The current context object - modified by\n * getChildContext\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components which have callbacks\n * to invoke in commitRoot\n * @param {PreactElement} oldDom The current attached DOM element any new dom\n * elements should be placed around. Likely `null` on first render (except when\n * hydrating). Can be a sibling DOM element when diffing Fragments that have\n * siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} isHydrating Whether or not we are in hydration\n * @param {any[]} refQueue an array of elements needed to invoke refs\n */\nexport function diffChildren(\n\tparentDom,\n\trenderResult,\n\tnewParentVNode,\n\toldParentVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating,\n\trefQueue\n) {\n\tlet i,\n\t\t/** @type {VNode} */\n\t\toldVNode,\n\t\t/** @type {VNode} */\n\t\tchildVNode,\n\t\t/** @type {PreactElement} */\n\t\tnewDom,\n\t\t/** @type {PreactElement} */\n\t\tfirstChildDom;\n\n\t// This is a compression of oldParentVNode!=null && oldParentVNode != EMPTY_OBJ && oldParentVNode._children || EMPTY_ARR\n\t// as EMPTY_OBJ._children should be `undefined`.\n\t/** @type {VNode[]} */\n\tlet oldChildren = (oldParentVNode && oldParentVNode._children) || EMPTY_ARR;\n\n\tlet newChildrenLength = renderResult.length;\n\n\tnewParentVNode._nextDom = oldDom;\n\tconstructNewChildrenArray(newParentVNode, renderResult, oldChildren);\n\toldDom = newParentVNode._nextDom;\n\n\tfor (i = 0; i < newChildrenLength; i++) {\n\t\tchildVNode = newParentVNode._children[i];\n\n\t\tif (\n\t\t\tchildVNode == null ||\n\t\t\ttypeof childVNode == 'boolean' ||\n\t\t\ttypeof childVNode == 'function'\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// At this point, constructNewChildrenArray has assigned _index to be the\n\t\t// matchingIndex for this VNode's oldVNode (or -1 if there is no oldVNode).\n\t\tif (childVNode._index === -1) {\n\t\t\toldVNode = EMPTY_OBJ;\n\t\t} else {\n\t\t\toldVNode = oldChildren[childVNode._index] || EMPTY_OBJ;\n\t\t}\n\n\t\t// Update childVNode._index to its final index\n\t\tchildVNode._index = i;\n\n\t\t// Morph the old element into the new one, but don't append it to the dom yet\n\t\tdiff(\n\t\t\tparentDom,\n\t\t\tchildVNode,\n\t\t\toldVNode,\n\t\t\tglobalContext,\n\t\t\tisSvg,\n\t\t\texcessDomChildren,\n\t\t\tcommitQueue,\n\t\t\toldDom,\n\t\t\tisHydrating,\n\t\t\trefQueue\n\t\t);\n\n\t\t// Adjust DOM nodes\n\t\tnewDom = childVNode._dom;\n\t\tif (childVNode.ref && oldVNode.ref != childVNode.ref) {\n\t\t\tif (oldVNode.ref) {\n\t\t\t\tapplyRef(oldVNode.ref, null, childVNode);\n\t\t\t}\n\t\t\trefQueue.push(\n\t\t\t\tchildVNode.ref,\n\t\t\t\tchildVNode._component || newDom,\n\t\t\t\tchildVNode\n\t\t\t);\n\t\t}\n\n\t\tif (firstChildDom == null && newDom != null) {\n\t\t\tfirstChildDom = newDom;\n\t\t}\n\n\t\tif (\n\t\t\tchildVNode._flags & INSERT_VNODE ||\n\t\t\toldVNode._children === childVNode._children\n\t\t) {\n\t\t\toldDom = insert(childVNode, oldDom, parentDom);\n\t\t} else if (\n\t\t\ttypeof childVNode.type == 'function' &&\n\t\t\tchildVNode._nextDom !== undefined\n\t\t) {\n\t\t\t// Since Fragments or components that return Fragment like VNodes can\n\t\t\t// contain multiple DOM nodes as the same level, continue the diff from\n\t\t\t// the sibling of last DOM child of this child VNode\n\t\t\toldDom = childVNode._nextDom;\n\t\t} else if (newDom) {\n\t\t\toldDom = newDom.nextSibling;\n\t\t}\n\n\t\t// Eagerly cleanup _nextDom. We don't need to persist the value because it\n\t\t// is only used by `diffChildren` to determine where to resume the diff\n\t\t// after diffing Components and Fragments. Once we store it the nextDOM\n\t\t// local var, we can clean up the property. Also prevents us hanging on to\n\t\t// DOM nodes that may have been unmounted.\n\t\tchildVNode._nextDom = undefined;\n\n\t\t// Unset diffing flags\n\t\tchildVNode._flags &= ~(INSERT_VNODE | MATCHED);\n\t}\n\n\t// TODO: With new child diffing algo, consider alt ways to diff Fragments.\n\t// Such as dropping oldDom and moving fragments in place\n\t//\n\t// Because the newParentVNode is Fragment-like, we need to set it's\n\t// _nextDom property to the nextSibling of its last child DOM node.\n\t//\n\t// `oldDom` contains the correct value here because if the last child\n\t// is a Fragment-like, then oldDom has already been set to that child's _nextDom.\n\t// If the last child is a DOM VNode, then oldDom will be set to that DOM\n\t// node's nextSibling.\n\tnewParentVNode._nextDom = oldDom;\n\tnewParentVNode._dom = firstChildDom;\n}\n\n/**\n * @param {VNode} newParentVNode\n * @param {ComponentChildren[]} renderResult\n * @param {VNode[]} oldChildren\n */\nfunction constructNewChildrenArray(newParentVNode, renderResult, oldChildren) {\n\t/** @type {number} */\n\tlet i;\n\t/** @type {VNode} */\n\tlet childVNode;\n\t/** @type {VNode} */\n\tlet oldVNode;\n\n\tconst newChildrenLength = renderResult.length;\n\tlet oldChildrenLength = oldChildren.length,\n\t\tremainingOldChildren = oldChildrenLength;\n\n\tlet skew = 0;\n\n\tnewParentVNode._children = [];\n\tfor (i = 0; i < newChildrenLength; i++) {\n\t\t// @ts-expect-error We are reusing the childVNode variable to hold both the\n\t\t// pre and post normalized childVNode\n\t\tchildVNode = renderResult[i];\n\n\t\tif (\n\t\t\tchildVNode == null ||\n\t\t\ttypeof childVNode == 'boolean' ||\n\t\t\ttypeof childVNode == 'function'\n\t\t) {\n\t\t\tchildVNode = newParentVNode._children[i] = null;\n\t\t}\n\t\t// If this newVNode is being reused (e.g.
{reuse}{reuse}
) in the same diff,\n\t\t// or we are rendering a component (e.g. setState) copy the oldVNodes so it can have\n\t\t// it's own DOM & etc. pointers\n\t\telse if (\n\t\t\ttypeof childVNode == 'string' ||\n\t\t\ttypeof childVNode == 'number' ||\n\t\t\t// eslint-disable-next-line valid-typeof\n\t\t\ttypeof childVNode == 'bigint' ||\n\t\t\tchildVNode.constructor == String\n\t\t) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tnull,\n\t\t\t\tchildVNode,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tchildVNode\n\t\t\t);\n\t\t} else if (isArray(childVNode)) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tFragment,\n\t\t\t\t{ children: childVNode },\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull\n\t\t\t);\n\t\t} else if (childVNode.constructor === undefined && childVNode._depth > 0) {\n\t\t\t// VNode is already in use, clone it. This can happen in the following\n\t\t\t// scenario:\n\t\t\t// const reuse =
\n\t\t\t//
{reuse}{reuse}
\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tchildVNode.type,\n\t\t\t\tchildVNode.props,\n\t\t\t\tchildVNode.key,\n\t\t\t\tchildVNode.ref ? childVNode.ref : null,\n\t\t\t\tchildVNode._original\n\t\t\t);\n\t\t} else {\n\t\t\tchildVNode = newParentVNode._children[i] = childVNode;\n\t\t}\n\n\t\t// Handle unmounting null placeholders, i.e. VNode => null in unkeyed children\n\t\tif (childVNode == null) {\n\t\t\toldVNode = oldChildren[i];\n\t\t\tif (oldVNode && oldVNode.key == null && oldVNode._dom) {\n\t\t\t\tif (oldVNode._dom == newParentVNode._nextDom) {\n\t\t\t\t\tnewParentVNode._nextDom = getDomSibling(oldVNode);\n\t\t\t\t}\n\n\t\t\t\tunmount(oldVNode, oldVNode, false);\n\n\t\t\t\t// Explicitly nullify this position in oldChildren instead of just\n\t\t\t\t// setting `_match=true` to prevent other routines (e.g.\n\t\t\t\t// `findMatchingIndex` or `getDomSibling`) from thinking VNodes or DOM\n\t\t\t\t// nodes in this position are still available to be used in diffing when\n\t\t\t\t// they have actually already been unmounted. For example, by only\n\t\t\t\t// setting `_match=true` here, the unmounting loop later would attempt\n\t\t\t\t// to unmount this VNode again seeing `_match==true`. Further,\n\t\t\t\t// getDomSibling doesn't know about _match and so would incorrectly\n\t\t\t\t// assume DOM nodes in this subtree are mounted and usable.\n\t\t\t\toldChildren[i] = null;\n\t\t\t\tremainingOldChildren--;\n\t\t\t}\n\n\t\t\tcontinue;\n\t\t}\n\n\t\tchildVNode._parent = newParentVNode;\n\t\tchildVNode._depth = newParentVNode._depth + 1;\n\n\t\tconst skewedIndex = i + skew;\n\t\tconst matchingIndex = findMatchingIndex(\n\t\t\tchildVNode,\n\t\t\toldChildren,\n\t\t\tskewedIndex,\n\t\t\tremainingOldChildren\n\t\t);\n\n\t\t// Temporarily store the matchingIndex on the _index property so we can pull\n\t\t// out the oldVNode in diffChildren. We'll override this to the VNode's\n\t\t// final index after using this property to get the oldVNode\n\t\tchildVNode._index = matchingIndex;\n\n\t\toldVNode = null;\n\t\tif (matchingIndex !== -1) {\n\t\t\toldVNode = oldChildren[matchingIndex];\n\t\t\tremainingOldChildren--;\n\t\t\tif (oldVNode) {\n\t\t\t\toldVNode._flags |= MATCHED;\n\t\t\t}\n\t\t}\n\n\t\t// Here, we define isMounting for the purposes of the skew diffing\n\t\t// algorithm. Nodes that are unsuspending are considered mounting and we detect\n\t\t// this by checking if oldVNode._original === null\n\t\tconst isMounting = oldVNode == null || oldVNode._original === null;\n\n\t\tif (isMounting) {\n\t\t\tif (matchingIndex == -1) {\n\t\t\t\tskew--;\n\t\t\t}\n\n\t\t\t// If we are mounting a DOM VNode, mark it for insertion\n\t\t\tif (typeof childVNode.type != 'function') {\n\t\t\t\tchildVNode._flags |= INSERT_VNODE;\n\t\t\t}\n\t\t} else if (matchingIndex !== skewedIndex) {\n\t\t\tif (matchingIndex === skewedIndex + 1) {\n\t\t\t\tskew++;\n\t\t\t} else if (matchingIndex > skewedIndex) {\n\t\t\t\tif (remainingOldChildren > newChildrenLength - skewedIndex) {\n\t\t\t\t\tskew += matchingIndex - skewedIndex;\n\t\t\t\t} else {\n\t\t\t\t\t// ### Change from keyed: I think this was missing from the algo...\n\t\t\t\t\tskew--;\n\t\t\t\t}\n\t\t\t} else if (matchingIndex < skewedIndex) {\n\t\t\t\tif (matchingIndex == skewedIndex - 1) {\n\t\t\t\t\tskew = matchingIndex - skewedIndex;\n\t\t\t\t} else {\n\t\t\t\t\tskew = 0;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tskew = 0;\n\t\t\t}\n\n\t\t\t// Move this VNode's DOM if the original index (matchingIndex) doesn't\n\t\t\t// match the new skew index (i + new skew)\n\t\t\tif (matchingIndex !== i + skew) {\n\t\t\t\tchildVNode._flags |= INSERT_VNODE;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Remove remaining oldChildren if there are any. Loop forwards so that as we\n\t// unmount DOM from the beginning of the oldChildren, we can adjust oldDom to\n\t// point to the next child, which needs to be the first DOM node that won't be\n\t// unmounted.\n\tif (remainingOldChildren) {\n\t\tfor (i = 0; i < oldChildrenLength; i++) {\n\t\t\toldVNode = oldChildren[i];\n\t\t\tif (oldVNode != null && (oldVNode._flags & MATCHED) === 0) {\n\t\t\t\tif (oldVNode._dom == newParentVNode._nextDom) {\n\t\t\t\t\tnewParentVNode._nextDom = getDomSibling(oldVNode);\n\t\t\t\t}\n\n\t\t\t\tunmount(oldVNode, oldVNode);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * @param {VNode} parentVNode\n * @param {PreactElement} oldDom\n * @param {PreactElement} parentDom\n * @returns {PreactElement}\n */\nfunction insert(parentVNode, oldDom, parentDom) {\n\t// Note: VNodes in nested suspended trees may be missing _children.\n\n\tif (typeof parentVNode.type == 'function') {\n\t\tlet children = parentVNode._children;\n\t\tfor (let i = 0; children && i < children.length; i++) {\n\t\t\tif (children[i]) {\n\t\t\t\t// If we enter this code path on sCU bailout, where we copy\n\t\t\t\t// oldVNode._children to newVNode._children, we need to update the old\n\t\t\t\t// children's _parent pointer to point to the newVNode (parentVNode\n\t\t\t\t// here).\n\t\t\t\tchildren[i]._parent = parentVNode;\n\t\t\t\toldDom = insert(children[i], oldDom, parentDom);\n\t\t\t}\n\t\t}\n\n\t\treturn oldDom;\n\t} else if (parentVNode._dom != oldDom) {\n\t\tparentDom.insertBefore(parentVNode._dom, oldDom || null);\n\t\toldDom = parentVNode._dom;\n\t}\n\n\treturn oldDom && oldDom.nextSibling;\n}\n\n/**\n * Flatten and loop through the children of a virtual node\n * @param {ComponentChildren} children The unflattened children of a virtual\n * node\n * @returns {VNode[]}\n */\nexport function toChildArray(children, out) {\n\tout = out || [];\n\tif (children == null || typeof children == 'boolean') {\n\t} else if (isArray(children)) {\n\t\tchildren.some(child => {\n\t\t\ttoChildArray(child, out);\n\t\t});\n\t} else {\n\t\tout.push(children);\n\t}\n\treturn out;\n}\n\n/**\n * @param {VNode} childVNode\n * @param {VNode[]} oldChildren\n * @param {number} skewedIndex\n * @param {number} remainingOldChildren\n * @returns {number}\n */\nfunction findMatchingIndex(\n\tchildVNode,\n\toldChildren,\n\tskewedIndex,\n\tremainingOldChildren\n) {\n\tconst key = childVNode.key;\n\tconst type = childVNode.type;\n\tlet x = skewedIndex - 1;\n\tlet y = skewedIndex + 1;\n\tlet oldVNode = oldChildren[skewedIndex];\n\n\t// We only need to perform a search if there are more children\n\t// (remainingOldChildren) to search. However, if the oldVNode we just looked\n\t// at skewedIndex was not already used in this diff, then there must be at\n\t// least 1 other (so greater than 1) remainingOldChildren to attempt to match\n\t// against. So the following condition checks that ensuring\n\t// remainingOldChildren > 1 if the oldVNode is not already used/matched. Else\n\t// if the oldVNode was null or matched, then there could needs to be at least\n\t// 1 (aka `remainingOldChildren > 0`) children to find and compare against.\n\tlet shouldSearch =\n\t\tremainingOldChildren >\n\t\t(oldVNode != null && (oldVNode._flags & MATCHED) === 0 ? 1 : 0);\n\n\tif (\n\t\toldVNode === null ||\n\t\t(oldVNode && key == oldVNode.key && type === oldVNode.type)\n\t) {\n\t\treturn skewedIndex;\n\t} else if (shouldSearch) {\n\t\twhile (x >= 0 || y < oldChildren.length) {\n\t\t\tif (x >= 0) {\n\t\t\t\toldVNode = oldChildren[x];\n\t\t\t\tif (\n\t\t\t\t\toldVNode &&\n\t\t\t\t\t(oldVNode._flags & MATCHED) === 0 &&\n\t\t\t\t\tkey == oldVNode.key &&\n\t\t\t\t\ttype === oldVNode.type\n\t\t\t\t) {\n\t\t\t\t\treturn x;\n\t\t\t\t}\n\t\t\t\tx--;\n\t\t\t}\n\n\t\t\tif (y < oldChildren.length) {\n\t\t\t\toldVNode = oldChildren[y];\n\t\t\t\tif (\n\t\t\t\t\toldVNode &&\n\t\t\t\t\t(oldVNode._flags & MATCHED) === 0 &&\n\t\t\t\t\tkey == oldVNode.key &&\n\t\t\t\t\ttype === oldVNode.type\n\t\t\t\t) {\n\t\t\t\t\treturn y;\n\t\t\t\t}\n\t\t\t\ty++;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn -1;\n}\n","import { IS_NON_DIMENSIONAL } from '../constants';\nimport options from '../options';\n\nfunction setStyle(style, key, value) {\n\tif (key[0] === '-') {\n\t\tstyle.setProperty(key, value == null ? '' : value);\n\t} else if (value == null) {\n\t\tstyle[key] = '';\n\t} else if (typeof value != 'number' || IS_NON_DIMENSIONAL.test(key)) {\n\t\tstyle[key] = value;\n\t} else {\n\t\tstyle[key] = value + 'px';\n\t}\n}\n\n/**\n * Set a property value on a DOM node\n * @param {PreactElement} dom The DOM node to modify\n * @param {string} name The name of the property to set\n * @param {*} value The value to set the property to\n * @param {*} oldValue The old value the property had\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node or not\n */\nexport function setProperty(dom, name, value, oldValue, isSvg) {\n\tlet useCapture;\n\n\to: if (name === 'style') {\n\t\tif (typeof value == 'string') {\n\t\t\tdom.style.cssText = value;\n\t\t} else {\n\t\t\tif (typeof oldValue == 'string') {\n\t\t\t\tdom.style.cssText = oldValue = '';\n\t\t\t}\n\n\t\t\tif (oldValue) {\n\t\t\t\tfor (name in oldValue) {\n\t\t\t\t\tif (!(value && name in value)) {\n\t\t\t\t\t\tsetStyle(dom.style, name, '');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (value) {\n\t\t\t\tfor (name in value) {\n\t\t\t\t\tif (!oldValue || value[name] !== oldValue[name]) {\n\t\t\t\t\t\tsetStyle(dom.style, name, value[name]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Benchmark for comparison: https://esbench.com/bench/574c954bdb965b9a00965ac6\n\telse if (name[0] === 'o' && name[1] === 'n') {\n\t\tuseCapture =\n\t\t\tname !== (name = name.replace(/(PointerCapture)$|Capture$/, '$1'));\n\n\t\t// Infer correct casing for DOM built-in events:\n\t\tif (name.toLowerCase() in dom) name = name.toLowerCase().slice(2);\n\t\telse name = name.slice(2);\n\n\t\tif (!dom._listeners) dom._listeners = {};\n\t\tdom._listeners[name + useCapture] = value;\n\n\t\tif (value) {\n\t\t\tif (!oldValue) {\n\t\t\t\tvalue._attached = Date.now();\n\t\t\t\tconst handler = useCapture ? eventProxyCapture : eventProxy;\n\t\t\t\tdom.addEventListener(name, handler, useCapture);\n\t\t\t} else {\n\t\t\t\tvalue._attached = oldValue._attached;\n\t\t\t}\n\t\t} else {\n\t\t\tconst handler = useCapture ? eventProxyCapture : eventProxy;\n\t\t\tdom.removeEventListener(name, handler, useCapture);\n\t\t}\n\t} else {\n\t\tif (isSvg) {\n\t\t\t// Normalize incorrect prop usage for SVG:\n\t\t\t// - xlink:href / xlinkHref --> href (xlink:href was removed from SVG and isn't needed)\n\t\t\t// - className --> class\n\t\t\tname = name.replace(/xlink(H|:h)/, 'h').replace(/sName$/, 's');\n\t\t} else if (\n\t\t\tname !== 'width' &&\n\t\t\tname !== 'height' &&\n\t\t\tname !== 'href' &&\n\t\t\tname !== 'list' &&\n\t\t\tname !== 'form' &&\n\t\t\t// Default value in browsers is `-1` and an empty string is\n\t\t\t// cast to `0` instead\n\t\t\tname !== 'tabIndex' &&\n\t\t\tname !== 'download' &&\n\t\t\tname !== 'rowSpan' &&\n\t\t\tname !== 'colSpan' &&\n\t\t\tname !== 'role' &&\n\t\t\tname in dom\n\t\t) {\n\t\t\ttry {\n\t\t\t\tdom[name] = value == null ? '' : value;\n\t\t\t\t// labelled break is 1b smaller here than a return statement (sorry)\n\t\t\t\tbreak o;\n\t\t\t} catch (e) {}\n\t\t}\n\n\t\t// aria- and data- attributes have no boolean representation.\n\t\t// A `false` value is different from the attribute not being\n\t\t// present, so we can't remove it. For non-boolean aria\n\t\t// attributes we could treat false as a removal, but the\n\t\t// amount of exceptions would cost too many bytes. On top of\n\t\t// that other frameworks generally stringify `false`.\n\n\t\tif (typeof value == 'function') {\n\t\t\t// never serialize functions as attribute values\n\t\t} else if (value != null && (value !== false || name[4] === '-')) {\n\t\t\tdom.setAttribute(name, value);\n\t\t} else {\n\t\t\tdom.removeAttribute(name);\n\t\t}\n\t}\n}\n\n/**\n * Proxy an event to hooked event handlers\n * @param {PreactEvent} e The event object from the browser\n * @private\n */\nfunction eventProxy(e) {\n\tconst eventHandler = this._listeners[e.type + false];\n\t/**\n\t * This trick is inspired by Vue https://github.com/vuejs/core/blob/main/packages/runtime-dom/src/modules/events.ts#L90-L101\n\t * when the dom performs an event it leaves micro-ticks in between bubbling up which means that an event can trigger on a newly\n\t * created DOM-node while the event bubbles up, this can cause quirky behavior as seen in https://github.com/preactjs/preact/issues/3927\n\t */\n\tif (!e._dispatched) {\n\t\t// When an event has no _dispatched we know this is the first event-target in the chain\n\t\t// so we set the initial dispatched time.\n\t\te._dispatched = Date.now();\n\t\t// When the _dispatched is smaller than the time when the targetted event handler was attached\n\t\t// we know we have bubbled up to an element that was added during patching the dom.\n\t} else if (e._dispatched <= eventHandler._attached) {\n\t\treturn;\n\t}\n\treturn eventHandler(options.event ? options.event(e) : e);\n}\n\n/**\n * Proxy an event to hooked event handlers\n * @param {PreactEvent} e The event object from the browser\n * @private\n */\nfunction eventProxyCapture(e) {\n\treturn this._listeners[e.type + true](options.event ? options.event(e) : e);\n}\n","import {\n\tEMPTY_OBJ,\n\tMODE_HYDRATE,\n\tMODE_SUSPENDED,\n\tRESET_MODE\n} from '../constants';\nimport { BaseComponent, getDomSibling } from '../component';\nimport { Fragment } from '../create-element';\nimport { diffChildren } from './children';\nimport { setProperty } from './props';\nimport { assign, isArray, removeNode, slice } from '../util';\nimport options from '../options';\n\n/**\n * Diff two virtual nodes and apply proper changes to the DOM\n * @param {PreactElement} parentDom The parent of the DOM element\n * @param {VNode} newVNode The new virtual node\n * @param {VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object. Modified by\n * getChildContext\n * @param {boolean} isSvg Whether or not this element is an SVG node\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components which have callbacks\n * to invoke in commitRoot\n * @param {PreactElement} oldDom The current attached DOM element any new dom\n * elements should be placed around. Likely `null` on first render (except when\n * hydrating). Can be a sibling DOM element when diffing Fragments that have\n * siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} isHydrating Whether or not we are in hydration\n * @param {any[]} refQueue an array of elements needed to invoke refs\n */\nexport function diff(\n\tparentDom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating,\n\trefQueue\n) {\n\t/** @type {any} */\n\tlet tmp,\n\t\tnewType = newVNode.type;\n\n\t// When passing through createElement it assigns the object\n\t// constructor as undefined. This to prevent JSON-injection.\n\tif (newVNode.constructor !== undefined) return null;\n\n\t// If the previous diff bailed out, resume creating/hydrating.\n\tif (oldVNode._flags & MODE_SUSPENDED) {\n\t\tisHydrating = !!(oldVNode._flags & MODE_HYDRATE);\n\t\toldDom = newVNode._dom = oldVNode._dom;\n\t\texcessDomChildren = [oldDom];\n\t}\n\n\tif ((tmp = options._diff)) tmp(newVNode);\n\n\touter: if (typeof newType == 'function') {\n\t\ttry {\n\t\t\tlet c, isNew, oldProps, oldState, snapshot, clearProcessingException;\n\t\t\tlet newProps = newVNode.props;\n\n\t\t\t// Necessary for createContext api. Setting this property will pass\n\t\t\t// the context value as `this.context` just for this component.\n\t\t\ttmp = newType.contextType;\n\t\t\tlet provider = tmp && globalContext[tmp._id];\n\t\t\tlet componentContext = tmp\n\t\t\t\t? provider\n\t\t\t\t\t? provider.props.value\n\t\t\t\t\t: tmp._defaultValue\n\t\t\t\t: globalContext;\n\n\t\t\t// Get component and set it to `c`\n\t\t\tif (oldVNode._component) {\n\t\t\t\tc = newVNode._component = oldVNode._component;\n\t\t\t\tclearProcessingException = c._processingException = c._pendingError;\n\t\t\t} else {\n\t\t\t\t// Instantiate the new component\n\t\t\t\tif ('prototype' in newType && newType.prototype.render) {\n\t\t\t\t\t// @ts-expect-error The check above verifies that newType is suppose to be constructed\n\t\t\t\t\tnewVNode._component = c = new newType(newProps, componentContext); // eslint-disable-line new-cap\n\t\t\t\t} else {\n\t\t\t\t\t// @ts-expect-error Trust me, Component implements the interface we want\n\t\t\t\t\tnewVNode._component = c = new BaseComponent(\n\t\t\t\t\t\tnewProps,\n\t\t\t\t\t\tcomponentContext\n\t\t\t\t\t);\n\t\t\t\t\tc.constructor = newType;\n\t\t\t\t\tc.render = doRender;\n\t\t\t\t}\n\t\t\t\tif (provider) provider.sub(c);\n\n\t\t\t\tc.props = newProps;\n\t\t\t\tif (!c.state) c.state = {};\n\t\t\t\tc.context = componentContext;\n\t\t\t\tc._globalContext = globalContext;\n\t\t\t\tisNew = c._dirty = true;\n\t\t\t\tc._renderCallbacks = [];\n\t\t\t\tc._stateCallbacks = [];\n\t\t\t}\n\n\t\t\t// Invoke getDerivedStateFromProps\n\t\t\tif (c._nextState == null) {\n\t\t\t\tc._nextState = c.state;\n\t\t\t}\n\n\t\t\tif (newType.getDerivedStateFromProps != null) {\n\t\t\t\tif (c._nextState == c.state) {\n\t\t\t\t\tc._nextState = assign({}, c._nextState);\n\t\t\t\t}\n\n\t\t\t\tassign(\n\t\t\t\t\tc._nextState,\n\t\t\t\t\tnewType.getDerivedStateFromProps(newProps, c._nextState)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\toldProps = c.props;\n\t\t\toldState = c.state;\n\t\t\tc._vnode = newVNode;\n\n\t\t\t// Invoke pre-render lifecycle methods\n\t\t\tif (isNew) {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tc.componentWillMount != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillMount();\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidMount != null) {\n\t\t\t\t\tc._renderCallbacks.push(c.componentDidMount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tnewProps !== oldProps &&\n\t\t\t\t\tc.componentWillReceiveProps != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillReceiveProps(newProps, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t!c._force &&\n\t\t\t\t\t((c.shouldComponentUpdate != null &&\n\t\t\t\t\t\tc.shouldComponentUpdate(\n\t\t\t\t\t\t\tnewProps,\n\t\t\t\t\t\t\tc._nextState,\n\t\t\t\t\t\t\tcomponentContext\n\t\t\t\t\t\t) === false) ||\n\t\t\t\t\t\tnewVNode._original === oldVNode._original)\n\t\t\t\t) {\n\t\t\t\t\t// More info about this here: https://gist.github.com/JoviDeCroock/bec5f2ce93544d2e6070ef8e0036e4e8\n\t\t\t\t\tif (newVNode._original !== oldVNode._original) {\n\t\t\t\t\t\t// When we are dealing with a bail because of sCU we have to update\n\t\t\t\t\t\t// the props, state and dirty-state.\n\t\t\t\t\t\t// when we are dealing with strict-equality we don't as the child could still\n\t\t\t\t\t\t// be dirtied see #3883\n\t\t\t\t\t\tc.props = newProps;\n\t\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t\t\tc._dirty = false;\n\t\t\t\t\t}\n\n\t\t\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t\t\t\tnewVNode._children = oldVNode._children;\n\t\t\t\t\tnewVNode._children.forEach(vnode => {\n\t\t\t\t\t\tif (vnode) vnode._parent = newVNode;\n\t\t\t\t\t});\n\n\t\t\t\t\tfor (let i = 0; i < c._stateCallbacks.length; i++) {\n\t\t\t\t\t\tc._renderCallbacks.push(c._stateCallbacks[i]);\n\t\t\t\t\t}\n\t\t\t\t\tc._stateCallbacks = [];\n\n\t\t\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\t\t\tcommitQueue.push(c);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\n\t\t\t\tif (c.componentWillUpdate != null) {\n\t\t\t\t\tc.componentWillUpdate(newProps, c._nextState, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidUpdate != null) {\n\t\t\t\t\tc._renderCallbacks.push(() => {\n\t\t\t\t\t\tc.componentDidUpdate(oldProps, oldState, snapshot);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tc.context = componentContext;\n\t\t\tc.props = newProps;\n\t\t\tc._parentDom = parentDom;\n\t\t\tc._force = false;\n\n\t\t\tlet renderHook = options._render,\n\t\t\t\tcount = 0;\n\t\t\tif ('prototype' in newType && newType.prototype.render) {\n\t\t\t\tc.state = c._nextState;\n\t\t\t\tc._dirty = false;\n\n\t\t\t\tif (renderHook) renderHook(newVNode);\n\n\t\t\t\ttmp = c.render(c.props, c.state, c.context);\n\n\t\t\t\tfor (let i = 0; i < c._stateCallbacks.length; i++) {\n\t\t\t\t\tc._renderCallbacks.push(c._stateCallbacks[i]);\n\t\t\t\t}\n\t\t\t\tc._stateCallbacks = [];\n\t\t\t} else {\n\t\t\t\tdo {\n\t\t\t\t\tc._dirty = false;\n\t\t\t\t\tif (renderHook) renderHook(newVNode);\n\n\t\t\t\t\ttmp = c.render(c.props, c.state, c.context);\n\n\t\t\t\t\t// Handle setState called in render, see #2553\n\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t} while (c._dirty && ++count < 25);\n\t\t\t}\n\n\t\t\t// Handle setState called in render, see #2553\n\t\t\tc.state = c._nextState;\n\n\t\t\tif (c.getChildContext != null) {\n\t\t\t\tglobalContext = assign(assign({}, globalContext), c.getChildContext());\n\t\t\t}\n\n\t\t\tif (!isNew && c.getSnapshotBeforeUpdate != null) {\n\t\t\t\tsnapshot = c.getSnapshotBeforeUpdate(oldProps, oldState);\n\t\t\t}\n\n\t\t\tlet isTopLevelFragment =\n\t\t\t\ttmp != null && tmp.type === Fragment && tmp.key == null;\n\t\t\tlet renderResult = isTopLevelFragment ? tmp.props.children : tmp;\n\n\t\t\tdiffChildren(\n\t\t\t\tparentDom,\n\t\t\t\tisArray(renderResult) ? renderResult : [renderResult],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\toldDom,\n\t\t\t\tisHydrating,\n\t\t\t\trefQueue\n\t\t\t);\n\n\t\t\tc.base = newVNode._dom;\n\n\t\t\t// We successfully rendered this VNode, unset any stored hydration/bailout state:\n\t\t\tnewVNode._flags &= RESET_MODE;\n\n\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\tcommitQueue.push(c);\n\t\t\t}\n\n\t\t\tif (clearProcessingException) {\n\t\t\t\tc._pendingError = c._processingException = null;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tnewVNode._original = null;\n\t\t\t// if hydrating or creating initial tree, bailout preserves DOM:\n\t\t\tif (isHydrating || excessDomChildren != null) {\n\t\t\t\tnewVNode._dom = oldDom;\n\t\t\t\tnewVNode._flags |= isHydrating\n\t\t\t\t\t? MODE_HYDRATE | MODE_SUSPENDED\n\t\t\t\t\t: MODE_HYDRATE;\n\t\t\t\texcessDomChildren[excessDomChildren.indexOf(oldDom)] = null;\n\t\t\t\t// ^ could possibly be simplified to:\n\t\t\t\t// excessDomChildren.length = 0;\n\t\t\t} else {\n\t\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t\t\tnewVNode._children = oldVNode._children;\n\t\t\t}\n\t\t\toptions._catchError(e, newVNode, oldVNode);\n\t\t}\n\t} else if (\n\t\texcessDomChildren == null &&\n\t\tnewVNode._original === oldVNode._original\n\t) {\n\t\tnewVNode._children = oldVNode._children;\n\t\tnewVNode._dom = oldVNode._dom;\n\t} else {\n\t\tnewVNode._dom = diffElementNodes(\n\t\t\toldVNode._dom,\n\t\t\tnewVNode,\n\t\t\toldVNode,\n\t\t\tglobalContext,\n\t\t\tisSvg,\n\t\t\texcessDomChildren,\n\t\t\tcommitQueue,\n\t\t\tisHydrating,\n\t\t\trefQueue\n\t\t);\n\t}\n\n\tif ((tmp = options.diffed)) tmp(newVNode);\n}\n\n/**\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {VNode} root\n */\nexport function commitRoot(commitQueue, root, refQueue) {\n\troot._nextDom = undefined;\n\n\tfor (let i = 0; i < refQueue.length; i++) {\n\t\tapplyRef(refQueue[i], refQueue[++i], refQueue[++i]);\n\t}\n\n\tif (options._commit) options._commit(root, commitQueue);\n\n\tcommitQueue.some(c => {\n\t\ttry {\n\t\t\t// @ts-expect-error Reuse the commitQueue variable here so the type changes\n\t\t\tcommitQueue = c._renderCallbacks;\n\t\t\tc._renderCallbacks = [];\n\t\t\tcommitQueue.some(cb => {\n\t\t\t\t// @ts-expect-error See above comment on commitQueue\n\t\t\t\tcb.call(c);\n\t\t\t});\n\t\t} catch (e) {\n\t\t\toptions._catchError(e, c._vnode);\n\t\t}\n\t});\n}\n\n/**\n * Diff two virtual nodes representing DOM element\n * @param {PreactElement} dom The DOM element representing the virtual nodes\n * being diffed\n * @param {VNode} newVNode The new virtual node\n * @param {VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components which have callbacks\n * to invoke in commitRoot\n * @param {boolean} isHydrating Whether or not we are in hydration\n * @param {any[]} refQueue an array of elements needed to invoke refs\n * @returns {PreactElement}\n */\nfunction diffElementNodes(\n\tdom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\tisHydrating,\n\trefQueue\n) {\n\tlet oldProps = oldVNode.props;\n\tlet newProps = newVNode.props;\n\tlet nodeType = /** @type {string} */ (newVNode.type);\n\t/** @type {any} */\n\tlet i;\n\t/** @type {{ __html?: string }} */\n\tlet newHtml;\n\t/** @type {{ __html?: string }} */\n\tlet oldHtml;\n\t/** @type {ComponentChildren} */\n\tlet newChildren;\n\tlet value;\n\tlet inputValue;\n\tlet checked;\n\n\t// Tracks entering and exiting SVG namespace when descending through the tree.\n\tif (nodeType === 'svg') isSvg = true;\n\n\tif (excessDomChildren != null) {\n\t\tfor (i = 0; i < excessDomChildren.length; i++) {\n\t\t\tvalue = excessDomChildren[i];\n\n\t\t\t// if newVNode matches an element in excessDomChildren or the `dom`\n\t\t\t// argument matches an element in excessDomChildren, remove it from\n\t\t\t// excessDomChildren so it isn't later removed in diffChildren\n\t\t\tif (\n\t\t\t\tvalue &&\n\t\t\t\t'setAttribute' in value === !!nodeType &&\n\t\t\t\t(nodeType ? value.localName === nodeType : value.nodeType === 3)\n\t\t\t) {\n\t\t\t\tdom = value;\n\t\t\t\texcessDomChildren[i] = null;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (dom == null) {\n\t\tif (nodeType === null) {\n\t\t\treturn document.createTextNode(newProps);\n\t\t}\n\n\t\tif (isSvg) {\n\t\t\tdom = document.createElementNS('http://www.w3.org/2000/svg', nodeType);\n\t\t} else {\n\t\t\tdom = document.createElement(nodeType, newProps.is && newProps);\n\t\t}\n\n\t\t// we created a new parent, so none of the previously attached children can be reused:\n\t\texcessDomChildren = null;\n\t\t// we are creating a new node, so we can assume this is a new subtree (in\n\t\t// case we are hydrating), this deopts the hydrate\n\t\tisHydrating = false;\n\t}\n\n\tif (nodeType === null) {\n\t\t// During hydration, we still have to split merged text from SSR'd HTML.\n\t\tif (oldProps !== newProps && (!isHydrating || dom.data !== newProps)) {\n\t\t\tdom.data = newProps;\n\t\t}\n\t} else {\n\t\t// If excessDomChildren was not null, repopulate it with the current element's children:\n\t\texcessDomChildren = excessDomChildren && slice.call(dom.childNodes);\n\n\t\toldProps = oldVNode.props || EMPTY_OBJ;\n\n\t\t// If we are in a situation where we are not hydrating but are using\n\t\t// existing DOM (e.g. replaceNode) we should read the existing DOM\n\t\t// attributes to diff them\n\t\tif (!isHydrating && excessDomChildren != null) {\n\t\t\toldProps = {};\n\t\t\tfor (i = 0; i < dom.attributes.length; i++) {\n\t\t\t\tvalue = dom.attributes[i];\n\t\t\t\toldProps[value.name] = value.value;\n\t\t\t}\n\t\t}\n\n\t\tfor (i in oldProps) {\n\t\t\tvalue = oldProps[i];\n\t\t\tif (i == 'children') {\n\t\t\t} else if (i == 'dangerouslySetInnerHTML') {\n\t\t\t\toldHtml = value;\n\t\t\t} else if (i !== 'key' && !(i in newProps)) {\n\t\t\t\tsetProperty(dom, i, null, value, isSvg);\n\t\t\t}\n\t\t}\n\n\t\t// During hydration, props are not diffed at all (including dangerouslySetInnerHTML)\n\t\t// @TODO we should warn in debug mode when props don't match here.\n\t\tfor (i in newProps) {\n\t\t\tvalue = newProps[i];\n\t\t\tif (i == 'children') {\n\t\t\t\tnewChildren = value;\n\t\t\t} else if (i == 'dangerouslySetInnerHTML') {\n\t\t\t\tnewHtml = value;\n\t\t\t} else if (i == 'value') {\n\t\t\t\tinputValue = value;\n\t\t\t} else if (i == 'checked') {\n\t\t\t\tchecked = value;\n\t\t\t} else if (\n\t\t\t\ti !== 'key' &&\n\t\t\t\t(!isHydrating || typeof value == 'function') &&\n\t\t\t\toldProps[i] !== value\n\t\t\t) {\n\t\t\t\tsetProperty(dom, i, value, oldProps[i], isSvg);\n\t\t\t}\n\t\t}\n\n\t\t// If the new vnode didn't have dangerouslySetInnerHTML, diff its children\n\t\tif (newHtml) {\n\t\t\t// Avoid re-applying the same '__html' if it did not changed between re-render\n\t\t\tif (\n\t\t\t\t!isHydrating &&\n\t\t\t\t(!oldHtml ||\n\t\t\t\t\t(newHtml.__html !== oldHtml.__html &&\n\t\t\t\t\t\tnewHtml.__html !== dom.innerHTML))\n\t\t\t) {\n\t\t\t\tdom.innerHTML = newHtml.__html;\n\t\t\t}\n\n\t\t\tnewVNode._children = [];\n\t\t} else {\n\t\t\tif (oldHtml) dom.innerHTML = '';\n\n\t\t\tdiffChildren(\n\t\t\t\tdom,\n\t\t\t\tisArray(newChildren) ? newChildren : [newChildren],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg && nodeType !== 'foreignObject',\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\texcessDomChildren\n\t\t\t\t\t? excessDomChildren[0]\n\t\t\t\t\t: oldVNode._children && getDomSibling(oldVNode, 0),\n\t\t\t\tisHydrating,\n\t\t\t\trefQueue\n\t\t\t);\n\n\t\t\t// Remove children that are not part of any vnode.\n\t\t\tif (excessDomChildren != null) {\n\t\t\t\tfor (i = excessDomChildren.length; i--; ) {\n\t\t\t\t\tif (excessDomChildren[i] != null) removeNode(excessDomChildren[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// As above, don't diff props during hydration\n\t\tif (!isHydrating) {\n\t\t\ti = 'value';\n\t\t\tif (\n\t\t\t\tinputValue !== undefined &&\n\t\t\t\t// #2756 For the -element the initial value is 0,\n\t\t\t\t// despite the attribute not being present. When the attribute\n\t\t\t\t// is missing the progress bar is treated as indeterminate.\n\t\t\t\t// To fix that we'll always update it when it is 0 for progress elements\n\t\t\t\t(inputValue !== dom[i] ||\n\t\t\t\t\t(nodeType === 'progress' && !inputValue) ||\n\t\t\t\t\t// This is only for IE 11 to fix