{"version":3,"file":"interactivity/index.min.js","mappings":"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","sources":["webpack://wp/./node_modules/preact/src/constants.js","webpack://wp/./node_modules/preact/src/util.js","webpack://wp/./node_modules/preact/src/options.js","webpack://wp/./node_modules/preact/src/create-element.js","webpack://wp/./node_modules/preact/src/component.js","webpack://wp/./node_modules/preact/src/diff/props.js","webpack://wp/./node_modules/preact/src/create-context.js","webpack://wp/./node_modules/preact/src/diff/children.js","webpack://wp/./node_modules/preact/src/diff/index.js","webpack://wp/./node_modules/preact/src/render.js","webpack://wp/./node_modules/preact/src/clone-element.js","webpack://wp/./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/./node_modules/preact/hooks/src/index.js","webpack://wp/./node_modules/@preact/signals-core/src/index.ts","webpack://wp/./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\tif (node && node.parentNode) node.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\tcommitQueue = [],\n\t\trefQueue = [];\n\n\tif (component._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\tcomponent._parentDom,\n\t\t\tnewVNode,\n\t\t\toldVNode,\n\t\t\tcomponent._globalContext,\n\t\t\tcomponent._parentDom.namespaceURI,\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._original = oldVNode._original;\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 { 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// A logical clock to solve issues like https://github.com/preactjs/preact/issues/3927.\n// When the DOM performs an event it leaves micro-ticks in between bubbling up which means that\n// an event can trigger on a newly reated DOM-node while the event bubbles up.\n//\n// Originally inspired by Vue\n// (https://github.com/vuejs/core/blob/caeb8a68811a1b0f79/packages/runtime-dom/src/modules/events.ts#L90-L101),\n// but modified to use a logical clock instead of Date.now() in case event handlers get attached\n// and events get dispatched during the same millisecond.\n//\n// The clock is incremented after each new event dispatch. This allows 1 000 000 new events\n// per second for over 280 years before the value reaches Number.MAX_SAFE_INTEGER (2**53 - 1).\nlet eventClock = 0;\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 {string} namespace Whether or not this DOM node is an SVG node or not\n */\nexport function setProperty(dom, name, value, oldValue, namespace) {\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$/i, '$1'));\n\n\t\t// Infer correct casing for DOM built-in events:\n\t\tif (\n\t\t\tname.toLowerCase() in dom ||\n\t\t\tname === 'onFocusOut' ||\n\t\t\tname === 'onFocusIn'\n\t\t)\n\t\t\tname = 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 = eventClock;\n\t\t\t\tdom.addEventListener(\n\t\t\t\t\tname,\n\t\t\t\t\tuseCapture ? eventProxyCapture : eventProxy,\n\t\t\t\t\tuseCapture\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tvalue._attached = oldValue._attached;\n\t\t\t}\n\t\t} else {\n\t\t\tdom.removeEventListener(\n\t\t\t\tname,\n\t\t\t\tuseCapture ? eventProxyCapture : eventProxy,\n\t\t\t\tuseCapture\n\t\t\t);\n\t\t}\n\t} else {\n\t\tif (namespace == 'http://www.w3.org/2000/svg') {\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 != 'popover' &&\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, name == 'popover' && value == true ? '' : value);\n\t\t} else {\n\t\t\tdom.removeAttribute(name);\n\t\t}\n\t}\n}\n\n/**\n * Create an event proxy function.\n * @param {boolean} useCapture Is the event handler for the capture phase.\n * @private\n */\nfunction createEventProxy(useCapture) {\n\t/**\n\t * Proxy an event to hooked event handlers\n\t * @param {PreactEvent} e The event object from the browser\n\t * @private\n\t */\n\treturn function (e) {\n\t\tif (this._listeners) {\n\t\t\tconst eventHandler = this._listeners[e.type + useCapture];\n\t\t\tif (e._dispatched == null) {\n\t\t\t\te._dispatched = eventClock++;\n\n\t\t\t\t// When `e._dispatched` is smaller than the time when the targeted event\n\t\t\t\t// handler was attached we know we have bubbled up to an element that was added\n\t\t\t\t// during patching the DOM.\n\t\t\t} else if (e._dispatched < eventHandler._attached) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treturn eventHandler(options.event ? options.event(e) : e);\n\t\t}\n\t};\n}\n\nconst eventProxy = createEventProxy(false);\nconst eventProxyCapture = createEventProxy(true);\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[] | null} */\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.componentWillUnmount = () => {\n\t\t\t\t\tsubs = null;\n\t\t\t\t};\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\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\tif (subs) {\n\t\t\t\t\t\t\tsubs.splice(subs.indexOf(c), 1);\n\t\t\t\t\t\t}\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 {string} namespace Current namespace of the DOM node (HTML, SVG, or MathML)\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\tnamespace,\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\t\tif (childVNode == null) continue;\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\tnamespace,\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\tcontinue;\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\tnull\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\tconst skewedIndex = i + skew;\n\t\tchildVNode._parent = newParentVNode;\n\t\tchildVNode._depth = newParentVNode._depth + 1;\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\tconst matchingIndex = (childVNode._index = findMatchingIndex(\n\t\t\tchildVNode,\n\t\t\toldChildren,\n\t\t\tskewedIndex,\n\t\t\tremainingOldChildren\n\t\t));\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\t// When we move elements around i.e. [0, 1, 2] --> [1, 0, 2]\n\t\t\t// --> we diff 1, we find it at position 1 while our skewed index is 0 and our skew is 0\n\t\t\t// we set the skew to 1 as we found an offset.\n\t\t\t// --> we diff 0, we find it at position 0 while our skewed index is at 2 and our skew is 1\n\t\t\t// this makes us increase the skew again.\n\t\t\t// --> we diff 2, we find it at position 2 while our skewed index is at 4 and our skew is 2\n\t\t\t//\n\t\t\t// this becomes an optimization question where currently we see a 1 element offset as an insertion\n\t\t\t// or deletion i.e. we optimize for [0, 1, 2] --> [9, 0, 1, 2]\n\t\t\t// while a more than 1 offset we see as a swap.\n\t\t\t// We could probably build heuristics for having an optimized course of action here as well, but\n\t\t\t// might go at the cost of some bytes.\n\t\t\t//\n\t\t\t// If we wanted to optimize for i.e. only swaps we'd just do the last two code-branches and have\n\t\t\t// only the first item be a re-scouting and all the others fall in their skewed counter-part.\n\t\t\t// We could also further optimize for swaps\n\t\t\tif (matchingIndex == skewedIndex - 1) {\n\t\t\t\tskew--;\n\t\t\t} else if (matchingIndex == skewedIndex + 1) {\n\t\t\t\tskew++;\n\t\t\t} else {\n\t\t\t\tif (matchingIndex > skewedIndex) {\n\t\t\t\t\tskew--;\n\t\t\t\t} else {\n\t\t\t\t\tskew++;\n\t\t\t\t}\n\n\t\t\t\t// Move this VNode's DOM if the original index (matchingIndex) doesn't\n\t\t\t\t// match the new skew index (i + new skew)\n\t\t\t\t// In the former two branches we know that it matches after skewing\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\tif (oldDom && parentVNode.type && !parentDom.contains(oldDom)) {\n\t\t\toldDom = getDomSibling(parentVNode);\n\t\t}\n\t\tparentDom.insertBefore(parentVNode._dom, oldDom || null);\n\t\toldDom = parentVNode._dom;\n\t}\n\n\tdo {\n\t\toldDom = oldDom && oldDom.nextSibling;\n\t} while (oldDom != null && oldDom.nodeType === 8);\n\n\treturn oldDom;\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 &&\n\t\t\tkey == oldVNode.key &&\n\t\t\ttype === oldVNode.type &&\n\t\t\t(oldVNode._flags & MATCHED) === 0)\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 {\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 {string} namespace Current namespace of the DOM node (HTML, SVG, or MathML)\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\tnamespace,\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\t\t\tconst isClassComponent =\n\t\t\t\t'prototype' in newType && newType.prototype.render;\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 (isClassComponent) {\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 (isClassComponent && c._nextState == null) {\n\t\t\t\tc._nextState = c.state;\n\t\t\t}\n\n\t\t\tif (isClassComponent && 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\tisClassComponent &&\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 (isClassComponent && 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\tisClassComponent &&\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.some(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 (isClassComponent && 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 (isClassComponent) {\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 (isClassComponent && !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\tnamespace,\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._flags |= isHydrating\n\t\t\t\t\t? MODE_HYDRATE | MODE_SUSPENDED\n\t\t\t\t\t: MODE_HYDRATE;\n\n\t\t\t\twhile (oldDom && oldDom.nodeType === 8 && oldDom.nextSibling) {\n\t\t\t\t\toldDom = oldDom.nextSibling;\n\t\t\t\t}\n\t\t\t\texcessDomChildren[excessDomChildren.indexOf(oldDom)] = null;\n\t\t\t\tnewVNode._dom = oldDom;\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\tnamespace,\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 {string} namespace Current namespace of the DOM node (HTML, SVG, or MathML)\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\tnamespace,\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 namespaces when descending through the tree.\n\tif (nodeType === 'svg') namespace = 'http://www.w3.org/2000/svg';\n\telse if (nodeType === 'math')\n\t\tnamespace = 'http://www.w3.org/1998/Math/MathML';\n\telse if (!namespace) namespace = 'http://www.w3.org/1999/xhtml';\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\tdom = document.createElementNS(\n\t\t\tnamespace,\n\t\t\tnodeType,\n\t\t\tnewProps.is && newProps\n\t\t);\n\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\tif (isHydrating) {\n\t\t\tif (options._hydrationMismatch)\n\t\t\t\toptions._hydrationMismatch(newVNode, excessDomChildren);\n\t\t\tisHydrating = false;\n\t\t}\n\t\t// we created a new parent, so none of the previously attached children can be reused:\n\t\texcessDomChildren = null;\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 in newProps)) {\n\t\t\t\tif (\n\t\t\t\t\t(i == 'value' && 'defaultValue' in newProps) ||\n\t\t\t\t\t(i == 'checked' && 'defaultChecked' in newProps)\n\t\t\t\t) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tsetProperty(dom, i, null, value, namespace);\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\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], namespace);\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\tnodeType === 'foreignObject'\n\t\t\t\t\t? 'http://www.w3.org/1999/xhtml'\n\t\t\t\t\t: namespace,\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\tremoveNode(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 (nodeType === 'progress' && inputValue == null) {\n\t\t\t\tdom.removeAttribute('value');\n\t\t\t} else if (\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