{"mappings":"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","sources":["node_modules/@swc/helpers/src/_assert_this_initialized.mjs","node_modules/@swc/helpers/src/_async_to_generator.mjs","node_modules/@swc/helpers/src/_class_call_check.mjs","node_modules/@swc/helpers/src/_create_class.mjs","node_modules/@swc/helpers/src/_define_property.mjs","node_modules/@swc/helpers/src/_set_prototype_of.mjs","node_modules/@swc/helpers/src/_inherits.mjs","node_modules/@swc/helpers/src/_object_spread.mjs","node_modules/@swc/helpers/src/_array_with_holes.mjs","node_modules/@swc/helpers/src/_iterable_to_array.mjs","node_modules/@swc/helpers/src/_non_iterable_rest.mjs","node_modules/@swc/helpers/src/_array_like_to_array.mjs","node_modules/@swc/helpers/src/_unsupported_iterable_to_array.mjs","node_modules/@swc/helpers/src/_sliced_to_array.mjs","node_modules/@swc/helpers/src/_array_without_holes.mjs","node_modules/@swc/helpers/src/_non_iterable_spread.mjs","node_modules/@swc/helpers/src/_to_consumable_array.mjs","node_modules/@swc/helpers/src/_is_native_reflect_construct.mjs","node_modules/@swc/helpers/src/_get_prototype_of.mjs","node_modules/@swc/helpers/src/_type_of.mjs","node_modules/@swc/helpers/src/_possible_constructor_return.mjs","node_modules/@swc/helpers/src/_create_super.mjs","node_modules/regenerator-runtime/runtime.js","node_modules/preact/src/constants.js","node_modules/preact/src/util.js","node_modules/preact/src/options.js","node_modules/preact/src/create-element.js","node_modules/preact/src/component.js","node_modules/preact/src/diff/children.js","node_modules/preact/src/diff/props.js","node_modules/preact/src/diff/index.js","node_modules/preact/src/render.js","node_modules/preact/src/diff/catch-error.js","node_modules/preact/jsx-runtime/src/index.js","packages/emoji-mart/src/helpers/store.ts","packages/emoji-mart/src/helpers/native-support.ts","packages/emoji-mart/src/helpers/frequently-used.ts","packages/emoji-mart-data/i18n/en.json","packages/emoji-mart/src/components/Picker/PickerProps.ts","packages/emoji-mart/src/config.ts","packages/emoji-mart/src/helpers/search-index.ts","packages/emoji-mart/src/helpers/index.ts","packages/emoji-mart/src/utils.ts","packages/emoji-mart/src/icons.tsx","packages/emoji-mart/src/components/Emoji/Emoji.tsx","node_modules/@swc/helpers/src/_construct.mjs","node_modules/@swc/helpers/src/_wrap_native_super.mjs","node_modules/@swc/helpers/src/_is_native_function.mjs","packages/emoji-mart/src/components/HTMLElement/HTMLElement.ts","<>","packages/emoji-mart/src/components/HTMLElement/ShadowElement.ts","packages/emoji-mart/src/components/Emoji/EmojiProps.ts","packages/emoji-mart/src/components/Emoji/EmojiElement.jsx","node_modules/preact/hooks/src/index.js","node_modules/preact/compat/src/util.js","node_modules/preact/compat/src/PureComponent.js","node_modules/preact/compat/src/forwardRef.js","node_modules/preact/compat/src/suspense.js","node_modules/preact/compat/src/suspense-list.js","node_modules/preact/compat/src/render.js","node_modules/preact/compat/src/index.js","packages/emoji-mart/src/components/Navigation/Navigation.tsx","packages/emoji-mart/src/components/Picker/Picker.tsx","packages/emoji-mart/src/components/Picker/PickerElement.tsx","node_modules/@parcel/runtime-js/lib/bundles/runtime-645d004d79b88736.js","packages/emoji-mart/src/browser.js"],"sourcesContent":["export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n","function setPrototypeOf(o, p) {\n setPrototypeOf = Object.setPrototypeOf || function setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return setPrototypeOf(o, p);\n}\n\nexport default function _setPrototypeOf(o, p) {\n return setPrototypeOf(o, p);\n}\n","import setPrototypeOf from './_set_prototype_of.mjs';\n\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n","import defineProperty from './_define_property.mjs';\n\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\n","import _arrayLikeToArray from './_array_like_to_array.mjs';\n\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray(o, minLen);\n}\n","import arrayWithHoles from './_array_with_holes.mjs';\nimport iterableToArrayLimit from './_iterable_to_array.mjs';\nimport nonIterableRest from './_non_iterable_rest.mjs';\nimport unsupportedIterableToArray from './_unsupported_iterable_to_array.mjs';\n\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n","import _arrayLikeToArray from './_array_like_to_array.mjs';\n\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n","import arrayWithoutHoles from './_array_without_holes.mjs';\nimport iterableToArray from './_iterable_to_array.mjs';\nimport nonIterableSpread from './_non_iterable_spread.mjs';\nimport unsupportedIterableToArray from './_unsupported_iterable_to_array.mjs';\n\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () { }));\n return true;\n } catch (e) {\n return false;\n }\n}","function getPrototypeOf(o) {\n getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return getPrototypeOf(o);\n}\n\nexport default function _getPrototypeOf(o) {\n return getPrototypeOf(o);\n}","export default function _typeof(obj) {\n \"@swc/helpers - typeof\";\n return obj && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n};\n","import assertThisInitialized from './_assert_this_initialized.mjs';\nimport _typeof from './_type_of.mjs';\n\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n","import _isNativeReflectConstruct from \"./_is_native_reflect_construct.mjs\";\nimport _getPrototypeOf from \"./_get_prototype_of.mjs\";\nimport _possibleConstructorReturn from './_possible_constructor_return.mjs';\n\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possibleConstructorReturn(this, result);\n };\n}","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","export const EMPTY_OBJ = {};\r\nexport const EMPTY_ARR = [];\r\nexport const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;\r\n","import { EMPTY_ARR } from \"./constants\";\r\n\r\n/**\r\n * Assign properties from `props` to `obj`\r\n * @template O, P The obj and props types\r\n * @param {O} obj The object to copy properties to\r\n * @param {P} props The object to copy properties from\r\n * @returns {O & P}\r\n */\r\nexport function assign(obj, props) {\r\n\t// @ts-ignore We change the type of `obj` to be `O & P`\r\n\tfor (let i in props) obj[i] = props[i];\r\n\treturn /** @type {O & P} */ (obj);\r\n}\r\n\r\n/**\r\n * Remove a child node from its parent if attached. This is a workaround for\r\n * IE11 which doesn't support `Element.prototype.remove()`. Using this function\r\n * is smaller than including a dedicated polyfill.\r\n * @param {Node} node The node to remove\r\n */\r\nexport function removeNode(node) {\r\n\tlet parentNode = node.parentNode;\r\n\tif (parentNode) parentNode.removeChild(node);\r\n}\r\n\r\nexport const slice = EMPTY_ARR.slice;\r\n","import { _catchError } from './diff/catch-error';\r\n\r\n/**\r\n * The `option` object can potentially contain callback functions\r\n * that are called during various stages of our renderer. This is the\r\n * foundation on which all our addons like `preact/debug`, `preact/compat`,\r\n * and `preact/hooks` are based on. See the `Options` type in `internal.d.ts`\r\n * for a full list of available option hooks (most editors/IDEs allow you to\r\n * ctrl+click or cmd+click on mac the type definition below).\r\n * @type {import('./internal').Options}\r\n */\r\nconst options = {\r\n\t_catchError\r\n};\r\n\r\nexport default options;\r\n","import { slice } from './util';\r\nimport options from './options';\r\n\r\nlet vnodeId = 0;\r\n\r\n/**\r\n * Create an virtual node (used for JSX)\r\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component\r\n * constructor for this virtual node\r\n * @param {object | null | undefined} [props] The properties of the virtual node\r\n * @param {Array} [children] The children of the virtual node\r\n * @returns {import('./internal').VNode}\r\n */\r\nexport function createElement(type, props, children) {\r\n\tlet normalizedProps = {},\r\n\t\tkey,\r\n\t\tref,\r\n\t\ti;\r\n\tfor (i in props) {\r\n\t\tif (i == 'key') key = props[i];\r\n\t\telse if (i == 'ref') ref = props[i];\r\n\t\telse normalizedProps[i] = props[i];\r\n\t}\r\n\r\n\tif (arguments.length > 2) {\r\n\t\tnormalizedProps.children =\r\n\t\t\targuments.length > 3 ? slice.call(arguments, 2) : children;\r\n\t}\r\n\r\n\t// If a Component VNode, check for and apply defaultProps\r\n\t// Note: type may be undefined in development, must never error here.\r\n\tif (typeof type == 'function' && type.defaultProps != null) {\r\n\t\tfor (i in type.defaultProps) {\r\n\t\t\tif (normalizedProps[i] === undefined) {\r\n\t\t\t\tnormalizedProps[i] = type.defaultProps[i];\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn createVNode(type, normalizedProps, key, ref, null);\r\n}\r\n\r\n/**\r\n * Create a VNode (used internally by Preact)\r\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component\r\n * Constructor for this virtual node\r\n * @param {object | string | number | null} props The properties of this virtual node.\r\n * If this virtual node represents a text node, this is the text of the node (string or number).\r\n * @param {string | number | null} key The key for this virtual node, used when\r\n * diffing it against its children\r\n * @param {import('./internal').VNode[\"ref\"]} ref The ref property that will\r\n * receive a reference to its created child\r\n * @returns {import('./internal').VNode}\r\n */\r\nexport function createVNode(type, props, key, ref, original) {\r\n\t// V8 seems to be better at detecting type shapes if the object is allocated from the same call site\r\n\t// Do not inline into createElement and coerceToVNode!\r\n\tconst vnode = {\r\n\t\ttype,\r\n\t\tprops,\r\n\t\tkey,\r\n\t\tref,\r\n\t\t_children: null,\r\n\t\t_parent: null,\r\n\t\t_depth: 0,\r\n\t\t_dom: null,\r\n\t\t// _nextDom must be initialized to undefined b/c it will eventually\r\n\t\t// be set to dom.nextSibling which can return `null` and it is important\r\n\t\t// to be able to distinguish between an uninitialized _nextDom and\r\n\t\t// a _nextDom that has been set to `null`\r\n\t\t_nextDom: undefined,\r\n\t\t_component: null,\r\n\t\t_hydrating: null,\r\n\t\tconstructor: undefined,\r\n\t\t_original: original == null ? ++vnodeId : original\r\n\t};\r\n\r\n\t// Only invoke the vnode hook if this was *not* a direct copy:\r\n\tif (original == null && options.vnode != null) options.vnode(vnode);\r\n\r\n\treturn vnode;\r\n}\r\n\r\nexport function createRef() {\r\n\treturn { current: null };\r\n}\r\n\r\nexport function Fragment(props) {\r\n\treturn props.children;\r\n}\r\n\r\n/**\r\n * Check if a the argument is a valid Preact VNode.\r\n * @param {*} vnode\r\n * @returns {vnode is import('./internal').VNode}\r\n */\r\nexport const isValidElement = vnode =>\r\n\tvnode != null && vnode.constructor === undefined;\r\n","import { assign } from './util';\r\nimport { diff, commitRoot } from './diff/index';\r\nimport options from './options';\r\nimport { Fragment } from './create-element';\r\n\r\n/**\r\n * Base Component class. Provides `setState()` and `forceUpdate()`, which\r\n * trigger rendering\r\n * @param {object} props The initial component props\r\n * @param {object} context The initial context from parent components'\r\n * getChildContext\r\n */\r\nexport function Component(props, context) {\r\n\tthis.props = props;\r\n\tthis.context = context;\r\n}\r\n\r\n/**\r\n * Update component state and schedule a re-render.\r\n * @this {import('./internal').Component}\r\n * @param {object | ((s: object, p: object) => object)} update A hash of state\r\n * properties to update with new values or a function that given the current\r\n * state and props returns a new partial state\r\n * @param {() => void} [callback] A function to be called once component state is\r\n * updated\r\n */\r\nComponent.prototype.setState = function(update, callback) {\r\n\t// only clone state when copying to nextState the first time.\r\n\tlet s;\r\n\tif (this._nextState != null && this._nextState !== this.state) {\r\n\t\ts = this._nextState;\r\n\t} else {\r\n\t\ts = this._nextState = assign({}, this.state);\r\n\t}\r\n\r\n\tif (typeof update == 'function') {\r\n\t\t// Some libraries like `immer` mark the current state as readonly,\r\n\t\t// preventing us from mutating it, so we need to clone it. See #2716\r\n\t\tupdate = update(assign({}, s), this.props);\r\n\t}\r\n\r\n\tif (update) {\r\n\t\tassign(s, update);\r\n\t}\r\n\r\n\t// Skip update if updater function returned null\r\n\tif (update == null) return;\r\n\r\n\tif (this._vnode) {\r\n\t\tif (callback) this._renderCallbacks.push(callback);\r\n\t\tenqueueRender(this);\r\n\t}\r\n};\r\n\r\n/**\r\n * Immediately perform a synchronous re-render of the component\r\n * @this {import('./internal').Component}\r\n * @param {() => void} [callback] A function to be called after component is\r\n * re-rendered\r\n */\r\nComponent.prototype.forceUpdate = function(callback) {\r\n\tif (this._vnode) {\r\n\t\t// Set render mode so that we can differentiate where the render request\r\n\t\t// is coming from. We need this because forceUpdate should never call\r\n\t\t// shouldComponentUpdate\r\n\t\tthis._force = true;\r\n\t\tif (callback) this._renderCallbacks.push(callback);\r\n\t\tenqueueRender(this);\r\n\t}\r\n};\r\n\r\n/**\r\n * Accepts `props` and `state`, and returns a new Virtual DOM tree to build.\r\n * Virtual DOM is generally constructed via [JSX](http://jasonformat.com/wtf-is-jsx).\r\n * @param {object} props Props (eg: JSX attributes) received from parent\r\n * element/component\r\n * @param {object} state The component's current state\r\n * @param {object} context Context object, as returned by the nearest\r\n * ancestor's `getChildContext()`\r\n * @returns {import('./index').ComponentChildren | void}\r\n */\r\nComponent.prototype.render = Fragment;\r\n\r\n/**\r\n * @param {import('./internal').VNode} vnode\r\n * @param {number | null} [childIndex]\r\n */\r\nexport function getDomSibling(vnode, childIndex) {\r\n\tif (childIndex == null) {\r\n\t\t// Use childIndex==null as a signal to resume the search from the vnode's sibling\r\n\t\treturn vnode._parent\r\n\t\t\t? getDomSibling(vnode._parent, vnode._parent._children.indexOf(vnode) + 1)\r\n\t\t\t: null;\r\n\t}\r\n\r\n\tlet sibling;\r\n\tfor (; childIndex < vnode._children.length; childIndex++) {\r\n\t\tsibling = vnode._children[childIndex];\r\n\r\n\t\tif (sibling != null && sibling._dom != null) {\r\n\t\t\t// Since updateParentDomPointers keeps _dom pointer correct,\r\n\t\t\t// we can rely on _dom to tell us if this subtree contains a\r\n\t\t\t// rendered DOM node, and what the first rendered DOM node is\r\n\t\t\treturn sibling._dom;\r\n\t\t}\r\n\t}\r\n\r\n\t// If we get here, we have not found a DOM node in this vnode's children.\r\n\t// We must resume from this vnode's sibling (in it's parent _children array)\r\n\t// Only climb up and search the parent if we aren't searching through a DOM\r\n\t// VNode (meaning we reached the DOM parent of the original vnode that began\r\n\t// the search)\r\n\treturn typeof vnode.type == 'function' ? getDomSibling(vnode) : null;\r\n}\r\n\r\n/**\r\n * Trigger in-place re-rendering of a component.\r\n * @param {import('./internal').Component} component The component to rerender\r\n */\r\nfunction renderComponent(component) {\r\n\tlet vnode = component._vnode,\r\n\t\toldDom = vnode._dom,\r\n\t\tparentDom = component._parentDom;\r\n\r\n\tif (parentDom) {\r\n\t\tlet commitQueue = [];\r\n\t\tconst oldVNode = assign({}, vnode);\r\n\t\toldVNode._original = vnode._original + 1;\r\n\r\n\t\tdiff(\r\n\t\t\tparentDom,\r\n\t\t\tvnode,\r\n\t\t\toldVNode,\r\n\t\t\tcomponent._globalContext,\r\n\t\t\tparentDom.ownerSVGElement !== undefined,\r\n\t\t\tvnode._hydrating != null ? [oldDom] : null,\r\n\t\t\tcommitQueue,\r\n\t\t\toldDom == null ? getDomSibling(vnode) : oldDom,\r\n\t\t\tvnode._hydrating\r\n\t\t);\r\n\t\tcommitRoot(commitQueue, vnode);\r\n\r\n\t\tif (vnode._dom != oldDom) {\r\n\t\t\tupdateParentDomPointers(vnode);\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * @param {import('./internal').VNode} vnode\r\n */\r\nfunction updateParentDomPointers(vnode) {\r\n\tif ((vnode = vnode._parent) != null && vnode._component != null) {\r\n\t\tvnode._dom = vnode._component.base = null;\r\n\t\tfor (let i = 0; i < vnode._children.length; i++) {\r\n\t\t\tlet child = vnode._children[i];\r\n\t\t\tif (child != null && child._dom != null) {\r\n\t\t\t\tvnode._dom = vnode._component.base = child._dom;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn updateParentDomPointers(vnode);\r\n\t}\r\n}\r\n\r\n/**\r\n * The render queue\r\n * @type {Array}\r\n */\r\nlet rerenderQueue = [];\r\n\r\n/**\r\n * Asynchronously schedule a callback\r\n * @type {(cb: () => void) => void}\r\n */\r\n/* istanbul ignore next */\r\n// Note the following line isn't tree-shaken by rollup cuz of rollup/rollup#2566\r\nconst defer =\r\n\ttypeof Promise == 'function'\r\n\t\t? Promise.prototype.then.bind(Promise.resolve())\r\n\t\t: setTimeout;\r\n\r\n/*\r\n * The value of `Component.debounce` must asynchronously invoke the passed in callback. It is\r\n * important that contributors to Preact can consistently reason about what calls to `setState`, etc.\r\n * do, and when their effects will be applied. See the links below for some further reading on designing\r\n * asynchronous APIs.\r\n * * [Designing APIs for Asynchrony](https://blog.izs.me/2013/08/designing-apis-for-asynchrony)\r\n * * [Callbacks synchronous and asynchronous](https://blog.ometer.com/2011/07/24/callbacks-synchronous-and-asynchronous/)\r\n */\r\n\r\nlet prevDebounce;\r\n\r\n/**\r\n * Enqueue a rerender of a component\r\n * @param {import('./internal').Component} c The component to rerender\r\n */\r\nexport function enqueueRender(c) {\r\n\tif (\r\n\t\t(!c._dirty &&\r\n\t\t\t(c._dirty = true) &&\r\n\t\t\trerenderQueue.push(c) &&\r\n\t\t\t!process._rerenderCount++) ||\r\n\t\tprevDebounce !== options.debounceRendering\r\n\t) {\r\n\t\tprevDebounce = options.debounceRendering;\r\n\t\t(prevDebounce || defer)(process);\r\n\t}\r\n}\r\n\r\n/** Flush the render queue by rerendering all queued components */\r\nfunction process() {\r\n\tlet queue;\r\n\twhile ((process._rerenderCount = rerenderQueue.length)) {\r\n\t\tqueue = rerenderQueue.sort((a, b) => a._vnode._depth - b._vnode._depth);\r\n\t\trerenderQueue = [];\r\n\t\t// Don't update `renderCount` yet. Keep its value non-zero to prevent unnecessary\r\n\t\t// process() calls from getting scheduled while `queue` is still being consumed.\r\n\t\tqueue.some(c => {\r\n\t\t\tif (c._dirty) renderComponent(c);\r\n\t\t});\r\n\t}\r\n}\r\nprocess._rerenderCount = 0;\r\n","import { diff, unmount, applyRef } from './index';\r\nimport { createVNode, Fragment } from '../create-element';\r\nimport { EMPTY_OBJ, EMPTY_ARR } from '../constants';\r\nimport { getDomSibling } from '../component';\r\n\r\n/**\r\n * Diff the children of a virtual node\r\n * @param {import('../internal').PreactElement} parentDom The DOM element whose\r\n * children are being diffed\r\n * @param {import('../internal').ComponentChildren[]} renderResult\r\n * @param {import('../internal').VNode} newParentVNode The new virtual\r\n * node whose children should be diff'ed against oldParentVNode\r\n * @param {import('../internal').VNode} oldParentVNode The old virtual\r\n * node whose children should be diff'ed against newParentVNode\r\n * @param {object} globalContext The current context object - modified by getChildContext\r\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\r\n * @param {Array} excessDomChildren\r\n * @param {Array} commitQueue List of components\r\n * which have callbacks to invoke in commitRoot\r\n * @param {import('../internal').PreactElement} oldDom The current attached DOM\r\n * element any new dom elements should be placed around. Likely `null` on first\r\n * render (except when hydrating). Can be a sibling DOM element when diffing\r\n * Fragments that have siblings. In most cases, it starts out as `oldChildren[0]._dom`.\r\n * @param {boolean} isHydrating Whether or not we are in hydration\r\n */\r\nexport function diffChildren(\r\n\tparentDom,\r\n\trenderResult,\r\n\tnewParentVNode,\r\n\toldParentVNode,\r\n\tglobalContext,\r\n\tisSvg,\r\n\texcessDomChildren,\r\n\tcommitQueue,\r\n\toldDom,\r\n\tisHydrating\r\n) {\r\n\tlet i, j, oldVNode, childVNode, newDom, firstChildDom, refs;\r\n\r\n\t// This is a compression of oldParentVNode!=null && oldParentVNode != EMPTY_OBJ && oldParentVNode._children || EMPTY_ARR\r\n\t// as EMPTY_OBJ._children should be `undefined`.\r\n\tlet oldChildren = (oldParentVNode && oldParentVNode._children) || EMPTY_ARR;\r\n\r\n\tlet oldChildrenLength = oldChildren.length;\r\n\r\n\tnewParentVNode._children = [];\r\n\tfor (i = 0; i < renderResult.length; i++) {\r\n\t\tchildVNode = renderResult[i];\r\n\r\n\t\tif (childVNode == null || typeof childVNode == 'boolean') {\r\n\t\t\tchildVNode = newParentVNode._children[i] = null;\r\n\t\t}\r\n\t\t// If this newVNode is being reused (e.g.
{reuse}{reuse}
) in the same diff,\r\n\t\t// or we are rendering a component (e.g. setState) copy the oldVNodes so it can have\r\n\t\t// it's own DOM & etc. pointers\r\n\t\telse if (\r\n\t\t\ttypeof childVNode == 'string' ||\r\n\t\t\ttypeof childVNode == 'number' ||\r\n\t\t\t// eslint-disable-next-line valid-typeof\r\n\t\t\ttypeof childVNode == 'bigint'\r\n\t\t) {\r\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\r\n\t\t\t\tnull,\r\n\t\t\t\tchildVNode,\r\n\t\t\t\tnull,\r\n\t\t\t\tnull,\r\n\t\t\t\tchildVNode\r\n\t\t\t);\r\n\t\t} else if (Array.isArray(childVNode)) {\r\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\r\n\t\t\t\tFragment,\r\n\t\t\t\t{ children: childVNode },\r\n\t\t\t\tnull,\r\n\t\t\t\tnull,\r\n\t\t\t\tnull\r\n\t\t\t);\r\n\t\t} else if (childVNode._depth > 0) {\r\n\t\t\t// VNode is already in use, clone it. This can happen in the following\r\n\t\t\t// scenario:\r\n\t\t\t// const reuse =
\r\n\t\t\t//
{reuse}{reuse}
\r\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\r\n\t\t\t\tchildVNode.type,\r\n\t\t\t\tchildVNode.props,\r\n\t\t\t\tchildVNode.key,\r\n\t\t\t\tnull,\r\n\t\t\t\tchildVNode._original\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tchildVNode = newParentVNode._children[i] = childVNode;\r\n\t\t}\r\n\r\n\t\t// Terser removes the `continue` here and wraps the loop body\r\n\t\t// in a `if (childVNode) { ... } condition\r\n\t\tif (childVNode == null) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tchildVNode._parent = newParentVNode;\r\n\t\tchildVNode._depth = newParentVNode._depth + 1;\r\n\r\n\t\t// Check if we find a corresponding element in oldChildren.\r\n\t\t// If found, delete the array item by setting to `undefined`.\r\n\t\t// We use `undefined`, as `null` is reserved for empty placeholders\r\n\t\t// (holes).\r\n\t\toldVNode = oldChildren[i];\r\n\r\n\t\tif (\r\n\t\t\toldVNode === null ||\r\n\t\t\t(oldVNode &&\r\n\t\t\t\tchildVNode.key == oldVNode.key &&\r\n\t\t\t\tchildVNode.type === oldVNode.type)\r\n\t\t) {\r\n\t\t\toldChildren[i] = undefined;\r\n\t\t} else {\r\n\t\t\t// Either oldVNode === undefined or oldChildrenLength > 0,\r\n\t\t\t// so after this loop oldVNode == null or oldVNode is a valid value.\r\n\t\t\tfor (j = 0; j < oldChildrenLength; j++) {\r\n\t\t\t\toldVNode = oldChildren[j];\r\n\t\t\t\t// If childVNode is unkeyed, we only match similarly unkeyed nodes, otherwise we match by key.\r\n\t\t\t\t// We always match by type (in either case).\r\n\t\t\t\tif (\r\n\t\t\t\t\toldVNode &&\r\n\t\t\t\t\tchildVNode.key == oldVNode.key &&\r\n\t\t\t\t\tchildVNode.type === oldVNode.type\r\n\t\t\t\t) {\r\n\t\t\t\t\toldChildren[j] = undefined;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\toldVNode = null;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\toldVNode = oldVNode || EMPTY_OBJ;\r\n\r\n\t\t// Morph the old element into the new one, but don't append it to the dom yet\r\n\t\tdiff(\r\n\t\t\tparentDom,\r\n\t\t\tchildVNode,\r\n\t\t\toldVNode,\r\n\t\t\tglobalContext,\r\n\t\t\tisSvg,\r\n\t\t\texcessDomChildren,\r\n\t\t\tcommitQueue,\r\n\t\t\toldDom,\r\n\t\t\tisHydrating\r\n\t\t);\r\n\r\n\t\tnewDom = childVNode._dom;\r\n\r\n\t\tif ((j = childVNode.ref) && oldVNode.ref != j) {\r\n\t\t\tif (!refs) refs = [];\r\n\t\t\tif (oldVNode.ref) refs.push(oldVNode.ref, null, childVNode);\r\n\t\t\trefs.push(j, childVNode._component || newDom, childVNode);\r\n\t\t}\r\n\r\n\t\tif (newDom != null) {\r\n\t\t\tif (firstChildDom == null) {\r\n\t\t\t\tfirstChildDom = newDom;\r\n\t\t\t}\r\n\r\n\t\t\tif (\r\n\t\t\t\ttypeof childVNode.type == 'function' &&\r\n\t\t\t\tchildVNode._children === oldVNode._children\r\n\t\t\t) {\r\n\t\t\t\tchildVNode._nextDom = oldDom = reorderChildren(\r\n\t\t\t\t\tchildVNode,\r\n\t\t\t\t\toldDom,\r\n\t\t\t\t\tparentDom\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\toldDom = placeChild(\r\n\t\t\t\t\tparentDom,\r\n\t\t\t\t\tchildVNode,\r\n\t\t\t\t\toldVNode,\r\n\t\t\t\t\toldChildren,\r\n\t\t\t\t\tnewDom,\r\n\t\t\t\t\toldDom\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tif (typeof newParentVNode.type == 'function') {\r\n\t\t\t\t// Because the newParentVNode is Fragment-like, we need to set it's\r\n\t\t\t\t// _nextDom property to the nextSibling of its last child DOM node.\r\n\t\t\t\t//\r\n\t\t\t\t// `oldDom` contains the correct value here because if the last child\r\n\t\t\t\t// is a Fragment-like, then oldDom has already been set to that child's _nextDom.\r\n\t\t\t\t// If the last child is a DOM VNode, then oldDom will be set to that DOM\r\n\t\t\t\t// node's nextSibling.\r\n\t\t\t\tnewParentVNode._nextDom = oldDom;\r\n\t\t\t}\r\n\t\t} else if (\r\n\t\t\toldDom &&\r\n\t\t\toldVNode._dom == oldDom &&\r\n\t\t\toldDom.parentNode != parentDom\r\n\t\t) {\r\n\t\t\t// The above condition is to handle null placeholders. See test in placeholder.test.js:\r\n\t\t\t// `efficiently replace null placeholders in parent rerenders`\r\n\t\t\toldDom = getDomSibling(oldVNode);\r\n\t\t}\r\n\t}\r\n\r\n\tnewParentVNode._dom = firstChildDom;\r\n\r\n\t// Remove remaining oldChildren if there are any.\r\n\tfor (i = oldChildrenLength; i--; ) {\r\n\t\tif (oldChildren[i] != null) {\r\n\t\t\tif (\r\n\t\t\t\ttypeof newParentVNode.type == 'function' &&\r\n\t\t\t\toldChildren[i]._dom != null &&\r\n\t\t\t\toldChildren[i]._dom == newParentVNode._nextDom\r\n\t\t\t) {\r\n\t\t\t\t// If the newParentVNode.__nextDom points to a dom node that is about to\r\n\t\t\t\t// be unmounted, then get the next sibling of that vnode and set\r\n\t\t\t\t// _nextDom to it\r\n\t\t\t\tnewParentVNode._nextDom = getDomSibling(oldParentVNode, i + 1);\r\n\t\t\t}\r\n\r\n\t\t\tunmount(oldChildren[i], oldChildren[i]);\r\n\t\t}\r\n\t}\r\n\r\n\t// Set refs only after unmount\r\n\tif (refs) {\r\n\t\tfor (i = 0; i < refs.length; i++) {\r\n\t\t\tapplyRef(refs[i], refs[++i], refs[++i]);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction reorderChildren(childVNode, oldDom, parentDom) {\r\n\t// Note: VNodes in nested suspended trees may be missing _children.\r\n\tlet c = childVNode._children;\r\n\tlet tmp = 0;\r\n\tfor (; c && tmp < c.length; tmp++) {\r\n\t\tlet vnode = c[tmp];\r\n\t\tif (vnode) {\r\n\t\t\t// We typically enter this code path on sCU bailout, where we copy\r\n\t\t\t// oldVNode._children to newVNode._children. If that is the case, we need\r\n\t\t\t// to update the old children's _parent pointer to point to the newVNode\r\n\t\t\t// (childVNode here).\r\n\t\t\tvnode._parent = childVNode;\r\n\r\n\t\t\tif (typeof vnode.type == 'function') {\r\n\t\t\t\toldDom = reorderChildren(vnode, oldDom, parentDom);\r\n\t\t\t} else {\r\n\t\t\t\toldDom = placeChild(\r\n\t\t\t\t\tparentDom,\r\n\t\t\t\t\tvnode,\r\n\t\t\t\t\tvnode,\r\n\t\t\t\t\tc,\r\n\t\t\t\t\tvnode._dom,\r\n\t\t\t\t\toldDom\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn oldDom;\r\n}\r\n\r\n/**\r\n * Flatten and loop through the children of a virtual node\r\n * @param {import('../index').ComponentChildren} children The unflattened\r\n * children of a virtual node\r\n * @returns {import('../internal').VNode[]}\r\n */\r\nexport function toChildArray(children, out) {\r\n\tout = out || [];\r\n\tif (children == null || typeof children == 'boolean') {\r\n\t} else if (Array.isArray(children)) {\r\n\t\tchildren.some(child => {\r\n\t\t\ttoChildArray(child, out);\r\n\t\t});\r\n\t} else {\r\n\t\tout.push(children);\r\n\t}\r\n\treturn out;\r\n}\r\n\r\nfunction placeChild(\r\n\tparentDom,\r\n\tchildVNode,\r\n\toldVNode,\r\n\toldChildren,\r\n\tnewDom,\r\n\toldDom\r\n) {\r\n\tlet nextDom;\r\n\tif (childVNode._nextDom !== undefined) {\r\n\t\t// Only Fragments or components that return Fragment like VNodes will\r\n\t\t// have a non-undefined _nextDom. Continue the diff from the sibling\r\n\t\t// of last DOM child of this child VNode\r\n\t\tnextDom = childVNode._nextDom;\r\n\r\n\t\t// Eagerly cleanup _nextDom. We don't need to persist the value because\r\n\t\t// it is only used by `diffChildren` to determine where to resume the diff after\r\n\t\t// diffing Components and Fragments. Once we store it the nextDOM local var, we\r\n\t\t// can clean up the property\r\n\t\tchildVNode._nextDom = undefined;\r\n\t} else if (\r\n\t\toldVNode == null ||\r\n\t\tnewDom != oldDom ||\r\n\t\tnewDom.parentNode == null\r\n\t) {\r\n\t\touter: if (oldDom == null || oldDom.parentNode !== parentDom) {\r\n\t\t\tparentDom.appendChild(newDom);\r\n\t\t\tnextDom = null;\r\n\t\t} else {\r\n\t\t\t// `j href (xlink:href was removed from SVG and isn't needed)\r\n\t\t\t// - className --> class\r\n\t\t\tname = name.replace(/xlink[H:h]/, 'h').replace(/sName$/, 's');\r\n\t\t} else if (\r\n\t\t\tname !== 'href' &&\r\n\t\t\tname !== 'list' &&\r\n\t\t\tname !== 'form' &&\r\n\t\t\t// Default value in browsers is `-1` and an empty string is\r\n\t\t\t// cast to `0` instead\r\n\t\t\tname !== 'tabIndex' &&\r\n\t\t\tname !== 'download' &&\r\n\t\t\tname in dom\r\n\t\t) {\r\n\t\t\ttry {\r\n\t\t\t\tdom[name] = value == null ? '' : value;\r\n\t\t\t\t// labelled break is 1b smaller here than a return statement (sorry)\r\n\t\t\t\tbreak o;\r\n\t\t\t} catch (e) {}\r\n\t\t}\r\n\r\n\t\t// ARIA-attributes have a different notion of boolean values.\r\n\t\t// The value `false` is different from the attribute not\r\n\t\t// existing on the DOM, so we can't remove it. For non-boolean\r\n\t\t// ARIA-attributes we could treat false as a removal, but the\r\n\t\t// amount of exceptions would cost us too many bytes. On top of\r\n\t\t// that other VDOM frameworks also always stringify `false`.\r\n\r\n\t\tif (typeof value === 'function') {\r\n\t\t\t// never serialize functions as attribute values\r\n\t\t} else if (\r\n\t\t\tvalue != null &&\r\n\t\t\t(value !== false || (name[0] === 'a' && name[1] === 'r'))\r\n\t\t) {\r\n\t\t\tdom.setAttribute(name, value);\r\n\t\t} else {\r\n\t\t\tdom.removeAttribute(name);\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Proxy an event to hooked event handlers\r\n * @param {Event} e The event object from the browser\r\n * @private\r\n */\r\nfunction eventProxy(e) {\r\n\tthis._listeners[e.type + false](options.event ? options.event(e) : e);\r\n}\r\n\r\nfunction eventProxyCapture(e) {\r\n\tthis._listeners[e.type + true](options.event ? options.event(e) : e);\r\n}\r\n","import { EMPTY_OBJ } from '../constants';\r\nimport { Component, getDomSibling } from '../component';\r\nimport { Fragment } from '../create-element';\r\nimport { diffChildren } from './children';\r\nimport { diffProps, setProperty } from './props';\r\nimport { assign, removeNode, slice } from '../util';\r\nimport options from '../options';\r\n\r\n/**\r\n * Diff two virtual nodes and apply proper changes to the DOM\r\n * @param {import('../internal').PreactElement} parentDom The parent of the DOM element\r\n * @param {import('../internal').VNode} newVNode The new virtual node\r\n * @param {import('../internal').VNode} oldVNode The old virtual node\r\n * @param {object} globalContext The current context object. Modified by getChildContext\r\n * @param {boolean} isSvg Whether or not this element is an SVG node\r\n * @param {Array} excessDomChildren\r\n * @param {Array} commitQueue List of components\r\n * which have callbacks to invoke in commitRoot\r\n * @param {import('../internal').PreactElement} oldDom The current attached DOM\r\n * element any new dom elements should be placed around. Likely `null` on first\r\n * render (except when hydrating). Can be a sibling DOM element when diffing\r\n * Fragments that have siblings. In most cases, it starts out as `oldChildren[0]._dom`.\r\n * @param {boolean} [isHydrating] Whether or not we are in hydration\r\n */\r\nexport function diff(\r\n\tparentDom,\r\n\tnewVNode,\r\n\toldVNode,\r\n\tglobalContext,\r\n\tisSvg,\r\n\texcessDomChildren,\r\n\tcommitQueue,\r\n\toldDom,\r\n\tisHydrating\r\n) {\r\n\tlet tmp,\r\n\t\tnewType = newVNode.type;\r\n\r\n\t// When passing through createElement it assigns the object\r\n\t// constructor as undefined. This to prevent JSON-injection.\r\n\tif (newVNode.constructor !== undefined) return null;\r\n\r\n\t// If the previous diff bailed out, resume creating/hydrating.\r\n\tif (oldVNode._hydrating != null) {\r\n\t\tisHydrating = oldVNode._hydrating;\r\n\t\toldDom = newVNode._dom = oldVNode._dom;\r\n\t\t// if we resume, we want the tree to be \"unlocked\"\r\n\t\tnewVNode._hydrating = null;\r\n\t\texcessDomChildren = [oldDom];\r\n\t}\r\n\r\n\tif ((tmp = options._diff)) tmp(newVNode);\r\n\r\n\ttry {\r\n\t\touter: if (typeof newType == 'function') {\r\n\t\t\tlet c, isNew, oldProps, oldState, snapshot, clearProcessingException;\r\n\t\t\tlet newProps = newVNode.props;\r\n\r\n\t\t\t// Necessary for createContext api. Setting this property will pass\r\n\t\t\t// the context value as `this.context` just for this component.\r\n\t\t\ttmp = newType.contextType;\r\n\t\t\tlet provider = tmp && globalContext[tmp._id];\r\n\t\t\tlet componentContext = tmp\r\n\t\t\t\t? provider\r\n\t\t\t\t\t? provider.props.value\r\n\t\t\t\t\t: tmp._defaultValue\r\n\t\t\t\t: globalContext;\r\n\r\n\t\t\t// Get component and set it to `c`\r\n\t\t\tif (oldVNode._component) {\r\n\t\t\t\tc = newVNode._component = oldVNode._component;\r\n\t\t\t\tclearProcessingException = c._processingException = c._pendingError;\r\n\t\t\t} else {\r\n\t\t\t\t// Instantiate the new component\r\n\t\t\t\tif ('prototype' in newType && newType.prototype.render) {\r\n\t\t\t\t\t// @ts-ignore The check above verifies that newType is suppose to be constructed\r\n\t\t\t\t\tnewVNode._component = c = new newType(newProps, componentContext); // eslint-disable-line new-cap\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// @ts-ignore Trust me, Component implements the interface we want\r\n\t\t\t\t\tnewVNode._component = c = new Component(newProps, componentContext);\r\n\t\t\t\t\tc.constructor = newType;\r\n\t\t\t\t\tc.render = doRender;\r\n\t\t\t\t}\r\n\t\t\t\tif (provider) provider.sub(c);\r\n\r\n\t\t\t\tc.props = newProps;\r\n\t\t\t\tif (!c.state) c.state = {};\r\n\t\t\t\tc.context = componentContext;\r\n\t\t\t\tc._globalContext = globalContext;\r\n\t\t\t\tisNew = c._dirty = true;\r\n\t\t\t\tc._renderCallbacks = [];\r\n\t\t\t}\r\n\r\n\t\t\t// Invoke getDerivedStateFromProps\r\n\t\t\tif (c._nextState == null) {\r\n\t\t\t\tc._nextState = c.state;\r\n\t\t\t}\r\n\t\t\tif (newType.getDerivedStateFromProps != null) {\r\n\t\t\t\tif (c._nextState == c.state) {\r\n\t\t\t\t\tc._nextState = assign({}, c._nextState);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tassign(\r\n\t\t\t\t\tc._nextState,\r\n\t\t\t\t\tnewType.getDerivedStateFromProps(newProps, c._nextState)\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\toldProps = c.props;\r\n\t\t\toldState = c.state;\r\n\r\n\t\t\t// Invoke pre-render lifecycle methods\r\n\t\t\tif (isNew) {\r\n\t\t\t\tif (\r\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\r\n\t\t\t\t\tc.componentWillMount != null\r\n\t\t\t\t) {\r\n\t\t\t\t\tc.componentWillMount();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (c.componentDidMount != null) {\r\n\t\t\t\t\tc._renderCallbacks.push(c.componentDidMount);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (\r\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\r\n\t\t\t\t\tnewProps !== oldProps &&\r\n\t\t\t\t\tc.componentWillReceiveProps != null\r\n\t\t\t\t) {\r\n\t\t\t\t\tc.componentWillReceiveProps(newProps, componentContext);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (\r\n\t\t\t\t\t(!c._force &&\r\n\t\t\t\t\t\tc.shouldComponentUpdate != null &&\r\n\t\t\t\t\t\tc.shouldComponentUpdate(\r\n\t\t\t\t\t\t\tnewProps,\r\n\t\t\t\t\t\t\tc._nextState,\r\n\t\t\t\t\t\t\tcomponentContext\r\n\t\t\t\t\t\t) === false) ||\r\n\t\t\t\t\tnewVNode._original === oldVNode._original\r\n\t\t\t\t) {\r\n\t\t\t\t\tc.props = newProps;\r\n\t\t\t\t\tc.state = c._nextState;\r\n\t\t\t\t\t// More info about this here: https://gist.github.com/JoviDeCroock/bec5f2ce93544d2e6070ef8e0036e4e8\r\n\t\t\t\t\tif (newVNode._original !== oldVNode._original) c._dirty = false;\r\n\t\t\t\t\tc._vnode = newVNode;\r\n\t\t\t\t\tnewVNode._dom = oldVNode._dom;\r\n\t\t\t\t\tnewVNode._children = oldVNode._children;\r\n\t\t\t\t\tnewVNode._children.forEach(vnode => {\r\n\t\t\t\t\t\tif (vnode) vnode._parent = newVNode;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (c._renderCallbacks.length) {\r\n\t\t\t\t\t\tcommitQueue.push(c);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tbreak outer;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (c.componentWillUpdate != null) {\r\n\t\t\t\t\tc.componentWillUpdate(newProps, c._nextState, componentContext);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (c.componentDidUpdate != null) {\r\n\t\t\t\t\tc._renderCallbacks.push(() => {\r\n\t\t\t\t\t\tc.componentDidUpdate(oldProps, oldState, snapshot);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tc.context = componentContext;\r\n\t\t\tc.props = newProps;\r\n\t\t\tc.state = c._nextState;\r\n\r\n\t\t\tif ((tmp = options._render)) tmp(newVNode);\r\n\r\n\t\t\tc._dirty = false;\r\n\t\t\tc._vnode = newVNode;\r\n\t\t\tc._parentDom = parentDom;\r\n\r\n\t\t\ttmp = c.render(c.props, c.state, c.context);\r\n\r\n\t\t\t// Handle setState called in render, see #2553\r\n\t\t\tc.state = c._nextState;\r\n\r\n\t\t\tif (c.getChildContext != null) {\r\n\t\t\t\tglobalContext = assign(assign({}, globalContext), c.getChildContext());\r\n\t\t\t}\r\n\r\n\t\t\tif (!isNew && c.getSnapshotBeforeUpdate != null) {\r\n\t\t\t\tsnapshot = c.getSnapshotBeforeUpdate(oldProps, oldState);\r\n\t\t\t}\r\n\r\n\t\t\tlet isTopLevelFragment =\r\n\t\t\t\ttmp != null && tmp.type === Fragment && tmp.key == null;\r\n\t\t\tlet renderResult = isTopLevelFragment ? tmp.props.children : tmp;\r\n\r\n\t\t\tdiffChildren(\r\n\t\t\t\tparentDom,\r\n\t\t\t\tArray.isArray(renderResult) ? renderResult : [renderResult],\r\n\t\t\t\tnewVNode,\r\n\t\t\t\toldVNode,\r\n\t\t\t\tglobalContext,\r\n\t\t\t\tisSvg,\r\n\t\t\t\texcessDomChildren,\r\n\t\t\t\tcommitQueue,\r\n\t\t\t\toldDom,\r\n\t\t\t\tisHydrating\r\n\t\t\t);\r\n\r\n\t\t\tc.base = newVNode._dom;\r\n\r\n\t\t\t// We successfully rendered this VNode, unset any stored hydration/bailout state:\r\n\t\t\tnewVNode._hydrating = null;\r\n\r\n\t\t\tif (c._renderCallbacks.length) {\r\n\t\t\t\tcommitQueue.push(c);\r\n\t\t\t}\r\n\r\n\t\t\tif (clearProcessingException) {\r\n\t\t\t\tc._pendingError = c._processingException = null;\r\n\t\t\t}\r\n\r\n\t\t\tc._force = false;\r\n\t\t} else if (\r\n\t\t\texcessDomChildren == null &&\r\n\t\t\tnewVNode._original === oldVNode._original\r\n\t\t) {\r\n\t\t\tnewVNode._children = oldVNode._children;\r\n\t\t\tnewVNode._dom = oldVNode._dom;\r\n\t\t} else {\r\n\t\t\tnewVNode._dom = diffElementNodes(\r\n\t\t\t\toldVNode._dom,\r\n\t\t\t\tnewVNode,\r\n\t\t\t\toldVNode,\r\n\t\t\t\tglobalContext,\r\n\t\t\t\tisSvg,\r\n\t\t\t\texcessDomChildren,\r\n\t\t\t\tcommitQueue,\r\n\t\t\t\tisHydrating\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif ((tmp = options.diffed)) tmp(newVNode);\r\n\t} catch (e) {\r\n\t\tnewVNode._original = null;\r\n\t\t// if hydrating or creating initial tree, bailout preserves DOM:\r\n\t\tif (isHydrating || excessDomChildren != null) {\r\n\t\t\tnewVNode._dom = oldDom;\r\n\t\t\tnewVNode._hydrating = !!isHydrating;\r\n\t\t\texcessDomChildren[excessDomChildren.indexOf(oldDom)] = null;\r\n\t\t\t// ^ could possibly be simplified to:\r\n\t\t\t// excessDomChildren.length = 0;\r\n\t\t}\r\n\t\toptions._catchError(e, newVNode, oldVNode);\r\n\t}\r\n}\r\n\r\n/**\r\n * @param {Array} commitQueue List of components\r\n * which have callbacks to invoke in commitRoot\r\n * @param {import('../internal').VNode} root\r\n */\r\nexport function commitRoot(commitQueue, root) {\r\n\tif (options._commit) options._commit(root, commitQueue);\r\n\r\n\tcommitQueue.some(c => {\r\n\t\ttry {\r\n\t\t\t// @ts-ignore Reuse the commitQueue variable here so the type changes\r\n\t\t\tcommitQueue = c._renderCallbacks;\r\n\t\t\tc._renderCallbacks = [];\r\n\t\t\tcommitQueue.some(cb => {\r\n\t\t\t\t// @ts-ignore See above ts-ignore on commitQueue\r\n\t\t\t\tcb.call(c);\r\n\t\t\t});\r\n\t\t} catch (e) {\r\n\t\t\toptions._catchError(e, c._vnode);\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * Diff two virtual nodes representing DOM element\r\n * @param {import('../internal').PreactElement} dom The DOM element representing\r\n * the virtual nodes being diffed\r\n * @param {import('../internal').VNode} newVNode The new virtual node\r\n * @param {import('../internal').VNode} oldVNode The old virtual node\r\n * @param {object} globalContext The current context object\r\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\r\n * @param {*} excessDomChildren\r\n * @param {Array} commitQueue List of components\r\n * which have callbacks to invoke in commitRoot\r\n * @param {boolean} isHydrating Whether or not we are in hydration\r\n * @returns {import('../internal').PreactElement}\r\n */\r\nfunction diffElementNodes(\r\n\tdom,\r\n\tnewVNode,\r\n\toldVNode,\r\n\tglobalContext,\r\n\tisSvg,\r\n\texcessDomChildren,\r\n\tcommitQueue,\r\n\tisHydrating\r\n) {\r\n\tlet oldProps = oldVNode.props;\r\n\tlet newProps = newVNode.props;\r\n\tlet nodeType = newVNode.type;\r\n\tlet i = 0;\r\n\r\n\t// Tracks entering and exiting SVG namespace when descending through the tree.\r\n\tif (nodeType === 'svg') isSvg = true;\r\n\r\n\tif (excessDomChildren != null) {\r\n\t\tfor (; i < excessDomChildren.length; i++) {\r\n\t\t\tconst child = excessDomChildren[i];\r\n\r\n\t\t\t// if newVNode matches an element in excessDomChildren or the `dom`\r\n\t\t\t// argument matches an element in excessDomChildren, remove it from\r\n\t\t\t// excessDomChildren so it isn't later removed in diffChildren\r\n\t\t\tif (\r\n\t\t\t\tchild &&\r\n\t\t\t\t'setAttribute' in child === !!nodeType &&\r\n\t\t\t\t(nodeType ? child.localName === nodeType : child.nodeType === 3)\r\n\t\t\t) {\r\n\t\t\t\tdom = child;\r\n\t\t\t\texcessDomChildren[i] = null;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif (dom == null) {\r\n\t\tif (nodeType === null) {\r\n\t\t\t// @ts-ignore createTextNode returns Text, we expect PreactElement\r\n\t\t\treturn document.createTextNode(newProps);\r\n\t\t}\r\n\r\n\t\tif (isSvg) {\r\n\t\t\tdom = document.createElementNS(\r\n\t\t\t\t'http://www.w3.org/2000/svg',\r\n\t\t\t\t// @ts-ignore We know `newVNode.type` is a string\r\n\t\t\t\tnodeType\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tdom = document.createElement(\r\n\t\t\t\t// @ts-ignore We know `newVNode.type` is a string\r\n\t\t\t\tnodeType,\r\n\t\t\t\tnewProps.is && newProps\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\t// we created a new parent, so none of the previously attached children can be reused:\r\n\t\texcessDomChildren = null;\r\n\t\t// we are creating a new node, so we can assume this is a new subtree (in case we are hydrating), this deopts the hydrate\r\n\t\tisHydrating = false;\r\n\t}\r\n\r\n\tif (nodeType === null) {\r\n\t\t// During hydration, we still have to split merged text from SSR'd HTML.\r\n\t\tif (oldProps !== newProps && (!isHydrating || dom.data !== newProps)) {\r\n\t\t\tdom.data = newProps;\r\n\t\t}\r\n\t} else {\r\n\t\t// If excessDomChildren was not null, repopulate it with the current element's children:\r\n\t\texcessDomChildren = excessDomChildren && slice.call(dom.childNodes);\r\n\r\n\t\toldProps = oldVNode.props || EMPTY_OBJ;\r\n\r\n\t\tlet oldHtml = oldProps.dangerouslySetInnerHTML;\r\n\t\tlet newHtml = newProps.dangerouslySetInnerHTML;\r\n\r\n\t\t// During hydration, props are not diffed at all (including dangerouslySetInnerHTML)\r\n\t\t// @TODO we should warn in debug mode when props don't match here.\r\n\t\tif (!isHydrating) {\r\n\t\t\t// But, if we are in a situation where we are using existing DOM (e.g. replaceNode)\r\n\t\t\t// we should read the existing DOM attributes to diff them\r\n\t\t\tif (excessDomChildren != null) {\r\n\t\t\t\toldProps = {};\r\n\t\t\t\tfor (i = 0; i < dom.attributes.length; i++) {\r\n\t\t\t\t\toldProps[dom.attributes[i].name] = dom.attributes[i].value;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (newHtml || oldHtml) {\r\n\t\t\t\t// Avoid re-applying the same '__html' if it did not changed between re-render\r\n\t\t\t\tif (\r\n\t\t\t\t\t!newHtml ||\r\n\t\t\t\t\t((!oldHtml || newHtml.__html != oldHtml.__html) &&\r\n\t\t\t\t\t\tnewHtml.__html !== dom.innerHTML)\r\n\t\t\t\t) {\r\n\t\t\t\t\tdom.innerHTML = (newHtml && newHtml.__html) || '';\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tdiffProps(dom, newProps, oldProps, isSvg, isHydrating);\r\n\r\n\t\t// If the new vnode didn't have dangerouslySetInnerHTML, diff its children\r\n\t\tif (newHtml) {\r\n\t\t\tnewVNode._children = [];\r\n\t\t} else {\r\n\t\t\ti = newVNode.props.children;\r\n\t\t\tdiffChildren(\r\n\t\t\t\tdom,\r\n\t\t\t\tArray.isArray(i) ? i : [i],\r\n\t\t\t\tnewVNode,\r\n\t\t\t\toldVNode,\r\n\t\t\t\tglobalContext,\r\n\t\t\t\tisSvg && nodeType !== 'foreignObject',\r\n\t\t\t\texcessDomChildren,\r\n\t\t\t\tcommitQueue,\r\n\t\t\t\texcessDomChildren\r\n\t\t\t\t\t? excessDomChildren[0]\r\n\t\t\t\t\t: oldVNode._children && getDomSibling(oldVNode, 0),\r\n\t\t\t\tisHydrating\r\n\t\t\t);\r\n\r\n\t\t\t// Remove children that are not part of any vnode.\r\n\t\t\tif (excessDomChildren != null) {\r\n\t\t\t\tfor (i = excessDomChildren.length; i--; ) {\r\n\t\t\t\t\tif (excessDomChildren[i] != null) removeNode(excessDomChildren[i]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// (as above, don't diff props during hydration)\r\n\t\tif (!isHydrating) {\r\n\t\t\tif (\r\n\t\t\t\t'value' in newProps &&\r\n\t\t\t\t(i = newProps.value) !== undefined &&\r\n\t\t\t\t// #2756 For the -element the initial value is 0,\r\n\t\t\t\t// despite the attribute not being present. When the attribute\r\n\t\t\t\t// is missing the progress bar is treated as indeterminate.\r\n\t\t\t\t// To fix that we'll always update it when it is 0 for progress elements\r\n\t\t\t\t(i !== oldProps.value ||\r\n\t\t\t\t\ti !== dom.value ||\r\n\t\t\t\t\t(nodeType === 'progress' && !i))\r\n\t\t\t) {\r\n\t\t\t\tsetProperty(dom, 'value', i, oldProps.value, false);\r\n\t\t\t}\r\n\t\t\tif (\r\n\t\t\t\t'checked' in newProps &&\r\n\t\t\t\t(i = newProps.checked) !== undefined &&\r\n\t\t\t\ti !== dom.checked\r\n\t\t\t) {\r\n\t\t\t\tsetProperty(dom, 'checked', i, oldProps.checked, false);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn dom;\r\n}\r\n\r\n/**\r\n * Invoke or update a ref, depending on whether it is a function or object ref.\r\n * @param {object|function} ref\r\n * @param {any} value\r\n * @param {import('../internal').VNode} vnode\r\n */\r\nexport function applyRef(ref, value, vnode) {\r\n\ttry {\r\n\t\tif (typeof ref == 'function') ref(value);\r\n\t\telse ref.current = value;\r\n\t} catch (e) {\r\n\t\toptions._catchError(e, vnode);\r\n\t}\r\n}\r\n\r\n/**\r\n * Unmount a virtual node from the tree and apply DOM changes\r\n * @param {import('../internal').VNode} vnode The virtual node to unmount\r\n * @param {import('../internal').VNode} parentVNode The parent of the VNode that\r\n * initiated the unmount\r\n * @param {boolean} [skipRemove] Flag that indicates that a parent node of the\r\n * current element is already detached from the DOM.\r\n */\r\nexport function unmount(vnode, parentVNode, skipRemove) {\r\n\tlet r;\r\n\tif (options.unmount) options.unmount(vnode);\r\n\r\n\tif ((r = vnode.ref)) {\r\n\t\tif (!r.current || r.current === vnode._dom) applyRef(r, null, parentVNode);\r\n\t}\r\n\r\n\tif ((r = vnode._component) != null) {\r\n\t\tif (r.componentWillUnmount) {\r\n\t\t\ttry {\r\n\t\t\t\tr.componentWillUnmount();\r\n\t\t\t} catch (e) {\r\n\t\t\t\toptions._catchError(e, parentVNode);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tr.base = r._parentDom = null;\r\n\t}\r\n\r\n\tif ((r = vnode._children)) {\r\n\t\tfor (let i = 0; i < r.length; i++) {\r\n\t\t\tif (r[i]) {\r\n\t\t\t\tunmount(r[i], parentVNode, typeof vnode.type != 'function');\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif (!skipRemove && vnode._dom != null) removeNode(vnode._dom);\r\n\r\n\t// Must be set to `undefined` to properly clean up `_nextDom`\r\n\t// for which `null` is a valid value. See comment in `create-element.js`\r\n\tvnode._dom = vnode._nextDom = undefined;\r\n}\r\n\r\n/** The `.render()` method for a PFC backing instance. */\r\nfunction doRender(props, state, context) {\r\n\treturn this.constructor(props, context);\r\n}\r\n","import { EMPTY_OBJ } from './constants';\r\nimport { commitRoot, diff } from './diff/index';\r\nimport { createElement, Fragment } from './create-element';\r\nimport options from './options';\r\nimport { slice } from './util';\r\n\r\n/**\r\n * Render a Preact virtual node into a DOM element\r\n * @param {import('./internal').ComponentChild} vnode The virtual node to render\r\n * @param {import('./internal').PreactElement} parentDom The DOM element to\r\n * render into\r\n * @param {import('./internal').PreactElement | object} [replaceNode] Optional: Attempt to re-use an\r\n * existing DOM tree rooted at `replaceNode`\r\n */\r\nexport function render(vnode, parentDom, replaceNode) {\r\n\tif (options._root) options._root(vnode, parentDom);\r\n\r\n\t// We abuse the `replaceNode` parameter in `hydrate()` to signal if we are in\r\n\t// hydration mode or not by passing the `hydrate` function instead of a DOM\r\n\t// element..\r\n\tlet isHydrating = typeof replaceNode === 'function';\r\n\r\n\t// To be able to support calling `render()` multiple times on the same\r\n\t// DOM node, we need to obtain a reference to the previous tree. We do\r\n\t// this by assigning a new `_children` property to DOM nodes which points\r\n\t// to the last rendered tree. By default this property is not present, which\r\n\t// means that we are mounting a new tree for the first time.\r\n\tlet oldVNode = isHydrating\r\n\t\t? null\r\n\t\t: (replaceNode && replaceNode._children) || parentDom._children;\r\n\r\n\tvnode = (\r\n\t\t(!isHydrating && replaceNode) ||\r\n\t\tparentDom\r\n\t)._children = createElement(Fragment, null, [vnode]);\r\n\r\n\t// List of effects that need to be called after diffing.\r\n\tlet commitQueue = [];\r\n\tdiff(\r\n\t\tparentDom,\r\n\t\t// Determine the new vnode tree and store it on the DOM element on\r\n\t\t// our custom `_children` property.\r\n\t\tvnode,\r\n\t\toldVNode || EMPTY_OBJ,\r\n\t\tEMPTY_OBJ,\r\n\t\tparentDom.ownerSVGElement !== undefined,\r\n\t\t!isHydrating && replaceNode\r\n\t\t\t? [replaceNode]\r\n\t\t\t: oldVNode\r\n\t\t\t? null\r\n\t\t\t: parentDom.firstChild\r\n\t\t\t? slice.call(parentDom.childNodes)\r\n\t\t\t: null,\r\n\t\tcommitQueue,\r\n\t\t!isHydrating && replaceNode\r\n\t\t\t? replaceNode\r\n\t\t\t: oldVNode\r\n\t\t\t? oldVNode._dom\r\n\t\t\t: parentDom.firstChild,\r\n\t\tisHydrating\r\n\t);\r\n\r\n\t// Flush all queued effects\r\n\tcommitRoot(commitQueue, vnode);\r\n}\r\n\r\n/**\r\n * Update an existing DOM element with data from a Preact virtual node\r\n * @param {import('./internal').ComponentChild} vnode The virtual node to render\r\n * @param {import('./internal').PreactElement} parentDom The DOM element to\r\n * update\r\n */\r\nexport function hydrate(vnode, parentDom) {\r\n\trender(vnode, parentDom, hydrate);\r\n}\r\n","/**\r\n * Find the closest error boundary to a thrown error and call it\r\n * @param {object} error The thrown value\r\n * @param {import('../internal').VNode} vnode The vnode that threw\r\n * the error that was caught (except for unmounting when this parameter\r\n * is the highest parent that was being unmounted)\r\n */\r\nexport function _catchError(error, vnode) {\r\n\t/** @type {import('../internal').Component} */\r\n\tlet component, ctor, handled;\r\n\r\n\tfor (; (vnode = vnode._parent); ) {\r\n\t\tif ((component = vnode._component) && !component._processingException) {\r\n\t\t\ttry {\r\n\t\t\t\tctor = component.constructor;\r\n\r\n\t\t\t\tif (ctor && ctor.getDerivedStateFromError != null) {\r\n\t\t\t\t\tcomponent.setState(ctor.getDerivedStateFromError(error));\r\n\t\t\t\t\thandled = component._dirty;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (component.componentDidCatch != null) {\r\n\t\t\t\t\tcomponent.componentDidCatch(error);\r\n\t\t\t\t\thandled = component._dirty;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// This is an error boundary. Mark it as having bailed out, and whether it was mid-hydration.\r\n\t\t\t\tif (handled) {\r\n\t\t\t\t\treturn (component._pendingError = component);\r\n\t\t\t\t}\r\n\t\t\t} catch (e) {\r\n\t\t\t\terror = e;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tthrow error;\r\n}\r\n","import { options, Fragment } from 'preact';\r\n\r\n/** @typedef {import('preact').VNode} VNode */\r\n\r\nlet vnodeId = 0;\r\n\r\n/**\r\n * @fileoverview\r\n * This file exports various methods that implement Babel's \"automatic\" JSX runtime API:\r\n * - jsx(type, props, key)\r\n * - jsxs(type, props, key)\r\n * - jsxDEV(type, props, key, __source, __self)\r\n *\r\n * The implementation of createVNode here is optimized for performance.\r\n * Benchmarks: https://esbench.com/bench/5f6b54a0b4632100a7dcd2b3\r\n */\r\n\r\n/**\r\n * JSX.Element factory used by Babel's {runtime:\"automatic\"} JSX transform\r\n * @param {VNode['type']} type\r\n * @param {VNode['props']} props\r\n * @param {VNode['key']} [key]\r\n * @param {string} [__source]\r\n * @param {string} [__self]\r\n */\r\nfunction createVNode(type, props, key, __source, __self) {\r\n\t// We'll want to preserve `ref` in props to get rid of the need for\r\n\t// forwardRef components in the future, but that should happen via\r\n\t// a separate PR.\r\n\tlet normalizedProps = {},\r\n\t\tref,\r\n\t\ti;\r\n\tfor (i in props) {\r\n\t\tif (i == 'ref') {\r\n\t\t\tref = props[i];\r\n\t\t} else {\r\n\t\t\tnormalizedProps[i] = props[i];\r\n\t\t}\r\n\t}\r\n\r\n\tconst vnode = {\r\n\t\ttype,\r\n\t\tprops: normalizedProps,\r\n\t\tkey,\r\n\t\tref,\r\n\t\t_children: null,\r\n\t\t_parent: null,\r\n\t\t_depth: 0,\r\n\t\t_dom: null,\r\n\t\t_nextDom: undefined,\r\n\t\t_component: null,\r\n\t\t_hydrating: null,\r\n\t\tconstructor: undefined,\r\n\t\t_original: --vnodeId,\r\n\t\t__source,\r\n\t\t__self\r\n\t};\r\n\r\n\t// If a Component VNode, check for and apply defaultProps.\r\n\t// Note: `type` is often a String, and can be `undefined` in development.\r\n\tif (typeof type === 'function' && (ref = type.defaultProps)) {\r\n\t\tfor (i in ref)\r\n\t\t\tif (typeof normalizedProps[i] === 'undefined') {\r\n\t\t\t\tnormalizedProps[i] = ref[i];\r\n\t\t\t}\r\n\t}\r\n\r\n\tif (options.vnode) options.vnode(vnode);\r\n\treturn vnode;\r\n}\r\n\r\nexport {\r\n\tcreateVNode as jsx,\r\n\tcreateVNode as jsxs,\r\n\tcreateVNode as jsxDEV,\r\n\tFragment\r\n};\r\n","function set(key: string, value: string) {\n try {\n window.localStorage[`emoji-mart.${key}`] = JSON.stringify(value)\n } catch (error) {}\n}\n\nfunction get(key: string): any {\n try {\n const value = window.localStorage[`emoji-mart.${key}`]\n\n if (value) {\n return JSON.parse(value)\n }\n } catch (error) {}\n}\n\nexport default { set, get }\n","const CACHE = new Map()\nconst VERSIONS = [\n { v: 14, emoji: '🫠' },\n { v: 13.1, emoji: '😶‍🌫️' },\n { v: 13, emoji: '🥸' },\n { v: 12.1, emoji: '🧑‍🦰' },\n { v: 12, emoji: '🥱' },\n { v: 11, emoji: '🥰' },\n { v: 5, emoji: '🤩' },\n { v: 4, emoji: '👱‍♀️' },\n { v: 3, emoji: '🤣' },\n { v: 2, emoji: '👋🏻' },\n { v: 1, emoji: '🙃' },\n]\n\nfunction latestVersion() {\n for (const { v, emoji } of VERSIONS) {\n if (isSupported(emoji)) {\n return v\n }\n }\n}\n\nfunction noCountryFlags() {\n if (isSupported('🇨🇦')) {\n return false\n }\n\n return true\n}\n\nfunction isSupported(emoji) {\n if (CACHE.has(emoji)) {\n return CACHE.get(emoji)\n }\n\n const supported = isEmojiSupported(emoji)\n CACHE.set(emoji, supported)\n\n return supported\n}\n\n// https://github.com/koala-interactive/is-emoji-supported\nconst isEmojiSupported = (() => {\n let ctx = null\n try {\n if (!navigator.userAgent.includes('jsdom')) {\n ctx = document\n .createElement('canvas')\n .getContext('2d', { willReadFrequently: true })\n }\n } catch {}\n\n // Not in browser env\n if (!ctx) {\n return () => false\n }\n\n const CANVAS_HEIGHT = 25\n const CANVAS_WIDTH = 20\n const textSize = Math.floor(CANVAS_HEIGHT / 2)\n\n // Initialize convas context\n ctx.font = textSize + 'px Arial, Sans-Serif'\n ctx.textBaseline = 'top'\n ctx.canvas.width = CANVAS_WIDTH * 2\n ctx.canvas.height = CANVAS_HEIGHT\n\n return (unicode) => {\n ctx.clearRect(0, 0, CANVAS_WIDTH * 2, CANVAS_HEIGHT)\n\n // Draw in red on the left\n ctx.fillStyle = '#FF0000'\n ctx.fillText(unicode, 0, 22)\n\n // Draw in blue on right\n ctx.fillStyle = '#0000FF'\n ctx.fillText(unicode, CANVAS_WIDTH, 22)\n\n const a = ctx.getImageData(0, 0, CANVAS_WIDTH, CANVAS_HEIGHT).data\n const count = a.length\n let i = 0\n\n // Search the first visible pixel\n for (; i < count && !a[i + 3]; i += 4);\n\n // No visible pixel\n if (i >= count) {\n return false\n }\n\n // Emoji has immutable color, so we check the color of the emoji in two different colors\n // the result show be the same.\n const x = CANVAS_WIDTH + ((i / 4) % CANVAS_WIDTH)\n const y = Math.floor(i / 4 / CANVAS_WIDTH)\n const b = ctx.getImageData(x, y, 1, 1).data\n\n if (a[i] !== b[0] || a[i + 2] !== b[2]) {\n return false\n }\n\n // Some emojis are a contraction of different ones, so if it's not\n // supported, it will show multiple characters\n if (ctx.measureText(unicode).width >= CANVAS_WIDTH) {\n return false\n }\n\n // Supported\n return true\n }\n})()\n\nexport default { latestVersion, noCountryFlags }\n","// @ts-nocheck\nimport { Store } from '../helpers'\n\nconst DEFAULTS = [\n '+1',\n 'grinning',\n 'kissing_heart',\n 'heart_eyes',\n 'laughing',\n 'stuck_out_tongue_winking_eye',\n 'sweat_smile',\n 'joy',\n 'scream',\n 'disappointed',\n 'unamused',\n 'weary',\n 'sob',\n 'sunglasses',\n 'heart',\n]\n\nlet Index: any | null = null\n\nfunction add(emoji: { id: string }) {\n Index || (Index = Store.get('frequently') || {})\n\n const emojiId = emoji.id || emoji\n if (!emojiId) return\n\n Index[emojiId] || (Index[emojiId] = 0)\n Index[emojiId] += 1\n\n Store.set('last', emojiId)\n Store.set('frequently', Index)\n}\n\nfunction get({ maxFrequentRows, perLine }) {\n if (!maxFrequentRows) return []\n\n Index || (Index = Store.get('frequently'))\n let emojiIds = []\n\n if (!Index) {\n Index = {}\n\n for (let i in DEFAULTS.slice(0, perLine)) {\n const emojiId = DEFAULTS[i]\n\n Index[emojiId] = perLine - i\n emojiIds.push(emojiId)\n }\n\n return emojiIds\n }\n\n const max = maxFrequentRows * perLine\n const last = Store.get('last')\n\n for (let emojiId in Index) {\n emojiIds.push(emojiId)\n }\n\n emojiIds.sort((a, b) => {\n const aScore = Index[b]\n const bScore = Index[a]\n\n if (aScore == bScore) {\n return a.localeCompare(b)\n }\n\n return aScore - bScore\n })\n\n if (emojiIds.length > max) {\n const removedIds = emojiIds.slice(max)\n emojiIds = emojiIds.slice(0, max)\n\n for (let removedId of removedIds) {\n if (removedId == last) continue\n delete Index[removedId]\n }\n\n if (last && emojiIds.indexOf(last) == -1) {\n delete Index[emojiIds[emojiIds.length - 1]]\n emojiIds.splice(-1, 1, last)\n }\n\n Store.set('frequently', Index)\n }\n\n return emojiIds\n}\n\nexport default { add, get, DEFAULTS }\n","{\n \"search\": \"Search\",\n \"search_no_results_1\": \"Oh no!\",\n \"search_no_results_2\": \"That emoji couldn’t be found\",\n \"pick\": \"Pick an emoji…\",\n \"add_custom\": \"Add custom emoji\",\n \"categories\": {\n \"activity\": \"Activity\",\n \"custom\": \"Custom\",\n \"flags\": \"Flags\",\n \"foods\": \"Food & Drink\",\n \"frequent\": \"Frequently used\",\n \"nature\": \"Animals & Nature\",\n \"objects\": \"Objects\",\n \"people\": \"Smileys & People\",\n \"places\": \"Travel & Places\",\n \"search\": \"Search Results\",\n \"symbols\": \"Symbols\"\n },\n \"skins\": {\n \"choose\": \"Choose default skin tone\",\n \"1\": \"Default\",\n \"2\": \"Light\",\n \"3\": \"Medium-Light\",\n \"4\": \"Medium\",\n \"5\": \"Medium-Dark\",\n \"6\": \"Dark\"\n }\n}\n","export default {\n autoFocus: {\n value: false,\n },\n dynamicWidth: {\n value: false,\n },\n emojiButtonColors: {\n value: null,\n },\n emojiButtonRadius: {\n value: '100%',\n },\n emojiButtonSize: {\n value: 36,\n },\n emojiSize: {\n value: 24,\n },\n emojiVersion: {\n value: 14,\n choices: [1, 2, 3, 4, 5, 11, 12, 12.1, 13, 13.1, 14],\n },\n exceptEmojis: {\n value: [],\n },\n icons: {\n value: 'auto',\n choices: ['auto', 'outline', 'solid'],\n },\n locale: {\n value: 'en',\n choices: [\n 'en',\n 'ar',\n 'be',\n 'cs',\n 'de',\n 'es',\n 'fa',\n 'fi',\n 'fr',\n 'hi',\n 'it',\n 'ja',\n 'kr',\n 'nl',\n 'pl',\n 'pt',\n 'ru',\n 'sa',\n 'tr',\n 'uk',\n 'vi',\n 'zh',\n ],\n },\n maxFrequentRows: {\n value: 4,\n },\n navPosition: {\n value: 'top',\n choices: ['top', 'bottom', 'none'],\n },\n noCountryFlags: {\n value: false,\n },\n noResultsEmoji: {\n value: null,\n },\n perLine: {\n value: 9,\n },\n previewEmoji: {\n value: null,\n },\n previewPosition: {\n value: 'bottom',\n choices: ['top', 'bottom', 'none'],\n },\n searchPosition: {\n value: 'sticky',\n choices: ['sticky', 'static', 'none'],\n },\n set: {\n value: 'native',\n choices: ['native', 'apple', 'facebook', 'google', 'twitter'],\n },\n skin: {\n value: 1,\n choices: [1, 2, 3, 4, 5, 6],\n },\n skinTonePosition: {\n value: 'preview',\n choices: ['preview', 'search', 'none'],\n },\n theme: {\n value: 'auto',\n choices: ['auto', 'light', 'dark'],\n },\n\n // Data\n categories: null,\n categoryIcons: null,\n custom: null,\n data: null,\n i18n: null,\n\n // Callbacks\n getImageURL: null,\n getSpritesheetURL: null,\n onAddCustomEmoji: null,\n onClickOutside: null,\n onEmojiSelect: null,\n\n // Deprecated\n stickySearch: {\n deprecated: true,\n value: true,\n },\n}\n","// @ts-nocheck\nimport i18n_en from '@baye/emoji-mart-data/i18n/en.json'\nimport PickerProps from './components/Picker/PickerProps'\nimport {\n FrequentlyUsed,\n NativeSupport,\n SafeFlags,\n SearchIndex,\n} from './helpers'\n\nexport let I18n = null\nexport let Data = null\n\nconst fetchCache = {}\nasync function fetchJSON(src) {\n if (fetchCache[src]) {\n return fetchCache[src]\n }\n\n const response = await fetch(src)\n const json = await response.json()\n\n fetchCache[src] = json\n return json\n}\n\nlet promise: Promise | null = null\nlet initiated = false\nlet initCallback = null\nlet initialized = false\n\nexport function init(options, { caller } = {}) {\n promise ||\n (promise = new Promise((resolve) => {\n initCallback = resolve\n }))\n\n if (options) {\n _init(options)\n } else if (caller && !initialized) {\n console.warn(\n `\\`${caller}\\` requires data to be initialized first. Promise will be pending until \\`init\\` is called.`,\n )\n }\n\n return promise\n}\n\nasync function _init(props) {\n initialized = true\n\n let { emojiVersion, set, locale } = props\n emojiVersion || (emojiVersion = PickerProps.emojiVersion.value)\n set || (set = PickerProps.set.value)\n locale || (locale = PickerProps.locale.value)\n\n if (!Data) {\n Data =\n (typeof props.data === 'function' ? await props.data() : props.data) ||\n (await fetchJSON(\n `https://cdn.jsdelivr.net/npm/@emoji-mart/data@latest/sets/${emojiVersion}/${set}.json`,\n ))\n\n Data.emoticons = {}\n Data.natives = {}\n\n Data.categories.unshift({\n id: 'frequent',\n emojis: [],\n })\n\n for (const alias in Data.aliases) {\n const emojiId = Data.aliases[alias]\n const emoji = Data.emojis[emojiId]\n if (!emoji) continue\n\n emoji.aliases || (emoji.aliases = [])\n emoji.aliases.push(alias)\n }\n\n Data.originalCategories = Data.categories\n } else {\n Data.categories = Data.categories.filter((c) => {\n const isCustom = !!c.name\n if (!isCustom) return true\n\n return false\n })\n }\n\n I18n =\n (typeof props.i18n === 'function' ? await props.i18n() : props.i18n) ||\n (locale == 'en'\n ? i18n_en\n : await fetchJSON(\n `https://cdn.jsdelivr.net/npm/@emoji-mart/data@latest/i18n/${locale}.json`,\n ))\n\n if (props.custom) {\n for (let i in props.custom) {\n i = parseInt(i)\n const category = props.custom[i]\n const prevCategory = props.custom[i - 1]\n\n if (!category.emojis || !category.emojis.length) continue\n\n category.id || (category.id = `custom_${i + 1}`)\n category.name || (category.name = I18n.categories.custom)\n\n if (prevCategory && !category.icon) {\n category.target = prevCategory.target || prevCategory\n }\n\n Data.categories.push(category)\n\n for (const emoji of category.emojis) {\n Data.emojis[emoji.id] = emoji\n }\n }\n }\n\n if (props.categories) {\n Data.categories = Data.originalCategories\n .filter((c) => {\n return props.categories.indexOf(c.id) != -1\n })\n .sort((c1, c2) => {\n const i1 = props.categories.indexOf(c1.id)\n const i2 = props.categories.indexOf(c2.id)\n\n return i1 - i2\n })\n }\n\n let latestVersionSupport = null\n let noCountryFlags = null\n if (set == 'native') {\n latestVersionSupport = NativeSupport.latestVersion()\n noCountryFlags = props.noCountryFlags || NativeSupport.noCountryFlags()\n }\n\n let categoryIndex = Data.categories.length\n let resetSearchIndex = false\n while (categoryIndex--) {\n const category = Data.categories[categoryIndex]\n\n if (category.id == 'frequent') {\n let { maxFrequentRows, perLine } = props\n\n maxFrequentRows =\n maxFrequentRows >= 0\n ? maxFrequentRows\n : PickerProps.maxFrequentRows.value\n perLine || (perLine = PickerProps.perLine.value)\n\n category.emojis = FrequentlyUsed.get({ maxFrequentRows, perLine })\n }\n\n if (!category.emojis || !category.emojis.length) {\n Data.categories.splice(categoryIndex, 1)\n continue\n }\n\n const { categoryIcons } = props\n if (categoryIcons) {\n const icon = categoryIcons[category.id]\n if (icon && !category.icon) {\n category.icon = icon\n }\n }\n\n let emojiIndex = category.emojis.length\n while (emojiIndex--) {\n const emojiId = category.emojis[emojiIndex]\n const emoji = emojiId.id ? emojiId : Data.emojis[emojiId]\n\n const ignore = () => {\n category.emojis.splice(emojiIndex, 1)\n }\n\n if (\n !emoji ||\n (props.exceptEmojis && props.exceptEmojis.includes(emoji.id))\n ) {\n ignore()\n continue\n }\n\n if (latestVersionSupport && emoji.version > latestVersionSupport) {\n ignore()\n continue\n }\n\n if (noCountryFlags && category.id == 'flags') {\n if (!SafeFlags.includes(emoji.id)) {\n ignore()\n continue\n }\n }\n\n if (!emoji.search) {\n resetSearchIndex = true\n emoji.search =\n ',' +\n [\n [emoji.id, false],\n [emoji.name, true],\n [emoji.keywords, false],\n [emoji.emoticons, false],\n ]\n .map(([strings, split]) => {\n if (!strings) return\n return (Array.isArray(strings) ? strings : [strings])\n .map((string) => {\n return (split ? string.split(/[-|_|\\s]+/) : [string]).map(\n (s) => s.toLowerCase(),\n )\n })\n .flat()\n })\n .flat()\n .filter((a) => a && a.trim())\n .join(',')\n\n if (emoji.emoticons) {\n for (const emoticon of emoji.emoticons) {\n if (Data.emoticons[emoticon]) continue\n Data.emoticons[emoticon] = emoji.id\n }\n }\n\n let skinIndex = 0\n for (const skin of emoji.skins) {\n if (!skin) continue\n skinIndex++\n\n const { native } = skin\n if (native) {\n Data.natives[native] = emoji.id\n emoji.search += `,${native}`\n }\n\n const skinShortcodes =\n skinIndex == 1 ? '' : `:skin-tone-${skinIndex}:`\n skin.shortcodes = `:${emoji.id}:${skinShortcodes}`\n }\n }\n }\n }\n\n if (resetSearchIndex) {\n SearchIndex.reset()\n }\n\n initCallback()\n}\n\nexport function getProps(props, defaultProps, element) {\n props || (props = {})\n\n const _props = {}\n for (let k in defaultProps) {\n _props[k] = getProp(k, props, defaultProps, element)\n }\n\n return _props\n}\n\nexport function getProp(propName, props, defaultProps, element) {\n const defaults = defaultProps[propName]\n let value =\n (element && element.getAttribute(propName)) ||\n (props[propName] != null && props[propName] != undefined\n ? props[propName]\n : null)\n\n if (!defaults) {\n return value\n }\n\n if (\n value != null &&\n defaults.value &&\n typeof defaults.value != typeof value\n ) {\n if (typeof defaults.value == 'boolean') {\n value = value == 'false' ? false : true\n } else {\n value = defaults.value.constructor(value)\n }\n }\n\n if (defaults.transform && value) {\n value = defaults.transform(value)\n }\n\n if (\n value == null ||\n (defaults.choices && defaults.choices.indexOf(value) == -1)\n ) {\n value = defaults.value\n }\n\n return value\n}\n","// @ts-nocheck\nimport { init, Data } from '../config'\n\nconst SHORTCODES_REGEX = /^(?:\\:([^\\:]+)\\:)(?:\\:skin-tone-(\\d)\\:)?$/\nlet Pool = null\n\nfunction get(emojiId) {\n if (emojiId.id) {\n return emojiId\n }\n\n return (\n Data.emojis[emojiId] ||\n Data.emojis[Data.aliases[emojiId]] ||\n Data.emojis[Data.natives[emojiId]]\n )\n}\n\nfunction reset() {\n Pool = null\n}\n\nasync function search(value, { maxResults, caller } = {}) {\n if (!value || !value.trim().length) return null\n maxResults || (maxResults = 90)\n\n await init(null, { caller: caller || 'SearchIndex.search' })\n\n const values = value\n .toLowerCase()\n .replace(/(\\w)-/, '$1 ')\n .split(/[\\s|,]+/)\n .filter((word, i, words) => {\n return word.trim() && words.indexOf(word) == i\n })\n\n if (!values.length) return\n\n let pool = Pool || (Pool = Object.values(Data.emojis))\n let results, scores\n\n for (const value of values) {\n if (!pool.length) break\n\n results = []\n scores = {}\n\n for (const emoji of pool) {\n if (!emoji.search) continue\n const score = emoji.search.indexOf(`,${value}`)\n if (score == -1) continue\n\n results.push(emoji)\n scores[emoji.id] || (scores[emoji.id] = 0)\n scores[emoji.id] += emoji.id == value ? 0 : score + 1\n }\n\n pool = results\n }\n\n if (results.length < 2) {\n return results\n }\n\n results.sort((a, b) => {\n const aScore = scores[a.id]\n const bScore = scores[b.id]\n\n if (aScore == bScore) {\n return a.id.localeCompare(b.id)\n }\n\n return aScore - bScore\n })\n\n if (results.length > maxResults) {\n results = results.slice(0, maxResults)\n }\n\n return results\n}\n\nexport default { search, get, reset, SHORTCODES_REGEX }\n","export { default as Store } from './store'\n\nexport { default as NativeSupport } from './native-support'\nexport { default as FrequentlyUsed } from './frequently-used'\nexport { default as SearchIndex } from './search-index'\n\nexport const SafeFlags = [\n 'checkered_flag',\n 'crossed_flags',\n 'pirate_flag',\n 'rainbow-flag',\n 'transgender_flag',\n 'triangular_flag_on_post',\n 'waving_black_flag',\n 'waving_white_flag',\n]\n","import { SearchIndex } from './helpers'\n\nexport function deepEqual(a: any, b: any): boolean {\n return (\n Array.isArray(a) &&\n Array.isArray(b) &&\n a.length === b.length &&\n a.every((val, index) => val == b[index])\n )\n}\n\nexport async function sleep(frames = 1) {\n for (let _ in [...Array(frames).keys()]) {\n await new Promise(requestAnimationFrame)\n }\n}\n\nexport function getEmojiData(emoji, { skinIndex = 0 } = {}) {\n const skin =\n emoji.skins[skinIndex] ||\n (() => {\n skinIndex = 0\n return emoji.skins[skinIndex]\n })()\n\n const emojiData: any = {\n id: emoji.id,\n name: emoji.name,\n native: skin.native,\n unified: skin.unified,\n keywords: emoji.keywords,\n shortcodes: skin.shortcodes || emoji.shortcodes,\n }\n\n if (emoji.skins.length > 1) {\n emojiData.skin = skinIndex + 1\n }\n\n if (skin.src) {\n emojiData.src = skin.src\n }\n\n if (emoji.aliases && emoji.aliases.length) {\n emojiData.aliases = emoji.aliases\n }\n\n if (emoji.emoticons && emoji.emoticons.length) {\n emojiData.emoticons = emoji.emoticons\n }\n\n return emojiData\n}\n\nexport async function getEmojiDataFromNative(nativeString) {\n const results = await SearchIndex.search(nativeString, {\n maxResults: 1,\n caller: 'getEmojiDataFromNative',\n })\n if (!results || !results.length) return null\n\n const emoji = results[0]\n let skinIndex = 0\n\n for (let skin of emoji.skins) {\n if (skin.native == nativeString) {\n break\n }\n\n skinIndex++\n }\n\n return getEmojiData(emoji, { skinIndex })\n}\n","const categories = {\n activity: {\n outline: (\n \n \n \n ),\n solid: (\n \n \n \n ),\n },\n\n custom: (\n \n \n \n ),\n\n flags: {\n outline: (\n \n \n \n ),\n solid: (\n \n \n \n ),\n },\n\n foods: {\n outline: (\n \n \n \n ),\n solid: (\n \n \n \n ),\n },\n\n frequent: {\n outline: (\n \n \n \n \n ),\n solid: (\n \n \n \n ),\n },\n\n nature: {\n outline: (\n \n \n \n \n ),\n solid: (\n \n \n \n ),\n },\n\n objects: {\n outline: (\n \n \n \n \n ),\n solid: (\n \n \n \n ),\n },\n\n people: {\n outline: (\n \n \n \n \n ),\n solid: (\n \n \n \n ),\n },\n\n places: {\n outline: (\n \n \n \n \n ),\n solid: (\n \n \n \n ),\n },\n\n symbols: {\n outline: (\n \n \n \n ),\n solid: (\n \n \n \n ),\n },\n}\n\nconst search = {\n loupe: (\n \n \n \n ),\n\n delete: (\n \n \n \n ),\n}\n\nexport default { categories, search }\n","import { Data } from '../../config'\nimport { SearchIndex } from '../../helpers'\n\nexport default function Emoji(props) {\n let { id, skin, emoji } = props\n\n if (props.shortcodes) {\n const matches = props.shortcodes.match(SearchIndex.SHORTCODES_REGEX)\n\n if (matches) {\n id = matches[1]\n\n if (matches[2]) {\n skin = matches[2]\n }\n }\n }\n\n emoji || (emoji = SearchIndex.get(id || props.native))\n if (!emoji) return props.fallback\n\n const emojiSkin = emoji.skins[skin - 1] || emoji.skins[0]\n\n const imageSrc =\n emojiSkin.src ||\n (props.set != 'native' && !props.spritesheet\n ? typeof props.getImageURL === 'function'\n ? props.getImageURL(props.set, emojiSkin.unified)\n : `https://cdn.jsdelivr.net/npm/emoji-datasource-${props.set}@14.0.0/img/${props.set}/64/${emojiSkin.unified}.png`\n : undefined)\n\n const spritesheetSrc =\n typeof props.getSpritesheetURL === 'function'\n ? props.getSpritesheetURL(props.set)\n : `https://cdn.jsdelivr.net/npm/emoji-datasource-${props.set}@14.0.0/img/${props.set}/sheets-256/64.png`\n\n return (\n \n {imageSrc ? (\n \n ) : props.set == 'native' ? (\n \n {emojiSkin.native}\n \n ) : (\n \n )}\n \n )\n}\n","import _setPrototypeOf from \"./_set_prototype_of.mjs\";\n\nfunction isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () { }));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n construct = Reflect.construct;\n } else {\n construct = function construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return construct.apply(null, arguments);\n}\n\nexport default function _construct(Parent, args, Class) {\n return construct.apply(null, arguments);\n}\n","import construct from './_construct.mjs';\nimport isNativeFunction from './_is_native_function.mjs';\nimport getPrototypeOf from './_get_prototype_of.mjs';\nimport setPrototypeOf from './_set_prototype_of.mjs';\n\nfunction wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n wrapNativeSuper = function wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return wrapNativeSuper(Class);\n}\n\nexport default function _wrapNativeSuper(Class) {\n return wrapNativeSuper(Class);\n}\n","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n","// @ts-nocheck\nimport { getProp } from '../../config'\n\nconst WindowHTMLElement =\n typeof window !== 'undefined' && window.HTMLElement\n ? window.HTMLElement\n : Object\n\nexport default class HTMLElement extends WindowHTMLElement {\n static get observedAttributes() {\n return Object.keys(this.Props)\n }\n\n constructor(props = {}) {\n super()\n this.props = props\n\n if (props.parent || props.ref) {\n let ref = null\n const parent = props.parent || (ref = props.ref && props.ref.current)\n\n if (ref) ref.innerHTML = ''\n if (parent) parent.appendChild(this)\n }\n }\n\n update(props = {}) {\n for (let k in props) {\n this.attributeChangedCallback(k, null, props[k])\n }\n }\n\n attributeChangedCallback(attr, _, newValue) {\n if (!this.component) return\n\n const value = getProp(\n attr,\n { [attr]: newValue },\n this.constructor.Props,\n this,\n )\n\n if (this.component.componentWillReceiveProps) {\n this.component.componentWillReceiveProps({ [attr]: value })\n } else {\n this.component.props[attr] = value\n this.component.forceUpdate()\n }\n }\n\n disconnectedCallback() {\n this.disconnected = true\n\n if (this.component && this.component.unregister) {\n this.component.unregister()\n }\n }\n}\n",null,"// @ts-nocheck\nimport { HTMLElement } from '.'\n\nexport default class ShadowElement extends HTMLElement {\n constructor(props, { styles } = {}) {\n super(props)\n\n this.setShadow()\n this.injectStyles(styles)\n }\n\n setShadow() {\n this.attachShadow({ mode: 'open' })\n }\n\n injectStyles(styles) {\n if (!styles) return\n\n const style = document.createElement('style')\n style.textContent = styles\n\n this.shadowRoot.insertBefore(style, this.shadowRoot.firstChild)\n }\n}\n","import PickerProps from '../Picker/PickerProps'\n\nexport default {\n fallback: '',\n id: '',\n native: '',\n shortcodes: '',\n size: {\n value: '',\n transform: (value) => {\n // If the value is a number, then we assume it’s a pixel value.\n if (!/\\D/.test(value)) {\n return `${value}px`\n }\n\n return value\n },\n },\n\n // Shared\n set: PickerProps.set,\n skin: PickerProps.skin,\n}\n","import { render } from 'preact'\n\nimport { init, getProps } from '../../config'\nimport { HTMLElement } from '../HTMLElement'\nimport { Emoji } from '.'\nimport EmojiProps from './EmojiProps'\n\nexport default class EmojiElement extends HTMLElement {\n static Props = EmojiProps\n\n constructor(props) {\n super(props)\n }\n\n async connectedCallback() {\n const props = getProps(this.props, EmojiProps, this)\n props.element = this\n props.ref = (component) => {\n this.component = component\n }\n\n await init()\n if (this.disconnected) return\n\n render(, this)\n }\n}\n\nif (typeof customElements !== 'undefined' && !customElements.get('em-emoji')) {\n customElements.define('em-emoji', EmojiElement)\n}\n","import { options } from 'preact';\r\n\r\n/** @type {number} */\r\nlet currentIndex;\r\n\r\n/** @type {import('./internal').Component} */\r\nlet currentComponent;\r\n\r\n/** @type {number} */\r\nlet currentHook = 0;\r\n\r\n/** @type {Array} */\r\nlet afterPaintEffects = [];\r\n\r\nlet oldBeforeDiff = options._diff;\r\nlet oldBeforeRender = options._render;\r\nlet oldAfterDiff = options.diffed;\r\nlet oldCommit = options._commit;\r\nlet oldBeforeUnmount = options.unmount;\r\n\r\nconst RAF_TIMEOUT = 100;\r\nlet prevRaf;\r\n\r\noptions._diff = vnode => {\r\n\tcurrentComponent = null;\r\n\tif (oldBeforeDiff) oldBeforeDiff(vnode);\r\n};\r\n\r\noptions._render = vnode => {\r\n\tif (oldBeforeRender) oldBeforeRender(vnode);\r\n\r\n\tcurrentComponent = vnode._component;\r\n\tcurrentIndex = 0;\r\n\r\n\tconst hooks = currentComponent.__hooks;\r\n\tif (hooks) {\r\n\t\thooks._pendingEffects.forEach(invokeCleanup);\r\n\t\thooks._pendingEffects.forEach(invokeEffect);\r\n\t\thooks._pendingEffects = [];\r\n\t}\r\n};\r\n\r\noptions.diffed = vnode => {\r\n\tif (oldAfterDiff) oldAfterDiff(vnode);\r\n\r\n\tconst c = vnode._component;\r\n\tif (c && c.__hooks && c.__hooks._pendingEffects.length) {\r\n\t\tafterPaint(afterPaintEffects.push(c));\r\n\t}\r\n\tcurrentComponent = null;\r\n};\r\n\r\noptions._commit = (vnode, commitQueue) => {\r\n\tcommitQueue.some(component => {\r\n\t\ttry {\r\n\t\t\tcomponent._renderCallbacks.forEach(invokeCleanup);\r\n\t\t\tcomponent._renderCallbacks = component._renderCallbacks.filter(cb =>\r\n\t\t\t\tcb._value ? invokeEffect(cb) : true\r\n\t\t\t);\r\n\t\t} catch (e) {\r\n\t\t\tcommitQueue.some(c => {\r\n\t\t\t\tif (c._renderCallbacks) c._renderCallbacks = [];\r\n\t\t\t});\r\n\t\t\tcommitQueue = [];\r\n\t\t\toptions._catchError(e, component._vnode);\r\n\t\t}\r\n\t});\r\n\r\n\tif (oldCommit) oldCommit(vnode, commitQueue);\r\n};\r\n\r\noptions.unmount = vnode => {\r\n\tif (oldBeforeUnmount) oldBeforeUnmount(vnode);\r\n\r\n\tconst c = vnode._component;\r\n\tif (c && c.__hooks) {\r\n\t\tlet hasErrored;\r\n\t\tc.__hooks._list.forEach(s => {\r\n\t\t\ttry {\r\n\t\t\t\tinvokeCleanup(s);\r\n\t\t\t} catch (e) {\r\n\t\t\t\thasErrored = e;\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (hasErrored) options._catchError(hasErrored, c._vnode);\r\n\t}\r\n};\r\n\r\n/**\r\n * Get a hook's state from the currentComponent\r\n * @param {number} index The index of the hook to get\r\n * @param {number} type The index of the hook to get\r\n * @returns {any}\r\n */\r\nfunction getHookState(index, type) {\r\n\tif (options._hook) {\r\n\t\toptions._hook(currentComponent, index, currentHook || type);\r\n\t}\r\n\tcurrentHook = 0;\r\n\r\n\t// Largely inspired by:\r\n\t// * https://github.com/michael-klein/funcy.js/blob/f6be73468e6ec46b0ff5aa3cc4c9baf72a29025a/src/hooks/core_hooks.mjs\r\n\t// * https://github.com/michael-klein/funcy.js/blob/650beaa58c43c33a74820a3c98b3c7079cf2e333/src/renderer.mjs\r\n\t// Other implementations to look at:\r\n\t// * https://codesandbox.io/s/mnox05qp8\r\n\tconst hooks =\r\n\t\tcurrentComponent.__hooks ||\r\n\t\t(currentComponent.__hooks = {\r\n\t\t\t_list: [],\r\n\t\t\t_pendingEffects: []\r\n\t\t});\r\n\r\n\tif (index >= hooks._list.length) {\r\n\t\thooks._list.push({});\r\n\t}\r\n\treturn hooks._list[index];\r\n}\r\n\r\n/**\r\n * @param {import('./index').StateUpdater} [initialState]\r\n */\r\nexport function useState(initialState) {\r\n\tcurrentHook = 1;\r\n\treturn useReducer(invokeOrReturn, initialState);\r\n}\r\n\r\n/**\r\n * @param {import('./index').Reducer} reducer\r\n * @param {import('./index').StateUpdater} initialState\r\n * @param {(initialState: any) => void} [init]\r\n * @returns {[ any, (state: any) => void ]}\r\n */\r\nexport function useReducer(reducer, initialState, init) {\r\n\t/** @type {import('./internal').ReducerHookState} */\r\n\tconst hookState = getHookState(currentIndex++, 2);\r\n\thookState._reducer = reducer;\r\n\tif (!hookState._component) {\r\n\t\thookState._value = [\r\n\t\t\t!init ? invokeOrReturn(undefined, initialState) : init(initialState),\r\n\r\n\t\t\taction => {\r\n\t\t\t\tconst nextValue = hookState._reducer(hookState._value[0], action);\r\n\t\t\t\tif (hookState._value[0] !== nextValue) {\r\n\t\t\t\t\thookState._value = [nextValue, hookState._value[1]];\r\n\t\t\t\t\thookState._component.setState({});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t];\r\n\r\n\t\thookState._component = currentComponent;\r\n\t}\r\n\r\n\treturn hookState._value;\r\n}\r\n\r\n/**\r\n * @param {import('./internal').Effect} callback\r\n * @param {any[]} args\r\n */\r\nexport function useEffect(callback, args) {\r\n\t/** @type {import('./internal').EffectHookState} */\r\n\tconst state = getHookState(currentIndex++, 3);\r\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\r\n\t\tstate._value = callback;\r\n\t\tstate._args = args;\r\n\r\n\t\tcurrentComponent.__hooks._pendingEffects.push(state);\r\n\t}\r\n}\r\n\r\n/**\r\n * @param {import('./internal').Effect} callback\r\n * @param {any[]} args\r\n */\r\nexport function useLayoutEffect(callback, args) {\r\n\t/** @type {import('./internal').EffectHookState} */\r\n\tconst state = getHookState(currentIndex++, 4);\r\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\r\n\t\tstate._value = callback;\r\n\t\tstate._args = args;\r\n\r\n\t\tcurrentComponent._renderCallbacks.push(state);\r\n\t}\r\n}\r\n\r\nexport function useRef(initialValue) {\r\n\tcurrentHook = 5;\r\n\treturn useMemo(() => ({ current: initialValue }), []);\r\n}\r\n\r\n/**\r\n * @param {object} ref\r\n * @param {() => object} createHandle\r\n * @param {any[]} args\r\n */\r\nexport function useImperativeHandle(ref, createHandle, args) {\r\n\tcurrentHook = 6;\r\n\tuseLayoutEffect(\r\n\t\t() => {\r\n\t\t\tif (typeof ref == 'function') ref(createHandle());\r\n\t\t\telse if (ref) ref.current = createHandle();\r\n\t\t},\r\n\t\targs == null ? args : args.concat(ref)\r\n\t);\r\n}\r\n\r\n/**\r\n * @param {() => any} factory\r\n * @param {any[]} args\r\n */\r\nexport function useMemo(factory, args) {\r\n\t/** @type {import('./internal').MemoHookState} */\r\n\tconst state = getHookState(currentIndex++, 7);\r\n\tif (argsChanged(state._args, args)) {\r\n\t\tstate._value = factory();\r\n\t\tstate._args = args;\r\n\t\tstate._factory = factory;\r\n\t}\r\n\r\n\treturn state._value;\r\n}\r\n\r\n/**\r\n * @param {() => void} callback\r\n * @param {any[]} args\r\n */\r\nexport function useCallback(callback, args) {\r\n\tcurrentHook = 8;\r\n\treturn useMemo(() => callback, args);\r\n}\r\n\r\n/**\r\n * @param {import('./internal').PreactContext} context\r\n */\r\nexport function useContext(context) {\r\n\tconst provider = currentComponent.context[context._id];\r\n\t// We could skip this call here, but than we'd not call\r\n\t// `options._hook`. We need to do that in order to make\r\n\t// the devtools aware of this hook.\r\n\t/** @type {import('./internal').ContextHookState} */\r\n\tconst state = getHookState(currentIndex++, 9);\r\n\t// The devtools needs access to the context object to\r\n\t// be able to pull of the default value when no provider\r\n\t// is present in the tree.\r\n\tstate._context = context;\r\n\tif (!provider) return context._defaultValue;\r\n\t// This is probably not safe to convert to \"!\"\r\n\tif (state._value == null) {\r\n\t\tstate._value = true;\r\n\t\tprovider.sub(currentComponent);\r\n\t}\r\n\treturn provider.props.value;\r\n}\r\n\r\n/**\r\n * Display a custom label for a custom hook for the devtools panel\r\n * @type {(value: T, cb?: (value: T) => string | number) => void}\r\n */\r\nexport function useDebugValue(value, formatter) {\r\n\tif (options.useDebugValue) {\r\n\t\toptions.useDebugValue(formatter ? formatter(value) : value);\r\n\t}\r\n}\r\n\r\n/**\r\n * @param {(error: any) => void} cb\r\n */\r\nexport function useErrorBoundary(cb) {\r\n\t/** @type {import('./internal').ErrorBoundaryHookState} */\r\n\tconst state = getHookState(currentIndex++, 10);\r\n\tconst errState = useState();\r\n\tstate._value = cb;\r\n\tif (!currentComponent.componentDidCatch) {\r\n\t\tcurrentComponent.componentDidCatch = err => {\r\n\t\t\tif (state._value) state._value(err);\r\n\t\t\terrState[1](err);\r\n\t\t};\r\n\t}\r\n\treturn [\r\n\t\terrState[0],\r\n\t\t() => {\r\n\t\t\terrState[1](undefined);\r\n\t\t}\r\n\t];\r\n}\r\n\r\n/**\r\n * After paint effects consumer.\r\n */\r\nfunction flushAfterPaintEffects() {\r\n\tlet component;\r\n\t// sort the queue by depth (outermost to innermost)\r\n\tafterPaintEffects.sort((a, b) => a._vnode._depth - b._vnode._depth);\r\n\twhile (component = afterPaintEffects.pop()) {\r\n\t\tif (!component._parentDom) continue;\r\n\t\ttry {\r\n\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeCleanup);\r\n\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeEffect);\r\n\t\t\tcomponent.__hooks._pendingEffects = [];\r\n\t\t} catch (e) {\r\n\t\t\tcomponent.__hooks._pendingEffects = [];\r\n\t\t\toptions._catchError(e, component._vnode);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nlet HAS_RAF = typeof requestAnimationFrame == 'function';\r\n\r\n/**\r\n * Schedule a callback to be invoked after the browser has a chance to paint a new frame.\r\n * Do this by combining requestAnimationFrame (rAF) + setTimeout to invoke a callback after\r\n * the next browser frame.\r\n *\r\n * Also, schedule a timeout in parallel to the the rAF to ensure the callback is invoked\r\n * even if RAF doesn't fire (for example if the browser tab is not visible)\r\n *\r\n * @param {() => void} callback\r\n */\r\nfunction afterNextFrame(callback) {\r\n\tconst done = () => {\r\n\t\tclearTimeout(timeout);\r\n\t\tif (HAS_RAF) cancelAnimationFrame(raf);\r\n\t\tsetTimeout(callback);\r\n\t};\r\n\tconst timeout = setTimeout(done, RAF_TIMEOUT);\r\n\r\n\tlet raf;\r\n\tif (HAS_RAF) {\r\n\t\traf = requestAnimationFrame(done);\r\n\t}\r\n}\r\n\r\n// Note: if someone used options.debounceRendering = requestAnimationFrame,\r\n// then effects will ALWAYS run on the NEXT frame instead of the current one, incurring a ~16ms delay.\r\n// Perhaps this is not such a big deal.\r\n/**\r\n * Schedule afterPaintEffects flush after the browser paints\r\n * @param {number} newQueueLength\r\n */\r\nfunction afterPaint(newQueueLength) {\r\n\tif (newQueueLength === 1 || prevRaf !== options.requestAnimationFrame) {\r\n\t\tprevRaf = options.requestAnimationFrame;\r\n\t\t(prevRaf || afterNextFrame)(flushAfterPaintEffects);\r\n\t}\r\n}\r\n\r\n/**\r\n * @param {import('./internal').EffectHookState} hook\r\n */\r\nfunction invokeCleanup(hook) {\r\n\t// A hook cleanup can introduce a call to render which creates a new root, this will call options.vnode\r\n\t// and move the currentComponent away.\r\n\tconst comp = currentComponent;\r\n\tlet cleanup = hook._cleanup;\r\n\tif (typeof cleanup == 'function') {\r\n\t\thook._cleanup = undefined;\r\n\t\tcleanup();\r\n\t}\r\n\tcurrentComponent = comp;\r\n}\r\n\r\n/**\r\n * Invoke a Hook's effect\r\n * @param {import('./internal').EffectHookState} hook\r\n */\r\nfunction invokeEffect(hook) {\r\n\t// A hook call can introduce a call to render which creates a new root, this will call options.vnode\r\n\t// and move the currentComponent away.\r\n\tconst comp = currentComponent;\r\n\thook._cleanup = hook._value();\r\n\tcurrentComponent = comp;\r\n}\r\n\r\n/**\r\n * @param {any[]} oldArgs\r\n * @param {any[]} newArgs\r\n */\r\nfunction argsChanged(oldArgs, newArgs) {\r\n\treturn (\r\n\t\t!oldArgs ||\r\n\t\toldArgs.length !== newArgs.length ||\r\n\t\tnewArgs.some((arg, index) => arg !== oldArgs[index])\r\n\t);\r\n}\r\n\r\nfunction invokeOrReturn(arg, f) {\r\n\treturn typeof f == 'function' ? f(arg) : f;\r\n}\r\n","/**\r\n * Assign properties from `props` to `obj`\r\n * @template O, P The obj and props types\r\n * @param {O} obj The object to copy properties to\r\n * @param {P} props The object to copy properties from\r\n * @returns {O & P}\r\n */\r\nexport function assign(obj, props) {\r\n\tfor (let i in props) obj[i] = props[i];\r\n\treturn /** @type {O & P} */ (obj);\r\n}\r\n\r\n/**\r\n * Check if two objects have a different shape\r\n * @param {object} a\r\n * @param {object} b\r\n * @returns {boolean}\r\n */\r\nexport function shallowDiffers(a, b) {\r\n\tfor (let i in a) if (i !== '__source' && !(i in b)) return true;\r\n\tfor (let i in b) if (i !== '__source' && a[i] !== b[i]) return true;\r\n\treturn false;\r\n}\r\n\r\nexport function removeNode(node) {\r\n\tlet parentNode = node.parentNode;\r\n\tif (parentNode) parentNode.removeChild(node);\r\n}\r\n","import { Component } from 'preact';\r\nimport { shallowDiffers } from './util';\r\n\r\n/**\r\n * Component class with a predefined `shouldComponentUpdate` implementation\r\n */\r\nexport function PureComponent(p) {\r\n\tthis.props = p;\r\n}\r\nPureComponent.prototype = new Component();\r\n// Some third-party libraries check if this property is present\r\nPureComponent.prototype.isPureReactComponent = true;\r\nPureComponent.prototype.shouldComponentUpdate = function(props, state) {\r\n\treturn shallowDiffers(this.props, props) || shallowDiffers(this.state, state);\r\n};\r\n","import { options } from 'preact';\r\nimport { assign } from './util';\r\n\r\nlet oldDiffHook = options._diff;\r\noptions._diff = vnode => {\r\n\tif (vnode.type && vnode.type._forwarded && vnode.ref) {\r\n\t\tvnode.props.ref = vnode.ref;\r\n\t\tvnode.ref = null;\r\n\t}\r\n\tif (oldDiffHook) oldDiffHook(vnode);\r\n};\r\n\r\nexport const REACT_FORWARD_SYMBOL =\r\n\t(typeof Symbol != 'undefined' &&\r\n\t\tSymbol.for &&\r\n\t\tSymbol.for('react.forward_ref')) ||\r\n\t0xf47;\r\n\r\n/**\r\n * Pass ref down to a child. This is mainly used in libraries with HOCs that\r\n * wrap components. Using `forwardRef` there is an easy way to get a reference\r\n * of the wrapped component instead of one of the wrapper itself.\r\n * @param {import('./index').ForwardFn} fn\r\n * @returns {import('./internal').FunctionComponent}\r\n */\r\nexport function forwardRef(fn) {\r\n\t// We always have ref in props.ref, except for\r\n\t// mobx-react. It will call this function directly\r\n\t// and always pass ref as the second argument.\r\n\tfunction Forwarded(props, ref) {\r\n\t\tlet clone = assign({}, props);\r\n\t\tdelete clone.ref;\r\n\t\tref = props.ref || ref;\r\n\t\treturn fn(\r\n\t\t\tclone,\r\n\t\t\t!ref || (typeof ref === 'object' && !('current' in ref)) ? null : ref\r\n\t\t);\r\n\t}\r\n\r\n\t// mobx-react checks for this being present\r\n\tForwarded.$$typeof = REACT_FORWARD_SYMBOL;\r\n\t// mobx-react heavily relies on implementation details.\r\n\t// It expects an object here with a `render` property,\r\n\t// and prototype.render will fail. Without this\r\n\t// mobx-react throws.\r\n\tForwarded.render = Forwarded;\r\n\r\n\tForwarded.prototype.isReactComponent = Forwarded._forwarded = true;\r\n\tForwarded.displayName = 'ForwardRef(' + (fn.displayName || fn.name) + ')';\r\n\treturn Forwarded;\r\n}\r\n","import { Component, createElement, options, Fragment } from 'preact';\r\nimport { assign } from './util';\r\n\r\nconst oldCatchError = options._catchError;\r\noptions._catchError = function(error, newVNode, oldVNode) {\r\n\tif (error.then) {\r\n\t\t/** @type {import('./internal').Component} */\r\n\t\tlet component;\r\n\t\tlet vnode = newVNode;\r\n\r\n\t\tfor (; (vnode = vnode._parent); ) {\r\n\t\t\tif ((component = vnode._component) && component._childDidSuspend) {\r\n\t\t\t\tif (newVNode._dom == null) {\r\n\t\t\t\t\tnewVNode._dom = oldVNode._dom;\r\n\t\t\t\t\tnewVNode._children = oldVNode._children;\r\n\t\t\t\t}\r\n\t\t\t\t// Don't call oldCatchError if we found a Suspense\r\n\t\t\t\treturn component._childDidSuspend(error, newVNode);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\toldCatchError(error, newVNode, oldVNode);\r\n};\r\n\r\nconst oldUnmount = options.unmount;\r\noptions.unmount = function(vnode) {\r\n\t/** @type {import('./internal').Component} */\r\n\tconst component = vnode._component;\r\n\tif (component && component._onResolve) {\r\n\t\tcomponent._onResolve();\r\n\t}\r\n\r\n\t// if the component is still hydrating\r\n\t// most likely it is because the component is suspended\r\n\t// we set the vnode.type as `null` so that it is not a typeof function\r\n\t// so the unmount will remove the vnode._dom\r\n\tif (component && vnode._hydrating === true) {\r\n\t\tvnode.type = null;\r\n\t}\r\n\r\n\tif (oldUnmount) oldUnmount(vnode);\r\n};\r\n\r\nfunction detachedClone(vnode, detachedParent, parentDom) {\r\n\tif (vnode) {\r\n\t\tif (vnode._component && vnode._component.__hooks) {\r\n\t\t\tvnode._component.__hooks._list.forEach(effect => {\r\n\t\t\t\tif (typeof effect._cleanup == 'function') effect._cleanup();\r\n\t\t\t});\r\n\r\n\t\t\tvnode._component.__hooks = null;\r\n\t\t}\r\n\r\n\t\tvnode = assign({}, vnode);\r\n\t\tif (vnode._component != null) {\r\n\t\t\tif (vnode._component._parentDom === parentDom) {\r\n\t\t\t\tvnode._component._parentDom = detachedParent;\r\n\t\t\t}\r\n\t\t\tvnode._component = null;\r\n\t\t}\r\n\r\n\t\tvnode._children =\r\n\t\t\tvnode._children &&\r\n\t\t\tvnode._children.map(child =>\r\n\t\t\t\tdetachedClone(child, detachedParent, parentDom)\r\n\t\t\t);\r\n\t}\r\n\r\n\treturn vnode;\r\n}\r\n\r\nfunction removeOriginal(vnode, detachedParent, originalParent) {\r\n\tif (vnode) {\r\n\t\tvnode._original = null;\r\n\t\tvnode._children =\r\n\t\t\tvnode._children &&\r\n\t\t\tvnode._children.map(child =>\r\n\t\t\t\tremoveOriginal(child, detachedParent, originalParent)\r\n\t\t\t);\r\n\r\n\t\tif (vnode._component) {\r\n\t\t\tif (vnode._component._parentDom === detachedParent) {\r\n\t\t\t\tif (vnode._dom) {\r\n\t\t\t\t\toriginalParent.insertBefore(vnode._dom, vnode._nextDom);\r\n\t\t\t\t}\r\n\t\t\t\tvnode._component._force = true;\r\n\t\t\t\tvnode._component._parentDom = originalParent;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn vnode;\r\n}\r\n\r\n// having custom inheritance instead of a class here saves a lot of bytes\r\nexport function Suspense() {\r\n\t// we do not call super here to golf some bytes...\r\n\tthis._pendingSuspensionCount = 0;\r\n\tthis._suspenders = null;\r\n\tthis._detachOnNextRender = null;\r\n}\r\n\r\n// Things we do here to save some bytes but are not proper JS inheritance:\r\n// - call `new Component()` as the prototype\r\n// - do not set `Suspense.prototype.constructor` to `Suspense`\r\nSuspense.prototype = new Component();\r\n\r\n/**\r\n * @this {import('./internal').SuspenseComponent}\r\n * @param {Promise} promise The thrown promise\r\n * @param {import('./internal').VNode} suspendingVNode The suspending component\r\n */\r\nSuspense.prototype._childDidSuspend = function(promise, suspendingVNode) {\r\n\tconst suspendingComponent = suspendingVNode._component;\r\n\r\n\t/** @type {import('./internal').SuspenseComponent} */\r\n\tconst c = this;\r\n\r\n\tif (c._suspenders == null) {\r\n\t\tc._suspenders = [];\r\n\t}\r\n\tc._suspenders.push(suspendingComponent);\r\n\r\n\tconst resolve = suspended(c._vnode);\r\n\r\n\tlet resolved = false;\r\n\tconst onResolved = () => {\r\n\t\tif (resolved) return;\r\n\r\n\t\tresolved = true;\r\n\t\tsuspendingComponent._onResolve = null;\r\n\r\n\t\tif (resolve) {\r\n\t\t\tresolve(onSuspensionComplete);\r\n\t\t} else {\r\n\t\t\tonSuspensionComplete();\r\n\t\t}\r\n\t};\r\n\r\n\tsuspendingComponent._onResolve = onResolved;\r\n\r\n\tconst onSuspensionComplete = () => {\r\n\t\tif (!--c._pendingSuspensionCount) {\r\n\t\t\t// If the suspension was during hydration we don't need to restore the\r\n\t\t\t// suspended children into the _children array\r\n\t\t\tif (c.state._suspended) {\r\n\t\t\t\tconst suspendedVNode = c.state._suspended;\r\n\t\t\t\tc._vnode._children[0] = removeOriginal(\r\n\t\t\t\t\tsuspendedVNode,\r\n\t\t\t\t\tsuspendedVNode._component._parentDom,\r\n\t\t\t\t\tsuspendedVNode._component._originalParentDom\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tc.setState({ _suspended: (c._detachOnNextRender = null) });\r\n\r\n\t\t\tlet suspended;\r\n\t\t\twhile ((suspended = c._suspenders.pop())) {\r\n\t\t\t\tsuspended.forceUpdate();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * We do not set `suspended: true` during hydration because we want the actual markup\r\n\t * to remain on screen and hydrate it when the suspense actually gets resolved.\r\n\t * While in non-hydration cases the usual fallback -> component flow would occour.\r\n\t */\r\n\tconst wasHydrating = suspendingVNode._hydrating === true;\r\n\tif (!c._pendingSuspensionCount++ && !wasHydrating) {\r\n\t\tc.setState({ _suspended: (c._detachOnNextRender = c._vnode._children[0]) });\r\n\t}\r\n\tpromise.then(onResolved, onResolved);\r\n};\r\n\r\nSuspense.prototype.componentWillUnmount = function() {\r\n\tthis._suspenders = [];\r\n};\r\n\r\n/**\r\n * @this {import('./internal').SuspenseComponent}\r\n * @param {import('./internal').SuspenseComponent[\"props\"]} props\r\n * @param {import('./internal').SuspenseState} state\r\n */\r\nSuspense.prototype.render = function(props, state) {\r\n\tif (this._detachOnNextRender) {\r\n\t\t// When the Suspense's _vnode was created by a call to createVNode\r\n\t\t// (i.e. due to a setState further up in the tree)\r\n\t\t// it's _children prop is null, in this case we \"forget\" about the parked vnodes to detach\r\n\t\tif (this._vnode._children) {\r\n\t\t\tconst detachedParent = document.createElement('div');\r\n\t\t\tconst detachedComponent = this._vnode._children[0]._component;\r\n\t\t\tthis._vnode._children[0] = detachedClone(\r\n\t\t\t\tthis._detachOnNextRender,\r\n\t\t\t\tdetachedParent,\r\n\t\t\t\t(detachedComponent._originalParentDom = detachedComponent._parentDom)\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tthis._detachOnNextRender = null;\r\n\t}\r\n\r\n\t// Wrap fallback tree in a VNode that prevents itself from being marked as aborting mid-hydration:\r\n\t/** @type {import('./internal').VNode} */\r\n\tconst fallback =\r\n\t\tstate._suspended && createElement(Fragment, null, props.fallback);\r\n\tif (fallback) fallback._hydrating = null;\r\n\r\n\treturn [\r\n\t\tcreateElement(Fragment, null, state._suspended ? null : props.children),\r\n\t\tfallback\r\n\t];\r\n};\r\n\r\n/**\r\n * Checks and calls the parent component's _suspended method, passing in the\r\n * suspended vnode. This is a way for a parent (e.g. SuspenseList) to get notified\r\n * that one of its children/descendants suspended.\r\n *\r\n * The parent MAY return a callback. The callback will get called when the\r\n * suspension resolves, notifying the parent of the fact.\r\n * Moreover, the callback gets function `unsuspend` as a parameter. The resolved\r\n * child descendant will not actually get unsuspended until `unsuspend` gets called.\r\n * This is a way for the parent to delay unsuspending.\r\n *\r\n * If the parent does not return a callback then the resolved vnode\r\n * gets unsuspended immediately when it resolves.\r\n *\r\n * @param {import('./internal').VNode} vnode\r\n * @returns {((unsuspend: () => void) => void)?}\r\n */\r\nexport function suspended(vnode) {\r\n\t/** @type {import('./internal').Component} */\r\n\tlet component = vnode._parent._component;\r\n\treturn component && component._suspended && component._suspended(vnode);\r\n}\r\n\r\nexport function lazy(loader) {\r\n\tlet prom;\r\n\tlet component;\r\n\tlet error;\r\n\r\n\tfunction Lazy(props) {\r\n\t\tif (!prom) {\r\n\t\t\tprom = loader();\r\n\t\t\tprom.then(\r\n\t\t\t\texports => {\r\n\t\t\t\t\tcomponent = exports.default || exports;\r\n\t\t\t\t},\r\n\t\t\t\te => {\r\n\t\t\t\t\terror = e;\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (error) {\r\n\t\t\tthrow error;\r\n\t\t}\r\n\r\n\t\tif (!component) {\r\n\t\t\tthrow prom;\r\n\t\t}\r\n\r\n\t\treturn createElement(component, props);\r\n\t}\r\n\r\n\tLazy.displayName = 'Lazy';\r\n\tLazy._forwarded = true;\r\n\treturn Lazy;\r\n}\r\n","import { Component, toChildArray } from 'preact';\r\nimport { suspended } from './suspense.js';\r\n\r\n// Indexes to linked list nodes (nodes are stored as arrays to save bytes).\r\nconst SUSPENDED_COUNT = 0;\r\nconst RESOLVED_COUNT = 1;\r\nconst NEXT_NODE = 2;\r\n\r\n// Having custom inheritance instead of a class here saves a lot of bytes.\r\nexport function SuspenseList() {\r\n\tthis._next = null;\r\n\tthis._map = null;\r\n}\r\n\r\n// Mark one of child's earlier suspensions as resolved.\r\n// Some pending callbacks may become callable due to this\r\n// (e.g. the last suspended descendant gets resolved when\r\n// revealOrder === 'together'). Process those callbacks as well.\r\nconst resolve = (list, child, node) => {\r\n\tif (++node[RESOLVED_COUNT] === node[SUSPENDED_COUNT]) {\r\n\t\t// The number a child (or any of its descendants) has been suspended\r\n\t\t// matches the number of times it's been resolved. Therefore we\r\n\t\t// mark the child as completely resolved by deleting it from ._map.\r\n\t\t// This is used to figure out when *all* children have been completely\r\n\t\t// resolved when revealOrder is 'together'.\r\n\t\tlist._map.delete(child);\r\n\t}\r\n\r\n\t// If revealOrder is falsy then we can do an early exit, as the\r\n\t// callbacks won't get queued in the node anyway.\r\n\t// If revealOrder is 'together' then also do an early exit\r\n\t// if all suspended descendants have not yet been resolved.\r\n\tif (\r\n\t\t!list.props.revealOrder ||\r\n\t\t(list.props.revealOrder[0] === 't' && list._map.size)\r\n\t) {\r\n\t\treturn;\r\n\t}\r\n\r\n\t// Walk the currently suspended children in order, calling their\r\n\t// stored callbacks on the way. Stop if we encounter a child that\r\n\t// has not been completely resolved yet.\r\n\tnode = list._next;\r\n\twhile (node) {\r\n\t\twhile (node.length > 3) {\r\n\t\t\tnode.pop()();\r\n\t\t}\r\n\t\tif (node[RESOLVED_COUNT] < node[SUSPENDED_COUNT]) {\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tlist._next = node = node[NEXT_NODE];\r\n\t}\r\n};\r\n\r\n// Things we do here to save some bytes but are not proper JS inheritance:\r\n// - call `new Component()` as the prototype\r\n// - do not set `Suspense.prototype.constructor` to `Suspense`\r\nSuspenseList.prototype = new Component();\r\n\r\nSuspenseList.prototype._suspended = function(child) {\r\n\tconst list = this;\r\n\tconst delegated = suspended(list._vnode);\r\n\r\n\tlet node = list._map.get(child);\r\n\tnode[SUSPENDED_COUNT]++;\r\n\r\n\treturn unsuspend => {\r\n\t\tconst wrappedUnsuspend = () => {\r\n\t\t\tif (!list.props.revealOrder) {\r\n\t\t\t\t// Special case the undefined (falsy) revealOrder, as there\r\n\t\t\t\t// is no need to coordinate a specific order or unsuspends.\r\n\t\t\t\tunsuspend();\r\n\t\t\t} else {\r\n\t\t\t\tnode.push(unsuspend);\r\n\t\t\t\tresolve(list, child, node);\r\n\t\t\t}\r\n\t\t};\r\n\t\tif (delegated) {\r\n\t\t\tdelegated(wrappedUnsuspend);\r\n\t\t} else {\r\n\t\t\twrappedUnsuspend();\r\n\t\t}\r\n\t};\r\n};\r\n\r\nSuspenseList.prototype.render = function(props) {\r\n\tthis._next = null;\r\n\tthis._map = new Map();\r\n\r\n\tconst children = toChildArray(props.children);\r\n\tif (props.revealOrder && props.revealOrder[0] === 'b') {\r\n\t\t// If order === 'backwards' (or, well, anything starting with a 'b')\r\n\t\t// then flip the child list around so that the last child will be\r\n\t\t// the first in the linked list.\r\n\t\tchildren.reverse();\r\n\t}\r\n\t// Build the linked list. Iterate through the children in reverse order\r\n\t// so that `_next` points to the first linked list node to be resolved.\r\n\tfor (let i = children.length; i--; ) {\r\n\t\t// Create a new linked list node as an array of form:\r\n\t\t// \t[suspended_count, resolved_count, next_node]\r\n\t\t// where suspended_count and resolved_count are numeric counters for\r\n\t\t// keeping track how many times a node has been suspended and resolved.\r\n\t\t//\r\n\t\t// Note that suspended_count starts from 1 instead of 0, so we can block\r\n\t\t// processing callbacks until componentDidMount has been called. In a sense\r\n\t\t// node is suspended at least until componentDidMount gets called!\r\n\t\t//\r\n\t\t// Pending callbacks are added to the end of the node:\r\n\t\t// \t[suspended_count, resolved_count, next_node, callback_0, callback_1, ...]\r\n\t\tthis._map.set(children[i], (this._next = [1, 0, this._next]));\r\n\t}\r\n\treturn props.children;\r\n};\r\n\r\nSuspenseList.prototype.componentDidUpdate = SuspenseList.prototype.componentDidMount = function() {\r\n\t// Iterate through all children after mounting for two reasons:\r\n\t// 1. As each node[SUSPENDED_COUNT] starts from 1, this iteration increases\r\n\t// each node[RELEASED_COUNT] by 1, therefore balancing the counters.\r\n\t// The nodes can now be completely consumed from the linked list.\r\n\t// 2. Handle nodes that might have gotten resolved between render and\r\n\t// componentDidMount.\r\n\tthis._map.forEach((node, child) => {\r\n\t\tresolve(this, child, node);\r\n\t});\r\n};\r\n","import {\r\n\trender as preactRender,\r\n\thydrate as preactHydrate,\r\n\toptions,\r\n\ttoChildArray,\r\n\tComponent\r\n} from 'preact';\r\n\r\nexport const REACT_ELEMENT_TYPE =\r\n\t(typeof Symbol != 'undefined' && Symbol.for && Symbol.for('react.element')) ||\r\n\t0xeac7;\r\n\r\nconst CAMEL_PROPS = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/;\r\n\r\nconst IS_DOM = typeof document !== 'undefined';\r\n\r\n// Input types for which onchange should not be converted to oninput.\r\n// type=\"file|checkbox|radio\", plus \"range\" in IE11.\r\n// (IE11 doesn't support Symbol, which we use here to turn `rad` into `ra` which matches \"range\")\r\nconst onChangeInputType = type =>\r\n\t(typeof Symbol != 'undefined' && typeof Symbol() == 'symbol'\r\n\t\t? /fil|che|rad/i\r\n\t\t: /fil|che|ra/i\r\n\t).test(type);\r\n\r\n// Some libraries like `react-virtualized` explicitly check for this.\r\nComponent.prototype.isReactComponent = {};\r\n\r\n// `UNSAFE_*` lifecycle hooks\r\n// Preact only ever invokes the unprefixed methods.\r\n// Here we provide a base \"fallback\" implementation that calls any defined UNSAFE_ prefixed method.\r\n// - If a component defines its own `componentDidMount()` (including via defineProperty), use that.\r\n// - If a component defines `UNSAFE_componentDidMount()`, `componentDidMount` is the alias getter/setter.\r\n// - If anything assigns to an `UNSAFE_*` property, the assignment is forwarded to the unprefixed property.\r\n// See https://github.com/preactjs/preact/issues/1941\r\n[\r\n\t'componentWillMount',\r\n\t'componentWillReceiveProps',\r\n\t'componentWillUpdate'\r\n].forEach(key => {\r\n\tObject.defineProperty(Component.prototype, key, {\r\n\t\tconfigurable: true,\r\n\t\tget() {\r\n\t\t\treturn this['UNSAFE_' + key];\r\n\t\t},\r\n\t\tset(v) {\r\n\t\t\tObject.defineProperty(this, key, {\r\n\t\t\t\tconfigurable: true,\r\n\t\t\t\twritable: true,\r\n\t\t\t\tvalue: v\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n});\r\n\r\n/**\r\n * Proxy render() since React returns a Component reference.\r\n * @param {import('./internal').VNode} vnode VNode tree to render\r\n * @param {import('./internal').PreactElement} parent DOM node to render vnode tree into\r\n * @param {() => void} [callback] Optional callback that will be called after rendering\r\n * @returns {import('./internal').Component | null} The root component reference or null\r\n */\r\nexport function render(vnode, parent, callback) {\r\n\t// React destroys any existing DOM nodes, see #1727\r\n\t// ...but only on the first render, see #1828\r\n\tif (parent._children == null) {\r\n\t\tparent.textContent = '';\r\n\t}\r\n\r\n\tpreactRender(vnode, parent);\r\n\tif (typeof callback == 'function') callback();\r\n\r\n\treturn vnode ? vnode._component : null;\r\n}\r\n\r\nexport function hydrate(vnode, parent, callback) {\r\n\tpreactHydrate(vnode, parent);\r\n\tif (typeof callback == 'function') callback();\r\n\r\n\treturn vnode ? vnode._component : null;\r\n}\r\n\r\nlet oldEventHook = options.event;\r\noptions.event = e => {\r\n\tif (oldEventHook) e = oldEventHook(e);\r\n\te.persist = empty;\r\n\te.isPropagationStopped = isPropagationStopped;\r\n\te.isDefaultPrevented = isDefaultPrevented;\r\n\treturn (e.nativeEvent = e);\r\n};\r\n\r\nfunction empty() {}\r\n\r\nfunction isPropagationStopped() {\r\n\treturn this.cancelBubble;\r\n}\r\n\r\nfunction isDefaultPrevented() {\r\n\treturn this.defaultPrevented;\r\n}\r\n\r\nlet classNameDescriptor = {\r\n\tconfigurable: true,\r\n\tget() {\r\n\t\treturn this.class;\r\n\t}\r\n};\r\n\r\nlet oldVNodeHook = options.vnode;\r\noptions.vnode = vnode => {\r\n\tlet type = vnode.type;\r\n\tlet props = vnode.props;\r\n\tlet normalizedProps = props;\r\n\r\n\t// only normalize props on Element nodes\r\n\tif (typeof type === 'string') {\r\n\t\tconst nonCustomElement = type.indexOf('-') === -1;\r\n\t\tnormalizedProps = {};\r\n\r\n\t\tfor (let i in props) {\r\n\t\t\tlet value = props[i];\r\n\r\n\t\t\tif (IS_DOM && i === 'children' && type === 'noscript') {\r\n\t\t\t\t// Emulate React's behavior of not rendering the contents of noscript tags on the client.\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\telse if (i === 'value' && 'defaultValue' in props && value == null) {\r\n\t\t\t\t// Skip applying value if it is null/undefined and we already set\r\n\t\t\t\t// a default value\r\n\t\t\t\tcontinue;\r\n\t\t\t} else if (\r\n\t\t\t\ti === 'defaultValue' &&\r\n\t\t\t\t'value' in props &&\r\n\t\t\t\tprops.value == null\r\n\t\t\t) {\r\n\t\t\t\t// `defaultValue` is treated as a fallback `value` when a value prop is present but null/undefined.\r\n\t\t\t\t// `defaultValue` for Elements with no value prop is the same as the DOM defaultValue property.\r\n\t\t\t\ti = 'value';\r\n\t\t\t} else if (i === 'download' && value === true) {\r\n\t\t\t\t// Calling `setAttribute` with a truthy value will lead to it being\r\n\t\t\t\t// passed as a stringified value, e.g. `download=\"true\"`. React\r\n\t\t\t\t// converts it to an empty string instead, otherwise the attribute\r\n\t\t\t\t// value will be used as the file name and the file will be called\r\n\t\t\t\t// \"true\" upon downloading it.\r\n\t\t\t\tvalue = '';\r\n\t\t\t} else if (/ondoubleclick/i.test(i)) {\r\n\t\t\t\ti = 'ondblclick';\r\n\t\t\t} else if (\r\n\t\t\t\t/^onchange(textarea|input)/i.test(i + type) &&\r\n\t\t\t\t!onChangeInputType(props.type)\r\n\t\t\t) {\r\n\t\t\t\ti = 'oninput';\r\n\t\t\t} else if (/^onfocus$/i.test(i)) {\r\n\t\t\t\ti = 'onfocusin';\r\n\t\t\t} else if (/^onblur$/i.test(i)) {\r\n\t\t\t\ti = 'onfocusout';\r\n\t\t\t} else if (/^on(Ani|Tra|Tou|BeforeInp)/.test(i)) {\r\n\t\t\t\ti = i.toLowerCase();\r\n\t\t\t} else if (nonCustomElement && CAMEL_PROPS.test(i)) {\r\n\t\t\t\ti = i.replace(/[A-Z0-9]/, '-$&').toLowerCase();\r\n\t\t\t} else if (value === null) {\r\n\t\t\t\tvalue = undefined;\r\n\t\t\t}\r\n\r\n\t\t\tnormalizedProps[i] = value;\r\n\t\t}\r\n\r\n\t\t// Add support for array select values: