@antscorp/ama-ui 0.0.11 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"ama-ui.es.js","sources":["../node_modules/antd-mobile/es/utils/can-use-dom.js","../node_modules/tslib/tslib.es6.mjs","../node_modules/antd-mobile/es/global/index.js","../node_modules/antd-mobile/es/locales/zh-CN.js","../node_modules/antd-mobile/es/components/config-provider/config-provider.js","../node_modules/antd-mobile/es/utils/attach-properties-to-component.js","../node_modules/classnames/index.js","../node_modules/antd-mobile/es/utils/native-props.js","../node_modules/antd-mobile/es/utils/with-default-props.js","../node_modules/ahooks/es/createUpdateEffect/index.js","../node_modules/ahooks/es/utils/index.js","../node_modules/ahooks/es/utils/isDev.js","../node_modules/ahooks/es/useMemoizedFn/index.js","../node_modules/ahooks/es/useUpdateEffect/index.js","../node_modules/ahooks/es/useLatest/index.js","../node_modules/ahooks/es/useUnmount/index.js","../node_modules/lodash/isObject.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_root.js","../node_modules/lodash/now.js","../node_modules/lodash/_trimmedEndIndex.js","../node_modules/lodash/_baseTrim.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/toNumber.js","../node_modules/lodash/debounce.js","../node_modules/ahooks/es/utils/isBrowser.js","../node_modules/dayjs/dayjs.min.js","../node_modules/ahooks/es/utils/lodash-polyfill.js","../node_modules/ahooks/es/useDebounceFn/index.js","../node_modules/react-fast-compare/index.js","../node_modules/ahooks/es/useIsomorphicLayoutEffect/index.js","../node_modules/ahooks/es/useUnmountedRef/index.js","../node_modules/antd-mobile/es/utils/get-scroll-parent.js","../node_modules/antd-mobile/es/utils/supports-passive.js","../node_modules/antd-mobile/es/utils/use-lock-scroll.js","../node_modules/antd-mobile/es/utils/use-touch.js","../node_modules/@react-spring/rafz/dist/react-spring-rafz.esm.js","../node_modules/@react-spring/shared/dist/react-spring-shared.esm.js","../node_modules/@react-spring/animated/dist/react-spring-animated.esm.js","../node_modules/@react-spring/core/dist/react-spring-core.esm.js","../node_modules/@react-spring/web/dist/react-spring-web.esm.js","../node_modules/antd-mobile/es/utils/render-to-container.js","../node_modules/antd-mobile/es/utils/get-container.js","../node_modules/antd-mobile/es/utils/should-render.js","../node_modules/antd-mobile/es/utils/use-initialized.js","../node_modules/antd-mobile/es/utils/with-stop-propagation.js","../node_modules/antd-mobile/es/components/mask/mask.js","../node_modules/antd-mobile-icons/es/RightOutline.js","../node_modules/antd-mobile/es/components/popup/popup-base-props.js","../node_modules/antd-mobile-icons/es/CloseOutline.js","../node_modules/@use-gesture/core/dist/maths-0ab39ae9.esm.js","../node_modules/@use-gesture/core/dist/actions-fe213e88.esm.js","../node_modules/@use-gesture/core/dist/use-gesture-core.esm.js","../node_modules/@use-gesture/react/dist/use-gesture-react.esm.js","../node_modules/antd-mobile/es/components/popup/popup.js","../node_modules/antd-mobile/es/utils/use-inner-visible.js","../node_modules/antd-mobile/es/components/safe-area/safe-area.js","../node_modules/antd-mobile/es/utils/render.js","../node_modules/antd-mobile/es/utils/render-to-body.js","../node_modules/antd-mobile/es/components/auto-center/auto-center.js","../node_modules/antd-mobile/es/components/dot-loading/dot-loading.js","../node_modules/antd-mobile/es/components/button/button.js","../node_modules/antd-mobile/es/utils/validate.js","../node_modules/dayjs/plugin/isoWeek.js","../node_modules/antd-mobile/es/utils/use-props-value.js","../node_modules/ahooks/es/useUpdate/index.js","../node_modules/antd-mobile/es/utils/is-dev.js","../node_modules/antd-mobile/es/utils/dev-log.js","../node_modules/antd-mobile/es/components/divider/divider.js","../node_modules/antd-mobile/es/utils/bound.js","../node_modules/antd-mobile/es/utils/rubberband.js","../node_modules/antd-mobile/es/components/picker-view/wheel.js","../node_modules/antd-mobile/es/utils/measure-css-length.js","../node_modules/antd-mobile/es/utils/with-cache.js","../node_modules/antd-mobile/es/components/picker-view/columns-extend.js","../node_modules/antd-mobile/es/components/picker/picker-utils.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../node_modules/use-sync-external-store/shim/index.js","../node_modules/antd-mobile/es/utils/reduce-and-restore-motion.js","../node_modules/antd-mobile/es/components/spin-loading/spin-loading.js","../node_modules/antd-mobile/es/components/picker-view/picker-view.js","../node_modules/ahooks/es/useDebounceEffect/index.js","../node_modules/antd-mobile/es/components/picker/picker.js","../node_modules/antd-mobile/es/components/picker/index.js","../node_modules/antd-mobile/es/components/picker/prompt.js","../node_modules/antd-mobile/es/components/list/list.js","../node_modules/antd-mobile/es/utils/is-node-with-content.js","../node_modules/antd-mobile/es/components/list/list-item.js","../node_modules/antd-mobile/es/components/list/index.js","../node_modules/dayjs/plugin/isoWeeksInYear.js","../node_modules/dayjs/plugin/isLeapYear.js","../node_modules/antd-mobile/es/components/date-picker/util.js","../node_modules/antd-mobile/es/components/date-picker/date-picker-date-utils.js","../node_modules/dayjs/plugin/quarterOfYear.js","../node_modules/antd-mobile/es/components/date-picker/date-picker-quarter-utils.js","../node_modules/antd-mobile/es/components/date-picker/date-picker-week-utils.js","../node_modules/antd-mobile/es/components/date-picker/date-picker-utils.js","../node_modules/antd-mobile/es/components/date-picker/date-picker.js","../node_modules/antd-mobile/es/components/date-picker-view/useRenderLabel.js","../node_modules/antd-mobile/es/components/date-picker/index.js","../node_modules/antd-mobile/es/components/date-picker/prompt.js","../node_modules/antd-mobile/es/components/space/space.js","../node_modules/antd-mobile/es/components/input/input.js","../node_modules/antd-mobile-icons/es/CloseCircleFill.js","../node_modules/antd-mobile/es/components/input/useInputHandleKeyDown.js","../src/components/ui/Button/Button.tsx","../src/components/ui/Space/Space.tsx","../src/components/ui/Divider/Divider.tsx","../src/components/ui/DatePicker/DatePicker.tsx","../src/components/ui/Input/Input.tsx","../src/components/ui/List/List.tsx","../node_modules/antd-mobile/es/locales/base.js","../node_modules/antd-mobile/es/locales/vi-VN.js","../node_modules/antd-mobile/es/utils/merge-locale.js","../src/Providers/ConfigProvider.tsx"],"sourcesContent":["export const canUseDom = !!(typeof window !== 'undefined' && typeof document !== 'undefined' && window.document && window.document.createElement);","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","import \"./global.css\";\nimport { canUseDom } from '../utils/can-use-dom';\nif (canUseDom) {\n // Make sure the `:active` CSS selector of `button` and `a` take effect\n // See: https://stackoverflow.com/questions/3885018/active-pseudo-class-doesnt-work-in-mobile-safari\n document.addEventListener('touchstart', () => {}, true);\n}\n// Only for debugging. Must COMMENT this line before commit:\n// import './css-vars-patch.less'","const typeTemplate = '${label}不是一个有效的${type}';\nconst zhCN = {\n locale: 'zh-CH',\n common: {\n confirm: '确定',\n cancel: '取消',\n loading: '加载中',\n close: '关闭'\n },\n Calendar: {\n title: '日期选择',\n confirm: '确认',\n start: '开始',\n end: '结束',\n today: '今日',\n markItems: ['一', '二', '三', '四', '五', '六', '日'],\n yearAndMonth: '${year}年${month}月'\n },\n Cascader: {\n placeholder: '请选择'\n },\n Dialog: {\n ok: '我知道了'\n },\n DatePicker: {\n tillNow: '至今'\n },\n ErrorBlock: {\n default: {\n title: '页面遇到一些小问题',\n description: '待会来试试'\n },\n busy: {\n title: '前方拥堵',\n description: '刷新试试'\n },\n disconnected: {\n title: '网络有点忙',\n description: '动动手指帮忙修复'\n },\n empty: {\n title: '没有找到你需要的东西',\n description: '找找其他的吧'\n }\n },\n Form: {\n required: '必填',\n optional: '选填',\n defaultValidateMessages: {\n default: '字段验证错误${label}',\n required: '请输入${label}',\n enum: '${label}必须是其中一个[${enum}]',\n whitespace: '${label}不能为空字符',\n date: {\n format: '${label}日期格式无效',\n parse: '${label}不能转换为日期',\n invalid: '${label}是一个无效日期'\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n boolean: typeTemplate,\n integer: typeTemplate,\n float: typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: '${label}须为${len}个字符',\n min: '${label}最少${min}个字符',\n max: '${label}最多${max}个字符',\n range: '${label}须在${min}-${max}字符之间'\n },\n number: {\n len: '${label}必须等于${len}',\n min: '${label}最小值为${min}',\n max: '${label}最大值为${max}',\n range: '${label}须在${min}-${max}之间'\n },\n array: {\n len: '须为${len}个${label}',\n min: '最少${min}个${label}',\n max: '最多${max}个${label}',\n range: '${label}数量须在${min}-${max}之间'\n },\n pattern: {\n mismatch: '${label}与模式不匹配${pattern}'\n }\n }\n },\n ImageUploader: {\n uploading: '上传中...',\n upload: '上传'\n },\n InfiniteScroll: {\n noMore: '没有更多了',\n failedToLoad: '加载失败',\n retry: '重新加载'\n },\n Input: {\n clear: '清除'\n },\n Mask: {\n name: '背景蒙层'\n },\n Modal: {\n ok: '我知道了'\n },\n PasscodeInput: {\n name: '密码输入框'\n },\n PullToRefresh: {\n pulling: '下拉刷新',\n canRelease: '释放立即刷新',\n complete: '刷新成功'\n },\n SearchBar: {\n name: '搜索框'\n },\n Slider: {\n name: '滑动输入条'\n },\n Stepper: {\n decrease: '减少',\n increase: '增加'\n },\n Switch: {\n name: '开关'\n },\n Selector: {\n name: '选择组'\n }\n};\nexport default zhCN;","import { __rest } from \"tslib\";\nimport React, { useContext } from 'react';\nimport zhCN from '../../locales/zh-CN';\nexport const defaultConfigRef = {\n current: {\n locale: zhCN\n }\n};\nexport function setDefaultConfig(config) {\n defaultConfigRef.current = config;\n}\nexport function getDefaultConfig() {\n return defaultConfigRef.current;\n}\nconst ConfigContext = React.createContext(null);\nexport const ConfigProvider = props => {\n const {\n children\n } = props,\n config = __rest(props, [\"children\"]);\n const parentConfig = useConfig();\n return React.createElement(ConfigContext.Provider, {\n value: Object.assign(Object.assign({}, parentConfig), config)\n }, children);\n};\nexport function useConfig() {\n var _a;\n return (_a = useContext(ConfigContext)) !== null && _a !== void 0 ? _a : getDefaultConfig();\n}","export function attachPropertiesToComponent(component, properties) {\n const ret = component;\n for (const key in properties) {\n if (properties.hasOwnProperty(key)) {\n ret[key] = properties[key];\n }\n }\n return ret;\n}","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React from 'react';\nimport classNames from 'classnames';\nexport function withNativeProps(props, element) {\n const p = Object.assign({}, element.props);\n if (props.className) {\n p.className = classNames(element.props.className, props.className);\n }\n if (props.style) {\n p.style = Object.assign(Object.assign({}, p.style), props.style);\n }\n if (props.tabIndex !== undefined) {\n p.tabIndex = props.tabIndex;\n }\n for (const key in props) {\n if (!props.hasOwnProperty(key)) continue;\n if (key.startsWith('data-') || key.startsWith('aria-')) {\n p[key] = props[key];\n }\n }\n return React.cloneElement(element, p);\n}","export function mergeProps(...items) {\n const ret = {};\n items.forEach(item => {\n if (item) {\n Object.keys(item).forEach(key => {\n if (item[key] !== undefined) {\n ret[key] = item[key];\n }\n });\n }\n });\n return ret;\n}\n/**\n * Merge props and return the first non-undefined value.\n * The later has higher priority. e.g. (10, 1, 5) => 5 wins.\n * This is useful with legacy props that have been deprecated.\n */\nexport function mergeProp(defaultProp, ...propList) {\n for (let i = propList.length - 1; i >= 0; i -= 1) {\n if (propList[i] !== undefined) {\n return propList[i];\n }\n }\n return defaultProp;\n}","import { useRef } from 'react';\nexport var createUpdateEffect = function (hook) {\n return function (effect, deps) {\n var isMounted = useRef(false);\n // for react-refresh\n hook(function () {\n return function () {\n isMounted.current = false;\n };\n }, []);\n hook(function () {\n if (!isMounted.current) {\n isMounted.current = true;\n } else {\n return effect();\n }\n }, deps);\n };\n};\nexport default createUpdateEffect;","export var isObject = function (value) {\n return value !== null && typeof value === 'object';\n};\nexport var isFunction = function (value) {\n return typeof value === 'function';\n};\nexport var isString = function (value) {\n return typeof value === 'string';\n};\nexport var isBoolean = function (value) {\n return typeof value === 'boolean';\n};\nexport var isNumber = function (value) {\n return typeof value === 'number';\n};\nexport var isUndef = function (value) {\n return typeof value === 'undefined';\n};","var isDev = process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test';\nexport default isDev;","import { useMemo, useRef } from 'react';\nimport { isFunction } from '../utils';\nimport isDev from '../utils/isDev';\nfunction useMemoizedFn(fn) {\n if (isDev) {\n if (!isFunction(fn)) {\n console.error(\"useMemoizedFn expected parameter is a function, got \".concat(typeof fn));\n }\n }\n var fnRef = useRef(fn);\n // why not write `fnRef.current = fn`?\n // https://github.com/alibaba/hooks/issues/728\n fnRef.current = useMemo(function () {\n return fn;\n }, [fn]);\n var memoizedFn = useRef();\n if (!memoizedFn.current) {\n memoizedFn.current = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return fnRef.current.apply(this, args);\n };\n }\n return memoizedFn.current;\n}\nexport default useMemoizedFn;","import { useEffect } from 'react';\nimport { createUpdateEffect } from '../createUpdateEffect';\nexport default createUpdateEffect(useEffect);","import { useRef } from 'react';\nfunction useLatest(value) {\n var ref = useRef(value);\n ref.current = value;\n return ref;\n}\nexport default useLatest;","import { useEffect } from 'react';\nimport useLatest from '../useLatest';\nimport { isFunction } from '../utils';\nimport isDev from '../utils/isDev';\nvar useUnmount = function (fn) {\n if (isDev) {\n if (!isFunction(fn)) {\n console.error(\"useUnmount expected parameter is a function, got \".concat(typeof fn));\n }\n }\n var fnRef = useLatest(fn);\n useEffect(function () {\n return function () {\n fnRef.current();\n };\n }, []);\n};\nexport default useUnmount;","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","var isBrowser = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexport default isBrowser;","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","import debounce from 'lodash/debounce';\nfunction isNodeOrWeb() {\n var freeGlobal = (typeof global === 'undefined' ? 'undefined' : typeof global) == 'object' && global && global.Object === Object && global;\n var freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n return freeGlobal || freeSelf;\n}\nif (!isNodeOrWeb()) {\n global.Date = Date;\n}\nexport { debounce };","import { __read, __spreadArray } from \"tslib\";\nimport { debounce } from '../utils/lodash-polyfill';\nimport { useMemo } from 'react';\nimport useLatest from '../useLatest';\nimport useUnmount from '../useUnmount';\nimport { isFunction } from '../utils';\nimport isDev from '../utils/isDev';\nfunction useDebounceFn(fn, options) {\n var _a;\n if (isDev) {\n if (!isFunction(fn)) {\n console.error(\"useDebounceFn expected parameter is a function, got \".concat(typeof fn));\n }\n }\n var fnRef = useLatest(fn);\n var wait = (_a = options === null || options === void 0 ? void 0 : options.wait) !== null && _a !== void 0 ? _a : 1000;\n var debounced = useMemo(function () {\n return debounce(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return fnRef.current.apply(fnRef, __spreadArray([], __read(args), false));\n }, wait, options);\n }, []);\n useUnmount(function () {\n debounced.cancel();\n });\n return {\n run: debounced,\n cancel: debounced.cancel,\n flush: debounced.flush\n };\n}\nexport default useDebounceFn;","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.3\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","import { useEffect, useLayoutEffect } from 'react';\nimport isBrowser from '../utils/isBrowser';\nvar useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;","import { useEffect, useRef } from 'react';\nvar useUnmountedRef = function () {\n var unmountedRef = useRef(false);\n useEffect(function () {\n unmountedRef.current = false;\n return function () {\n unmountedRef.current = true;\n };\n }, []);\n return unmountedRef;\n};\nexport default useUnmountedRef;","import { canUseDom } from './can-use-dom';\nconst defaultRoot = canUseDom ? window : undefined;\nconst overflowStylePatterns = ['scroll', 'auto', 'overlay'];\nfunction isElement(node) {\n const ELEMENT_NODE_TYPE = 1;\n return node.nodeType === ELEMENT_NODE_TYPE;\n}\nexport function getScrollParent(el, root = defaultRoot) {\n let node = el;\n while (node && node !== root && isElement(node)) {\n if (node === document.body) {\n return root;\n }\n const {\n overflowY\n } = window.getComputedStyle(node);\n if (overflowStylePatterns.includes(overflowY) && node.scrollHeight > node.clientHeight) {\n return node;\n }\n node = node.parentNode;\n }\n return root;\n}","import { canUseDom } from './can-use-dom';\nexport let supportsPassive = false;\nif (canUseDom) {\n try {\n const opts = {};\n Object.defineProperty(opts, 'passive', {\n get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}","import { useTouch } from './use-touch';\nimport { useEffect } from 'react';\nimport { getScrollParent } from './get-scroll-parent';\nimport { supportsPassive } from './supports-passive';\nlet totalLockCount = 0;\nconst BODY_LOCK_CLASS = 'adm-overflow-hidden';\nfunction getScrollableElement(el) {\n let current = el === null || el === void 0 ? void 0 : el.parentElement;\n while (current) {\n if (current.clientHeight < current.scrollHeight) {\n return current;\n }\n current = current.parentElement;\n }\n return null;\n}\n// 移植自vant:https://github.com/youzan/vant/blob/HEAD/src/composables/use-lock-scroll.ts\nexport function useLockScroll(rootRef, shouldLock) {\n const touch = useTouch();\n const onTouchMove = event => {\n touch.move(event);\n const direction = touch.deltaY.current > 0 ? '10' : '01';\n const el = getScrollParent(event.target, rootRef.current);\n if (!el) return;\n // This has perf cost but we have to compatible with iOS 12\n if (shouldLock === 'strict') {\n const scrollableParent = getScrollableElement(event.target);\n if (scrollableParent === document.body || scrollableParent === document.documentElement) {\n event.preventDefault();\n return;\n }\n }\n const {\n scrollHeight,\n offsetHeight,\n scrollTop\n } = el;\n const {\n height\n } = el.getBoundingClientRect();\n let status = '11';\n if (scrollTop === 0) {\n status = offsetHeight >= scrollHeight ? '00' : '01';\n } else if (scrollHeight <= Math.round(height + scrollTop)) {\n status = '10';\n }\n if (status !== '11' && touch.isVertical() && !(parseInt(status, 2) & parseInt(direction, 2))) {\n if (event.cancelable && supportsPassive) {\n // https://github.com/ant-design/ant-design-mobile/issues/6282\n event.preventDefault();\n }\n }\n };\n const lock = () => {\n document.addEventListener('touchstart', touch.start);\n document.addEventListener('touchmove', onTouchMove, supportsPassive ? {\n passive: false\n } : false);\n if (!totalLockCount) {\n document.body.classList.add(BODY_LOCK_CLASS);\n }\n totalLockCount++;\n };\n const unlock = () => {\n if (totalLockCount) {\n document.removeEventListener('touchstart', touch.start);\n document.removeEventListener('touchmove', onTouchMove);\n totalLockCount--;\n if (!totalLockCount) {\n document.body.classList.remove(BODY_LOCK_CLASS);\n }\n }\n };\n useEffect(() => {\n if (shouldLock) {\n lock();\n return () => {\n unlock();\n };\n }\n }, [shouldLock]);\n}","import { useRef } from 'react';\nconst MIN_DISTANCE = 10;\nfunction getDirection(x, y) {\n if (x > y && x > MIN_DISTANCE) {\n return 'horizontal';\n }\n if (y > x && y > MIN_DISTANCE) {\n return 'vertical';\n }\n return '';\n}\nexport function useTouch() {\n const startX = useRef(0);\n const startY = useRef(0);\n const deltaX = useRef(0);\n const deltaY = useRef(0);\n const offsetX = useRef(0);\n const offsetY = useRef(0);\n const direction = useRef('');\n const isVertical = () => direction.current === 'vertical';\n const isHorizontal = () => direction.current === 'horizontal';\n const reset = () => {\n deltaX.current = 0;\n deltaY.current = 0;\n offsetX.current = 0;\n offsetY.current = 0;\n direction.current = '';\n };\n const start = event => {\n reset();\n startX.current = event.touches[0].clientX;\n startY.current = event.touches[0].clientY;\n };\n const move = event => {\n const touch = event.touches[0];\n // Fix: Safari back will set clientX to negative number\n deltaX.current = touch.clientX < 0 ? 0 : touch.clientX - startX.current;\n deltaY.current = touch.clientY - startY.current;\n offsetX.current = Math.abs(deltaX.current);\n offsetY.current = Math.abs(deltaY.current);\n if (!direction.current) {\n direction.current = getDirection(offsetX.current, offsetY.current);\n }\n };\n return {\n move,\n start,\n reset,\n startX,\n startY,\n deltaX,\n deltaY,\n offsetX,\n offsetY,\n direction,\n isVertical,\n isHorizontal\n };\n}","let updateQueue = makeQueue();\nconst raf = fn => schedule(fn, updateQueue);\nlet writeQueue = makeQueue();\n\nraf.write = fn => schedule(fn, writeQueue);\n\nlet onStartQueue = makeQueue();\n\nraf.onStart = fn => schedule(fn, onStartQueue);\n\nlet onFrameQueue = makeQueue();\n\nraf.onFrame = fn => schedule(fn, onFrameQueue);\n\nlet onFinishQueue = makeQueue();\n\nraf.onFinish = fn => schedule(fn, onFinishQueue);\n\nlet timeouts = [];\n\nraf.setTimeout = (handler, ms) => {\n let time = raf.now() + ms;\n\n let cancel = () => {\n let i = timeouts.findIndex(t => t.cancel == cancel);\n if (~i) timeouts.splice(i, 1);\n pendingCount -= ~i ? 1 : 0;\n };\n\n let timeout = {\n time,\n handler,\n cancel\n };\n timeouts.splice(findTimeout(time), 0, timeout);\n pendingCount += 1;\n start();\n return timeout;\n};\n\nlet findTimeout = time => ~(~timeouts.findIndex(t => t.time > time) || ~timeouts.length);\n\nraf.cancel = fn => {\n onStartQueue.delete(fn);\n onFrameQueue.delete(fn);\n onFinishQueue.delete(fn);\n updateQueue.delete(fn);\n writeQueue.delete(fn);\n};\n\nraf.sync = fn => {\n sync = true;\n raf.batchedUpdates(fn);\n sync = false;\n};\n\nraf.throttle = fn => {\n let lastArgs;\n\n function queuedFn() {\n try {\n fn(...lastArgs);\n } finally {\n lastArgs = null;\n }\n }\n\n function throttled(...args) {\n lastArgs = args;\n raf.onStart(queuedFn);\n }\n\n throttled.handler = fn;\n\n throttled.cancel = () => {\n onStartQueue.delete(queuedFn);\n lastArgs = null;\n };\n\n return throttled;\n};\n\nlet nativeRaf = typeof window != 'undefined' ? window.requestAnimationFrame : () => {};\n\nraf.use = impl => nativeRaf = impl;\n\nraf.now = typeof performance != 'undefined' ? () => performance.now() : Date.now;\n\nraf.batchedUpdates = fn => fn();\n\nraf.catch = console.error;\nraf.frameLoop = 'always';\n\nraf.advance = () => {\n if (raf.frameLoop !== 'demand') {\n console.warn('Cannot call the manual advancement of rafz whilst frameLoop is not set as demand');\n } else {\n update();\n }\n};\n\nlet ts = -1;\nlet pendingCount = 0;\nlet sync = false;\n\nfunction schedule(fn, queue) {\n if (sync) {\n queue.delete(fn);\n fn(0);\n } else {\n queue.add(fn);\n start();\n }\n}\n\nfunction start() {\n if (ts < 0) {\n ts = 0;\n\n if (raf.frameLoop !== 'demand') {\n nativeRaf(loop);\n }\n }\n}\n\nfunction stop() {\n ts = -1;\n}\n\nfunction loop() {\n if (~ts) {\n nativeRaf(loop);\n raf.batchedUpdates(update);\n }\n}\n\nfunction update() {\n let prevTs = ts;\n ts = raf.now();\n let count = findTimeout(ts);\n\n if (count) {\n eachSafely(timeouts.splice(0, count), t => t.handler());\n pendingCount -= count;\n }\n\n if (!pendingCount) {\n stop();\n return;\n }\n\n onStartQueue.flush();\n updateQueue.flush(prevTs ? Math.min(64, ts - prevTs) : 16.667);\n onFrameQueue.flush();\n writeQueue.flush();\n onFinishQueue.flush();\n}\n\nfunction makeQueue() {\n let next = new Set();\n let current = next;\n return {\n add(fn) {\n pendingCount += current == next && !next.has(fn) ? 1 : 0;\n next.add(fn);\n },\n\n delete(fn) {\n pendingCount -= current == next && next.has(fn) ? 1 : 0;\n return next.delete(fn);\n },\n\n flush(arg) {\n if (current.size) {\n next = new Set();\n pendingCount -= current.size;\n eachSafely(current, fn => fn(arg) && next.add(fn));\n pendingCount += next.size;\n current = next;\n }\n }\n\n };\n}\n\nfunction eachSafely(values, each) {\n values.forEach(value => {\n try {\n each(value);\n } catch (e) {\n raf.catch(e);\n }\n });\n}\n\nconst __raf = {\n count() {\n return pendingCount;\n },\n\n isRunning() {\n return ts >= 0;\n },\n\n clear() {\n ts = -1;\n timeouts = [];\n onStartQueue = makeQueue();\n updateQueue = makeQueue();\n onFrameQueue = makeQueue();\n writeQueue = makeQueue();\n onFinishQueue = makeQueue();\n pendingCount = 0;\n }\n\n};\n\nexport { __raf, raf };\n","import { raf } from '@react-spring/rafz';\nexport { raf } from '@react-spring/rafz';\nimport { useRef, useEffect, useLayoutEffect, useState } from 'react';\n\nfunction noop() {}\nconst defineHidden = (obj, key, value) => Object.defineProperty(obj, key, {\n value,\n writable: true,\n configurable: true\n});\nconst is = {\n arr: Array.isArray,\n obj: a => !!a && a.constructor.name === 'Object',\n fun: a => typeof a === 'function',\n str: a => typeof a === 'string',\n num: a => typeof a === 'number',\n und: a => a === undefined\n};\nfunction isEqual(a, b) {\n if (is.arr(a)) {\n if (!is.arr(b) || a.length !== b.length) return false;\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n return a === b;\n}\nconst each = (obj, fn) => obj.forEach(fn);\nfunction eachProp(obj, fn, ctx) {\n if (is.arr(obj)) {\n for (let i = 0; i < obj.length; i++) {\n fn.call(ctx, obj[i], `${i}`);\n }\n\n return;\n }\n\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n fn.call(ctx, obj[key], key);\n }\n }\n}\nconst toArray = a => is.und(a) ? [] : is.arr(a) ? a : [a];\nfunction flush(queue, iterator) {\n if (queue.size) {\n const items = Array.from(queue);\n queue.clear();\n each(items, iterator);\n }\n}\nconst flushCalls = (queue, ...args) => flush(queue, fn => fn(...args));\nconst isSSR = () => typeof window === 'undefined' || !window.navigator || /ServerSideRendering|^Deno\\//.test(window.navigator.userAgent);\n\nlet createStringInterpolator$1;\nlet to;\nlet colors$1 = null;\nlet skipAnimation = false;\nlet willAdvance = noop;\nconst assign = globals => {\n if (globals.to) to = globals.to;\n if (globals.now) raf.now = globals.now;\n if (globals.colors !== undefined) colors$1 = globals.colors;\n if (globals.skipAnimation != null) skipAnimation = globals.skipAnimation;\n if (globals.createStringInterpolator) createStringInterpolator$1 = globals.createStringInterpolator;\n if (globals.requestAnimationFrame) raf.use(globals.requestAnimationFrame);\n if (globals.batchedUpdates) raf.batchedUpdates = globals.batchedUpdates;\n if (globals.willAdvance) willAdvance = globals.willAdvance;\n if (globals.frameLoop) raf.frameLoop = globals.frameLoop;\n};\n\nvar globals = /*#__PURE__*/Object.freeze({\n __proto__: null,\n get createStringInterpolator () { return createStringInterpolator$1; },\n get to () { return to; },\n get colors () { return colors$1; },\n get skipAnimation () { return skipAnimation; },\n get willAdvance () { return willAdvance; },\n assign: assign\n});\n\nconst startQueue = new Set();\nlet currentFrame = [];\nlet prevFrame = [];\nlet priority = 0;\nconst frameLoop = {\n get idle() {\n return !startQueue.size && !currentFrame.length;\n },\n\n start(animation) {\n if (priority > animation.priority) {\n startQueue.add(animation);\n raf.onStart(flushStartQueue);\n } else {\n startSafely(animation);\n raf(advance);\n }\n },\n\n advance,\n\n sort(animation) {\n if (priority) {\n raf.onFrame(() => frameLoop.sort(animation));\n } else {\n const prevIndex = currentFrame.indexOf(animation);\n\n if (~prevIndex) {\n currentFrame.splice(prevIndex, 1);\n startUnsafely(animation);\n }\n }\n },\n\n clear() {\n currentFrame = [];\n startQueue.clear();\n }\n\n};\n\nfunction flushStartQueue() {\n startQueue.forEach(startSafely);\n startQueue.clear();\n raf(advance);\n}\n\nfunction startSafely(animation) {\n if (!currentFrame.includes(animation)) startUnsafely(animation);\n}\n\nfunction startUnsafely(animation) {\n currentFrame.splice(findIndex(currentFrame, other => other.priority > animation.priority), 0, animation);\n}\n\nfunction advance(dt) {\n const nextFrame = prevFrame;\n\n for (let i = 0; i < currentFrame.length; i++) {\n const animation = currentFrame[i];\n priority = animation.priority;\n\n if (!animation.idle) {\n willAdvance(animation);\n animation.advance(dt);\n\n if (!animation.idle) {\n nextFrame.push(animation);\n }\n }\n }\n\n priority = 0;\n prevFrame = currentFrame;\n prevFrame.length = 0;\n currentFrame = nextFrame;\n return currentFrame.length > 0;\n}\n\nfunction findIndex(arr, test) {\n const index = arr.findIndex(test);\n return index < 0 ? arr.length : index;\n}\n\nconst clamp = (min, max, v) => Math.min(Math.max(v, min), max);\n\nconst colors = {\n transparent: 0x00000000,\n aliceblue: 0xf0f8ffff,\n antiquewhite: 0xfaebd7ff,\n aqua: 0x00ffffff,\n aquamarine: 0x7fffd4ff,\n azure: 0xf0ffffff,\n beige: 0xf5f5dcff,\n bisque: 0xffe4c4ff,\n black: 0x000000ff,\n blanchedalmond: 0xffebcdff,\n blue: 0x0000ffff,\n blueviolet: 0x8a2be2ff,\n brown: 0xa52a2aff,\n burlywood: 0xdeb887ff,\n burntsienna: 0xea7e5dff,\n cadetblue: 0x5f9ea0ff,\n chartreuse: 0x7fff00ff,\n chocolate: 0xd2691eff,\n coral: 0xff7f50ff,\n cornflowerblue: 0x6495edff,\n cornsilk: 0xfff8dcff,\n crimson: 0xdc143cff,\n cyan: 0x00ffffff,\n darkblue: 0x00008bff,\n darkcyan: 0x008b8bff,\n darkgoldenrod: 0xb8860bff,\n darkgray: 0xa9a9a9ff,\n darkgreen: 0x006400ff,\n darkgrey: 0xa9a9a9ff,\n darkkhaki: 0xbdb76bff,\n darkmagenta: 0x8b008bff,\n darkolivegreen: 0x556b2fff,\n darkorange: 0xff8c00ff,\n darkorchid: 0x9932ccff,\n darkred: 0x8b0000ff,\n darksalmon: 0xe9967aff,\n darkseagreen: 0x8fbc8fff,\n darkslateblue: 0x483d8bff,\n darkslategray: 0x2f4f4fff,\n darkslategrey: 0x2f4f4fff,\n darkturquoise: 0x00ced1ff,\n darkviolet: 0x9400d3ff,\n deeppink: 0xff1493ff,\n deepskyblue: 0x00bfffff,\n dimgray: 0x696969ff,\n dimgrey: 0x696969ff,\n dodgerblue: 0x1e90ffff,\n firebrick: 0xb22222ff,\n floralwhite: 0xfffaf0ff,\n forestgreen: 0x228b22ff,\n fuchsia: 0xff00ffff,\n gainsboro: 0xdcdcdcff,\n ghostwhite: 0xf8f8ffff,\n gold: 0xffd700ff,\n goldenrod: 0xdaa520ff,\n gray: 0x808080ff,\n green: 0x008000ff,\n greenyellow: 0xadff2fff,\n grey: 0x808080ff,\n honeydew: 0xf0fff0ff,\n hotpink: 0xff69b4ff,\n indianred: 0xcd5c5cff,\n indigo: 0x4b0082ff,\n ivory: 0xfffff0ff,\n khaki: 0xf0e68cff,\n lavender: 0xe6e6faff,\n lavenderblush: 0xfff0f5ff,\n lawngreen: 0x7cfc00ff,\n lemonchiffon: 0xfffacdff,\n lightblue: 0xadd8e6ff,\n lightcoral: 0xf08080ff,\n lightcyan: 0xe0ffffff,\n lightgoldenrodyellow: 0xfafad2ff,\n lightgray: 0xd3d3d3ff,\n lightgreen: 0x90ee90ff,\n lightgrey: 0xd3d3d3ff,\n lightpink: 0xffb6c1ff,\n lightsalmon: 0xffa07aff,\n lightseagreen: 0x20b2aaff,\n lightskyblue: 0x87cefaff,\n lightslategray: 0x778899ff,\n lightslategrey: 0x778899ff,\n lightsteelblue: 0xb0c4deff,\n lightyellow: 0xffffe0ff,\n lime: 0x00ff00ff,\n limegreen: 0x32cd32ff,\n linen: 0xfaf0e6ff,\n magenta: 0xff00ffff,\n maroon: 0x800000ff,\n mediumaquamarine: 0x66cdaaff,\n mediumblue: 0x0000cdff,\n mediumorchid: 0xba55d3ff,\n mediumpurple: 0x9370dbff,\n mediumseagreen: 0x3cb371ff,\n mediumslateblue: 0x7b68eeff,\n mediumspringgreen: 0x00fa9aff,\n mediumturquoise: 0x48d1ccff,\n mediumvioletred: 0xc71585ff,\n midnightblue: 0x191970ff,\n mintcream: 0xf5fffaff,\n mistyrose: 0xffe4e1ff,\n moccasin: 0xffe4b5ff,\n navajowhite: 0xffdeadff,\n navy: 0x000080ff,\n oldlace: 0xfdf5e6ff,\n olive: 0x808000ff,\n olivedrab: 0x6b8e23ff,\n orange: 0xffa500ff,\n orangered: 0xff4500ff,\n orchid: 0xda70d6ff,\n palegoldenrod: 0xeee8aaff,\n palegreen: 0x98fb98ff,\n paleturquoise: 0xafeeeeff,\n palevioletred: 0xdb7093ff,\n papayawhip: 0xffefd5ff,\n peachpuff: 0xffdab9ff,\n peru: 0xcd853fff,\n pink: 0xffc0cbff,\n plum: 0xdda0ddff,\n powderblue: 0xb0e0e6ff,\n purple: 0x800080ff,\n rebeccapurple: 0x663399ff,\n red: 0xff0000ff,\n rosybrown: 0xbc8f8fff,\n royalblue: 0x4169e1ff,\n saddlebrown: 0x8b4513ff,\n salmon: 0xfa8072ff,\n sandybrown: 0xf4a460ff,\n seagreen: 0x2e8b57ff,\n seashell: 0xfff5eeff,\n sienna: 0xa0522dff,\n silver: 0xc0c0c0ff,\n skyblue: 0x87ceebff,\n slateblue: 0x6a5acdff,\n slategray: 0x708090ff,\n slategrey: 0x708090ff,\n snow: 0xfffafaff,\n springgreen: 0x00ff7fff,\n steelblue: 0x4682b4ff,\n tan: 0xd2b48cff,\n teal: 0x008080ff,\n thistle: 0xd8bfd8ff,\n tomato: 0xff6347ff,\n turquoise: 0x40e0d0ff,\n violet: 0xee82eeff,\n wheat: 0xf5deb3ff,\n white: 0xffffffff,\n whitesmoke: 0xf5f5f5ff,\n yellow: 0xffff00ff,\n yellowgreen: 0x9acd32ff\n};\n\nconst NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nconst PERCENTAGE = NUMBER + '%';\n\nfunction call(...parts) {\n return '\\\\(\\\\s*(' + parts.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nconst rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));\nconst rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));\nconst hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));\nconst hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));\nconst hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nconst hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nconst hex6 = /^#([0-9a-fA-F]{6})$/;\nconst hex8 = /^#([0-9a-fA-F]{8})$/;\n\nfunction normalizeColor(color) {\n let match;\n\n if (typeof color === 'number') {\n return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null;\n }\n\n if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0;\n\n if (colors$1 && colors$1[color] !== undefined) {\n return colors$1[color];\n }\n\n if (match = rgb.exec(color)) {\n return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | 0x000000ff) >>> 0;\n }\n\n if (match = rgba.exec(color)) {\n return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | parse1(match[4])) >>> 0;\n }\n\n if (match = hex3.exec(color)) {\n return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + 'ff', 16) >>> 0;\n }\n\n if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;\n\n if (match = hex4.exec(color)) {\n return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + match[4] + match[4], 16) >>> 0;\n }\n\n if (match = hsl.exec(color)) {\n return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | 0x000000ff) >>> 0;\n }\n\n if (match = hsla.exec(color)) {\n return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | parse1(match[4])) >>> 0;\n }\n\n return null;\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n}\n\nfunction hslToRgb(h, s, l) {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n const r = hue2rgb(p, q, h + 1 / 3);\n const g = hue2rgb(p, q, h);\n const b = hue2rgb(p, q, h - 1 / 3);\n return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;\n}\n\nfunction parse255(str) {\n const int = parseInt(str, 10);\n if (int < 0) return 0;\n if (int > 255) return 255;\n return int;\n}\n\nfunction parse360(str) {\n const int = parseFloat(str);\n return (int % 360 + 360) % 360 / 360;\n}\n\nfunction parse1(str) {\n const num = parseFloat(str);\n if (num < 0) return 0;\n if (num > 1) return 255;\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n const int = parseFloat(str);\n if (int < 0) return 0;\n if (int > 100) return 1;\n return int / 100;\n}\n\nfunction colorToRgba(input) {\n let int32Color = normalizeColor(input);\n if (int32Color === null) return input;\n int32Color = int32Color || 0;\n let r = (int32Color & 0xff000000) >>> 24;\n let g = (int32Color & 0x00ff0000) >>> 16;\n let b = (int32Color & 0x0000ff00) >>> 8;\n let a = (int32Color & 0x000000ff) / 255;\n return `rgba(${r}, ${g}, ${b}, ${a})`;\n}\n\nconst createInterpolator = (range, output, extrapolate) => {\n if (is.fun(range)) {\n return range;\n }\n\n if (is.arr(range)) {\n return createInterpolator({\n range,\n output: output,\n extrapolate\n });\n }\n\n if (is.str(range.output[0])) {\n return createStringInterpolator$1(range);\n }\n\n const config = range;\n const outputRange = config.output;\n const inputRange = config.range || [0, 1];\n const extrapolateLeft = config.extrapolateLeft || config.extrapolate || 'extend';\n const extrapolateRight = config.extrapolateRight || config.extrapolate || 'extend';\n\n const easing = config.easing || (t => t);\n\n return input => {\n const range = findRange(input, inputRange);\n return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, config.map);\n };\n};\n\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {\n let result = map ? map(input) : input;\n\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin;\n }\n\n if (result > inputMax) {\n if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax;\n }\n\n if (outputMin === outputMax) return outputMin;\n if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax;\n if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin);\n result = easing(result);\n if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;\n return result;\n}\n\nfunction findRange(input, inputRange) {\n for (var i = 1; i < inputRange.length - 1; ++i) if (inputRange[i] >= input) break;\n\n return i - 1;\n}\n\nconst steps = (steps, direction = 'end') => progress => {\n progress = direction === 'end' ? Math.min(progress, 0.999) : Math.max(progress, 0.001);\n const expanded = progress * steps;\n const rounded = direction === 'end' ? Math.floor(expanded) : Math.ceil(expanded);\n return clamp(0, 1, rounded / steps);\n};\n\nconst c1 = 1.70158;\nconst c2 = c1 * 1.525;\nconst c3 = c1 + 1;\nconst c4 = 2 * Math.PI / 3;\nconst c5 = 2 * Math.PI / 4.5;\n\nconst bounceOut = x => {\n const n1 = 7.5625;\n const d1 = 2.75;\n\n if (x < 1 / d1) {\n return n1 * x * x;\n } else if (x < 2 / d1) {\n return n1 * (x -= 1.5 / d1) * x + 0.75;\n } else if (x < 2.5 / d1) {\n return n1 * (x -= 2.25 / d1) * x + 0.9375;\n } else {\n return n1 * (x -= 2.625 / d1) * x + 0.984375;\n }\n};\n\nconst easings = {\n linear: x => x,\n easeInQuad: x => x * x,\n easeOutQuad: x => 1 - (1 - x) * (1 - x),\n easeInOutQuad: x => x < 0.5 ? 2 * x * x : 1 - Math.pow(-2 * x + 2, 2) / 2,\n easeInCubic: x => x * x * x,\n easeOutCubic: x => 1 - Math.pow(1 - x, 3),\n easeInOutCubic: x => x < 0.5 ? 4 * x * x * x : 1 - Math.pow(-2 * x + 2, 3) / 2,\n easeInQuart: x => x * x * x * x,\n easeOutQuart: x => 1 - Math.pow(1 - x, 4),\n easeInOutQuart: x => x < 0.5 ? 8 * x * x * x * x : 1 - Math.pow(-2 * x + 2, 4) / 2,\n easeInQuint: x => x * x * x * x * x,\n easeOutQuint: x => 1 - Math.pow(1 - x, 5),\n easeInOutQuint: x => x < 0.5 ? 16 * x * x * x * x * x : 1 - Math.pow(-2 * x + 2, 5) / 2,\n easeInSine: x => 1 - Math.cos(x * Math.PI / 2),\n easeOutSine: x => Math.sin(x * Math.PI / 2),\n easeInOutSine: x => -(Math.cos(Math.PI * x) - 1) / 2,\n easeInExpo: x => x === 0 ? 0 : Math.pow(2, 10 * x - 10),\n easeOutExpo: x => x === 1 ? 1 : 1 - Math.pow(2, -10 * x),\n easeInOutExpo: x => x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? Math.pow(2, 20 * x - 10) / 2 : (2 - Math.pow(2, -20 * x + 10)) / 2,\n easeInCirc: x => 1 - Math.sqrt(1 - Math.pow(x, 2)),\n easeOutCirc: x => Math.sqrt(1 - Math.pow(x - 1, 2)),\n easeInOutCirc: x => x < 0.5 ? (1 - Math.sqrt(1 - Math.pow(2 * x, 2))) / 2 : (Math.sqrt(1 - Math.pow(-2 * x + 2, 2)) + 1) / 2,\n easeInBack: x => c3 * x * x * x - c1 * x * x,\n easeOutBack: x => 1 + c3 * Math.pow(x - 1, 3) + c1 * Math.pow(x - 1, 2),\n easeInOutBack: x => x < 0.5 ? Math.pow(2 * x, 2) * ((c2 + 1) * 2 * x - c2) / 2 : (Math.pow(2 * x - 2, 2) * ((c2 + 1) * (x * 2 - 2) + c2) + 2) / 2,\n easeInElastic: x => x === 0 ? 0 : x === 1 ? 1 : -Math.pow(2, 10 * x - 10) * Math.sin((x * 10 - 10.75) * c4),\n easeOutElastic: x => x === 0 ? 0 : x === 1 ? 1 : Math.pow(2, -10 * x) * Math.sin((x * 10 - 0.75) * c4) + 1,\n easeInOutElastic: x => x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? -(Math.pow(2, 20 * x - 10) * Math.sin((20 * x - 11.125) * c5)) / 2 : Math.pow(2, -20 * x + 10) * Math.sin((20 * x - 11.125) * c5) / 2 + 1,\n easeInBounce: x => 1 - bounceOut(1 - x),\n easeOutBounce: bounceOut,\n easeInOutBounce: x => x < 0.5 ? (1 - bounceOut(1 - 2 * x)) / 2 : (1 + bounceOut(2 * x - 1)) / 2,\n steps\n};\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nconst $get = Symbol.for('FluidValue.get');\nconst $observers = Symbol.for('FluidValue.observers');\n\nconst hasFluidValue = arg => Boolean(arg && arg[$get]);\n\nconst getFluidValue = arg => arg && arg[$get] ? arg[$get]() : arg;\n\nconst getFluidObservers = target => target[$observers] || null;\n\nfunction callFluidObserver(observer, event) {\n if (observer.eventObserved) {\n observer.eventObserved(event);\n } else {\n observer(event);\n }\n}\n\nfunction callFluidObservers(target, event) {\n let observers = target[$observers];\n\n if (observers) {\n observers.forEach(observer => {\n callFluidObserver(observer, event);\n });\n }\n}\n\nclass FluidValue {\n constructor(get) {\n this[$get] = void 0;\n this[$observers] = void 0;\n\n if (!get && !(get = this.get)) {\n throw Error('Unknown getter');\n }\n\n setFluidGetter(this, get);\n }\n\n}\n\nconst setFluidGetter = (target, get) => setHidden(target, $get, get);\n\nfunction addFluidObserver(target, observer) {\n if (target[$get]) {\n let observers = target[$observers];\n\n if (!observers) {\n setHidden(target, $observers, observers = new Set());\n }\n\n if (!observers.has(observer)) {\n observers.add(observer);\n\n if (target.observerAdded) {\n target.observerAdded(observers.size, observer);\n }\n }\n }\n\n return observer;\n}\n\nfunction removeFluidObserver(target, observer) {\n let observers = target[$observers];\n\n if (observers && observers.has(observer)) {\n const count = observers.size - 1;\n\n if (count) {\n observers.delete(observer);\n } else {\n target[$observers] = null;\n }\n\n if (target.observerRemoved) {\n target.observerRemoved(count, observer);\n }\n }\n}\n\nconst setHidden = (target, key, value) => Object.defineProperty(target, key, {\n value,\n writable: true,\n configurable: true\n});\n\nconst numberRegex = /[+\\-]?(?:0|[1-9]\\d*)(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g;\nconst colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d\\.]+%?\\))/gi;\nconst unitRegex = new RegExp(`(${numberRegex.source})(%|[a-z]+)`, 'i');\nconst rgbaRegex = /rgba\\(([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+)\\)/gi;\nconst cssVariableRegex = /var\\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\\)/;\n\nconst variableToRgba = input => {\n const [token, fallback] = parseCSSVariable(input);\n\n if (!token || isSSR()) {\n return input;\n }\n\n const value = window.getComputedStyle(document.documentElement).getPropertyValue(token);\n\n if (value) {\n return value.trim();\n } else if (fallback && fallback.startsWith('--')) {\n const _value = window.getComputedStyle(document.documentElement).getPropertyValue(fallback);\n\n if (_value) {\n return _value;\n } else {\n return input;\n }\n } else if (fallback && cssVariableRegex.test(fallback)) {\n return variableToRgba(fallback);\n } else if (fallback) {\n return fallback;\n }\n\n return input;\n};\n\nconst parseCSSVariable = current => {\n const match = cssVariableRegex.exec(current);\n if (!match) return [,];\n const [, token, fallback] = match;\n return [token, fallback];\n};\n\nlet namedColorRegex;\n\nconst rgbaRound = (_, p1, p2, p3, p4) => `rgba(${Math.round(p1)}, ${Math.round(p2)}, ${Math.round(p3)}, ${p4})`;\n\nconst createStringInterpolator = config => {\n if (!namedColorRegex) namedColorRegex = colors$1 ? new RegExp(`(${Object.keys(colors$1).join('|')})(?!\\\\w)`, 'g') : /^\\b$/;\n const output = config.output.map(value => {\n return getFluidValue(value).replace(cssVariableRegex, variableToRgba).replace(colorRegex, colorToRgba).replace(namedColorRegex, colorToRgba);\n });\n const keyframes = output.map(value => value.match(numberRegex).map(Number));\n const outputRanges = keyframes[0].map((_, i) => keyframes.map(values => {\n if (!(i in values)) {\n throw Error('The arity of each \"output\" value must be equal');\n }\n\n return values[i];\n }));\n const interpolators = outputRanges.map(output => createInterpolator(_extends({}, config, {\n output\n })));\n return input => {\n var _output$find;\n\n const missingUnit = !unitRegex.test(output[0]) && ((_output$find = output.find(value => unitRegex.test(value))) == null ? void 0 : _output$find.replace(numberRegex, ''));\n let i = 0;\n return output[0].replace(numberRegex, () => `${interpolators[i++](input)}${missingUnit || ''}`).replace(rgbaRegex, rgbaRound);\n };\n};\n\nconst prefix = 'react-spring: ';\nconst once = fn => {\n const func = fn;\n let called = false;\n\n if (typeof func != 'function') {\n throw new TypeError(`${prefix}once requires a function parameter`);\n }\n\n return (...args) => {\n if (!called) {\n func(...args);\n called = true;\n }\n };\n};\nconst warnInterpolate = once(console.warn);\nfunction deprecateInterpolate() {\n warnInterpolate(`${prefix}The \"interpolate\" function is deprecated in v9 (use \"to\" instead)`);\n}\nconst warnDirectCall = once(console.warn);\nfunction deprecateDirectCall() {\n warnDirectCall(`${prefix}Directly calling start instead of using the api object is deprecated in v9 (use \".start\" instead), this will be removed in later 0.X.0 versions`);\n}\n\nfunction isAnimatedString(value) {\n return is.str(value) && (value[0] == '#' || /\\d/.test(value) || !isSSR() && cssVariableRegex.test(value) || value in (colors$1 || {}));\n}\n\nlet observer;\nconst resizeHandlers = new WeakMap();\n\nconst handleObservation = entries => entries.forEach(({\n target,\n contentRect\n}) => {\n var _resizeHandlers$get;\n\n return (_resizeHandlers$get = resizeHandlers.get(target)) == null ? void 0 : _resizeHandlers$get.forEach(handler => handler(contentRect));\n});\n\nfunction resizeElement(handler, target) {\n if (!observer) {\n if (typeof ResizeObserver !== 'undefined') {\n observer = new ResizeObserver(handleObservation);\n }\n }\n\n let elementHandlers = resizeHandlers.get(target);\n\n if (!elementHandlers) {\n elementHandlers = new Set();\n resizeHandlers.set(target, elementHandlers);\n }\n\n elementHandlers.add(handler);\n\n if (observer) {\n observer.observe(target);\n }\n\n return () => {\n const elementHandlers = resizeHandlers.get(target);\n if (!elementHandlers) return;\n elementHandlers.delete(handler);\n\n if (!elementHandlers.size && observer) {\n observer.unobserve(target);\n }\n };\n}\n\nconst listeners = new Set();\nlet cleanupWindowResizeHandler;\n\nconst createResizeHandler = () => {\n const handleResize = () => {\n listeners.forEach(callback => callback({\n width: window.innerWidth,\n height: window.innerHeight\n }));\n };\n\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n};\n\nconst resizeWindow = callback => {\n listeners.add(callback);\n\n if (!cleanupWindowResizeHandler) {\n cleanupWindowResizeHandler = createResizeHandler();\n }\n\n return () => {\n listeners.delete(callback);\n\n if (!listeners.size && cleanupWindowResizeHandler) {\n cleanupWindowResizeHandler();\n cleanupWindowResizeHandler = undefined;\n }\n };\n};\n\nconst onResize = (callback, {\n container: _container = document.documentElement\n} = {}) => {\n if (_container === document.documentElement) {\n return resizeWindow(callback);\n } else {\n return resizeElement(callback, _container);\n }\n};\n\nconst progress = (min, max, value) => max - min === 0 ? 1 : (value - min) / (max - min);\n\nconst SCROLL_KEYS = {\n x: {\n length: 'Width',\n position: 'Left'\n },\n y: {\n length: 'Height',\n position: 'Top'\n }\n};\nclass ScrollHandler {\n constructor(callback, container) {\n this.callback = void 0;\n this.container = void 0;\n this.info = void 0;\n\n this.createAxis = () => ({\n current: 0,\n progress: 0,\n scrollLength: 0\n });\n\n this.updateAxis = axisName => {\n const axis = this.info[axisName];\n const {\n length,\n position\n } = SCROLL_KEYS[axisName];\n axis.current = this.container[`scroll${position}`];\n axis.scrollLength = this.container['scroll' + length] - this.container['client' + length];\n axis.progress = progress(0, axis.scrollLength, axis.current);\n };\n\n this.update = () => {\n this.updateAxis('x');\n this.updateAxis('y');\n };\n\n this.sendEvent = () => {\n this.callback(this.info);\n };\n\n this.advance = () => {\n this.update();\n this.sendEvent();\n };\n\n this.callback = callback;\n this.container = container;\n this.info = {\n time: 0,\n x: this.createAxis(),\n y: this.createAxis()\n };\n }\n\n}\n\nconst scrollListeners = new WeakMap();\nconst resizeListeners = new WeakMap();\nconst onScrollHandlers = new WeakMap();\n\nconst getTarget = container => container === document.documentElement ? window : container;\n\nconst onScroll = (callback, {\n container: _container = document.documentElement\n} = {}) => {\n let containerHandlers = onScrollHandlers.get(_container);\n\n if (!containerHandlers) {\n containerHandlers = new Set();\n onScrollHandlers.set(_container, containerHandlers);\n }\n\n const containerHandler = new ScrollHandler(callback, _container);\n containerHandlers.add(containerHandler);\n\n if (!scrollListeners.has(_container)) {\n const listener = () => {\n var _containerHandlers;\n\n (_containerHandlers = containerHandlers) == null ? void 0 : _containerHandlers.forEach(handler => handler.advance());\n return true;\n };\n\n scrollListeners.set(_container, listener);\n const target = getTarget(_container);\n window.addEventListener('resize', listener, {\n passive: true\n });\n\n if (_container !== document.documentElement) {\n resizeListeners.set(_container, onResize(listener, {\n container: _container\n }));\n }\n\n target.addEventListener('scroll', listener, {\n passive: true\n });\n }\n\n const animateScroll = scrollListeners.get(_container);\n raf(animateScroll);\n return () => {\n raf.cancel(animateScroll);\n const containerHandlers = onScrollHandlers.get(_container);\n if (!containerHandlers) return;\n containerHandlers.delete(containerHandler);\n if (containerHandlers.size) return;\n const listener = scrollListeners.get(_container);\n scrollListeners.delete(_container);\n\n if (listener) {\n var _resizeListeners$get;\n\n getTarget(_container).removeEventListener('scroll', listener);\n window.removeEventListener('resize', listener);\n (_resizeListeners$get = resizeListeners.get(_container)) == null ? void 0 : _resizeListeners$get();\n }\n };\n};\n\nfunction useConstant(init) {\n const ref = useRef(null);\n\n if (ref.current === null) {\n ref.current = init();\n }\n\n return ref.current;\n}\n\nconst useIsomorphicLayoutEffect = isSSR() ? useEffect : useLayoutEffect;\n\nconst useIsMounted = () => {\n const isMounted = useRef(false);\n useIsomorphicLayoutEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n return isMounted;\n};\n\nfunction useForceUpdate() {\n const update = useState()[1];\n const isMounted = useIsMounted();\n return () => {\n if (isMounted.current) {\n update(Math.random());\n }\n };\n}\n\nfunction useMemoOne(getResult, inputs) {\n const [initial] = useState(() => ({\n inputs,\n result: getResult()\n }));\n const committed = useRef();\n const prevCache = committed.current;\n let cache = prevCache;\n\n if (cache) {\n const useCache = Boolean(inputs && cache.inputs && areInputsEqual(inputs, cache.inputs));\n\n if (!useCache) {\n cache = {\n inputs,\n result: getResult()\n };\n }\n } else {\n cache = initial;\n }\n\n useEffect(() => {\n committed.current = cache;\n\n if (prevCache == initial) {\n initial.inputs = initial.result = undefined;\n }\n }, [cache]);\n return cache.result;\n}\n\nfunction areInputsEqual(next, prev) {\n if (next.length !== prev.length) {\n return false;\n }\n\n for (let i = 0; i < next.length; i++) {\n if (next[i] !== prev[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nconst useOnce = effect => useEffect(effect, emptyDeps);\nconst emptyDeps = [];\n\nfunction usePrev(value) {\n const prevRef = useRef();\n useEffect(() => {\n prevRef.current = value;\n });\n return prevRef.current;\n}\n\nconst useReducedMotion = () => {\n const [reducedMotion, setReducedMotion] = useState(null);\n useIsomorphicLayoutEffect(() => {\n const mql = window.matchMedia('(prefers-reduced-motion)');\n\n const handleMediaChange = e => {\n setReducedMotion(e.matches);\n assign({\n skipAnimation: e.matches\n });\n };\n\n handleMediaChange(mql);\n mql.addEventListener('change', handleMediaChange);\n return () => {\n mql.removeEventListener('change', handleMediaChange);\n };\n }, []);\n return reducedMotion;\n};\n\nexport { FluidValue, globals as Globals, addFluidObserver, callFluidObserver, callFluidObservers, clamp, colorToRgba, colors, createInterpolator, createStringInterpolator, defineHidden, deprecateDirectCall, deprecateInterpolate, each, eachProp, easings, flush, flushCalls, frameLoop, getFluidObservers, getFluidValue, hasFluidValue, hex3, hex4, hex6, hex8, hsl, hsla, is, isAnimatedString, isEqual, isSSR, noop, onResize, onScroll, once, prefix, removeFluidObserver, rgb, rgba, setFluidGetter, toArray, useConstant, useForceUpdate, useIsomorphicLayoutEffect, useMemoOne, useOnce, usePrev, useReducedMotion };\n","import { defineHidden, is, createInterpolator, eachProp, hasFluidValue, getFluidValue, each, isAnimatedString, useForceUpdate, useIsomorphicLayoutEffect, addFluidObserver, removeFluidObserver, raf, useOnce } from '@react-spring/shared';\nimport * as React from 'react';\nimport { forwardRef, useRef, useCallback, useEffect } from 'react';\n\nconst $node = Symbol.for('Animated:node');\nconst isAnimated = value => !!value && value[$node] === value;\nconst getAnimated = owner => owner && owner[$node];\nconst setAnimated = (owner, node) => defineHidden(owner, $node, node);\nconst getPayload = owner => owner && owner[$node] && owner[$node].getPayload();\nclass Animated {\n constructor() {\n this.payload = void 0;\n setAnimated(this, this);\n }\n\n getPayload() {\n return this.payload || [];\n }\n\n}\n\nclass AnimatedValue extends Animated {\n constructor(_value) {\n super();\n this.done = true;\n this.elapsedTime = void 0;\n this.lastPosition = void 0;\n this.lastVelocity = void 0;\n this.v0 = void 0;\n this.durationProgress = 0;\n this._value = _value;\n\n if (is.num(this._value)) {\n this.lastPosition = this._value;\n }\n }\n\n static create(value) {\n return new AnimatedValue(value);\n }\n\n getPayload() {\n return [this];\n }\n\n getValue() {\n return this._value;\n }\n\n setValue(value, step) {\n if (is.num(value)) {\n this.lastPosition = value;\n\n if (step) {\n value = Math.round(value / step) * step;\n\n if (this.done) {\n this.lastPosition = value;\n }\n }\n }\n\n if (this._value === value) {\n return false;\n }\n\n this._value = value;\n return true;\n }\n\n reset() {\n const {\n done\n } = this;\n this.done = false;\n\n if (is.num(this._value)) {\n this.elapsedTime = 0;\n this.durationProgress = 0;\n this.lastPosition = this._value;\n if (done) this.lastVelocity = null;\n this.v0 = null;\n }\n }\n\n}\n\nclass AnimatedString extends AnimatedValue {\n constructor(value) {\n super(0);\n this._string = null;\n this._toString = void 0;\n this._toString = createInterpolator({\n output: [value, value]\n });\n }\n\n static create(value) {\n return new AnimatedString(value);\n }\n\n getValue() {\n let value = this._string;\n return value == null ? this._string = this._toString(this._value) : value;\n }\n\n setValue(value) {\n if (is.str(value)) {\n if (value == this._string) {\n return false;\n }\n\n this._string = value;\n this._value = 1;\n } else if (super.setValue(value)) {\n this._string = null;\n } else {\n return false;\n }\n\n return true;\n }\n\n reset(goal) {\n if (goal) {\n this._toString = createInterpolator({\n output: [this.getValue(), goal]\n });\n }\n\n this._value = 0;\n super.reset();\n }\n\n}\n\nconst TreeContext = {\n dependencies: null\n};\n\nclass AnimatedObject extends Animated {\n constructor(source) {\n super();\n this.source = source;\n this.setValue(source);\n }\n\n getValue(animated) {\n const values = {};\n eachProp(this.source, (source, key) => {\n if (isAnimated(source)) {\n values[key] = source.getValue(animated);\n } else if (hasFluidValue(source)) {\n values[key] = getFluidValue(source);\n } else if (!animated) {\n values[key] = source;\n }\n });\n return values;\n }\n\n setValue(source) {\n this.source = source;\n this.payload = this._makePayload(source);\n }\n\n reset() {\n if (this.payload) {\n each(this.payload, node => node.reset());\n }\n }\n\n _makePayload(source) {\n if (source) {\n const payload = new Set();\n eachProp(source, this._addToPayload, payload);\n return Array.from(payload);\n }\n }\n\n _addToPayload(source) {\n if (TreeContext.dependencies && hasFluidValue(source)) {\n TreeContext.dependencies.add(source);\n }\n\n const payload = getPayload(source);\n\n if (payload) {\n each(payload, node => this.add(node));\n }\n }\n\n}\n\nclass AnimatedArray extends AnimatedObject {\n constructor(source) {\n super(source);\n }\n\n static create(source) {\n return new AnimatedArray(source);\n }\n\n getValue() {\n return this.source.map(node => node.getValue());\n }\n\n setValue(source) {\n const payload = this.getPayload();\n\n if (source.length == payload.length) {\n return payload.map((node, i) => node.setValue(source[i])).some(Boolean);\n }\n\n super.setValue(source.map(makeAnimated));\n return true;\n }\n\n}\n\nfunction makeAnimated(value) {\n const nodeType = isAnimatedString(value) ? AnimatedString : AnimatedValue;\n return nodeType.create(value);\n}\n\nfunction getAnimatedType(value) {\n const parentNode = getAnimated(value);\n return parentNode ? parentNode.constructor : is.arr(value) ? AnimatedArray : isAnimatedString(value) ? AnimatedString : AnimatedValue;\n}\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nconst withAnimated = (Component, host) => {\n const hasInstance = !is.fun(Component) || Component.prototype && Component.prototype.isReactComponent;\n return forwardRef((givenProps, givenRef) => {\n const instanceRef = useRef(null);\n const ref = hasInstance && useCallback(value => {\n instanceRef.current = updateRef(givenRef, value);\n }, [givenRef]);\n const [props, deps] = getAnimatedState(givenProps, host);\n const forceUpdate = useForceUpdate();\n\n const callback = () => {\n const instance = instanceRef.current;\n\n if (hasInstance && !instance) {\n return;\n }\n\n const didUpdate = instance ? host.applyAnimatedValues(instance, props.getValue(true)) : false;\n\n if (didUpdate === false) {\n forceUpdate();\n }\n };\n\n const observer = new PropsObserver(callback, deps);\n const observerRef = useRef();\n useIsomorphicLayoutEffect(() => {\n observerRef.current = observer;\n each(deps, dep => addFluidObserver(dep, observer));\n return () => {\n if (observerRef.current) {\n each(observerRef.current.deps, dep => removeFluidObserver(dep, observerRef.current));\n raf.cancel(observerRef.current.update);\n }\n };\n });\n useEffect(callback, []);\n useOnce(() => () => {\n const observer = observerRef.current;\n each(observer.deps, dep => removeFluidObserver(dep, observer));\n });\n const usedProps = host.getComponentProps(props.getValue());\n return React.createElement(Component, _extends({}, usedProps, {\n ref: ref\n }));\n });\n};\n\nclass PropsObserver {\n constructor(update, deps) {\n this.update = update;\n this.deps = deps;\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n raf.write(this.update);\n }\n }\n\n}\n\nfunction getAnimatedState(props, host) {\n const dependencies = new Set();\n TreeContext.dependencies = dependencies;\n if (props.style) props = _extends({}, props, {\n style: host.createAnimatedStyle(props.style)\n });\n props = new AnimatedObject(props);\n TreeContext.dependencies = null;\n return [props, dependencies];\n}\n\nfunction updateRef(ref, value) {\n if (ref) {\n if (is.fun(ref)) ref(value);else ref.current = value;\n }\n\n return value;\n}\n\nconst cacheKey = Symbol.for('AnimatedComponent');\nconst createHost = (components, {\n applyAnimatedValues: _applyAnimatedValues = () => false,\n createAnimatedStyle: _createAnimatedStyle = style => new AnimatedObject(style),\n getComponentProps: _getComponentProps = props => props\n} = {}) => {\n const hostConfig = {\n applyAnimatedValues: _applyAnimatedValues,\n createAnimatedStyle: _createAnimatedStyle,\n getComponentProps: _getComponentProps\n };\n\n const animated = Component => {\n const displayName = getDisplayName(Component) || 'Anonymous';\n\n if (is.str(Component)) {\n Component = animated[Component] || (animated[Component] = withAnimated(Component, hostConfig));\n } else {\n Component = Component[cacheKey] || (Component[cacheKey] = withAnimated(Component, hostConfig));\n }\n\n Component.displayName = `Animated(${displayName})`;\n return Component;\n };\n\n eachProp(components, (Component, key) => {\n if (is.arr(components)) {\n key = getDisplayName(Component);\n }\n\n animated[key] = animated(Component);\n });\n return {\n animated\n };\n};\n\nconst getDisplayName = arg => is.str(arg) ? arg : arg && is.str(arg.displayName) ? arg.displayName : is.fun(arg) && arg.name || null;\n\nexport { Animated, AnimatedArray, AnimatedObject, AnimatedString, AnimatedValue, createHost, getAnimated, getAnimatedType, getPayload, isAnimated, setAnimated };\n","import { eachProp, is, toArray, getFluidValue, isAnimatedString, Globals, useIsomorphicLayoutEffect, each, easings, raf, flush, FluidValue, deprecateInterpolate, callFluidObservers, frameLoop, hasFluidValue, flushCalls, isEqual, getFluidObservers, addFluidObserver, removeFluidObserver, noop, useMemoOne, deprecateDirectCall, useForceUpdate, usePrev, useOnce, useConstant, onScroll, onResize, createInterpolator, createStringInterpolator } from '@react-spring/shared';\nexport { Globals, createInterpolator, easings, useIsomorphicLayoutEffect, useReducedMotion } from '@react-spring/shared';\nimport * as React from 'react';\nimport { useContext, useMemo, useRef, useState } from 'react';\nimport { getAnimated, AnimatedValue, getPayload, AnimatedString, getAnimatedType, setAnimated } from '@react-spring/animated';\nexport * from '@react-spring/types/animated';\nexport * from '@react-spring/types/interpolation';\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nfunction callProp(value, ...args) {\n return is.fun(value) ? value(...args) : value;\n}\nconst matchProp = (value, key) => value === true || !!(key && value && (is.fun(value) ? value(key) : toArray(value).includes(key)));\nconst resolveProp = (prop, key) => is.obj(prop) ? key && prop[key] : prop;\nconst getDefaultProp = (props, key) => props.default === true ? props[key] : props.default ? props.default[key] : undefined;\n\nconst noopTransform = value => value;\n\nconst getDefaultProps = (props, transform = noopTransform) => {\n let keys = DEFAULT_PROPS;\n\n if (props.default && props.default !== true) {\n props = props.default;\n keys = Object.keys(props);\n }\n\n const defaults = {};\n\n for (const key of keys) {\n const value = transform(props[key], key);\n\n if (!is.und(value)) {\n defaults[key] = value;\n }\n }\n\n return defaults;\n};\nconst DEFAULT_PROPS = ['config', 'onProps', 'onStart', 'onChange', 'onPause', 'onResume', 'onRest'];\nconst RESERVED_PROPS = {\n config: 1,\n from: 1,\n to: 1,\n ref: 1,\n loop: 1,\n reset: 1,\n pause: 1,\n cancel: 1,\n reverse: 1,\n immediate: 1,\n default: 1,\n delay: 1,\n onProps: 1,\n onStart: 1,\n onChange: 1,\n onPause: 1,\n onResume: 1,\n onRest: 1,\n onResolve: 1,\n items: 1,\n trail: 1,\n sort: 1,\n expires: 1,\n initial: 1,\n enter: 1,\n update: 1,\n leave: 1,\n children: 1,\n onDestroyed: 1,\n keys: 1,\n callId: 1,\n parentId: 1\n};\n\nfunction getForwardProps(props) {\n const forward = {};\n let count = 0;\n eachProp(props, (value, prop) => {\n if (!RESERVED_PROPS[prop]) {\n forward[prop] = value;\n count++;\n }\n });\n\n if (count) {\n return forward;\n }\n}\n\nfunction inferTo(props) {\n const to = getForwardProps(props);\n\n if (to) {\n const out = {\n to\n };\n eachProp(props, (val, key) => key in to || (out[key] = val));\n return out;\n }\n\n return _extends({}, props);\n}\nfunction computeGoal(value) {\n value = getFluidValue(value);\n return is.arr(value) ? value.map(computeGoal) : isAnimatedString(value) ? Globals.createStringInterpolator({\n range: [0, 1],\n output: [value, value]\n })(1) : value;\n}\nfunction hasProps(props) {\n for (const _ in props) return true;\n\n return false;\n}\nfunction isAsyncTo(to) {\n return is.fun(to) || is.arr(to) && is.obj(to[0]);\n}\nfunction detachRefs(ctrl, ref) {\n var _ctrl$ref;\n\n (_ctrl$ref = ctrl.ref) == null ? void 0 : _ctrl$ref.delete(ctrl);\n ref == null ? void 0 : ref.delete(ctrl);\n}\nfunction replaceRef(ctrl, ref) {\n if (ref && ctrl.ref !== ref) {\n var _ctrl$ref2;\n\n (_ctrl$ref2 = ctrl.ref) == null ? void 0 : _ctrl$ref2.delete(ctrl);\n ref.add(ctrl);\n ctrl.ref = ref;\n }\n}\n\nfunction useChain(refs, timeSteps, timeFrame = 1000) {\n useIsomorphicLayoutEffect(() => {\n if (timeSteps) {\n let prevDelay = 0;\n each(refs, (ref, i) => {\n const controllers = ref.current;\n\n if (controllers.length) {\n let delay = timeFrame * timeSteps[i];\n if (isNaN(delay)) delay = prevDelay;else prevDelay = delay;\n each(controllers, ctrl => {\n each(ctrl.queue, props => {\n const memoizedDelayProp = props.delay;\n\n props.delay = key => delay + callProp(memoizedDelayProp || 0, key);\n });\n });\n ref.start();\n }\n });\n } else {\n let p = Promise.resolve();\n each(refs, ref => {\n const controllers = ref.current;\n\n if (controllers.length) {\n const queues = controllers.map(ctrl => {\n const q = ctrl.queue;\n ctrl.queue = [];\n return q;\n });\n p = p.then(() => {\n each(controllers, (ctrl, i) => each(queues[i] || [], update => ctrl.queue.push(update)));\n return Promise.all(ref.start());\n });\n }\n });\n }\n });\n}\n\nconst config = {\n default: {\n tension: 170,\n friction: 26\n },\n gentle: {\n tension: 120,\n friction: 14\n },\n wobbly: {\n tension: 180,\n friction: 12\n },\n stiff: {\n tension: 210,\n friction: 20\n },\n slow: {\n tension: 280,\n friction: 60\n },\n molasses: {\n tension: 280,\n friction: 120\n }\n};\n\nconst defaults = _extends({}, config.default, {\n mass: 1,\n damping: 1,\n easing: easings.linear,\n clamp: false\n});\n\nclass AnimationConfig {\n constructor() {\n this.tension = void 0;\n this.friction = void 0;\n this.frequency = void 0;\n this.damping = void 0;\n this.mass = void 0;\n this.velocity = 0;\n this.restVelocity = void 0;\n this.precision = void 0;\n this.progress = void 0;\n this.duration = void 0;\n this.easing = void 0;\n this.clamp = void 0;\n this.bounce = void 0;\n this.decay = void 0;\n this.round = void 0;\n Object.assign(this, defaults);\n }\n\n}\nfunction mergeConfig(config, newConfig, defaultConfig) {\n if (defaultConfig) {\n defaultConfig = _extends({}, defaultConfig);\n sanitizeConfig(defaultConfig, newConfig);\n newConfig = _extends({}, defaultConfig, newConfig);\n }\n\n sanitizeConfig(config, newConfig);\n Object.assign(config, newConfig);\n\n for (const key in defaults) {\n if (config[key] == null) {\n config[key] = defaults[key];\n }\n }\n\n let {\n mass,\n frequency,\n damping\n } = config;\n\n if (!is.und(frequency)) {\n if (frequency < 0.01) frequency = 0.01;\n if (damping < 0) damping = 0;\n config.tension = Math.pow(2 * Math.PI / frequency, 2) * mass;\n config.friction = 4 * Math.PI * damping * mass / frequency;\n }\n\n return config;\n}\n\nfunction sanitizeConfig(config, props) {\n if (!is.und(props.decay)) {\n config.duration = undefined;\n } else {\n const isTensionConfig = !is.und(props.tension) || !is.und(props.friction);\n\n if (isTensionConfig || !is.und(props.frequency) || !is.und(props.damping) || !is.und(props.mass)) {\n config.duration = undefined;\n config.decay = undefined;\n }\n\n if (isTensionConfig) {\n config.frequency = undefined;\n }\n }\n}\n\nconst emptyArray = [];\nclass Animation {\n constructor() {\n this.changed = false;\n this.values = emptyArray;\n this.toValues = null;\n this.fromValues = emptyArray;\n this.to = void 0;\n this.from = void 0;\n this.config = new AnimationConfig();\n this.immediate = false;\n }\n\n}\n\nfunction scheduleProps(callId, {\n key,\n props,\n defaultProps,\n state,\n actions\n}) {\n return new Promise((resolve, reject) => {\n var _props$cancel;\n\n let delay;\n let timeout;\n let cancel = matchProp((_props$cancel = props.cancel) != null ? _props$cancel : defaultProps == null ? void 0 : defaultProps.cancel, key);\n\n if (cancel) {\n onStart();\n } else {\n if (!is.und(props.pause)) {\n state.paused = matchProp(props.pause, key);\n }\n\n let pause = defaultProps == null ? void 0 : defaultProps.pause;\n\n if (pause !== true) {\n pause = state.paused || matchProp(pause, key);\n }\n\n delay = callProp(props.delay || 0, key);\n\n if (pause) {\n state.resumeQueue.add(onResume);\n actions.pause();\n } else {\n actions.resume();\n onResume();\n }\n }\n\n function onPause() {\n state.resumeQueue.add(onResume);\n state.timeouts.delete(timeout);\n timeout.cancel();\n delay = timeout.time - raf.now();\n }\n\n function onResume() {\n if (delay > 0 && !Globals.skipAnimation) {\n state.delayed = true;\n timeout = raf.setTimeout(onStart, delay);\n state.pauseQueue.add(onPause);\n state.timeouts.add(timeout);\n } else {\n onStart();\n }\n }\n\n function onStart() {\n if (state.delayed) {\n state.delayed = false;\n }\n\n state.pauseQueue.delete(onPause);\n state.timeouts.delete(timeout);\n\n if (callId <= (state.cancelId || 0)) {\n cancel = true;\n }\n\n try {\n actions.start(_extends({}, props, {\n callId,\n cancel\n }), resolve);\n } catch (err) {\n reject(err);\n }\n }\n });\n}\n\nconst getCombinedResult = (target, results) => results.length == 1 ? results[0] : results.some(result => result.cancelled) ? getCancelledResult(target.get()) : results.every(result => result.noop) ? getNoopResult(target.get()) : getFinishedResult(target.get(), results.every(result => result.finished));\nconst getNoopResult = value => ({\n value,\n noop: true,\n finished: true,\n cancelled: false\n});\nconst getFinishedResult = (value, finished, cancelled = false) => ({\n value,\n finished,\n cancelled\n});\nconst getCancelledResult = value => ({\n value,\n cancelled: true,\n finished: false\n});\n\nfunction runAsync(to, props, state, target) {\n const {\n callId,\n parentId,\n onRest\n } = props;\n const {\n asyncTo: prevTo,\n promise: prevPromise\n } = state;\n\n if (!parentId && to === prevTo && !props.reset) {\n return prevPromise;\n }\n\n return state.promise = (async () => {\n state.asyncId = callId;\n state.asyncTo = to;\n const defaultProps = getDefaultProps(props, (value, key) => key === 'onRest' ? undefined : value);\n let preventBail;\n let bail;\n const bailPromise = new Promise((resolve, reject) => (preventBail = resolve, bail = reject));\n\n const bailIfEnded = bailSignal => {\n const bailResult = callId <= (state.cancelId || 0) && getCancelledResult(target) || callId !== state.asyncId && getFinishedResult(target, false);\n\n if (bailResult) {\n bailSignal.result = bailResult;\n bail(bailSignal);\n throw bailSignal;\n }\n };\n\n const animate = (arg1, arg2) => {\n const bailSignal = new BailSignal();\n const skipAnimationSignal = new SkipAnimationSignal();\n return (async () => {\n if (Globals.skipAnimation) {\n stopAsync(state);\n skipAnimationSignal.result = getFinishedResult(target, false);\n bail(skipAnimationSignal);\n throw skipAnimationSignal;\n }\n\n bailIfEnded(bailSignal);\n const props = is.obj(arg1) ? _extends({}, arg1) : _extends({}, arg2, {\n to: arg1\n });\n props.parentId = callId;\n eachProp(defaultProps, (value, key) => {\n if (is.und(props[key])) {\n props[key] = value;\n }\n });\n const result = await target.start(props);\n bailIfEnded(bailSignal);\n\n if (state.paused) {\n await new Promise(resume => {\n state.resumeQueue.add(resume);\n });\n }\n\n return result;\n })();\n };\n\n let result;\n\n if (Globals.skipAnimation) {\n stopAsync(state);\n return getFinishedResult(target, false);\n }\n\n try {\n let animating;\n\n if (is.arr(to)) {\n animating = (async queue => {\n for (const props of queue) {\n await animate(props);\n }\n })(to);\n } else {\n animating = Promise.resolve(to(animate, target.stop.bind(target)));\n }\n\n await Promise.all([animating.then(preventBail), bailPromise]);\n result = getFinishedResult(target.get(), true, false);\n } catch (err) {\n if (err instanceof BailSignal) {\n result = err.result;\n } else if (err instanceof SkipAnimationSignal) {\n result = err.result;\n } else {\n throw err;\n }\n } finally {\n if (callId == state.asyncId) {\n state.asyncId = parentId;\n state.asyncTo = parentId ? prevTo : undefined;\n state.promise = parentId ? prevPromise : undefined;\n }\n }\n\n if (is.fun(onRest)) {\n raf.batchedUpdates(() => {\n onRest(result, target, target.item);\n });\n }\n\n return result;\n })();\n}\nfunction stopAsync(state, cancelId) {\n flush(state.timeouts, t => t.cancel());\n state.pauseQueue.clear();\n state.resumeQueue.clear();\n state.asyncId = state.asyncTo = state.promise = undefined;\n if (cancelId) state.cancelId = cancelId;\n}\nclass BailSignal extends Error {\n constructor() {\n super('An async animation has been interrupted. You see this error because you ' + 'forgot to use `await` or `.catch(...)` on its returned promise.');\n this.result = void 0;\n }\n\n}\nclass SkipAnimationSignal extends Error {\n constructor() {\n super('SkipAnimationSignal');\n this.result = void 0;\n }\n\n}\n\nconst isFrameValue = value => value instanceof FrameValue;\nlet nextId$1 = 1;\nclass FrameValue extends FluidValue {\n constructor(...args) {\n super(...args);\n this.id = nextId$1++;\n this.key = void 0;\n this._priority = 0;\n }\n\n get priority() {\n return this._priority;\n }\n\n set priority(priority) {\n if (this._priority != priority) {\n this._priority = priority;\n\n this._onPriorityChange(priority);\n }\n }\n\n get() {\n const node = getAnimated(this);\n return node && node.getValue();\n }\n\n to(...args) {\n return Globals.to(this, args);\n }\n\n interpolate(...args) {\n deprecateInterpolate();\n return Globals.to(this, args);\n }\n\n toJSON() {\n return this.get();\n }\n\n observerAdded(count) {\n if (count == 1) this._attach();\n }\n\n observerRemoved(count) {\n if (count == 0) this._detach();\n }\n\n _attach() {}\n\n _detach() {}\n\n _onChange(value, idle = false) {\n callFluidObservers(this, {\n type: 'change',\n parent: this,\n value,\n idle\n });\n }\n\n _onPriorityChange(priority) {\n if (!this.idle) {\n frameLoop.sort(this);\n }\n\n callFluidObservers(this, {\n type: 'priority',\n parent: this,\n priority\n });\n }\n\n}\n\nconst $P = Symbol.for('SpringPhase');\nconst HAS_ANIMATED = 1;\nconst IS_ANIMATING = 2;\nconst IS_PAUSED = 4;\nconst hasAnimated = target => (target[$P] & HAS_ANIMATED) > 0;\nconst isAnimating = target => (target[$P] & IS_ANIMATING) > 0;\nconst isPaused = target => (target[$P] & IS_PAUSED) > 0;\nconst setActiveBit = (target, active) => active ? target[$P] |= IS_ANIMATING | HAS_ANIMATED : target[$P] &= ~IS_ANIMATING;\nconst setPausedBit = (target, paused) => paused ? target[$P] |= IS_PAUSED : target[$P] &= ~IS_PAUSED;\n\nclass SpringValue extends FrameValue {\n constructor(arg1, arg2) {\n super();\n this.key = void 0;\n this.animation = new Animation();\n this.queue = void 0;\n this.defaultProps = {};\n this._state = {\n paused: false,\n delayed: false,\n pauseQueue: new Set(),\n resumeQueue: new Set(),\n timeouts: new Set()\n };\n this._pendingCalls = new Set();\n this._lastCallId = 0;\n this._lastToId = 0;\n this._memoizedDuration = 0;\n\n if (!is.und(arg1) || !is.und(arg2)) {\n const props = is.obj(arg1) ? _extends({}, arg1) : _extends({}, arg2, {\n from: arg1\n });\n\n if (is.und(props.default)) {\n props.default = true;\n }\n\n this.start(props);\n }\n }\n\n get idle() {\n return !(isAnimating(this) || this._state.asyncTo) || isPaused(this);\n }\n\n get goal() {\n return getFluidValue(this.animation.to);\n }\n\n get velocity() {\n const node = getAnimated(this);\n return node instanceof AnimatedValue ? node.lastVelocity || 0 : node.getPayload().map(node => node.lastVelocity || 0);\n }\n\n get hasAnimated() {\n return hasAnimated(this);\n }\n\n get isAnimating() {\n return isAnimating(this);\n }\n\n get isPaused() {\n return isPaused(this);\n }\n\n get isDelayed() {\n return this._state.delayed;\n }\n\n advance(dt) {\n let idle = true;\n let changed = false;\n const anim = this.animation;\n let {\n config,\n toValues\n } = anim;\n const payload = getPayload(anim.to);\n\n if (!payload && hasFluidValue(anim.to)) {\n toValues = toArray(getFluidValue(anim.to));\n }\n\n anim.values.forEach((node, i) => {\n if (node.done) return;\n const to = node.constructor == AnimatedString ? 1 : payload ? payload[i].lastPosition : toValues[i];\n let finished = anim.immediate;\n let position = to;\n\n if (!finished) {\n position = node.lastPosition;\n\n if (config.tension <= 0) {\n node.done = true;\n return;\n }\n\n let elapsed = node.elapsedTime += dt;\n const from = anim.fromValues[i];\n const v0 = node.v0 != null ? node.v0 : node.v0 = is.arr(config.velocity) ? config.velocity[i] : config.velocity;\n let velocity;\n const precision = config.precision || (from == to ? 0.005 : Math.min(1, Math.abs(to - from) * 0.001));\n\n if (!is.und(config.duration)) {\n let p = 1;\n\n if (config.duration > 0) {\n if (this._memoizedDuration !== config.duration) {\n this._memoizedDuration = config.duration;\n\n if (node.durationProgress > 0) {\n node.elapsedTime = config.duration * node.durationProgress;\n elapsed = node.elapsedTime += dt;\n }\n }\n\n p = (config.progress || 0) + elapsed / this._memoizedDuration;\n p = p > 1 ? 1 : p < 0 ? 0 : p;\n node.durationProgress = p;\n }\n\n position = from + config.easing(p) * (to - from);\n velocity = (position - node.lastPosition) / dt;\n finished = p == 1;\n } else if (config.decay) {\n const decay = config.decay === true ? 0.998 : config.decay;\n const e = Math.exp(-(1 - decay) * elapsed);\n position = from + v0 / (1 - decay) * (1 - e);\n finished = Math.abs(node.lastPosition - position) <= precision;\n velocity = v0 * e;\n } else {\n velocity = node.lastVelocity == null ? v0 : node.lastVelocity;\n const restVelocity = config.restVelocity || precision / 10;\n const bounceFactor = config.clamp ? 0 : config.bounce;\n const canBounce = !is.und(bounceFactor);\n const isGrowing = from == to ? node.v0 > 0 : from < to;\n let isMoving;\n let isBouncing = false;\n const step = 1;\n const numSteps = Math.ceil(dt / step);\n\n for (let n = 0; n < numSteps; ++n) {\n isMoving = Math.abs(velocity) > restVelocity;\n\n if (!isMoving) {\n finished = Math.abs(to - position) <= precision;\n\n if (finished) {\n break;\n }\n }\n\n if (canBounce) {\n isBouncing = position == to || position > to == isGrowing;\n\n if (isBouncing) {\n velocity = -velocity * bounceFactor;\n position = to;\n }\n }\n\n const springForce = -config.tension * 0.000001 * (position - to);\n const dampingForce = -config.friction * 0.001 * velocity;\n const acceleration = (springForce + dampingForce) / config.mass;\n velocity = velocity + acceleration * step;\n position = position + velocity * step;\n }\n }\n\n node.lastVelocity = velocity;\n\n if (Number.isNaN(position)) {\n console.warn(`Got NaN while animating:`, this);\n finished = true;\n }\n }\n\n if (payload && !payload[i].done) {\n finished = false;\n }\n\n if (finished) {\n node.done = true;\n } else {\n idle = false;\n }\n\n if (node.setValue(position, config.round)) {\n changed = true;\n }\n });\n const node = getAnimated(this);\n const currVal = node.getValue();\n\n if (idle) {\n const finalVal = getFluidValue(anim.to);\n\n if ((currVal !== finalVal || changed) && !config.decay) {\n node.setValue(finalVal);\n\n this._onChange(finalVal);\n } else if (changed && config.decay) {\n this._onChange(currVal);\n }\n\n this._stop();\n } else if (changed) {\n this._onChange(currVal);\n }\n }\n\n set(value) {\n raf.batchedUpdates(() => {\n this._stop();\n\n this._focus(value);\n\n this._set(value);\n });\n return this;\n }\n\n pause() {\n this._update({\n pause: true\n });\n }\n\n resume() {\n this._update({\n pause: false\n });\n }\n\n finish() {\n if (isAnimating(this)) {\n const {\n to,\n config\n } = this.animation;\n raf.batchedUpdates(() => {\n this._onStart();\n\n if (!config.decay) {\n this._set(to, false);\n }\n\n this._stop();\n });\n }\n\n return this;\n }\n\n update(props) {\n const queue = this.queue || (this.queue = []);\n queue.push(props);\n return this;\n }\n\n start(to, arg2) {\n let queue;\n\n if (!is.und(to)) {\n queue = [is.obj(to) ? to : _extends({}, arg2, {\n to\n })];\n } else {\n queue = this.queue || [];\n this.queue = [];\n }\n\n return Promise.all(queue.map(props => {\n const up = this._update(props);\n\n return up;\n })).then(results => getCombinedResult(this, results));\n }\n\n stop(cancel) {\n const {\n to\n } = this.animation;\n\n this._focus(this.get());\n\n stopAsync(this._state, cancel && this._lastCallId);\n raf.batchedUpdates(() => this._stop(to, cancel));\n return this;\n }\n\n reset() {\n this._update({\n reset: true\n });\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n this._start();\n } else if (event.type == 'priority') {\n this.priority = event.priority + 1;\n }\n }\n\n _prepareNode(props) {\n const key = this.key || '';\n let {\n to,\n from\n } = props;\n to = is.obj(to) ? to[key] : to;\n\n if (to == null || isAsyncTo(to)) {\n to = undefined;\n }\n\n from = is.obj(from) ? from[key] : from;\n\n if (from == null) {\n from = undefined;\n }\n\n const range = {\n to,\n from\n };\n\n if (!hasAnimated(this)) {\n if (props.reverse) [to, from] = [from, to];\n from = getFluidValue(from);\n\n if (!is.und(from)) {\n this._set(from);\n } else if (!getAnimated(this)) {\n this._set(to);\n }\n }\n\n return range;\n }\n\n _update(_ref, isLoop) {\n let props = _extends({}, _ref);\n\n const {\n key,\n defaultProps\n } = this;\n if (props.default) Object.assign(defaultProps, getDefaultProps(props, (value, prop) => /^on/.test(prop) ? resolveProp(value, key) : value));\n mergeActiveFn(this, props, 'onProps');\n sendEvent(this, 'onProps', props, this);\n\n const range = this._prepareNode(props);\n\n if (Object.isFrozen(this)) {\n throw Error('Cannot animate a `SpringValue` object that is frozen. ' + 'Did you forget to pass your component to `animated(...)` before animating its props?');\n }\n\n const state = this._state;\n return scheduleProps(++this._lastCallId, {\n key,\n props,\n defaultProps,\n state,\n actions: {\n pause: () => {\n if (!isPaused(this)) {\n setPausedBit(this, true);\n flushCalls(state.pauseQueue);\n sendEvent(this, 'onPause', getFinishedResult(this, checkFinished(this, this.animation.to)), this);\n }\n },\n resume: () => {\n if (isPaused(this)) {\n setPausedBit(this, false);\n\n if (isAnimating(this)) {\n this._resume();\n }\n\n flushCalls(state.resumeQueue);\n sendEvent(this, 'onResume', getFinishedResult(this, checkFinished(this, this.animation.to)), this);\n }\n },\n start: this._merge.bind(this, range)\n }\n }).then(result => {\n if (props.loop && result.finished && !(isLoop && result.noop)) {\n const nextProps = createLoopUpdate(props);\n\n if (nextProps) {\n return this._update(nextProps, true);\n }\n }\n\n return result;\n });\n }\n\n _merge(range, props, resolve) {\n if (props.cancel) {\n this.stop(true);\n return resolve(getCancelledResult(this));\n }\n\n const hasToProp = !is.und(range.to);\n const hasFromProp = !is.und(range.from);\n\n if (hasToProp || hasFromProp) {\n if (props.callId > this._lastToId) {\n this._lastToId = props.callId;\n } else {\n return resolve(getCancelledResult(this));\n }\n }\n\n const {\n key,\n defaultProps,\n animation: anim\n } = this;\n const {\n to: prevTo,\n from: prevFrom\n } = anim;\n let {\n to = prevTo,\n from = prevFrom\n } = range;\n\n if (hasFromProp && !hasToProp && (!props.default || is.und(to))) {\n to = from;\n }\n\n if (props.reverse) [to, from] = [from, to];\n const hasFromChanged = !isEqual(from, prevFrom);\n\n if (hasFromChanged) {\n anim.from = from;\n }\n\n from = getFluidValue(from);\n const hasToChanged = !isEqual(to, prevTo);\n\n if (hasToChanged) {\n this._focus(to);\n }\n\n const hasAsyncTo = isAsyncTo(props.to);\n const {\n config\n } = anim;\n const {\n decay,\n velocity\n } = config;\n\n if (hasToProp || hasFromProp) {\n config.velocity = 0;\n }\n\n if (props.config && !hasAsyncTo) {\n mergeConfig(config, callProp(props.config, key), props.config !== defaultProps.config ? callProp(defaultProps.config, key) : void 0);\n }\n\n let node = getAnimated(this);\n\n if (!node || is.und(to)) {\n return resolve(getFinishedResult(this, true));\n }\n\n const reset = is.und(props.reset) ? hasFromProp && !props.default : !is.und(from) && matchProp(props.reset, key);\n const value = reset ? from : this.get();\n const goal = computeGoal(to);\n const isAnimatable = is.num(goal) || is.arr(goal) || isAnimatedString(goal);\n const immediate = !hasAsyncTo && (!isAnimatable || matchProp(defaultProps.immediate || props.immediate, key));\n\n if (hasToChanged) {\n const nodeType = getAnimatedType(to);\n\n if (nodeType !== node.constructor) {\n if (immediate) {\n node = this._set(goal);\n } else throw Error(`Cannot animate between ${node.constructor.name} and ${nodeType.name}, as the \"to\" prop suggests`);\n }\n }\n\n const goalType = node.constructor;\n let started = hasFluidValue(to);\n let finished = false;\n\n if (!started) {\n const hasValueChanged = reset || !hasAnimated(this) && hasFromChanged;\n\n if (hasToChanged || hasValueChanged) {\n finished = isEqual(computeGoal(value), goal);\n started = !finished;\n }\n\n if (!isEqual(anim.immediate, immediate) && !immediate || !isEqual(config.decay, decay) || !isEqual(config.velocity, velocity)) {\n started = true;\n }\n }\n\n if (finished && isAnimating(this)) {\n if (anim.changed && !reset) {\n started = true;\n } else if (!started) {\n this._stop(prevTo);\n }\n }\n\n if (!hasAsyncTo) {\n if (started || hasFluidValue(prevTo)) {\n anim.values = node.getPayload();\n anim.toValues = hasFluidValue(to) ? null : goalType == AnimatedString ? [1] : toArray(goal);\n }\n\n if (anim.immediate != immediate) {\n anim.immediate = immediate;\n\n if (!immediate && !reset) {\n this._set(prevTo);\n }\n }\n\n if (started) {\n const {\n onRest\n } = anim;\n each(ACTIVE_EVENTS, type => mergeActiveFn(this, props, type));\n const result = getFinishedResult(this, checkFinished(this, prevTo));\n flushCalls(this._pendingCalls, result);\n\n this._pendingCalls.add(resolve);\n\n if (anim.changed) raf.batchedUpdates(() => {\n anim.changed = !reset;\n onRest == null ? void 0 : onRest(result, this);\n\n if (reset) {\n callProp(defaultProps.onRest, result);\n } else {\n anim.onStart == null ? void 0 : anim.onStart(result, this);\n }\n });\n }\n }\n\n if (reset) {\n this._set(value);\n }\n\n if (hasAsyncTo) {\n resolve(runAsync(props.to, props, this._state, this));\n } else if (started) {\n this._start();\n } else if (isAnimating(this) && !hasToChanged) {\n this._pendingCalls.add(resolve);\n } else {\n resolve(getNoopResult(value));\n }\n }\n\n _focus(value) {\n const anim = this.animation;\n\n if (value !== anim.to) {\n if (getFluidObservers(this)) {\n this._detach();\n }\n\n anim.to = value;\n\n if (getFluidObservers(this)) {\n this._attach();\n }\n }\n }\n\n _attach() {\n let priority = 0;\n const {\n to\n } = this.animation;\n\n if (hasFluidValue(to)) {\n addFluidObserver(to, this);\n\n if (isFrameValue(to)) {\n priority = to.priority + 1;\n }\n }\n\n this.priority = priority;\n }\n\n _detach() {\n const {\n to\n } = this.animation;\n\n if (hasFluidValue(to)) {\n removeFluidObserver(to, this);\n }\n }\n\n _set(arg, idle = true) {\n const value = getFluidValue(arg);\n\n if (!is.und(value)) {\n const oldNode = getAnimated(this);\n\n if (!oldNode || !isEqual(value, oldNode.getValue())) {\n const nodeType = getAnimatedType(value);\n\n if (!oldNode || oldNode.constructor != nodeType) {\n setAnimated(this, nodeType.create(value));\n } else {\n oldNode.setValue(value);\n }\n\n if (oldNode) {\n raf.batchedUpdates(() => {\n this._onChange(value, idle);\n });\n }\n }\n }\n\n return getAnimated(this);\n }\n\n _onStart() {\n const anim = this.animation;\n\n if (!anim.changed) {\n anim.changed = true;\n sendEvent(this, 'onStart', getFinishedResult(this, checkFinished(this, anim.to)), this);\n }\n }\n\n _onChange(value, idle) {\n if (!idle) {\n this._onStart();\n\n callProp(this.animation.onChange, value, this);\n }\n\n callProp(this.defaultProps.onChange, value, this);\n\n super._onChange(value, idle);\n }\n\n _start() {\n const anim = this.animation;\n getAnimated(this).reset(getFluidValue(anim.to));\n\n if (!anim.immediate) {\n anim.fromValues = anim.values.map(node => node.lastPosition);\n }\n\n if (!isAnimating(this)) {\n setActiveBit(this, true);\n\n if (!isPaused(this)) {\n this._resume();\n }\n }\n }\n\n _resume() {\n if (Globals.skipAnimation) {\n this.finish();\n } else {\n frameLoop.start(this);\n }\n }\n\n _stop(goal, cancel) {\n if (isAnimating(this)) {\n setActiveBit(this, false);\n const anim = this.animation;\n each(anim.values, node => {\n node.done = true;\n });\n\n if (anim.toValues) {\n anim.onChange = anim.onPause = anim.onResume = undefined;\n }\n\n callFluidObservers(this, {\n type: 'idle',\n parent: this\n });\n const result = cancel ? getCancelledResult(this.get()) : getFinishedResult(this.get(), checkFinished(this, goal != null ? goal : anim.to));\n flushCalls(this._pendingCalls, result);\n\n if (anim.changed) {\n anim.changed = false;\n sendEvent(this, 'onRest', result, this);\n }\n }\n }\n\n}\n\nfunction checkFinished(target, to) {\n const goal = computeGoal(to);\n const value = computeGoal(target.get());\n return isEqual(value, goal);\n}\n\nfunction createLoopUpdate(props, loop = props.loop, to = props.to) {\n let loopRet = callProp(loop);\n\n if (loopRet) {\n const overrides = loopRet !== true && inferTo(loopRet);\n const reverse = (overrides || props).reverse;\n const reset = !overrides || overrides.reset;\n return createUpdate(_extends({}, props, {\n loop,\n default: false,\n pause: undefined,\n to: !reverse || isAsyncTo(to) ? to : undefined,\n from: reset ? props.from : undefined,\n reset\n }, overrides));\n }\n}\nfunction createUpdate(props) {\n const {\n to,\n from\n } = props = inferTo(props);\n const keys = new Set();\n if (is.obj(to)) findDefined(to, keys);\n if (is.obj(from)) findDefined(from, keys);\n props.keys = keys.size ? Array.from(keys) : null;\n return props;\n}\nfunction declareUpdate(props) {\n const update = createUpdate(props);\n\n if (is.und(update.default)) {\n update.default = getDefaultProps(update);\n }\n\n return update;\n}\n\nfunction findDefined(values, keys) {\n eachProp(values, (value, key) => value != null && keys.add(key));\n}\n\nconst ACTIVE_EVENTS = ['onStart', 'onRest', 'onChange', 'onPause', 'onResume'];\n\nfunction mergeActiveFn(target, props, type) {\n target.animation[type] = props[type] !== getDefaultProp(props, type) ? resolveProp(props[type], target.key) : undefined;\n}\n\nfunction sendEvent(target, type, ...args) {\n var _target$animation$typ, _target$animation, _target$defaultProps$, _target$defaultProps;\n\n (_target$animation$typ = (_target$animation = target.animation)[type]) == null ? void 0 : _target$animation$typ.call(_target$animation, ...args);\n (_target$defaultProps$ = (_target$defaultProps = target.defaultProps)[type]) == null ? void 0 : _target$defaultProps$.call(_target$defaultProps, ...args);\n}\n\nconst BATCHED_EVENTS = ['onStart', 'onChange', 'onRest'];\nlet nextId = 1;\nclass Controller {\n constructor(props, flush) {\n this.id = nextId++;\n this.springs = {};\n this.queue = [];\n this.ref = void 0;\n this._flush = void 0;\n this._initialProps = void 0;\n this._lastAsyncId = 0;\n this._active = new Set();\n this._changed = new Set();\n this._started = false;\n this._item = void 0;\n this._state = {\n paused: false,\n pauseQueue: new Set(),\n resumeQueue: new Set(),\n timeouts: new Set()\n };\n this._events = {\n onStart: new Map(),\n onChange: new Map(),\n onRest: new Map()\n };\n this._onFrame = this._onFrame.bind(this);\n\n if (flush) {\n this._flush = flush;\n }\n\n if (props) {\n this.start(_extends({\n default: true\n }, props));\n }\n }\n\n get idle() {\n return !this._state.asyncTo && Object.values(this.springs).every(spring => {\n return spring.idle && !spring.isDelayed && !spring.isPaused;\n });\n }\n\n get item() {\n return this._item;\n }\n\n set item(item) {\n this._item = item;\n }\n\n get() {\n const values = {};\n this.each((spring, key) => values[key] = spring.get());\n return values;\n }\n\n set(values) {\n for (const key in values) {\n const value = values[key];\n\n if (!is.und(value)) {\n this.springs[key].set(value);\n }\n }\n }\n\n update(props) {\n if (props) {\n this.queue.push(createUpdate(props));\n }\n\n return this;\n }\n\n start(props) {\n let {\n queue\n } = this;\n\n if (props) {\n queue = toArray(props).map(createUpdate);\n } else {\n this.queue = [];\n }\n\n if (this._flush) {\n return this._flush(this, queue);\n }\n\n prepareKeys(this, queue);\n return flushUpdateQueue(this, queue);\n }\n\n stop(arg, keys) {\n if (arg !== !!arg) {\n keys = arg;\n }\n\n if (keys) {\n const springs = this.springs;\n each(toArray(keys), key => springs[key].stop(!!arg));\n } else {\n stopAsync(this._state, this._lastAsyncId);\n this.each(spring => spring.stop(!!arg));\n }\n\n return this;\n }\n\n pause(keys) {\n if (is.und(keys)) {\n this.start({\n pause: true\n });\n } else {\n const springs = this.springs;\n each(toArray(keys), key => springs[key].pause());\n }\n\n return this;\n }\n\n resume(keys) {\n if (is.und(keys)) {\n this.start({\n pause: false\n });\n } else {\n const springs = this.springs;\n each(toArray(keys), key => springs[key].resume());\n }\n\n return this;\n }\n\n each(iterator) {\n eachProp(this.springs, iterator);\n }\n\n _onFrame() {\n const {\n onStart,\n onChange,\n onRest\n } = this._events;\n const active = this._active.size > 0;\n const changed = this._changed.size > 0;\n\n if (active && !this._started || changed && !this._started) {\n this._started = true;\n flush(onStart, ([onStart, result]) => {\n result.value = this.get();\n onStart(result, this, this._item);\n });\n }\n\n const idle = !active && this._started;\n const values = changed || idle && onRest.size ? this.get() : null;\n\n if (changed && onChange.size) {\n flush(onChange, ([onChange, result]) => {\n result.value = values;\n onChange(result, this, this._item);\n });\n }\n\n if (idle) {\n this._started = false;\n flush(onRest, ([onRest, result]) => {\n result.value = values;\n onRest(result, this, this._item);\n });\n }\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n this._changed.add(event.parent);\n\n if (!event.idle) {\n this._active.add(event.parent);\n }\n } else if (event.type == 'idle') {\n this._active.delete(event.parent);\n } else return;\n\n raf.onFrame(this._onFrame);\n }\n\n}\nfunction flushUpdateQueue(ctrl, queue) {\n return Promise.all(queue.map(props => flushUpdate(ctrl, props))).then(results => getCombinedResult(ctrl, results));\n}\nasync function flushUpdate(ctrl, props, isLoop) {\n const {\n keys,\n to,\n from,\n loop,\n onRest,\n onResolve\n } = props;\n const defaults = is.obj(props.default) && props.default;\n\n if (loop) {\n props.loop = false;\n }\n\n if (to === false) props.to = null;\n if (from === false) props.from = null;\n const asyncTo = is.arr(to) || is.fun(to) ? to : undefined;\n\n if (asyncTo) {\n props.to = undefined;\n props.onRest = undefined;\n\n if (defaults) {\n defaults.onRest = undefined;\n }\n } else {\n each(BATCHED_EVENTS, key => {\n const handler = props[key];\n\n if (is.fun(handler)) {\n const queue = ctrl['_events'][key];\n\n props[key] = ({\n finished,\n cancelled\n }) => {\n const result = queue.get(handler);\n\n if (result) {\n if (!finished) result.finished = false;\n if (cancelled) result.cancelled = true;\n } else {\n queue.set(handler, {\n value: null,\n finished: finished || false,\n cancelled: cancelled || false\n });\n }\n };\n\n if (defaults) {\n defaults[key] = props[key];\n }\n }\n });\n }\n\n const state = ctrl['_state'];\n\n if (props.pause === !state.paused) {\n state.paused = props.pause;\n flushCalls(props.pause ? state.pauseQueue : state.resumeQueue);\n } else if (state.paused) {\n props.pause = true;\n }\n\n const promises = (keys || Object.keys(ctrl.springs)).map(key => ctrl.springs[key].start(props));\n const cancel = props.cancel === true || getDefaultProp(props, 'cancel') === true;\n\n if (asyncTo || cancel && state.asyncId) {\n promises.push(scheduleProps(++ctrl['_lastAsyncId'], {\n props,\n state,\n actions: {\n pause: noop,\n resume: noop,\n\n start(props, resolve) {\n if (cancel) {\n stopAsync(state, ctrl['_lastAsyncId']);\n resolve(getCancelledResult(ctrl));\n } else {\n props.onRest = onRest;\n resolve(runAsync(asyncTo, props, state, ctrl));\n }\n }\n\n }\n }));\n }\n\n if (state.paused) {\n await new Promise(resume => {\n state.resumeQueue.add(resume);\n });\n }\n\n const result = getCombinedResult(ctrl, await Promise.all(promises));\n\n if (loop && result.finished && !(isLoop && result.noop)) {\n const nextProps = createLoopUpdate(props, loop, to);\n\n if (nextProps) {\n prepareKeys(ctrl, [nextProps]);\n return flushUpdate(ctrl, nextProps, true);\n }\n }\n\n if (onResolve) {\n raf.batchedUpdates(() => onResolve(result, ctrl, ctrl.item));\n }\n\n return result;\n}\nfunction getSprings(ctrl, props) {\n const springs = _extends({}, ctrl.springs);\n\n if (props) {\n each(toArray(props), props => {\n if (is.und(props.keys)) {\n props = createUpdate(props);\n }\n\n if (!is.obj(props.to)) {\n props = _extends({}, props, {\n to: undefined\n });\n }\n\n prepareSprings(springs, props, key => {\n return createSpring(key);\n });\n });\n }\n\n setSprings(ctrl, springs);\n return springs;\n}\nfunction setSprings(ctrl, springs) {\n eachProp(springs, (spring, key) => {\n if (!ctrl.springs[key]) {\n ctrl.springs[key] = spring;\n addFluidObserver(spring, ctrl);\n }\n });\n}\n\nfunction createSpring(key, observer) {\n const spring = new SpringValue();\n spring.key = key;\n\n if (observer) {\n addFluidObserver(spring, observer);\n }\n\n return spring;\n}\n\nfunction prepareSprings(springs, props, create) {\n if (props.keys) {\n each(props.keys, key => {\n const spring = springs[key] || (springs[key] = create(key));\n spring['_prepareNode'](props);\n });\n }\n}\n\nfunction prepareKeys(ctrl, queue) {\n each(queue, props => {\n prepareSprings(ctrl.springs, props, key => {\n return createSpring(key, ctrl);\n });\n });\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nconst _excluded$6 = [\"children\"];\nconst SpringContext = _ref => {\n let {\n children\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$6);\n\n const inherited = useContext(ctx);\n const pause = props.pause || !!inherited.pause,\n immediate = props.immediate || !!inherited.immediate;\n props = useMemoOne(() => ({\n pause,\n immediate\n }), [pause, immediate]);\n const {\n Provider\n } = ctx;\n return React.createElement(Provider, {\n value: props\n }, children);\n};\nconst ctx = makeContext(SpringContext, {});\nSpringContext.Provider = ctx.Provider;\nSpringContext.Consumer = ctx.Consumer;\n\nfunction makeContext(target, init) {\n Object.assign(target, React.createContext(init));\n target.Provider._context = target;\n target.Consumer._context = target;\n return target;\n}\n\nconst SpringRef = () => {\n const current = [];\n\n const SpringRef = function SpringRef(props) {\n deprecateDirectCall();\n const results = [];\n each(current, (ctrl, i) => {\n if (is.und(props)) {\n results.push(ctrl.start());\n } else {\n const update = _getProps(props, ctrl, i);\n\n if (update) {\n results.push(ctrl.start(update));\n }\n }\n });\n return results;\n };\n\n SpringRef.current = current;\n\n SpringRef.add = function (ctrl) {\n if (!current.includes(ctrl)) {\n current.push(ctrl);\n }\n };\n\n SpringRef.delete = function (ctrl) {\n const i = current.indexOf(ctrl);\n if (~i) current.splice(i, 1);\n };\n\n SpringRef.pause = function () {\n each(current, ctrl => ctrl.pause(...arguments));\n return this;\n };\n\n SpringRef.resume = function () {\n each(current, ctrl => ctrl.resume(...arguments));\n return this;\n };\n\n SpringRef.set = function (values) {\n each(current, ctrl => ctrl.set(values));\n };\n\n SpringRef.start = function (props) {\n const results = [];\n each(current, (ctrl, i) => {\n if (is.und(props)) {\n results.push(ctrl.start());\n } else {\n const update = this._getProps(props, ctrl, i);\n\n if (update) {\n results.push(ctrl.start(update));\n }\n }\n });\n return results;\n };\n\n SpringRef.stop = function () {\n each(current, ctrl => ctrl.stop(...arguments));\n return this;\n };\n\n SpringRef.update = function (props) {\n each(current, (ctrl, i) => ctrl.update(this._getProps(props, ctrl, i)));\n return this;\n };\n\n const _getProps = function _getProps(arg, ctrl, index) {\n return is.fun(arg) ? arg(index, ctrl) : arg;\n };\n\n SpringRef._getProps = _getProps;\n return SpringRef;\n};\n\nfunction useSprings(length, props, deps) {\n const propsFn = is.fun(props) && props;\n if (propsFn && !deps) deps = [];\n const ref = useMemo(() => propsFn || arguments.length == 3 ? SpringRef() : void 0, []);\n const layoutId = useRef(0);\n const forceUpdate = useForceUpdate();\n const state = useMemo(() => ({\n ctrls: [],\n queue: [],\n\n flush(ctrl, updates) {\n const springs = getSprings(ctrl, updates);\n const canFlushSync = layoutId.current > 0 && !state.queue.length && !Object.keys(springs).some(key => !ctrl.springs[key]);\n return canFlushSync ? flushUpdateQueue(ctrl, updates) : new Promise(resolve => {\n setSprings(ctrl, springs);\n state.queue.push(() => {\n resolve(flushUpdateQueue(ctrl, updates));\n });\n forceUpdate();\n });\n }\n\n }), []);\n const ctrls = useRef([...state.ctrls]);\n const updates = [];\n const prevLength = usePrev(length) || 0;\n useMemo(() => {\n each(ctrls.current.slice(length, prevLength), ctrl => {\n detachRefs(ctrl, ref);\n ctrl.stop(true);\n });\n ctrls.current.length = length;\n declareUpdates(prevLength, length);\n }, [length]);\n useMemo(() => {\n declareUpdates(0, Math.min(prevLength, length));\n }, deps);\n\n function declareUpdates(startIndex, endIndex) {\n for (let i = startIndex; i < endIndex; i++) {\n const ctrl = ctrls.current[i] || (ctrls.current[i] = new Controller(null, state.flush));\n const update = propsFn ? propsFn(i, ctrl) : props[i];\n\n if (update) {\n updates[i] = declareUpdate(update);\n }\n }\n }\n\n const springs = ctrls.current.map((ctrl, i) => getSprings(ctrl, updates[i]));\n const context = useContext(SpringContext);\n const prevContext = usePrev(context);\n const hasContext = context !== prevContext && hasProps(context);\n useIsomorphicLayoutEffect(() => {\n layoutId.current++;\n state.ctrls = ctrls.current;\n const {\n queue\n } = state;\n\n if (queue.length) {\n state.queue = [];\n each(queue, cb => cb());\n }\n\n each(ctrls.current, (ctrl, i) => {\n ref == null ? void 0 : ref.add(ctrl);\n\n if (hasContext) {\n ctrl.start({\n default: context\n });\n }\n\n const update = updates[i];\n\n if (update) {\n replaceRef(ctrl, update.ref);\n\n if (ctrl.ref) {\n ctrl.queue.push(update);\n } else {\n ctrl.start(update);\n }\n }\n });\n });\n useOnce(() => () => {\n each(state.ctrls, ctrl => ctrl.stop(true));\n });\n const values = springs.map(x => _extends({}, x));\n return ref ? [values, ref] : values;\n}\n\nfunction useSpring(props, deps) {\n const isFn = is.fun(props);\n const [[values], ref] = useSprings(1, isFn ? props : [props], isFn ? deps || [] : deps);\n return isFn || arguments.length == 2 ? [values, ref] : values;\n}\n\nconst initSpringRef = () => SpringRef();\n\nconst useSpringRef = () => useState(initSpringRef)[0];\n\nconst useSpringValue = (initial, props) => {\n const springValue = useConstant(() => new SpringValue(initial, props));\n useOnce(() => () => {\n springValue.stop();\n });\n return springValue;\n};\n\nfunction useTrail(length, propsArg, deps) {\n const propsFn = is.fun(propsArg) && propsArg;\n if (propsFn && !deps) deps = [];\n let reverse = true;\n let passedRef = undefined;\n const result = useSprings(length, (i, ctrl) => {\n const props = propsFn ? propsFn(i, ctrl) : propsArg;\n passedRef = props.ref;\n reverse = reverse && props.reverse;\n return props;\n }, deps || [{}]);\n useIsomorphicLayoutEffect(() => {\n each(result[1].current, (ctrl, i) => {\n const parent = result[1].current[i + (reverse ? 1 : -1)];\n replaceRef(ctrl, passedRef);\n\n if (ctrl.ref) {\n if (parent) {\n ctrl.update({\n to: parent.springs\n });\n }\n\n return;\n }\n\n if (parent) {\n ctrl.start({\n to: parent.springs\n });\n } else {\n ctrl.start();\n }\n });\n }, deps);\n\n if (propsFn || arguments.length == 3) {\n var _passedRef;\n\n const ref = (_passedRef = passedRef) != null ? _passedRef : result[1];\n\n ref['_getProps'] = (propsArg, ctrl, i) => {\n const props = is.fun(propsArg) ? propsArg(i, ctrl) : propsArg;\n\n if (props) {\n const parent = ref.current[i + (props.reverse ? 1 : -1)];\n if (parent) props.to = parent.springs;\n return props;\n }\n };\n\n return result;\n }\n\n return result[0];\n}\n\nlet TransitionPhase;\n\n(function (TransitionPhase) {\n TransitionPhase[\"MOUNT\"] = \"mount\";\n TransitionPhase[\"ENTER\"] = \"enter\";\n TransitionPhase[\"UPDATE\"] = \"update\";\n TransitionPhase[\"LEAVE\"] = \"leave\";\n})(TransitionPhase || (TransitionPhase = {}));\n\nfunction useTransition(data, props, deps) {\n const propsFn = is.fun(props) && props;\n const {\n reset,\n sort,\n trail = 0,\n expires = true,\n exitBeforeEnter = false,\n onDestroyed,\n ref: propsRef,\n config: propsConfig\n } = propsFn ? propsFn() : props;\n const ref = useMemo(() => propsFn || arguments.length == 3 ? SpringRef() : void 0, []);\n const items = toArray(data);\n const transitions = [];\n const usedTransitions = useRef(null);\n const prevTransitions = reset ? null : usedTransitions.current;\n useIsomorphicLayoutEffect(() => {\n usedTransitions.current = transitions;\n });\n useOnce(() => {\n each(transitions, t => {\n ref == null ? void 0 : ref.add(t.ctrl);\n t.ctrl.ref = ref;\n });\n return () => {\n each(usedTransitions.current, t => {\n if (t.expired) {\n clearTimeout(t.expirationId);\n }\n\n detachRefs(t.ctrl, ref);\n t.ctrl.stop(true);\n });\n };\n });\n const keys = getKeys(items, propsFn ? propsFn() : props, prevTransitions);\n const expired = reset && usedTransitions.current || [];\n useIsomorphicLayoutEffect(() => each(expired, ({\n ctrl,\n item,\n key\n }) => {\n detachRefs(ctrl, ref);\n callProp(onDestroyed, item, key);\n }));\n const reused = [];\n if (prevTransitions) each(prevTransitions, (t, i) => {\n if (t.expired) {\n clearTimeout(t.expirationId);\n expired.push(t);\n } else {\n i = reused[i] = keys.indexOf(t.key);\n if (~i) transitions[i] = t;\n }\n });\n each(items, (item, i) => {\n if (!transitions[i]) {\n transitions[i] = {\n key: keys[i],\n item,\n phase: TransitionPhase.MOUNT,\n ctrl: new Controller()\n };\n transitions[i].ctrl.item = item;\n }\n });\n\n if (reused.length) {\n let i = -1;\n const {\n leave\n } = propsFn ? propsFn() : props;\n each(reused, (keyIndex, prevIndex) => {\n const t = prevTransitions[prevIndex];\n\n if (~keyIndex) {\n i = transitions.indexOf(t);\n transitions[i] = _extends({}, t, {\n item: items[keyIndex]\n });\n } else if (leave) {\n transitions.splice(++i, 0, t);\n }\n });\n }\n\n if (is.fun(sort)) {\n transitions.sort((a, b) => sort(a.item, b.item));\n }\n\n let delay = -trail;\n const forceUpdate = useForceUpdate();\n const defaultProps = getDefaultProps(props);\n const changes = new Map();\n const exitingTransitions = useRef(new Map());\n const forceChange = useRef(false);\n each(transitions, (t, i) => {\n const key = t.key;\n const prevPhase = t.phase;\n const p = propsFn ? propsFn() : props;\n let to;\n let phase;\n let propsDelay = callProp(p.delay || 0, key);\n\n if (prevPhase == TransitionPhase.MOUNT) {\n to = p.enter;\n phase = TransitionPhase.ENTER;\n } else {\n const isLeave = keys.indexOf(key) < 0;\n\n if (prevPhase != TransitionPhase.LEAVE) {\n if (isLeave) {\n to = p.leave;\n phase = TransitionPhase.LEAVE;\n } else if (to = p.update) {\n phase = TransitionPhase.UPDATE;\n } else return;\n } else if (!isLeave) {\n to = p.enter;\n phase = TransitionPhase.ENTER;\n } else return;\n }\n\n to = callProp(to, t.item, i);\n to = is.obj(to) ? inferTo(to) : {\n to\n };\n\n if (!to.config) {\n const config = propsConfig || defaultProps.config;\n to.config = callProp(config, t.item, i, phase);\n }\n\n delay += trail;\n\n const payload = _extends({}, defaultProps, {\n delay: propsDelay + delay,\n ref: propsRef,\n immediate: p.immediate,\n reset: false\n }, to);\n\n if (phase == TransitionPhase.ENTER && is.und(payload.from)) {\n const _p = propsFn ? propsFn() : props;\n\n const from = is.und(_p.initial) || prevTransitions ? _p.from : _p.initial;\n payload.from = callProp(from, t.item, i);\n }\n\n const {\n onResolve\n } = payload;\n\n payload.onResolve = result => {\n callProp(onResolve, result);\n const transitions = usedTransitions.current;\n const t = transitions.find(t => t.key === key);\n if (!t) return;\n\n if (result.cancelled && t.phase != TransitionPhase.UPDATE) {\n return;\n }\n\n if (t.ctrl.idle) {\n const idle = transitions.every(t => t.ctrl.idle);\n\n if (t.phase == TransitionPhase.LEAVE) {\n const expiry = callProp(expires, t.item);\n\n if (expiry !== false) {\n const expiryMs = expiry === true ? 0 : expiry;\n t.expired = true;\n\n if (!idle && expiryMs > 0) {\n if (expiryMs <= 0x7fffffff) t.expirationId = setTimeout(forceUpdate, expiryMs);\n return;\n }\n }\n }\n\n if (idle && transitions.some(t => t.expired)) {\n exitingTransitions.current.delete(t);\n\n if (exitBeforeEnter) {\n forceChange.current = true;\n }\n\n forceUpdate();\n }\n }\n };\n\n const springs = getSprings(t.ctrl, payload);\n\n if (phase === TransitionPhase.LEAVE && exitBeforeEnter) {\n exitingTransitions.current.set(t, {\n phase,\n springs,\n payload\n });\n } else {\n changes.set(t, {\n phase,\n springs,\n payload\n });\n }\n });\n const context = useContext(SpringContext);\n const prevContext = usePrev(context);\n const hasContext = context !== prevContext && hasProps(context);\n useIsomorphicLayoutEffect(() => {\n if (hasContext) {\n each(transitions, t => {\n t.ctrl.start({\n default: context\n });\n });\n }\n }, [context]);\n each(changes, (_, t) => {\n if (exitingTransitions.current.size) {\n const ind = transitions.findIndex(state => state.key === t.key);\n transitions.splice(ind, 1);\n }\n });\n useIsomorphicLayoutEffect(() => {\n each(exitingTransitions.current.size ? exitingTransitions.current : changes, ({\n phase,\n payload\n }, t) => {\n const {\n ctrl\n } = t;\n t.phase = phase;\n ref == null ? void 0 : ref.add(ctrl);\n\n if (hasContext && phase == TransitionPhase.ENTER) {\n ctrl.start({\n default: context\n });\n }\n\n if (payload) {\n replaceRef(ctrl, payload.ref);\n\n if ((ctrl.ref || ref) && !forceChange.current) {\n ctrl.update(payload);\n } else {\n ctrl.start(payload);\n\n if (forceChange.current) {\n forceChange.current = false;\n }\n }\n }\n });\n }, reset ? void 0 : deps);\n\n const renderTransitions = render => React.createElement(React.Fragment, null, transitions.map((t, i) => {\n const {\n springs\n } = changes.get(t) || t.ctrl;\n const elem = render(_extends({}, springs), t.item, t, i);\n return elem && elem.type ? React.createElement(elem.type, _extends({}, elem.props, {\n key: is.str(t.key) || is.num(t.key) ? t.key : t.ctrl.id,\n ref: elem.ref\n })) : elem;\n }));\n\n return ref ? [renderTransitions, ref] : renderTransitions;\n}\nlet nextKey = 1;\n\nfunction getKeys(items, {\n key,\n keys = key\n}, prevTransitions) {\n if (keys === null) {\n const reused = new Set();\n return items.map(item => {\n const t = prevTransitions && prevTransitions.find(t => t.item === item && t.phase !== TransitionPhase.LEAVE && !reused.has(t));\n\n if (t) {\n reused.add(t);\n return t.key;\n }\n\n return nextKey++;\n });\n }\n\n return is.und(keys) ? items : is.fun(keys) ? items.map(keys) : toArray(keys);\n}\n\nconst _excluded$5 = [\"container\"];\nconst useScroll = (_ref = {}) => {\n let {\n container\n } = _ref,\n springOptions = _objectWithoutPropertiesLoose(_ref, _excluded$5);\n\n const [scrollValues, api] = useSpring(() => _extends({\n scrollX: 0,\n scrollY: 0,\n scrollXProgress: 0,\n scrollYProgress: 0\n }, springOptions), []);\n useIsomorphicLayoutEffect(() => {\n const cleanupScroll = onScroll(({\n x,\n y\n }) => {\n api.start({\n scrollX: x.current,\n scrollXProgress: x.progress,\n scrollY: y.current,\n scrollYProgress: y.progress\n });\n }, {\n container: (container == null ? void 0 : container.current) || undefined\n });\n return () => {\n each(Object.values(scrollValues), value => value.stop());\n cleanupScroll();\n };\n }, []);\n return scrollValues;\n};\n\nconst _excluded$4 = [\"container\"];\nconst useResize = _ref => {\n let {\n container\n } = _ref,\n springOptions = _objectWithoutPropertiesLoose(_ref, _excluded$4);\n\n const [sizeValues, api] = useSpring(() => _extends({\n width: 0,\n height: 0\n }, springOptions), []);\n useIsomorphicLayoutEffect(() => {\n const cleanupScroll = onResize(({\n width,\n height\n }) => {\n api.start({\n width,\n height,\n immediate: sizeValues.width.get() === 0 || sizeValues.height.get() === 0\n });\n }, {\n container: (container == null ? void 0 : container.current) || undefined\n });\n return () => {\n each(Object.values(sizeValues), value => value.stop());\n cleanupScroll();\n };\n }, []);\n return sizeValues;\n};\n\nconst _excluded$3 = [\"to\", \"from\"],\n _excluded2 = [\"root\", \"once\", \"amount\"];\nconst defaultThresholdOptions = {\n any: 0,\n all: 1\n};\nfunction useInView(props, args) {\n const [isInView, setIsInView] = useState(false);\n const ref = useRef();\n const propsFn = is.fun(props) && props;\n const springsProps = propsFn ? propsFn() : {};\n\n const {\n to = {},\n from = {}\n } = springsProps,\n restSpringProps = _objectWithoutPropertiesLoose(springsProps, _excluded$3);\n\n const intersectionArguments = propsFn ? args : props;\n const [springs, api] = useSpring(() => _extends({\n from\n }, restSpringProps), []);\n useIsomorphicLayoutEffect(() => {\n const element = ref.current;\n\n const _ref = intersectionArguments != null ? intersectionArguments : {},\n {\n root,\n once,\n amount = 'any'\n } = _ref,\n restArgs = _objectWithoutPropertiesLoose(_ref, _excluded2);\n\n if (!element || once && isInView || typeof IntersectionObserver === 'undefined') return;\n const activeIntersections = new WeakMap();\n\n const onEnter = () => {\n if (to) {\n api.start(to);\n }\n\n setIsInView(true);\n\n const cleanup = () => {\n if (from) {\n api.start(from);\n }\n\n setIsInView(false);\n };\n\n return once ? undefined : cleanup;\n };\n\n const handleIntersection = entries => {\n entries.forEach(entry => {\n const onLeave = activeIntersections.get(entry.target);\n\n if (entry.isIntersecting === Boolean(onLeave)) {\n return;\n }\n\n if (entry.isIntersecting) {\n const newOnLeave = onEnter();\n\n if (is.fun(newOnLeave)) {\n activeIntersections.set(entry.target, newOnLeave);\n } else {\n observer.unobserve(entry.target);\n }\n } else if (onLeave) {\n onLeave();\n activeIntersections.delete(entry.target);\n }\n });\n };\n\n const observer = new IntersectionObserver(handleIntersection, _extends({\n root: root && root.current || undefined,\n threshold: typeof amount === 'number' || Array.isArray(amount) ? amount : defaultThresholdOptions[amount]\n }, restArgs));\n observer.observe(element);\n return () => observer.unobserve(element);\n }, [intersectionArguments]);\n\n if (propsFn) {\n return [ref, springs];\n }\n\n return [ref, isInView];\n}\n\nconst _excluded$2 = [\"children\"];\nfunction Spring(_ref) {\n let {\n children\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2);\n\n return children(useSpring(props));\n}\n\nconst _excluded$1 = [\"items\", \"children\"];\nfunction Trail(_ref) {\n let {\n items,\n children\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1);\n\n const trails = useTrail(items.length, props);\n return items.map((item, index) => {\n const result = children(item, index);\n return is.fun(result) ? result(trails[index]) : result;\n });\n}\n\nconst _excluded = [\"items\", \"children\"];\nfunction Transition(_ref) {\n let {\n items,\n children\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n return useTransition(items, props)(children);\n}\n\nclass Interpolation extends FrameValue {\n constructor(source, args) {\n super();\n this.key = void 0;\n this.idle = true;\n this.calc = void 0;\n this._active = new Set();\n this.source = source;\n this.calc = createInterpolator(...args);\n\n const value = this._get();\n\n const nodeType = getAnimatedType(value);\n setAnimated(this, nodeType.create(value));\n }\n\n advance(_dt) {\n const value = this._get();\n\n const oldValue = this.get();\n\n if (!isEqual(value, oldValue)) {\n getAnimated(this).setValue(value);\n\n this._onChange(value, this.idle);\n }\n\n if (!this.idle && checkIdle(this._active)) {\n becomeIdle(this);\n }\n }\n\n _get() {\n const inputs = is.arr(this.source) ? this.source.map(getFluidValue) : toArray(getFluidValue(this.source));\n return this.calc(...inputs);\n }\n\n _start() {\n if (this.idle && !checkIdle(this._active)) {\n this.idle = false;\n each(getPayload(this), node => {\n node.done = false;\n });\n\n if (Globals.skipAnimation) {\n raf.batchedUpdates(() => this.advance());\n becomeIdle(this);\n } else {\n frameLoop.start(this);\n }\n }\n }\n\n _attach() {\n let priority = 1;\n each(toArray(this.source), source => {\n if (hasFluidValue(source)) {\n addFluidObserver(source, this);\n }\n\n if (isFrameValue(source)) {\n if (!source.idle) {\n this._active.add(source);\n }\n\n priority = Math.max(priority, source.priority + 1);\n }\n });\n this.priority = priority;\n\n this._start();\n }\n\n _detach() {\n each(toArray(this.source), source => {\n if (hasFluidValue(source)) {\n removeFluidObserver(source, this);\n }\n });\n\n this._active.clear();\n\n becomeIdle(this);\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n if (event.idle) {\n this.advance();\n } else {\n this._active.add(event.parent);\n\n this._start();\n }\n } else if (event.type == 'idle') {\n this._active.delete(event.parent);\n } else if (event.type == 'priority') {\n this.priority = toArray(this.source).reduce((highest, parent) => Math.max(highest, (isFrameValue(parent) ? parent.priority : 0) + 1), 0);\n }\n }\n\n}\n\nfunction isIdle(source) {\n return source.idle !== false;\n}\n\nfunction checkIdle(active) {\n return !active.size || Array.from(active).every(isIdle);\n}\n\nfunction becomeIdle(self) {\n if (!self.idle) {\n self.idle = true;\n each(getPayload(self), node => {\n node.done = true;\n });\n callFluidObservers(self, {\n type: 'idle',\n parent: self\n });\n }\n}\n\nconst to = (source, ...args) => new Interpolation(source, args);\nconst interpolate = (source, ...args) => (deprecateInterpolate(), new Interpolation(source, args));\n\nGlobals.assign({\n createStringInterpolator,\n to: (source, args) => new Interpolation(source, args)\n});\nconst update = frameLoop.advance;\n\nexport { BailSignal, Controller, FrameValue, Interpolation, Spring, SpringContext, SpringRef, SpringValue, Trail, Transition, config, inferTo, interpolate, to, update, useChain, useInView, useResize, useScroll, useSpring, useSpringRef, useSpringValue, useSprings, useTrail, useTransition };\n","import { Globals } from '@react-spring/core';\nexport * from '@react-spring/core';\nimport { unstable_batchedUpdates } from 'react-dom';\nimport { eachProp, is, toArray, FluidValue, each, getFluidValue, hasFluidValue, addFluidObserver, removeFluidObserver, callFluidObservers, createStringInterpolator, colors } from '@react-spring/shared';\nimport { AnimatedObject, createHost } from '@react-spring/animated';\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nconst _excluded$2 = [\"style\", \"children\", \"scrollTop\", \"scrollLeft\", \"viewBox\"];\nconst isCustomPropRE = /^--/;\n\nfunction dangerousStyleValue(name, value) {\n if (value == null || typeof value === 'boolean' || value === '') return '';\n if (typeof value === 'number' && value !== 0 && !isCustomPropRE.test(name) && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + 'px';\n return ('' + value).trim();\n}\n\nconst attributeCache = {};\nfunction applyAnimatedValues(instance, props) {\n if (!instance.nodeType || !instance.setAttribute) {\n return false;\n }\n\n const isFilterElement = instance.nodeName === 'filter' || instance.parentNode && instance.parentNode.nodeName === 'filter';\n\n const _ref = props,\n {\n style,\n children,\n scrollTop,\n scrollLeft,\n viewBox\n } = _ref,\n attributes = _objectWithoutPropertiesLoose(_ref, _excluded$2);\n\n const values = Object.values(attributes);\n const names = Object.keys(attributes).map(name => isFilterElement || instance.hasAttribute(name) ? name : attributeCache[name] || (attributeCache[name] = name.replace(/([A-Z])/g, n => '-' + n.toLowerCase())));\n\n if (children !== void 0) {\n instance.textContent = children;\n }\n\n for (let name in style) {\n if (style.hasOwnProperty(name)) {\n const value = dangerousStyleValue(name, style[name]);\n\n if (isCustomPropRE.test(name)) {\n instance.style.setProperty(name, value);\n } else {\n instance.style[name] = value;\n }\n }\n }\n\n names.forEach((name, i) => {\n instance.setAttribute(name, values[i]);\n });\n\n if (scrollTop !== void 0) {\n instance.scrollTop = scrollTop;\n }\n\n if (scrollLeft !== void 0) {\n instance.scrollLeft = scrollLeft;\n }\n\n if (viewBox !== void 0) {\n instance.setAttribute('viewBox', viewBox);\n }\n}\nlet isUnitlessNumber = {\n animationIterationCount: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n\nconst prefixKey = (prefix, key) => prefix + key.charAt(0).toUpperCase() + key.substring(1);\n\nconst prefixes = ['Webkit', 'Ms', 'Moz', 'O'];\nisUnitlessNumber = Object.keys(isUnitlessNumber).reduce((acc, prop) => {\n prefixes.forEach(prefix => acc[prefixKey(prefix, prop)] = acc[prop]);\n return acc;\n}, isUnitlessNumber);\n\nconst _excluded$1 = [\"x\", \"y\", \"z\"];\nconst domTransforms = /^(matrix|translate|scale|rotate|skew)/;\nconst pxTransforms = /^(translate)/;\nconst degTransforms = /^(rotate|skew)/;\n\nconst addUnit = (value, unit) => is.num(value) && value !== 0 ? value + unit : value;\n\nconst isValueIdentity = (value, id) => is.arr(value) ? value.every(v => isValueIdentity(v, id)) : is.num(value) ? value === id : parseFloat(value) === id;\n\nclass AnimatedStyle extends AnimatedObject {\n constructor(_ref) {\n let {\n x,\n y,\n z\n } = _ref,\n style = _objectWithoutPropertiesLoose(_ref, _excluded$1);\n\n const inputs = [];\n const transforms = [];\n\n if (x || y || z) {\n inputs.push([x || 0, y || 0, z || 0]);\n transforms.push(xyz => [`translate3d(${xyz.map(v => addUnit(v, 'px')).join(',')})`, isValueIdentity(xyz, 0)]);\n }\n\n eachProp(style, (value, key) => {\n if (key === 'transform') {\n inputs.push([value || '']);\n transforms.push(transform => [transform, transform === '']);\n } else if (domTransforms.test(key)) {\n delete style[key];\n if (is.und(value)) return;\n const unit = pxTransforms.test(key) ? 'px' : degTransforms.test(key) ? 'deg' : '';\n inputs.push(toArray(value));\n transforms.push(key === 'rotate3d' ? ([x, y, z, deg]) => [`rotate3d(${x},${y},${z},${addUnit(deg, unit)})`, isValueIdentity(deg, 0)] : input => [`${key}(${input.map(v => addUnit(v, unit)).join(',')})`, isValueIdentity(input, key.startsWith('scale') ? 1 : 0)]);\n }\n });\n\n if (inputs.length) {\n style.transform = new FluidTransform(inputs, transforms);\n }\n\n super(style);\n }\n\n}\n\nclass FluidTransform extends FluidValue {\n constructor(inputs, transforms) {\n super();\n this._value = null;\n this.inputs = inputs;\n this.transforms = transforms;\n }\n\n get() {\n return this._value || (this._value = this._get());\n }\n\n _get() {\n let transform = '';\n let identity = true;\n each(this.inputs, (input, i) => {\n const arg1 = getFluidValue(input[0]);\n const [t, id] = this.transforms[i](is.arr(arg1) ? arg1 : input.map(getFluidValue));\n transform += ' ' + t;\n identity = identity && id;\n });\n return identity ? 'none' : transform;\n }\n\n observerAdded(count) {\n if (count == 1) each(this.inputs, input => each(input, value => hasFluidValue(value) && addFluidObserver(value, this)));\n }\n\n observerRemoved(count) {\n if (count == 0) each(this.inputs, input => each(input, value => hasFluidValue(value) && removeFluidObserver(value, this)));\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n this._value = null;\n }\n\n callFluidObservers(this, event);\n }\n\n}\n\nconst primitives = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', 'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nconst _excluded = [\"scrollTop\", \"scrollLeft\"];\nGlobals.assign({\n batchedUpdates: unstable_batchedUpdates,\n createStringInterpolator,\n colors\n});\nconst host = createHost(primitives, {\n applyAnimatedValues,\n createAnimatedStyle: style => new AnimatedStyle(style),\n getComponentProps: _ref => {\n let props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n return props;\n }\n});\nconst animated = host.animated;\n\nexport { animated as a, animated };\n","import { createPortal } from 'react-dom';\nimport { resolveContainer } from './get-container';\nimport { canUseDom } from './can-use-dom';\nexport function renderToContainer(getContainer, node) {\n if (canUseDom && getContainer) {\n const container = resolveContainer(getContainer);\n return createPortal(node, container);\n }\n return node;\n}","export function resolveContainer(getContainer) {\n const container = typeof getContainer === 'function' ? getContainer() : getContainer;\n return container || document.body;\n}","import { useInitialized } from './use-initialized';\nexport const ShouldRender = props => {\n const shouldRender = useShouldRender(props.active, props.forceRender, props.destroyOnClose);\n return shouldRender ? props.children : null;\n};\nexport function useShouldRender(active, forceRender, destroyOnClose) {\n const initialized = useInitialized(active);\n if (forceRender) return true;\n if (active) return true;\n if (!initialized) return false;\n return !destroyOnClose;\n}","import { useRef } from 'react';\nexport function useInitialized(check) {\n const initializedRef = useRef(check);\n if (check) {\n initializedRef.current = true;\n }\n return !!initializedRef.current;\n}","import React from 'react';\nconst eventToPropRecord = {\n 'click': 'onClick',\n 'touchstart': 'onTouchStart'\n};\nexport function withStopPropagation(events, element) {\n const props = Object.assign({}, element.props);\n for (const key of events) {\n const prop = eventToPropRecord[key];\n props[prop] = function (e) {\n var _a, _b;\n e.stopPropagation();\n (_b = (_a = element.props)[prop]) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n };\n }\n return React.cloneElement(element, props);\n}","import { withNativeProps } from '../../utils/native-props';\nimport React, { useMemo, useRef, useState } from 'react';\nimport { useUnmountedRef } from 'ahooks';\nimport { useLockScroll } from '../../utils/use-lock-scroll';\nimport { useSpring, animated } from '@react-spring/web';\nimport { renderToContainer } from '../../utils/render-to-container';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { useConfig } from '../config-provider';\nimport { ShouldRender } from '../../utils/should-render';\nimport { withStopPropagation } from '../../utils/with-stop-propagation';\nconst classPrefix = `adm-mask`;\nconst opacityRecord = {\n default: 0.55,\n thin: 0.35,\n thick: 0.75\n};\nconst colorRecord = {\n black: '0, 0, 0',\n white: '255, 255, 255'\n};\nconst defaultProps = {\n visible: true,\n destroyOnClose: false,\n forceRender: false,\n color: 'black',\n opacity: 'default',\n disableBodyScroll: true,\n getContainer: null,\n stopPropagation: ['click']\n};\nexport const Mask = p => {\n const props = mergeProps(defaultProps, p);\n const {\n locale\n } = useConfig();\n const ref = useRef(null);\n useLockScroll(ref, props.visible && props.disableBodyScroll);\n const background = useMemo(() => {\n var _a;\n const opacity = (_a = opacityRecord[props.opacity]) !== null && _a !== void 0 ? _a : props.opacity;\n const rgb = colorRecord[props.color];\n return rgb ? `rgba(${rgb}, ${opacity})` : props.color;\n }, [props.color, props.opacity]);\n const [active, setActive] = useState(props.visible);\n const unmountedRef = useUnmountedRef();\n const {\n opacity\n } = useSpring({\n opacity: props.visible ? 1 : 0,\n config: {\n precision: 0.01,\n mass: 1,\n tension: 250,\n friction: 30,\n clamp: true\n },\n onStart: () => {\n setActive(true);\n },\n onRest: () => {\n var _a, _b;\n if (unmountedRef.current) return;\n setActive(props.visible);\n if (props.visible) {\n (_a = props.afterShow) === null || _a === void 0 ? void 0 : _a.call(props);\n } else {\n (_b = props.afterClose) === null || _b === void 0 ? void 0 : _b.call(props);\n }\n }\n });\n const node = withStopPropagation(props.stopPropagation, withNativeProps(props, React.createElement(animated.div, {\n className: classPrefix,\n ref: ref,\n \"aria-hidden\": true,\n style: Object.assign(Object.assign({}, props.style), {\n background,\n opacity,\n display: active ? undefined : 'none'\n }),\n onClick: e => {\n var _a;\n if (e.target === e.currentTarget) {\n (_a = props.onMaskClick) === null || _a === void 0 ? void 0 : _a.call(props, e);\n }\n }\n }, props.onMaskClick && React.createElement(\"div\", {\n className: `${classPrefix}-aria-button`,\n role: 'button',\n \"aria-label\": locale.Mask.name,\n onClick: props.onMaskClick\n }), React.createElement(\"div\", {\n className: `${classPrefix}-content`\n }, props.children))));\n return React.createElement(ShouldRender, {\n active: active,\n forceRender: props.forceRender,\n destroyOnClose: props.destroyOnClose\n }, renderToContainer(props.getContainer, node));\n};","import * as React from \"react\";\n\nfunction RightOutline(props) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 48 48\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\"\n }, props, {\n style: Object.assign({\n verticalAlign: '-0.125em'\n }, props.style),\n className: ['antd-mobile-icon', props.className].filter(Boolean).join(' ')\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"RightOutline-RightOutline\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"RightOutline-RightOutlined\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"RightOutline-\\u77E9\\u5F62\",\n fill: \"#FFFFFF\",\n opacity: 0,\n x: 0,\n y: 0,\n width: 48,\n height: 48\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.3947957,5.11219264 L35.5767382,22.6612572 L35.5767382,22.6612572 C36.1304785,23.2125856 36.1630514,24.0863155 35.6744571,24.6755735 L35.5767382,24.7825775 L17.3956061,42.8834676 C17.320643,42.9580998 17.2191697,43 17.1133896,43 L13.9866673,43 C13.7657534,43 13.5866673,42.8209139 13.5866673,42.6 C13.5866673,42.4936115 13.6290496,42.391606 13.7044413,42.316542 L32.3201933,23.7816937 L32.3201933,23.7816937 L13.7237117,5.6866816 C13.5653818,5.53262122 13.5619207,5.27937888 13.7159811,5.121049 C13.7912854,5.04365775 13.8946805,5 14.0026627,5 L17.1170064,5 C17.2206403,5 17.3202292,5.04022164 17.3947957,5.11219264 Z\",\n id: \"RightOutline-right\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }))));\n}\n\nexport default RightOutline;","import React from 'react';\nimport { CloseOutline } from 'antd-mobile-icons';\nexport const defaultPopupBaseProps = {\n closeOnMaskClick: false,\n closeIcon: React.createElement(CloseOutline, null),\n destroyOnClose: false,\n disableBodyScroll: true,\n forceRender: false,\n getContainer: () => document.body,\n mask: true,\n showCloseButton: false,\n stopPropagation: ['click'],\n visible: false\n};","import * as React from \"react\";\n\nfunction CloseOutline(props) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 48 48\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\"\n }, props, {\n style: Object.assign({\n verticalAlign: '-0.125em'\n }, props.style),\n className: ['antd-mobile-icon', props.className].filter(Boolean).join(' ')\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"CloseOutline-CloseOutline\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"CloseOutline-\\u7F16\\u7EC4\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"CloseOutline-\\u77E9\\u5F62\",\n fill: \"#FFFFFF\",\n opacity: 0,\n x: 0,\n y: 0,\n width: 48,\n height: 48\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.6085104,8.11754663 L24.1768397,21.8195031 L24.1768397,21.8195031 L37.7443031,8.1175556 C37.8194278,8.04168616 37.9217669,7.999 38.0285372,7.999 L41.1040268,7.999 C41.3249407,7.999 41.5040268,8.1780861 41.5040268,8.399 C41.5040268,8.50440471 41.4624226,8.60554929 41.3882578,8.68044752 L26.2773302,23.9408235 L26.2773302,23.9408235 L41.5021975,39.3175645 C41.65763,39.4745475 41.6563731,39.7278104 41.4993901,39.8832429 C41.4244929,39.9574004 41.3233534,39.999 41.2179546,39.999 L38.1434012,39.999 C38.0366291,39.999 37.9342885,39.9563124 37.8591634,39.8804408 L24.1768397,26.0621438 L24.1768397,26.0621438 L10.4936501,39.8804497 C10.4185257,39.9563159 10.3161889,39.999 10.2094212,39.999 L7.13584526,39.999 C6.91493136,39.999 6.73584526,39.8199139 6.73584526,39.599 C6.73584526,39.4936017 6.77744443,39.3924627 6.85160121,39.3175656 L22.0763492,23.9408235 L22.0763492,23.9408235 L6.96554081,8.68044639 C6.81010226,8.52346929 6.81134951,8.27020637 6.9683266,8.11476782 C7.04322474,8.04060377 7.14436883,7.999 7.24977299,7.999 L10.3242852,7.999 C10.4310511,7.999 10.5333863,8.04168267 10.6085104,8.11754663 Z\",\n id: \"CloseOutline-\\u8DEF\\u5F84\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }))));\n}\n\nexport default CloseOutline;","function clamp(v, min, max) {\n return Math.max(min, Math.min(v, max));\n}\nconst V = {\n toVector(v, fallback) {\n if (v === undefined) v = fallback;\n return Array.isArray(v) ? v : [v, v];\n },\n add(v1, v2) {\n return [v1[0] + v2[0], v1[1] + v2[1]];\n },\n sub(v1, v2) {\n return [v1[0] - v2[0], v1[1] - v2[1]];\n },\n addTo(v1, v2) {\n v1[0] += v2[0];\n v1[1] += v2[1];\n },\n subTo(v1, v2) {\n v1[0] -= v2[0];\n v1[1] -= v2[1];\n }\n};\nfunction rubberband(distance, dimension, constant) {\n if (dimension === 0 || Math.abs(dimension) === Infinity) return Math.pow(distance, constant * 5);\n return distance * dimension * constant / (dimension + constant * distance);\n}\nfunction rubberbandIfOutOfBounds(position, min, max, constant = 0.15) {\n if (constant === 0) return clamp(position, min, max);\n if (position < min) return -rubberband(min - position, max - min, constant) + min;\n if (position > max) return +rubberband(position - max, max - min, constant) + max;\n return position;\n}\nfunction computeRubberband(bounds, [Vx, Vy], [Rx, Ry]) {\n const [[X0, X1], [Y0, Y1]] = bounds;\n return [rubberbandIfOutOfBounds(Vx, X0, X1, Rx), rubberbandIfOutOfBounds(Vy, Y0, Y1, Ry)];\n}\n\nexport { V, computeRubberband as c, rubberbandIfOutOfBounds as r };\n","import { V, c as computeRubberband } from './maths-0ab39ae9.esm.js';\n\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\n\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\n\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\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 return obj;\n}\n\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\n\nconst EVENT_TYPE_MAP = {\n pointer: {\n start: 'down',\n change: 'move',\n end: 'up'\n },\n mouse: {\n start: 'down',\n change: 'move',\n end: 'up'\n },\n touch: {\n start: 'start',\n change: 'move',\n end: 'end'\n },\n gesture: {\n start: 'start',\n change: 'change',\n end: 'end'\n }\n};\nfunction capitalize(string) {\n if (!string) return '';\n return string[0].toUpperCase() + string.slice(1);\n}\nconst actionsWithoutCaptureSupported = ['enter', 'leave'];\nfunction hasCapture(capture = false, actionKey) {\n return capture && !actionsWithoutCaptureSupported.includes(actionKey);\n}\nfunction toHandlerProp(device, action = '', capture = false) {\n const deviceProps = EVENT_TYPE_MAP[device];\n const actionKey = deviceProps ? deviceProps[action] || action : action;\n return 'on' + capitalize(device) + capitalize(actionKey) + (hasCapture(capture, actionKey) ? 'Capture' : '');\n}\nconst pointerCaptureEvents = ['gotpointercapture', 'lostpointercapture'];\nfunction parseProp(prop) {\n let eventKey = prop.substring(2).toLowerCase();\n const passive = !!~eventKey.indexOf('passive');\n if (passive) eventKey = eventKey.replace('passive', '');\n const captureKey = pointerCaptureEvents.includes(eventKey) ? 'capturecapture' : 'capture';\n const capture = !!~eventKey.indexOf(captureKey);\n if (capture) eventKey = eventKey.replace('capture', '');\n return {\n device: eventKey,\n capture,\n passive\n };\n}\nfunction toDomEventType(device, action = '') {\n const deviceProps = EVENT_TYPE_MAP[device];\n const actionKey = deviceProps ? deviceProps[action] || action : action;\n return device + actionKey;\n}\nfunction isTouch(event) {\n return 'touches' in event;\n}\nfunction getPointerType(event) {\n if (isTouch(event)) return 'touch';\n if ('pointerType' in event) return event.pointerType;\n return 'mouse';\n}\nfunction getCurrentTargetTouchList(event) {\n return Array.from(event.touches).filter(e => {\n var _event$currentTarget, _event$currentTarget$;\n return e.target === event.currentTarget || ((_event$currentTarget = event.currentTarget) === null || _event$currentTarget === void 0 || (_event$currentTarget$ = _event$currentTarget.contains) === null || _event$currentTarget$ === void 0 ? void 0 : _event$currentTarget$.call(_event$currentTarget, e.target));\n });\n}\nfunction getTouchList(event) {\n return event.type === 'touchend' || event.type === 'touchcancel' ? event.changedTouches : event.targetTouches;\n}\nfunction getValueEvent(event) {\n return isTouch(event) ? getTouchList(event)[0] : event;\n}\nfunction distanceAngle(P1, P2) {\n try {\n const dx = P2.clientX - P1.clientX;\n const dy = P2.clientY - P1.clientY;\n const cx = (P2.clientX + P1.clientX) / 2;\n const cy = (P2.clientY + P1.clientY) / 2;\n const distance = Math.hypot(dx, dy);\n const angle = -(Math.atan2(dx, dy) * 180) / Math.PI;\n const origin = [cx, cy];\n return {\n angle,\n distance,\n origin\n };\n } catch (_unused) {}\n return null;\n}\nfunction touchIds(event) {\n return getCurrentTargetTouchList(event).map(touch => touch.identifier);\n}\nfunction touchDistanceAngle(event, ids) {\n const [P1, P2] = Array.from(event.touches).filter(touch => ids.includes(touch.identifier));\n return distanceAngle(P1, P2);\n}\nfunction pointerId(event) {\n const valueEvent = getValueEvent(event);\n return isTouch(event) ? valueEvent.identifier : valueEvent.pointerId;\n}\nfunction pointerValues(event) {\n const valueEvent = getValueEvent(event);\n return [valueEvent.clientX, valueEvent.clientY];\n}\nconst LINE_HEIGHT = 40;\nconst PAGE_HEIGHT = 800;\nfunction wheelValues(event) {\n let {\n deltaX,\n deltaY,\n deltaMode\n } = event;\n if (deltaMode === 1) {\n deltaX *= LINE_HEIGHT;\n deltaY *= LINE_HEIGHT;\n } else if (deltaMode === 2) {\n deltaX *= PAGE_HEIGHT;\n deltaY *= PAGE_HEIGHT;\n }\n return [deltaX, deltaY];\n}\nfunction scrollValues(event) {\n var _ref, _ref2;\n const {\n scrollX,\n scrollY,\n scrollLeft,\n scrollTop\n } = event.currentTarget;\n return [(_ref = scrollX !== null && scrollX !== void 0 ? scrollX : scrollLeft) !== null && _ref !== void 0 ? _ref : 0, (_ref2 = scrollY !== null && scrollY !== void 0 ? scrollY : scrollTop) !== null && _ref2 !== void 0 ? _ref2 : 0];\n}\nfunction getEventDetails(event) {\n const payload = {};\n if ('buttons' in event) payload.buttons = event.buttons;\n if ('shiftKey' in event) {\n const {\n shiftKey,\n altKey,\n metaKey,\n ctrlKey\n } = event;\n Object.assign(payload, {\n shiftKey,\n altKey,\n metaKey,\n ctrlKey\n });\n }\n return payload;\n}\n\nfunction call(v, ...args) {\n if (typeof v === 'function') {\n return v(...args);\n } else {\n return v;\n }\n}\nfunction noop() {}\nfunction chain(...fns) {\n if (fns.length === 0) return noop;\n if (fns.length === 1) return fns[0];\n return function () {\n let result;\n for (const fn of fns) {\n result = fn.apply(this, arguments) || result;\n }\n return result;\n };\n}\nfunction assignDefault(value, fallback) {\n return Object.assign({}, fallback, value || {});\n}\n\nconst BEFORE_LAST_KINEMATICS_DELAY = 32;\nclass Engine {\n constructor(ctrl, args, key) {\n this.ctrl = ctrl;\n this.args = args;\n this.key = key;\n if (!this.state) {\n this.state = {};\n this.computeValues([0, 0]);\n this.computeInitial();\n if (this.init) this.init();\n this.reset();\n }\n }\n get state() {\n return this.ctrl.state[this.key];\n }\n set state(state) {\n this.ctrl.state[this.key] = state;\n }\n get shared() {\n return this.ctrl.state.shared;\n }\n get eventStore() {\n return this.ctrl.gestureEventStores[this.key];\n }\n get timeoutStore() {\n return this.ctrl.gestureTimeoutStores[this.key];\n }\n get config() {\n return this.ctrl.config[this.key];\n }\n get sharedConfig() {\n return this.ctrl.config.shared;\n }\n get handler() {\n return this.ctrl.handlers[this.key];\n }\n reset() {\n const {\n state,\n shared,\n ingKey,\n args\n } = this;\n shared[ingKey] = state._active = state.active = state._blocked = state._force = false;\n state._step = [false, false];\n state.intentional = false;\n state._movement = [0, 0];\n state._distance = [0, 0];\n state._direction = [0, 0];\n state._delta = [0, 0];\n state._bounds = [[-Infinity, Infinity], [-Infinity, Infinity]];\n state.args = args;\n state.axis = undefined;\n state.memo = undefined;\n state.elapsedTime = state.timeDelta = 0;\n state.direction = [0, 0];\n state.distance = [0, 0];\n state.overflow = [0, 0];\n state._movementBound = [false, false];\n state.velocity = [0, 0];\n state.movement = [0, 0];\n state.delta = [0, 0];\n state.timeStamp = 0;\n }\n start(event) {\n const state = this.state;\n const config = this.config;\n if (!state._active) {\n this.reset();\n this.computeInitial();\n state._active = true;\n state.target = event.target;\n state.currentTarget = event.currentTarget;\n state.lastOffset = config.from ? call(config.from, state) : state.offset;\n state.offset = state.lastOffset;\n state.startTime = state.timeStamp = event.timeStamp;\n }\n }\n computeValues(values) {\n const state = this.state;\n state._values = values;\n state.values = this.config.transform(values);\n }\n computeInitial() {\n const state = this.state;\n state._initial = state._values;\n state.initial = state.values;\n }\n compute(event) {\n const {\n state,\n config,\n shared\n } = this;\n state.args = this.args;\n let dt = 0;\n if (event) {\n state.event = event;\n if (config.preventDefault && event.cancelable) state.event.preventDefault();\n state.type = event.type;\n shared.touches = this.ctrl.pointerIds.size || this.ctrl.touchIds.size;\n shared.locked = !!document.pointerLockElement;\n Object.assign(shared, getEventDetails(event));\n shared.down = shared.pressed = shared.buttons % 2 === 1 || shared.touches > 0;\n dt = event.timeStamp - state.timeStamp;\n state.timeStamp = event.timeStamp;\n state.elapsedTime = state.timeStamp - state.startTime;\n }\n if (state._active) {\n const _absoluteDelta = state._delta.map(Math.abs);\n V.addTo(state._distance, _absoluteDelta);\n }\n if (this.axisIntent) this.axisIntent(event);\n const [_m0, _m1] = state._movement;\n const [t0, t1] = config.threshold;\n const {\n _step,\n values\n } = state;\n if (config.hasCustomTransform) {\n if (_step[0] === false) _step[0] = Math.abs(_m0) >= t0 && values[0];\n if (_step[1] === false) _step[1] = Math.abs(_m1) >= t1 && values[1];\n } else {\n if (_step[0] === false) _step[0] = Math.abs(_m0) >= t0 && Math.sign(_m0) * t0;\n if (_step[1] === false) _step[1] = Math.abs(_m1) >= t1 && Math.sign(_m1) * t1;\n }\n state.intentional = _step[0] !== false || _step[1] !== false;\n if (!state.intentional) return;\n const movement = [0, 0];\n if (config.hasCustomTransform) {\n const [v0, v1] = values;\n movement[0] = _step[0] !== false ? v0 - _step[0] : 0;\n movement[1] = _step[1] !== false ? v1 - _step[1] : 0;\n } else {\n movement[0] = _step[0] !== false ? _m0 - _step[0] : 0;\n movement[1] = _step[1] !== false ? _m1 - _step[1] : 0;\n }\n if (this.restrictToAxis && !state._blocked) this.restrictToAxis(movement);\n const previousOffset = state.offset;\n const gestureIsActive = state._active && !state._blocked || state.active;\n if (gestureIsActive) {\n state.first = state._active && !state.active;\n state.last = !state._active && state.active;\n state.active = shared[this.ingKey] = state._active;\n if (event) {\n if (state.first) {\n if ('bounds' in config) state._bounds = call(config.bounds, state);\n if (this.setup) this.setup();\n }\n state.movement = movement;\n this.computeOffset();\n }\n }\n const [ox, oy] = state.offset;\n const [[x0, x1], [y0, y1]] = state._bounds;\n state.overflow = [ox < x0 ? -1 : ox > x1 ? 1 : 0, oy < y0 ? -1 : oy > y1 ? 1 : 0];\n state._movementBound[0] = state.overflow[0] ? state._movementBound[0] === false ? state._movement[0] : state._movementBound[0] : false;\n state._movementBound[1] = state.overflow[1] ? state._movementBound[1] === false ? state._movement[1] : state._movementBound[1] : false;\n const rubberband = state._active ? config.rubberband || [0, 0] : [0, 0];\n state.offset = computeRubberband(state._bounds, state.offset, rubberband);\n state.delta = V.sub(state.offset, previousOffset);\n this.computeMovement();\n if (gestureIsActive && (!state.last || dt > BEFORE_LAST_KINEMATICS_DELAY)) {\n state.delta = V.sub(state.offset, previousOffset);\n const absoluteDelta = state.delta.map(Math.abs);\n V.addTo(state.distance, absoluteDelta);\n state.direction = state.delta.map(Math.sign);\n state._direction = state._delta.map(Math.sign);\n if (!state.first && dt > 0) {\n state.velocity = [absoluteDelta[0] / dt, absoluteDelta[1] / dt];\n state.timeDelta = dt;\n }\n }\n }\n emit() {\n const state = this.state;\n const shared = this.shared;\n const config = this.config;\n if (!state._active) this.clean();\n if ((state._blocked || !state.intentional) && !state._force && !config.triggerAllEvents) return;\n const memo = this.handler(_objectSpread2(_objectSpread2(_objectSpread2({}, shared), state), {}, {\n [this.aliasKey]: state.values\n }));\n if (memo !== undefined) state.memo = memo;\n }\n clean() {\n this.eventStore.clean();\n this.timeoutStore.clean();\n }\n}\n\nfunction selectAxis([dx, dy], threshold) {\n const absDx = Math.abs(dx);\n const absDy = Math.abs(dy);\n if (absDx > absDy && absDx > threshold) {\n return 'x';\n }\n if (absDy > absDx && absDy > threshold) {\n return 'y';\n }\n return undefined;\n}\nclass CoordinatesEngine extends Engine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"aliasKey\", 'xy');\n }\n reset() {\n super.reset();\n this.state.axis = undefined;\n }\n init() {\n this.state.offset = [0, 0];\n this.state.lastOffset = [0, 0];\n }\n computeOffset() {\n this.state.offset = V.add(this.state.lastOffset, this.state.movement);\n }\n computeMovement() {\n this.state.movement = V.sub(this.state.offset, this.state.lastOffset);\n }\n axisIntent(event) {\n const state = this.state;\n const config = this.config;\n if (!state.axis && event) {\n const threshold = typeof config.axisThreshold === 'object' ? config.axisThreshold[getPointerType(event)] : config.axisThreshold;\n state.axis = selectAxis(state._movement, threshold);\n }\n state._blocked = (config.lockDirection || !!config.axis) && !state.axis || !!config.axis && config.axis !== state.axis;\n }\n restrictToAxis(v) {\n if (this.config.axis || this.config.lockDirection) {\n switch (this.state.axis) {\n case 'x':\n v[1] = 0;\n break;\n case 'y':\n v[0] = 0;\n break;\n }\n }\n }\n}\n\nconst identity = v => v;\nconst DEFAULT_RUBBERBAND = 0.15;\nconst commonConfigResolver = {\n enabled(value = true) {\n return value;\n },\n eventOptions(value, _k, config) {\n return _objectSpread2(_objectSpread2({}, config.shared.eventOptions), value);\n },\n preventDefault(value = false) {\n return value;\n },\n triggerAllEvents(value = false) {\n return value;\n },\n rubberband(value = 0) {\n switch (value) {\n case true:\n return [DEFAULT_RUBBERBAND, DEFAULT_RUBBERBAND];\n case false:\n return [0, 0];\n default:\n return V.toVector(value);\n }\n },\n from(value) {\n if (typeof value === 'function') return value;\n if (value != null) return V.toVector(value);\n },\n transform(value, _k, config) {\n const transform = value || config.shared.transform;\n this.hasCustomTransform = !!transform;\n if (process.env.NODE_ENV === 'development') {\n const originalTransform = transform || identity;\n return v => {\n const r = originalTransform(v);\n if (!isFinite(r[0]) || !isFinite(r[1])) {\n console.warn(`[@use-gesture]: config.transform() must produce a valid result, but it was: [${r[0]},${[1]}]`);\n }\n return r;\n };\n }\n return transform || identity;\n },\n threshold(value) {\n return V.toVector(value, 0);\n }\n};\nif (process.env.NODE_ENV === 'development') {\n Object.assign(commonConfigResolver, {\n domTarget(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`domTarget\\` option has been renamed to \\`target\\`.`);\n }\n return NaN;\n },\n lockDirection(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`lockDirection\\` option has been merged with \\`axis\\`. Use it as in \\`{ axis: 'lock' }\\``);\n }\n return NaN;\n },\n initial(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`initial\\` option has been renamed to \\`from\\`.`);\n }\n return NaN;\n }\n });\n}\n\nconst DEFAULT_AXIS_THRESHOLD = 0;\nconst coordinatesConfigResolver = _objectSpread2(_objectSpread2({}, commonConfigResolver), {}, {\n axis(_v, _k, {\n axis\n }) {\n this.lockDirection = axis === 'lock';\n if (!this.lockDirection) return axis;\n },\n axisThreshold(value = DEFAULT_AXIS_THRESHOLD) {\n return value;\n },\n bounds(value = {}) {\n if (typeof value === 'function') {\n return state => coordinatesConfigResolver.bounds(value(state));\n }\n if ('current' in value) {\n return () => value.current;\n }\n if (typeof HTMLElement === 'function' && value instanceof HTMLElement) {\n return value;\n }\n const {\n left = -Infinity,\n right = Infinity,\n top = -Infinity,\n bottom = Infinity\n } = value;\n return [[left, right], [top, bottom]];\n }\n});\n\nconst KEYS_DELTA_MAP = {\n ArrowRight: (displacement, factor = 1) => [displacement * factor, 0],\n ArrowLeft: (displacement, factor = 1) => [-1 * displacement * factor, 0],\n ArrowUp: (displacement, factor = 1) => [0, -1 * displacement * factor],\n ArrowDown: (displacement, factor = 1) => [0, displacement * factor]\n};\nclass DragEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'dragging');\n }\n reset() {\n super.reset();\n const state = this.state;\n state._pointerId = undefined;\n state._pointerActive = false;\n state._keyboardActive = false;\n state._preventScroll = false;\n state._delayed = false;\n state.swipe = [0, 0];\n state.tap = false;\n state.canceled = false;\n state.cancel = this.cancel.bind(this);\n }\n setup() {\n const state = this.state;\n if (state._bounds instanceof HTMLElement) {\n const boundRect = state._bounds.getBoundingClientRect();\n const targetRect = state.currentTarget.getBoundingClientRect();\n const _bounds = {\n left: boundRect.left - targetRect.left + state.offset[0],\n right: boundRect.right - targetRect.right + state.offset[0],\n top: boundRect.top - targetRect.top + state.offset[1],\n bottom: boundRect.bottom - targetRect.bottom + state.offset[1]\n };\n state._bounds = coordinatesConfigResolver.bounds(_bounds);\n }\n }\n cancel() {\n const state = this.state;\n if (state.canceled) return;\n state.canceled = true;\n state._active = false;\n setTimeout(() => {\n this.compute();\n this.emit();\n }, 0);\n }\n setActive() {\n this.state._active = this.state._pointerActive || this.state._keyboardActive;\n }\n clean() {\n this.pointerClean();\n this.state._pointerActive = false;\n this.state._keyboardActive = false;\n super.clean();\n }\n pointerDown(event) {\n const config = this.config;\n const state = this.state;\n if (event.buttons != null && (Array.isArray(config.pointerButtons) ? !config.pointerButtons.includes(event.buttons) : config.pointerButtons !== -1 && config.pointerButtons !== event.buttons)) return;\n const ctrlIds = this.ctrl.setEventIds(event);\n if (config.pointerCapture) {\n event.target.setPointerCapture(event.pointerId);\n }\n if (ctrlIds && ctrlIds.size > 1 && state._pointerActive) return;\n this.start(event);\n this.setupPointer(event);\n state._pointerId = pointerId(event);\n state._pointerActive = true;\n this.computeValues(pointerValues(event));\n this.computeInitial();\n if (config.preventScrollAxis && getPointerType(event) !== 'mouse') {\n state._active = false;\n this.setupScrollPrevention(event);\n } else if (config.delay > 0) {\n this.setupDelayTrigger(event);\n if (config.triggerAllEvents) {\n this.compute(event);\n this.emit();\n }\n } else {\n this.startPointerDrag(event);\n }\n }\n startPointerDrag(event) {\n const state = this.state;\n state._active = true;\n state._preventScroll = true;\n state._delayed = false;\n this.compute(event);\n this.emit();\n }\n pointerMove(event) {\n const state = this.state;\n const config = this.config;\n if (!state._pointerActive) return;\n const id = pointerId(event);\n if (state._pointerId !== undefined && id !== state._pointerId) return;\n const _values = pointerValues(event);\n if (document.pointerLockElement === event.target) {\n state._delta = [event.movementX, event.movementY];\n } else {\n state._delta = V.sub(_values, state._values);\n this.computeValues(_values);\n }\n V.addTo(state._movement, state._delta);\n this.compute(event);\n if (state._delayed && state.intentional) {\n this.timeoutStore.remove('dragDelay');\n state.active = false;\n this.startPointerDrag(event);\n return;\n }\n if (config.preventScrollAxis && !state._preventScroll) {\n if (state.axis) {\n if (state.axis === config.preventScrollAxis || config.preventScrollAxis === 'xy') {\n state._active = false;\n this.clean();\n return;\n } else {\n this.timeoutStore.remove('startPointerDrag');\n this.startPointerDrag(event);\n return;\n }\n } else {\n return;\n }\n }\n this.emit();\n }\n pointerUp(event) {\n this.ctrl.setEventIds(event);\n try {\n if (this.config.pointerCapture && event.target.hasPointerCapture(event.pointerId)) {\n ;\n event.target.releasePointerCapture(event.pointerId);\n }\n } catch (_unused) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(`[@use-gesture]: If you see this message, it's likely that you're using an outdated version of \\`@react-three/fiber\\`. \\n\\nPlease upgrade to the latest version.`);\n }\n }\n const state = this.state;\n const config = this.config;\n if (!state._active || !state._pointerActive) return;\n const id = pointerId(event);\n if (state._pointerId !== undefined && id !== state._pointerId) return;\n this.state._pointerActive = false;\n this.setActive();\n this.compute(event);\n const [dx, dy] = state._distance;\n state.tap = dx <= config.tapsThreshold && dy <= config.tapsThreshold;\n if (state.tap && config.filterTaps) {\n state._force = true;\n } else {\n const [_dx, _dy] = state._delta;\n const [_mx, _my] = state._movement;\n const [svx, svy] = config.swipe.velocity;\n const [sx, sy] = config.swipe.distance;\n const sdt = config.swipe.duration;\n if (state.elapsedTime < sdt) {\n const _vx = Math.abs(_dx / state.timeDelta);\n const _vy = Math.abs(_dy / state.timeDelta);\n if (_vx > svx && Math.abs(_mx) > sx) state.swipe[0] = Math.sign(_dx);\n if (_vy > svy && Math.abs(_my) > sy) state.swipe[1] = Math.sign(_dy);\n }\n }\n this.emit();\n }\n pointerClick(event) {\n if (!this.state.tap && event.detail > 0) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n setupPointer(event) {\n const config = this.config;\n const device = config.device;\n if (process.env.NODE_ENV === 'development') {\n try {\n if (device === 'pointer' && config.preventScrollDelay === undefined) {\n const currentTarget = 'uv' in event ? event.sourceEvent.currentTarget : event.currentTarget;\n const style = window.getComputedStyle(currentTarget);\n if (style.touchAction === 'auto') {\n console.warn(`[@use-gesture]: The drag target has its \\`touch-action\\` style property set to \\`auto\\`. It is recommended to add \\`touch-action: 'none'\\` so that the drag gesture behaves correctly on touch-enabled devices. For more information read this: https://use-gesture.netlify.app/docs/extras/#touch-action.\\n\\nThis message will only show in development mode. It won't appear in production. If this is intended, you can ignore it.`, currentTarget);\n }\n }\n } catch (_unused2) {}\n }\n if (config.pointerLock) {\n event.currentTarget.requestPointerLock();\n }\n if (!config.pointerCapture) {\n this.eventStore.add(this.sharedConfig.window, device, 'change', this.pointerMove.bind(this));\n this.eventStore.add(this.sharedConfig.window, device, 'end', this.pointerUp.bind(this));\n this.eventStore.add(this.sharedConfig.window, device, 'cancel', this.pointerUp.bind(this));\n }\n }\n pointerClean() {\n if (this.config.pointerLock && document.pointerLockElement === this.state.currentTarget) {\n document.exitPointerLock();\n }\n }\n preventScroll(event) {\n if (this.state._preventScroll && event.cancelable) {\n event.preventDefault();\n }\n }\n setupScrollPrevention(event) {\n this.state._preventScroll = false;\n persistEvent(event);\n const remove = this.eventStore.add(this.sharedConfig.window, 'touch', 'change', this.preventScroll.bind(this), {\n passive: false\n });\n this.eventStore.add(this.sharedConfig.window, 'touch', 'end', remove);\n this.eventStore.add(this.sharedConfig.window, 'touch', 'cancel', remove);\n this.timeoutStore.add('startPointerDrag', this.startPointerDrag.bind(this), this.config.preventScrollDelay, event);\n }\n setupDelayTrigger(event) {\n this.state._delayed = true;\n this.timeoutStore.add('dragDelay', () => {\n this.state._step = [0, 0];\n this.startPointerDrag(event);\n }, this.config.delay);\n }\n keyDown(event) {\n const deltaFn = KEYS_DELTA_MAP[event.key];\n if (deltaFn) {\n const state = this.state;\n const factor = event.shiftKey ? 10 : event.altKey ? 0.1 : 1;\n this.start(event);\n state._delta = deltaFn(this.config.keyboardDisplacement, factor);\n state._keyboardActive = true;\n V.addTo(state._movement, state._delta);\n this.compute(event);\n this.emit();\n }\n }\n keyUp(event) {\n if (!(event.key in KEYS_DELTA_MAP)) return;\n this.state._keyboardActive = false;\n this.setActive();\n this.compute(event);\n this.emit();\n }\n bind(bindFunction) {\n const device = this.config.device;\n bindFunction(device, 'start', this.pointerDown.bind(this));\n if (this.config.pointerCapture) {\n bindFunction(device, 'change', this.pointerMove.bind(this));\n bindFunction(device, 'end', this.pointerUp.bind(this));\n bindFunction(device, 'cancel', this.pointerUp.bind(this));\n bindFunction('lostPointerCapture', '', this.pointerUp.bind(this));\n }\n if (this.config.keys) {\n bindFunction('key', 'down', this.keyDown.bind(this));\n bindFunction('key', 'up', this.keyUp.bind(this));\n }\n if (this.config.filterTaps) {\n bindFunction('click', '', this.pointerClick.bind(this), {\n capture: true,\n passive: false\n });\n }\n }\n}\nfunction persistEvent(event) {\n 'persist' in event && typeof event.persist === 'function' && event.persist();\n}\n\nconst isBrowser = typeof window !== 'undefined' && window.document && window.document.createElement;\nfunction supportsTouchEvents() {\n return isBrowser && 'ontouchstart' in window;\n}\nfunction isTouchScreen() {\n return supportsTouchEvents() || isBrowser && window.navigator.maxTouchPoints > 1;\n}\nfunction supportsPointerEvents() {\n return isBrowser && 'onpointerdown' in window;\n}\nfunction supportsPointerLock() {\n return isBrowser && 'exitPointerLock' in window.document;\n}\nfunction supportsGestureEvents() {\n try {\n return 'constructor' in GestureEvent;\n } catch (e) {\n return false;\n }\n}\nconst SUPPORT = {\n isBrowser,\n gesture: supportsGestureEvents(),\n touch: supportsTouchEvents(),\n touchscreen: isTouchScreen(),\n pointer: supportsPointerEvents(),\n pointerLock: supportsPointerLock()\n};\n\nconst DEFAULT_PREVENT_SCROLL_DELAY = 250;\nconst DEFAULT_DRAG_DELAY = 180;\nconst DEFAULT_SWIPE_VELOCITY = 0.5;\nconst DEFAULT_SWIPE_DISTANCE = 50;\nconst DEFAULT_SWIPE_DURATION = 250;\nconst DEFAULT_KEYBOARD_DISPLACEMENT = 10;\nconst DEFAULT_DRAG_AXIS_THRESHOLD = {\n mouse: 0,\n touch: 0,\n pen: 8\n};\nconst dragConfigResolver = _objectSpread2(_objectSpread2({}, coordinatesConfigResolver), {}, {\n device(_v, _k, {\n pointer: {\n touch = false,\n lock = false,\n mouse = false\n } = {}\n }) {\n this.pointerLock = lock && SUPPORT.pointerLock;\n if (SUPPORT.touch && touch) return 'touch';\n if (this.pointerLock) return 'mouse';\n if (SUPPORT.pointer && !mouse) return 'pointer';\n if (SUPPORT.touch) return 'touch';\n return 'mouse';\n },\n preventScrollAxis(value, _k, {\n preventScroll\n }) {\n this.preventScrollDelay = typeof preventScroll === 'number' ? preventScroll : preventScroll || preventScroll === undefined && value ? DEFAULT_PREVENT_SCROLL_DELAY : undefined;\n if (!SUPPORT.touchscreen || preventScroll === false) return undefined;\n return value ? value : preventScroll !== undefined ? 'y' : undefined;\n },\n pointerCapture(_v, _k, {\n pointer: {\n capture = true,\n buttons = 1,\n keys = true\n } = {}\n }) {\n this.pointerButtons = buttons;\n this.keys = keys;\n return !this.pointerLock && this.device === 'pointer' && capture;\n },\n threshold(value, _k, {\n filterTaps = false,\n tapsThreshold = 3,\n axis = undefined\n }) {\n const threshold = V.toVector(value, filterTaps ? tapsThreshold : axis ? 1 : 0);\n this.filterTaps = filterTaps;\n this.tapsThreshold = tapsThreshold;\n return threshold;\n },\n swipe({\n velocity = DEFAULT_SWIPE_VELOCITY,\n distance = DEFAULT_SWIPE_DISTANCE,\n duration = DEFAULT_SWIPE_DURATION\n } = {}) {\n return {\n velocity: this.transform(V.toVector(velocity)),\n distance: this.transform(V.toVector(distance)),\n duration\n };\n },\n delay(value = 0) {\n switch (value) {\n case true:\n return DEFAULT_DRAG_DELAY;\n case false:\n return 0;\n default:\n return value;\n }\n },\n axisThreshold(value) {\n if (!value) return DEFAULT_DRAG_AXIS_THRESHOLD;\n return _objectSpread2(_objectSpread2({}, DEFAULT_DRAG_AXIS_THRESHOLD), value);\n },\n keyboardDisplacement(value = DEFAULT_KEYBOARD_DISPLACEMENT) {\n return value;\n }\n});\nif (process.env.NODE_ENV === 'development') {\n Object.assign(dragConfigResolver, {\n useTouch(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`useTouch\\` option has been renamed to \\`pointer.touch\\`. Use it as in \\`{ pointer: { touch: true } }\\`.`);\n }\n return NaN;\n },\n experimental_preventWindowScrollY(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`experimental_preventWindowScrollY\\` option has been renamed to \\`preventScroll\\`.`);\n }\n return NaN;\n },\n swipeVelocity(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`swipeVelocity\\` option has been renamed to \\`swipe.velocity\\`. Use it as in \\`{ swipe: { velocity: 0.5 } }\\`.`);\n }\n return NaN;\n },\n swipeDistance(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`swipeDistance\\` option has been renamed to \\`swipe.distance\\`. Use it as in \\`{ swipe: { distance: 50 } }\\`.`);\n }\n return NaN;\n },\n swipeDuration(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`swipeDuration\\` option has been renamed to \\`swipe.duration\\`. Use it as in \\`{ swipe: { duration: 250 } }\\`.`);\n }\n return NaN;\n }\n });\n}\n\nfunction clampStateInternalMovementToBounds(state) {\n const [ox, oy] = state.overflow;\n const [dx, dy] = state._delta;\n const [dirx, diry] = state._direction;\n if (ox < 0 && dx > 0 && dirx < 0 || ox > 0 && dx < 0 && dirx > 0) {\n state._movement[0] = state._movementBound[0];\n }\n if (oy < 0 && dy > 0 && diry < 0 || oy > 0 && dy < 0 && diry > 0) {\n state._movement[1] = state._movementBound[1];\n }\n}\n\nconst SCALE_ANGLE_RATIO_INTENT_DEG = 30;\nconst PINCH_WHEEL_RATIO = 100;\nclass PinchEngine extends Engine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'pinching');\n _defineProperty(this, \"aliasKey\", 'da');\n }\n init() {\n this.state.offset = [1, 0];\n this.state.lastOffset = [1, 0];\n this.state._pointerEvents = new Map();\n }\n reset() {\n super.reset();\n const state = this.state;\n state._touchIds = [];\n state.canceled = false;\n state.cancel = this.cancel.bind(this);\n state.turns = 0;\n }\n computeOffset() {\n const {\n type,\n movement,\n lastOffset\n } = this.state;\n if (type === 'wheel') {\n this.state.offset = V.add(movement, lastOffset);\n } else {\n this.state.offset = [(1 + movement[0]) * lastOffset[0], movement[1] + lastOffset[1]];\n }\n }\n computeMovement() {\n const {\n offset,\n lastOffset\n } = this.state;\n this.state.movement = [offset[0] / lastOffset[0], offset[1] - lastOffset[1]];\n }\n axisIntent() {\n const state = this.state;\n const [_m0, _m1] = state._movement;\n if (!state.axis) {\n const axisMovementDifference = Math.abs(_m0) * SCALE_ANGLE_RATIO_INTENT_DEG - Math.abs(_m1);\n if (axisMovementDifference < 0) state.axis = 'angle';else if (axisMovementDifference > 0) state.axis = 'scale';\n }\n }\n restrictToAxis(v) {\n if (this.config.lockDirection) {\n if (this.state.axis === 'scale') v[1] = 0;else if (this.state.axis === 'angle') v[0] = 0;\n }\n }\n cancel() {\n const state = this.state;\n if (state.canceled) return;\n setTimeout(() => {\n state.canceled = true;\n state._active = false;\n this.compute();\n this.emit();\n }, 0);\n }\n touchStart(event) {\n this.ctrl.setEventIds(event);\n const state = this.state;\n const ctrlTouchIds = this.ctrl.touchIds;\n if (state._active) {\n if (state._touchIds.every(id => ctrlTouchIds.has(id))) return;\n }\n if (ctrlTouchIds.size < 2) return;\n this.start(event);\n state._touchIds = Array.from(ctrlTouchIds).slice(0, 2);\n const payload = touchDistanceAngle(event, state._touchIds);\n if (!payload) return;\n this.pinchStart(event, payload);\n }\n pointerStart(event) {\n if (event.buttons != null && event.buttons % 2 !== 1) return;\n this.ctrl.setEventIds(event);\n event.target.setPointerCapture(event.pointerId);\n const state = this.state;\n const _pointerEvents = state._pointerEvents;\n const ctrlPointerIds = this.ctrl.pointerIds;\n if (state._active) {\n if (Array.from(_pointerEvents.keys()).every(id => ctrlPointerIds.has(id))) return;\n }\n if (_pointerEvents.size < 2) {\n _pointerEvents.set(event.pointerId, event);\n }\n if (state._pointerEvents.size < 2) return;\n this.start(event);\n const payload = distanceAngle(...Array.from(_pointerEvents.values()));\n if (!payload) return;\n this.pinchStart(event, payload);\n }\n pinchStart(event, payload) {\n const state = this.state;\n state.origin = payload.origin;\n this.computeValues([payload.distance, payload.angle]);\n this.computeInitial();\n this.compute(event);\n this.emit();\n }\n touchMove(event) {\n if (!this.state._active) return;\n const payload = touchDistanceAngle(event, this.state._touchIds);\n if (!payload) return;\n this.pinchMove(event, payload);\n }\n pointerMove(event) {\n const _pointerEvents = this.state._pointerEvents;\n if (_pointerEvents.has(event.pointerId)) {\n _pointerEvents.set(event.pointerId, event);\n }\n if (!this.state._active) return;\n const payload = distanceAngle(...Array.from(_pointerEvents.values()));\n if (!payload) return;\n this.pinchMove(event, payload);\n }\n pinchMove(event, payload) {\n const state = this.state;\n const prev_a = state._values[1];\n const delta_a = payload.angle - prev_a;\n let delta_turns = 0;\n if (Math.abs(delta_a) > 270) delta_turns += Math.sign(delta_a);\n this.computeValues([payload.distance, payload.angle - 360 * delta_turns]);\n state.origin = payload.origin;\n state.turns = delta_turns;\n state._movement = [state._values[0] / state._initial[0] - 1, state._values[1] - state._initial[1]];\n this.compute(event);\n this.emit();\n }\n touchEnd(event) {\n this.ctrl.setEventIds(event);\n if (!this.state._active) return;\n if (this.state._touchIds.some(id => !this.ctrl.touchIds.has(id))) {\n this.state._active = false;\n this.compute(event);\n this.emit();\n }\n }\n pointerEnd(event) {\n const state = this.state;\n this.ctrl.setEventIds(event);\n try {\n event.target.releasePointerCapture(event.pointerId);\n } catch (_unused) {}\n if (state._pointerEvents.has(event.pointerId)) {\n state._pointerEvents.delete(event.pointerId);\n }\n if (!state._active) return;\n if (state._pointerEvents.size < 2) {\n state._active = false;\n this.compute(event);\n this.emit();\n }\n }\n gestureStart(event) {\n if (event.cancelable) event.preventDefault();\n const state = this.state;\n if (state._active) return;\n this.start(event);\n this.computeValues([event.scale, event.rotation]);\n state.origin = [event.clientX, event.clientY];\n this.compute(event);\n this.emit();\n }\n gestureMove(event) {\n if (event.cancelable) event.preventDefault();\n if (!this.state._active) return;\n const state = this.state;\n this.computeValues([event.scale, event.rotation]);\n state.origin = [event.clientX, event.clientY];\n const _previousMovement = state._movement;\n state._movement = [event.scale - 1, event.rotation];\n state._delta = V.sub(state._movement, _previousMovement);\n this.compute(event);\n this.emit();\n }\n gestureEnd(event) {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute(event);\n this.emit();\n }\n wheel(event) {\n const modifierKey = this.config.modifierKey;\n if (modifierKey && (Array.isArray(modifierKey) ? !modifierKey.find(k => event[k]) : !event[modifierKey])) return;\n if (!this.state._active) this.wheelStart(event);else this.wheelChange(event);\n this.timeoutStore.add('wheelEnd', this.wheelEnd.bind(this));\n }\n wheelStart(event) {\n this.start(event);\n this.wheelChange(event);\n }\n wheelChange(event) {\n const isR3f = ('uv' in event);\n if (!isR3f) {\n if (event.cancelable) {\n event.preventDefault();\n }\n if (process.env.NODE_ENV === 'development' && !event.defaultPrevented) {\n console.warn(`[@use-gesture]: To properly support zoom on trackpads, try using the \\`target\\` option.\\n\\nThis message will only appear in development mode.`);\n }\n }\n const state = this.state;\n state._delta = [-wheelValues(event)[1] / PINCH_WHEEL_RATIO * state.offset[0], 0];\n V.addTo(state._movement, state._delta);\n clampStateInternalMovementToBounds(state);\n this.state.origin = [event.clientX, event.clientY];\n this.compute(event);\n this.emit();\n }\n wheelEnd() {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute();\n this.emit();\n }\n bind(bindFunction) {\n const device = this.config.device;\n if (!!device) {\n bindFunction(device, 'start', this[device + 'Start'].bind(this));\n bindFunction(device, 'change', this[device + 'Move'].bind(this));\n bindFunction(device, 'end', this[device + 'End'].bind(this));\n bindFunction(device, 'cancel', this[device + 'End'].bind(this));\n bindFunction('lostPointerCapture', '', this[device + 'End'].bind(this));\n }\n if (this.config.pinchOnWheel) {\n bindFunction('wheel', '', this.wheel.bind(this), {\n passive: false\n });\n }\n }\n}\n\nconst pinchConfigResolver = _objectSpread2(_objectSpread2({}, commonConfigResolver), {}, {\n device(_v, _k, {\n shared,\n pointer: {\n touch = false\n } = {}\n }) {\n const sharedConfig = shared;\n if (sharedConfig.target && !SUPPORT.touch && SUPPORT.gesture) return 'gesture';\n if (SUPPORT.touch && touch) return 'touch';\n if (SUPPORT.touchscreen) {\n if (SUPPORT.pointer) return 'pointer';\n if (SUPPORT.touch) return 'touch';\n }\n },\n bounds(_v, _k, {\n scaleBounds = {},\n angleBounds = {}\n }) {\n const _scaleBounds = state => {\n const D = assignDefault(call(scaleBounds, state), {\n min: -Infinity,\n max: Infinity\n });\n return [D.min, D.max];\n };\n const _angleBounds = state => {\n const A = assignDefault(call(angleBounds, state), {\n min: -Infinity,\n max: Infinity\n });\n return [A.min, A.max];\n };\n if (typeof scaleBounds !== 'function' && typeof angleBounds !== 'function') return [_scaleBounds(), _angleBounds()];\n return state => [_scaleBounds(state), _angleBounds(state)];\n },\n threshold(value, _k, config) {\n this.lockDirection = config.axis === 'lock';\n const threshold = V.toVector(value, this.lockDirection ? [0.1, 3] : 0);\n return threshold;\n },\n modifierKey(value) {\n if (value === undefined) return 'ctrlKey';\n return value;\n },\n pinchOnWheel(value = true) {\n return value;\n }\n});\n\nclass MoveEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'moving');\n }\n move(event) {\n if (this.config.mouseOnly && event.pointerType !== 'mouse') return;\n if (!this.state._active) this.moveStart(event);else this.moveChange(event);\n this.timeoutStore.add('moveEnd', this.moveEnd.bind(this));\n }\n moveStart(event) {\n this.start(event);\n this.computeValues(pointerValues(event));\n this.compute(event);\n this.computeInitial();\n this.emit();\n }\n moveChange(event) {\n if (!this.state._active) return;\n const values = pointerValues(event);\n const state = this.state;\n state._delta = V.sub(values, state._values);\n V.addTo(state._movement, state._delta);\n this.computeValues(values);\n this.compute(event);\n this.emit();\n }\n moveEnd(event) {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute(event);\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('pointer', 'change', this.move.bind(this));\n bindFunction('pointer', 'leave', this.moveEnd.bind(this));\n }\n}\n\nconst moveConfigResolver = _objectSpread2(_objectSpread2({}, coordinatesConfigResolver), {}, {\n mouseOnly: (value = true) => value\n});\n\nclass ScrollEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'scrolling');\n }\n scroll(event) {\n if (!this.state._active) this.start(event);\n this.scrollChange(event);\n this.timeoutStore.add('scrollEnd', this.scrollEnd.bind(this));\n }\n scrollChange(event) {\n if (event.cancelable) event.preventDefault();\n const state = this.state;\n const values = scrollValues(event);\n state._delta = V.sub(values, state._values);\n V.addTo(state._movement, state._delta);\n this.computeValues(values);\n this.compute(event);\n this.emit();\n }\n scrollEnd() {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute();\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('scroll', '', this.scroll.bind(this));\n }\n}\n\nconst scrollConfigResolver = coordinatesConfigResolver;\n\nclass WheelEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'wheeling');\n }\n wheel(event) {\n if (!this.state._active) this.start(event);\n this.wheelChange(event);\n this.timeoutStore.add('wheelEnd', this.wheelEnd.bind(this));\n }\n wheelChange(event) {\n const state = this.state;\n state._delta = wheelValues(event);\n V.addTo(state._movement, state._delta);\n clampStateInternalMovementToBounds(state);\n this.compute(event);\n this.emit();\n }\n wheelEnd() {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute();\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('wheel', '', this.wheel.bind(this));\n }\n}\n\nconst wheelConfigResolver = coordinatesConfigResolver;\n\nclass HoverEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'hovering');\n }\n enter(event) {\n if (this.config.mouseOnly && event.pointerType !== 'mouse') return;\n this.start(event);\n this.computeValues(pointerValues(event));\n this.compute(event);\n this.emit();\n }\n leave(event) {\n if (this.config.mouseOnly && event.pointerType !== 'mouse') return;\n const state = this.state;\n if (!state._active) return;\n state._active = false;\n const values = pointerValues(event);\n state._movement = state._delta = V.sub(values, state._values);\n this.computeValues(values);\n this.compute(event);\n state.delta = state.movement;\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('pointer', 'enter', this.enter.bind(this));\n bindFunction('pointer', 'leave', this.leave.bind(this));\n }\n}\n\nconst hoverConfigResolver = _objectSpread2(_objectSpread2({}, coordinatesConfigResolver), {}, {\n mouseOnly: (value = true) => value\n});\n\nconst EngineMap = new Map();\nconst ConfigResolverMap = new Map();\nfunction registerAction(action) {\n EngineMap.set(action.key, action.engine);\n ConfigResolverMap.set(action.key, action.resolver);\n}\nconst dragAction = {\n key: 'drag',\n engine: DragEngine,\n resolver: dragConfigResolver\n};\nconst hoverAction = {\n key: 'hover',\n engine: HoverEngine,\n resolver: hoverConfigResolver\n};\nconst moveAction = {\n key: 'move',\n engine: MoveEngine,\n resolver: moveConfigResolver\n};\nconst pinchAction = {\n key: 'pinch',\n engine: PinchEngine,\n resolver: pinchConfigResolver\n};\nconst scrollAction = {\n key: 'scroll',\n engine: ScrollEngine,\n resolver: scrollConfigResolver\n};\nconst wheelAction = {\n key: 'wheel',\n engine: WheelEngine,\n resolver: wheelConfigResolver\n};\n\nexport { ConfigResolverMap as C, EngineMap as E, SUPPORT as S, _objectSpread2 as _, _defineProperty as a, touchIds as b, chain as c, toHandlerProp as d, dragAction as e, pinchAction as f, hoverAction as h, isTouch as i, moveAction as m, parseProp as p, registerAction as r, scrollAction as s, toDomEventType as t, wheelAction as w };\n","import { S as SUPPORT, C as ConfigResolverMap, _ as _objectSpread2, a as _defineProperty, t as toDomEventType, i as isTouch, b as touchIds, E as EngineMap, c as chain, p as parseProp, d as toHandlerProp } from './actions-fe213e88.esm.js';\nimport './maths-0ab39ae9.esm.js';\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\n\nconst sharedConfigResolver = {\n target(value) {\n if (value) {\n return () => 'current' in value ? value.current : value;\n }\n return undefined;\n },\n enabled(value = true) {\n return value;\n },\n window(value = SUPPORT.isBrowser ? window : undefined) {\n return value;\n },\n eventOptions({\n passive = true,\n capture = false\n } = {}) {\n return {\n passive,\n capture\n };\n },\n transform(value) {\n return value;\n }\n};\n\nconst _excluded = [\"target\", \"eventOptions\", \"window\", \"enabled\", \"transform\"];\nfunction resolveWith(config = {}, resolvers) {\n const result = {};\n for (const [key, resolver] of Object.entries(resolvers)) {\n switch (typeof resolver) {\n case 'function':\n if (process.env.NODE_ENV === 'development') {\n const r = resolver.call(result, config[key], key, config);\n if (!Number.isNaN(r)) result[key] = r;\n } else {\n result[key] = resolver.call(result, config[key], key, config);\n }\n break;\n case 'object':\n result[key] = resolveWith(config[key], resolver);\n break;\n case 'boolean':\n if (resolver) result[key] = config[key];\n break;\n }\n }\n return result;\n}\nfunction parse(newConfig, gestureKey, _config = {}) {\n const _ref = newConfig,\n {\n target,\n eventOptions,\n window,\n enabled,\n transform\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n _config.shared = resolveWith({\n target,\n eventOptions,\n window,\n enabled,\n transform\n }, sharedConfigResolver);\n if (gestureKey) {\n const resolver = ConfigResolverMap.get(gestureKey);\n _config[gestureKey] = resolveWith(_objectSpread2({\n shared: _config.shared\n }, rest), resolver);\n } else {\n for (const key in rest) {\n const resolver = ConfigResolverMap.get(key);\n if (resolver) {\n _config[key] = resolveWith(_objectSpread2({\n shared: _config.shared\n }, rest[key]), resolver);\n } else if (process.env.NODE_ENV === 'development') {\n if (!['drag', 'pinch', 'scroll', 'wheel', 'move', 'hover'].includes(key)) {\n if (key === 'domTarget') {\n throw Error(`[@use-gesture]: \\`domTarget\\` option has been renamed to \\`target\\`.`);\n }\n console.warn(`[@use-gesture]: Unknown config key \\`${key}\\` was used. Please read the documentation for further information.`);\n }\n }\n }\n }\n return _config;\n}\n\nclass EventStore {\n constructor(ctrl, gestureKey) {\n _defineProperty(this, \"_listeners\", new Set());\n this._ctrl = ctrl;\n this._gestureKey = gestureKey;\n }\n add(element, device, action, handler, options) {\n const listeners = this._listeners;\n const type = toDomEventType(device, action);\n const _options = this._gestureKey ? this._ctrl.config[this._gestureKey].eventOptions : {};\n const eventOptions = _objectSpread2(_objectSpread2({}, _options), options);\n element.addEventListener(type, handler, eventOptions);\n const remove = () => {\n element.removeEventListener(type, handler, eventOptions);\n listeners.delete(remove);\n };\n listeners.add(remove);\n return remove;\n }\n clean() {\n this._listeners.forEach(remove => remove());\n this._listeners.clear();\n }\n}\n\nclass TimeoutStore {\n constructor() {\n _defineProperty(this, \"_timeouts\", new Map());\n }\n add(key, callback, ms = 140, ...args) {\n this.remove(key);\n this._timeouts.set(key, window.setTimeout(callback, ms, ...args));\n }\n remove(key) {\n const timeout = this._timeouts.get(key);\n if (timeout) window.clearTimeout(timeout);\n }\n clean() {\n this._timeouts.forEach(timeout => void window.clearTimeout(timeout));\n this._timeouts.clear();\n }\n}\n\nclass Controller {\n constructor(handlers) {\n _defineProperty(this, \"gestures\", new Set());\n _defineProperty(this, \"_targetEventStore\", new EventStore(this));\n _defineProperty(this, \"gestureEventStores\", {});\n _defineProperty(this, \"gestureTimeoutStores\", {});\n _defineProperty(this, \"handlers\", {});\n _defineProperty(this, \"config\", {});\n _defineProperty(this, \"pointerIds\", new Set());\n _defineProperty(this, \"touchIds\", new Set());\n _defineProperty(this, \"state\", {\n shared: {\n shiftKey: false,\n metaKey: false,\n ctrlKey: false,\n altKey: false\n }\n });\n resolveGestures(this, handlers);\n }\n setEventIds(event) {\n if (isTouch(event)) {\n this.touchIds = new Set(touchIds(event));\n return this.touchIds;\n } else if ('pointerId' in event) {\n if (event.type === 'pointerup' || event.type === 'pointercancel') this.pointerIds.delete(event.pointerId);else if (event.type === 'pointerdown') this.pointerIds.add(event.pointerId);\n return this.pointerIds;\n }\n }\n applyHandlers(handlers, nativeHandlers) {\n this.handlers = handlers;\n this.nativeHandlers = nativeHandlers;\n }\n applyConfig(config, gestureKey) {\n this.config = parse(config, gestureKey, this.config);\n }\n clean() {\n this._targetEventStore.clean();\n for (const key of this.gestures) {\n this.gestureEventStores[key].clean();\n this.gestureTimeoutStores[key].clean();\n }\n }\n effect() {\n if (this.config.shared.target) this.bind();\n return () => this._targetEventStore.clean();\n }\n bind(...args) {\n const sharedConfig = this.config.shared;\n const props = {};\n let target;\n if (sharedConfig.target) {\n target = sharedConfig.target();\n if (!target) return;\n }\n if (sharedConfig.enabled) {\n for (const gestureKey of this.gestures) {\n const gestureConfig = this.config[gestureKey];\n const bindFunction = bindToProps(props, gestureConfig.eventOptions, !!target);\n if (gestureConfig.enabled) {\n const Engine = EngineMap.get(gestureKey);\n new Engine(this, args, gestureKey).bind(bindFunction);\n }\n }\n const nativeBindFunction = bindToProps(props, sharedConfig.eventOptions, !!target);\n for (const eventKey in this.nativeHandlers) {\n nativeBindFunction(eventKey, '', event => this.nativeHandlers[eventKey](_objectSpread2(_objectSpread2({}, this.state.shared), {}, {\n event,\n args\n })), undefined, true);\n }\n }\n for (const handlerProp in props) {\n props[handlerProp] = chain(...props[handlerProp]);\n }\n if (!target) return props;\n for (const handlerProp in props) {\n const {\n device,\n capture,\n passive\n } = parseProp(handlerProp);\n this._targetEventStore.add(target, device, '', props[handlerProp], {\n capture,\n passive\n });\n }\n }\n}\nfunction setupGesture(ctrl, gestureKey) {\n ctrl.gestures.add(gestureKey);\n ctrl.gestureEventStores[gestureKey] = new EventStore(ctrl, gestureKey);\n ctrl.gestureTimeoutStores[gestureKey] = new TimeoutStore();\n}\nfunction resolveGestures(ctrl, internalHandlers) {\n if (internalHandlers.drag) setupGesture(ctrl, 'drag');\n if (internalHandlers.wheel) setupGesture(ctrl, 'wheel');\n if (internalHandlers.scroll) setupGesture(ctrl, 'scroll');\n if (internalHandlers.move) setupGesture(ctrl, 'move');\n if (internalHandlers.pinch) setupGesture(ctrl, 'pinch');\n if (internalHandlers.hover) setupGesture(ctrl, 'hover');\n}\nconst bindToProps = (props, eventOptions, withPassiveOption) => (device, action, handler, options = {}, isNative = false) => {\n var _options$capture, _options$passive;\n const capture = (_options$capture = options.capture) !== null && _options$capture !== void 0 ? _options$capture : eventOptions.capture;\n const passive = (_options$passive = options.passive) !== null && _options$passive !== void 0 ? _options$passive : eventOptions.passive;\n let handlerProp = isNative ? device : toHandlerProp(device, action, capture);\n if (withPassiveOption && passive) handlerProp += 'Passive';\n props[handlerProp] = props[handlerProp] || [];\n props[handlerProp].push(handler);\n};\n\nconst RE_NOT_NATIVE = /^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;\nfunction sortHandlers(_handlers) {\n const native = {};\n const handlers = {};\n const actions = new Set();\n for (let key in _handlers) {\n if (RE_NOT_NATIVE.test(key)) {\n actions.add(RegExp.lastMatch);\n handlers[key] = _handlers[key];\n } else {\n native[key] = _handlers[key];\n }\n }\n return [handlers, native, actions];\n}\nfunction registerGesture(actions, handlers, handlerKey, key, internalHandlers, config) {\n if (!actions.has(handlerKey)) return;\n if (!EngineMap.has(key)) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(`[@use-gesture]: You've created a custom handler that that uses the \\`${key}\\` gesture but isn't properly configured.\\n\\nPlease add \\`${key}Action\\` when creating your handler.`);\n }\n return;\n }\n const startKey = handlerKey + 'Start';\n const endKey = handlerKey + 'End';\n const fn = state => {\n let memo = undefined;\n if (state.first && startKey in handlers) handlers[startKey](state);\n if (handlerKey in handlers) memo = handlers[handlerKey](state);\n if (state.last && endKey in handlers) handlers[endKey](state);\n return memo;\n };\n internalHandlers[key] = fn;\n config[key] = config[key] || {};\n}\nfunction parseMergedHandlers(mergedHandlers, mergedConfig) {\n const [handlers, nativeHandlers, actions] = sortHandlers(mergedHandlers);\n const internalHandlers = {};\n registerGesture(actions, handlers, 'onDrag', 'drag', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onWheel', 'wheel', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onScroll', 'scroll', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onPinch', 'pinch', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onMove', 'move', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onHover', 'hover', internalHandlers, mergedConfig);\n return {\n handlers: internalHandlers,\n config: mergedConfig,\n nativeHandlers\n };\n}\n\nexport { Controller, parseMergedHandlers };\n","import { registerAction, dragAction, pinchAction, wheelAction, scrollAction, moveAction, hoverAction } from '@use-gesture/core/actions';\nexport * from '@use-gesture/core/actions';\nimport React from 'react';\nimport { Controller, parseMergedHandlers } from '@use-gesture/core';\nexport * from '@use-gesture/core/utils';\nexport * from '@use-gesture/core/types';\n\nfunction useRecognizers(handlers, config = {}, gestureKey, nativeHandlers) {\n const ctrl = React.useMemo(() => new Controller(handlers), []);\n ctrl.applyHandlers(handlers, nativeHandlers);\n ctrl.applyConfig(config, gestureKey);\n React.useEffect(ctrl.effect.bind(ctrl));\n React.useEffect(() => {\n return ctrl.clean.bind(ctrl);\n }, []);\n if (config.target === undefined) {\n return ctrl.bind.bind(ctrl);\n }\n return undefined;\n}\n\nfunction useDrag(handler, config) {\n registerAction(dragAction);\n return useRecognizers({\n drag: handler\n }, config || {}, 'drag');\n}\n\nfunction usePinch(handler, config) {\n registerAction(pinchAction);\n return useRecognizers({\n pinch: handler\n }, config || {}, 'pinch');\n}\n\nfunction useWheel(handler, config) {\n registerAction(wheelAction);\n return useRecognizers({\n wheel: handler\n }, config || {}, 'wheel');\n}\n\nfunction useScroll(handler, config) {\n registerAction(scrollAction);\n return useRecognizers({\n scroll: handler\n }, config || {}, 'scroll');\n}\n\nfunction useMove(handler, config) {\n registerAction(moveAction);\n return useRecognizers({\n move: handler\n }, config || {}, 'move');\n}\n\nfunction useHover(handler, config) {\n registerAction(hoverAction);\n return useRecognizers({\n hover: handler\n }, config || {}, 'hover');\n}\n\nfunction createUseGesture(actions) {\n actions.forEach(registerAction);\n return function useGesture(_handlers, _config) {\n const {\n handlers,\n nativeHandlers,\n config\n } = parseMergedHandlers(_handlers, _config || {});\n return useRecognizers(handlers, config, undefined, nativeHandlers);\n };\n}\n\nfunction useGesture(handlers, config) {\n const hook = createUseGesture([dragAction, pinchAction, scrollAction, wheelAction, moveAction, hoverAction]);\n return hook(handlers, config || {});\n}\n\nexport { createUseGesture, useDrag, useGesture, useHover, useMove, usePinch, useScroll, useWheel };\n","import classNames from 'classnames';\nimport React, { useState, useRef } from 'react';\nimport { useIsomorphicLayoutEffect, useUnmountedRef } from 'ahooks';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nimport Mask from '../mask';\nimport { useLockScroll } from '../../utils/use-lock-scroll';\nimport { renderToContainer } from '../../utils/render-to-container';\nimport { useSpring, animated } from '@react-spring/web';\nimport { withStopPropagation } from '../../utils/with-stop-propagation';\nimport { ShouldRender } from '../../utils/should-render';\nimport { defaultPopupBaseProps } from './popup-base-props';\nimport { useInnerVisible } from '../../utils/use-inner-visible';\nimport { useConfig } from '../config-provider';\nimport { useDrag } from '@use-gesture/react';\nconst classPrefix = `adm-popup`;\nconst defaultProps = Object.assign(Object.assign({}, defaultPopupBaseProps), {\n closeOnSwipe: false,\n position: 'bottom'\n});\nexport const Popup = p => {\n const {\n locale,\n popup: componentConfig = {}\n } = useConfig();\n const props = mergeProps(defaultProps, componentConfig, p);\n const bodyCls = classNames(`${classPrefix}-body`, props.bodyClassName, `${classPrefix}-body-position-${props.position}`);\n const [active, setActive] = useState(props.visible);\n const ref = useRef(null);\n useLockScroll(ref, props.disableBodyScroll && active ? 'strict' : false);\n useIsomorphicLayoutEffect(() => {\n if (props.visible) {\n setActive(true);\n }\n }, [props.visible]);\n const unmountedRef = useUnmountedRef();\n const {\n percent\n } = useSpring({\n percent: props.visible ? 0 : 100,\n config: {\n precision: 0.1,\n mass: 0.4,\n tension: 300,\n friction: 30\n },\n onRest: () => {\n var _a, _b;\n if (unmountedRef.current) return;\n setActive(props.visible);\n if (props.visible) {\n (_a = props.afterShow) === null || _a === void 0 ? void 0 : _a.call(props);\n } else {\n (_b = props.afterClose) === null || _b === void 0 ? void 0 : _b.call(props);\n }\n }\n });\n const bind = useDrag(({\n swipe: [, swipeY]\n }) => {\n var _a;\n if (!props.closeOnSwipe) return;\n if (swipeY === 1 && props.position === 'bottom' || swipeY === -1 && props.position === 'top') {\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n }, {\n axis: 'y',\n enabled: ['top', 'bottom'].includes(props.position)\n });\n const maskVisible = useInnerVisible(active && props.visible);\n const node = withStopPropagation(props.stopPropagation, withNativeProps(props, React.createElement(\"div\", Object.assign({\n className: classPrefix,\n onClick: props.onClick,\n style: {\n display: active ? undefined : 'none',\n touchAction: ['top', 'bottom'].includes(props.position) ? 'none' : 'auto'\n }\n }, bind()), props.mask && React.createElement(Mask, {\n visible: maskVisible,\n forceRender: props.forceRender,\n destroyOnClose: props.destroyOnClose,\n onMaskClick: e => {\n var _a, _b;\n (_a = props.onMaskClick) === null || _a === void 0 ? void 0 : _a.call(props, e);\n if (props.closeOnMaskClick) {\n (_b = props.onClose) === null || _b === void 0 ? void 0 : _b.call(props);\n }\n },\n className: props.maskClassName,\n style: props.maskStyle,\n disableBodyScroll: false,\n stopPropagation: props.stopPropagation\n }), React.createElement(animated.div, {\n className: bodyCls,\n style: Object.assign(Object.assign({}, props.bodyStyle), {\n pointerEvents: percent.to(v => v === 0 ? 'unset' : 'none'),\n transform: percent.to(v => {\n if (props.position === 'bottom') {\n return `translate(0, ${v}%)`;\n }\n if (props.position === 'top') {\n return `translate(0, -${v}%)`;\n }\n if (props.position === 'left') {\n return `translate(-${v}%, 0)`;\n }\n if (props.position === 'right') {\n return `translate(${v}%, 0)`;\n }\n return 'none';\n })\n }),\n ref: ref\n }, props.showCloseButton && React.createElement(\"a\", {\n className: classNames(`${classPrefix}-close-icon`, 'adm-plain-anchor'),\n onClick: () => {\n var _a;\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n },\n role: 'button',\n \"aria-label\": locale.common.close\n }, props.closeIcon), props.children))));\n return React.createElement(ShouldRender, {\n active: active,\n forceRender: props.forceRender,\n destroyOnClose: props.destroyOnClose\n }, renderToContainer(props.getContainer, node));\n};","import { useState } from 'react';\nimport { useIsomorphicLayoutEffect } from 'ahooks';\nexport function useInnerVisible(outerVisible) {\n const [innerVisible, setInnerVisible] = useState(outerVisible);\n useIsomorphicLayoutEffect(() => {\n setInnerVisible(outerVisible);\n }, [outerVisible]);\n return innerVisible;\n}","import React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport classNames from 'classnames';\nconst classPrefix = 'adm-safe-area';\nexport const SafeArea = props => {\n return withNativeProps(props, React.createElement(\"div\", {\n className: classNames(classPrefix, `${classPrefix}-position-${props.position}`)\n }));\n};","import { __awaiter } from \"tslib\";\nimport * as ReactDOM from 'react-dom';\n// Let compiler not to search module usage\nconst fullClone = Object.assign({}, ReactDOM);\nconst {\n version,\n render: reactRender,\n unmountComponentAtNode\n} = fullClone;\nlet createRoot;\ntry {\n const mainVersion = Number((version || '').split('.')[0]);\n if (mainVersion >= 18 && fullClone.createRoot) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n createRoot = fullClone.createRoot;\n }\n} catch (e) {\n // Do nothing;\n}\nfunction toggleWarning(skip) {\n const {\n __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\n } = fullClone;\n if (__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED && typeof __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED === 'object') {\n __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.usingClientEntryPoint = skip;\n }\n}\nconst MARK = '__antd_mobile_root__';\nfunction legacyRender(node, container) {\n reactRender(node, container);\n}\nfunction concurrentRender(node, container) {\n toggleWarning(true);\n const root = container[MARK] || createRoot(container);\n toggleWarning(false);\n root.render(node);\n container[MARK] = root;\n}\nexport function render(node, container) {\n if (createRoot) {\n concurrentRender(node, container);\n return;\n }\n legacyRender(node, container);\n}\n// ========================== Unmount =========================\nfunction legacyUnmount(container) {\n return unmountComponentAtNode(container);\n}\nfunction concurrentUnmount(container) {\n return __awaiter(this, void 0, void 0, function* () {\n // Delay to unmount to avoid React 18 sync warning\n return Promise.resolve().then(() => {\n var _a;\n (_a = container[MARK]) === null || _a === void 0 ? void 0 : _a.unmount();\n delete container[MARK];\n });\n });\n}\nexport function unmount(container) {\n if (createRoot) {\n return concurrentUnmount(container);\n }\n return legacyUnmount(container);\n}","import { render, unmount as reactUnmount } from './render';\nexport function renderToBody(element) {\n const container = document.createElement('div');\n document.body.appendChild(container);\n function unmount() {\n const unmountResult = reactUnmount(container);\n if (unmountResult && container.parentNode) {\n container.parentNode.removeChild(container);\n }\n }\n render(element, container);\n return unmount;\n}","import React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nconst classPrefix = 'adm-auto-center';\nexport const AutoCenter = props => withNativeProps(props, React.createElement(\"div\", {\n className: classPrefix\n}, React.createElement(\"div\", {\n className: `${classPrefix}-content`\n}, props.children)));","import React, { memo } from 'react';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { withNativeProps } from '../../utils/native-props';\nimport classNames from 'classnames';\nconst classPrefix = `adm-dot-loading`;\nconst colorRecord = {\n default: 'var(--adm-color-weak)',\n primary: 'var(--adm-color-primary)',\n white: 'var(--adm-color-white)'\n};\nconst defaultProps = {\n color: 'default'\n};\nexport const DotLoading = memo(p => {\n var _a;\n const props = mergeProps(defaultProps, p);\n return withNativeProps(props, React.createElement(\"div\", {\n style: {\n color: (_a = colorRecord[props.color]) !== null && _a !== void 0 ? _a : props.color\n },\n className: classNames('adm-loading', classPrefix)\n }, React.createElement(\"svg\", {\n height: '1em',\n viewBox: '0 0 100 40',\n style: {\n verticalAlign: '-0.125em'\n }\n }, React.createElement(\"g\", {\n stroke: 'none',\n strokeWidth: '1',\n fill: 'none',\n fillRule: 'evenodd'\n }, React.createElement(\"g\", {\n transform: 'translate(-100.000000, -71.000000)'\n }, React.createElement(\"g\", {\n transform: 'translate(95.000000, 71.000000)'\n }, React.createElement(\"g\", {\n transform: 'translate(5.000000, 0.000000)'\n }, [0, 1, 2].map(i => React.createElement(\"rect\", {\n key: i,\n fill: 'currentColor',\n x: 20 + i * 26,\n y: '16',\n width: '8',\n height: '8',\n rx: '2'\n }, React.createElement(\"animate\", {\n attributeName: 'y',\n from: '16',\n to: '16',\n dur: '2s',\n begin: `${i * 0.2}s`,\n repeatCount: 'indefinite',\n values: '16; 6; 26; 16; 16',\n keyTimes: '0; 0.1; 0.3; 0.4; 1'\n }))))))))));\n});","import { __awaiter } from \"tslib\";\nimport React, { forwardRef, useImperativeHandle, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport DotLoading from '../dot-loading';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { withNativeProps } from '../../utils/native-props';\nimport { isPromise } from '../../utils/validate';\nconst classPrefix = `adm-button`;\nconst defaultProps = {\n color: 'default',\n fill: 'solid',\n block: false,\n loading: false,\n loadingIcon: React.createElement(DotLoading, {\n color: 'currentColor'\n }),\n type: 'button',\n shape: 'default',\n size: 'middle'\n};\nexport const Button = forwardRef((p, ref) => {\n const props = mergeProps(defaultProps, p);\n const [innerLoading, setInnerLoading] = useState(false);\n const nativeButtonRef = useRef(null);\n const loading = props.loading === 'auto' ? innerLoading : props.loading;\n const disabled = props.disabled || loading;\n useImperativeHandle(ref, () => ({\n get nativeElement() {\n return nativeButtonRef.current;\n }\n }));\n const handleClick = e => __awaiter(void 0, void 0, void 0, function* () {\n if (!props.onClick) return;\n const promise = props.onClick(e);\n if (isPromise(promise)) {\n try {\n setInnerLoading(true);\n yield promise;\n setInnerLoading(false);\n } catch (e) {\n setInnerLoading(false);\n throw e;\n }\n }\n });\n return withNativeProps(props, React.createElement(\"button\", {\n ref: nativeButtonRef,\n type: props.type,\n onClick: handleClick,\n className: classNames(classPrefix, {\n [`${classPrefix}-${props.color}`]: props.color,\n [`${classPrefix}-block`]: props.block,\n [`${classPrefix}-disabled`]: disabled,\n [`${classPrefix}-fill-outline`]: props.fill === 'outline',\n [`${classPrefix}-fill-none`]: props.fill === 'none',\n [`${classPrefix}-mini`]: props.size === 'mini',\n [`${classPrefix}-small`]: props.size === 'small',\n [`${classPrefix}-large`]: props.size === 'large',\n [`${classPrefix}-loading`]: loading\n }, `${classPrefix}-shape-${props.shape}`),\n disabled: disabled,\n onMouseDown: props.onMouseDown,\n onMouseUp: props.onMouseUp,\n onTouchStart: props.onTouchStart,\n onTouchEnd: props.onTouchEnd\n }, loading ? React.createElement(\"div\", {\n className: `${classPrefix}-loading-wrapper`\n }, props.loadingIcon, props.loadingText) : React.createElement(\"span\", null, props.children)));\n});","import { canUseDom } from './can-use-dom';\nexport function isDef(val) {\n return val !== undefined && val !== null;\n}\nexport function isObject(val) {\n return val !== null && typeof val === 'object';\n}\nexport function isPromise(obj) {\n return !!obj && typeof obj === 'object' && typeof obj.then === 'function';\n}\nexport function isDate(val) {\n return Object.prototype.toString.call(val) === '[object Date]' && !Number.isNaN(val.getTime());\n}\nexport function isMobile(value) {\n value = value.replace(/[^-|\\d]/g, '');\n return /^((\\+86)|(86))?(1)\\d{10}$/.test(value) || /^0[0-9-]{10,13}$/.test(value);\n}\nexport function isNumeric(val) {\n return typeof val === 'number' || /^\\d+(\\.\\d+)?$/.test(val);\n}\nexport function isAndroid() {\n return canUseDom ? /android/.test(navigator.userAgent.toLowerCase()) : false;\n}\nexport function isIOS() {\n return canUseDom ? /ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase()) : false;\n}","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isoWeek=t()}(this,(function(){\"use strict\";var e=\"day\";return function(t,i,s){var a=function(t){return t.add(4-t.isoWeekday(),e)},d=i.prototype;d.isoWeekYear=function(){return a(this).year()},d.isoWeek=function(t){if(!this.$utils().u(t))return this.add(7*(t-this.isoWeek()),e);var i,d,n,o,r=a(this),u=(i=this.isoWeekYear(),d=this.$u,n=(d?s.utc:s)().year(i).startOf(\"year\"),o=4-n.isoWeekday(),n.isoWeekday()>4&&(o+=7),n.add(o,e));return r.diff(u,\"week\")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return\"isoweek\"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf(\"day\"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf(\"day\"):n.bind(this)(e,t)}}}));","import { useRef } from 'react';\nimport { useMemoizedFn, useUpdate } from 'ahooks';\nexport function usePropsValue(options) {\n const {\n value,\n defaultValue,\n onChange\n } = options;\n const update = useUpdate();\n const stateRef = useRef(value !== undefined ? value : defaultValue);\n if (value !== undefined) {\n stateRef.current = value;\n }\n const setState = useMemoizedFn((v, forceTrigger = false) => {\n // `forceTrigger` means trigger `onChange` even if `v` is the same as `stateRef.current`\n const nextValue = typeof v === 'function' ? v(stateRef.current) : v;\n if (!forceTrigger && nextValue === stateRef.current) return;\n stateRef.current = nextValue;\n update();\n return onChange === null || onChange === void 0 ? void 0 : onChange(nextValue);\n });\n return [stateRef.current, setState];\n}","import { __read } from \"tslib\";\nimport { useCallback, useState } from 'react';\nvar useUpdate = function () {\n var _a = __read(useState({}), 2),\n setState = _a[1];\n return useCallback(function () {\n return setState({});\n }, []);\n};\nexport default useUpdate;","export const isDev = process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test';","import { isDev } from './is-dev';\nexport function devWarning(component, message) {\n if (isDev) {\n console.warn(`[antd-mobile: ${component}] ${message}`);\n }\n}\nexport function devError(component, message) {\n if (isDev) {\n console.error(`[antd-mobile: ${component}] ${message}`);\n }\n}\nlet infoBox;\nexport function devPrint(...message) {\n if (isDev) {\n if (!infoBox) {\n infoBox = document.createElement('textarea');\n document.body.append(infoBox);\n infoBox.style.position = 'fixed';\n infoBox.style.top = '0';\n infoBox.style.left = '0';\n infoBox.style.width = '100vw';\n infoBox.style.height = '100vh';\n infoBox.style.zIndex = '999999';\n infoBox.style.fontSize = '12px';\n // infoBox.style.opacity = '0.85'\n infoBox.style.pointerEvents = 'none';\n infoBox.style.background = 'transparent';\n infoBox.style.textShadow = '-1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 1px 1px 0 #FFF';\n }\n infoBox.value = `${infoBox.value}\\n${message.join(' ')}`.trim();\n infoBox.scrollTop = infoBox.scrollHeight;\n }\n}","import React from 'react';\nimport classNames from 'classnames';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nconst classPrefix = `adm-divider`;\nconst defaultProps = {\n contentPosition: 'center',\n direction: 'horizontal'\n};\nexport const Divider = p => {\n const props = mergeProps(defaultProps, p);\n return withNativeProps(props, React.createElement(\"div\", {\n className: classNames(classPrefix, `${classPrefix}-${props.direction}`, `${classPrefix}-${props.contentPosition}`)\n }, props.children && React.createElement(\"div\", {\n className: `${classPrefix}-content`\n }, props.children)));\n};","export function bound(position, min, max) {\n let ret = position;\n if (min !== undefined) {\n ret = Math.max(position, min);\n }\n if (max !== undefined) {\n ret = Math.min(ret, max);\n }\n return ret;\n}","import { bound } from './bound';\nexport function rubberband(distance, dimension, constant) {\n return distance * dimension * constant / (dimension + constant * distance);\n}\nexport function rubberbandIfOutOfBounds(position, min, max, dimension, constant = 0.15) {\n if (constant === 0) return bound(position, min, max);\n if (position < min) return -rubberband(min - position, dimension, constant) + min;\n if (position > max) return +rubberband(position - max, dimension, constant) + max;\n return position;\n}","import React, { memo, useRef } from 'react';\nimport { useSpring, animated } from '@react-spring/web';\nimport { useDrag, useWheel } from '@use-gesture/react';\nimport { rubberbandIfOutOfBounds } from '../../utils/rubberband';\nimport { bound } from '../../utils/bound';\nimport isEqual from 'react-fast-compare';\nimport { useIsomorphicLayoutEffect } from 'ahooks';\nimport { measureCSSLength } from '../../utils/measure-css-length';\nimport { supportsPassive } from '../../utils/supports-passive';\nimport classNames from 'classnames';\nconst classPrefix = `adm-picker-view`;\nexport const Wheel = memo(props => {\n const {\n value,\n column,\n renderLabel\n } = props;\n function onSelect(val) {\n props.onSelect(val, props.index);\n }\n const [{\n y\n }, api] = useSpring(() => ({\n from: {\n y: 0\n },\n config: {\n tension: 400,\n mass: 0.8\n }\n }));\n const draggingRef = useRef(false);\n const rootRef = useRef(null);\n const itemHeightMeasureRef = useRef(null);\n const itemHeight = useRef(34);\n useIsomorphicLayoutEffect(() => {\n const itemHeightMeasure = itemHeightMeasureRef.current;\n if (!itemHeightMeasure) return;\n itemHeight.current = measureCSSLength(window.getComputedStyle(itemHeightMeasure).getPropertyValue('height'));\n });\n useIsomorphicLayoutEffect(() => {\n if (draggingRef.current) return;\n if (value === null) return;\n const targetIndex = column.findIndex(item => item.value === value);\n if (targetIndex < 0) return;\n const finalPosition = targetIndex * -itemHeight.current;\n api.start({\n y: finalPosition,\n immediate: y.goal !== finalPosition\n });\n }, [value, column]);\n useIsomorphicLayoutEffect(() => {\n if (column.length === 0) {\n if (value !== null) {\n onSelect(null);\n }\n } else {\n if (!column.some(item => item.value === value)) {\n const firstItem = column[0];\n onSelect(firstItem.value);\n }\n }\n }, [column, value]);\n function scrollSelect(index) {\n const finalPosition = index * -itemHeight.current;\n api.start({\n y: finalPosition\n });\n const item = column[index];\n if (!item) return;\n onSelect(item.value);\n }\n const handleGestureState = state => {\n const {\n direction: [, direction],\n distance: [, distance],\n velocity: [, velocity],\n offset: [, offset],\n last\n } = state;\n return {\n direction,\n distance,\n velocity,\n offset,\n last\n };\n };\n const handleDrag = state => {\n draggingRef.current = true;\n const min = -((column.length - 1) * itemHeight.current);\n const max = 0;\n const {\n direction,\n last,\n velocity,\n offset\n } = handleGestureState(state);\n if (last) {\n draggingRef.current = false;\n const position = offset + velocity * direction * 50;\n const boundNum = bound(position, min, max);\n const targetIndex = -Math.round(boundNum / itemHeight.current);\n scrollSelect(targetIndex);\n } else {\n const position = offset;\n api.start({\n y: rubberbandIfOutOfBounds(position, min, max, itemHeight.current * 50, 0.2)\n });\n }\n };\n const handleWheel = state => {\n draggingRef.current = true;\n const min = -((column.length - 1) * itemHeight.current);\n const max = 0;\n const {\n direction,\n last,\n velocity,\n distance\n } = handleGestureState(state);\n const whellDir = -direction; // 取反\n const scrollY = y.get();\n if (last) {\n draggingRef.current = false;\n const speed = velocity * whellDir * 50;\n const position = scrollY + distance * whellDir + speed;\n const boundNum = bound(position, min, max);\n const targetIndex = -Math.round(boundNum / itemHeight.current);\n scrollSelect(targetIndex);\n } else {\n const position = scrollY + distance * whellDir;\n api.start({\n y: rubberbandIfOutOfBounds(position, min, max, itemHeight.current * 50, 0.2)\n });\n }\n };\n useDrag(state => {\n state.event.stopPropagation();\n handleDrag(state);\n }, {\n axis: 'y',\n from: () => [0, y.get()],\n filterTaps: true,\n pointer: {\n touch: true\n },\n target: rootRef\n });\n useWheel(state => {\n state.event.stopPropagation();\n handleWheel(state);\n }, {\n target: props.mouseWheel ? rootRef : undefined,\n axis: 'y',\n from: () => [0, y.get()],\n preventDefault: true,\n eventOptions: supportsPassive ? {\n passive: false\n } : undefined\n });\n let selectedIndex = null;\n function renderAccessible() {\n if (selectedIndex === null) {\n return null;\n }\n const current = column[selectedIndex];\n const previousIndex = selectedIndex - 1;\n const nextIndex = selectedIndex + 1;\n const previous = column[previousIndex];\n const next = column[nextIndex];\n return React.createElement(\"div\", {\n className: `${classPrefix}-column-accessible`\n }, React.createElement(\"div\", {\n className: `${classPrefix}-column-accessible-current`,\n role: 'button',\n \"aria-label\": current ? `当前选择的是:${current.label}` : '当前未选择'\n }, \"-\"), React.createElement(\"div\", {\n className: `${classPrefix}-column-accessible-button`,\n onClick: () => {\n if (!previous) return;\n scrollSelect(previousIndex);\n },\n role: previous ? 'button' : 'text',\n \"aria-label\": !previous ? '没有上一项' : `选择上一项:${previous.label}`\n }, \"-\"), React.createElement(\"div\", {\n className: `${classPrefix}-column-accessible-button`,\n onClick: () => {\n if (!next) return;\n scrollSelect(nextIndex);\n },\n role: next ? 'button' : 'text',\n \"aria-label\": !next ? '没有下一项' : `选择下一项:${next.label}`\n }, \"-\"));\n }\n return React.createElement(\"div\", {\n className: `${classPrefix}-column`\n }, React.createElement(\"div\", {\n className: `${classPrefix}-item-height-measure`,\n ref: itemHeightMeasureRef\n }), React.createElement(animated.div, {\n ref: rootRef,\n style: {\n translateY: y\n },\n className: `${classPrefix}-column-wheel`,\n \"aria-hidden\": true\n }, column.map((item, index) => {\n var _a;\n const selected = props.value === item.value;\n if (selected) selectedIndex = index;\n function handleClick() {\n draggingRef.current = false;\n scrollSelect(index);\n }\n return React.createElement(\"div\", {\n key: (_a = item.key) !== null && _a !== void 0 ? _a : item.value,\n \"data-selected\": selected,\n className: classNames(`${classPrefix}-column-item`, {\n [`${classPrefix}-column-item-active`]: selected\n }),\n onClick: handleClick,\n \"aria-hidden\": !selected,\n \"aria-label\": selected ? 'active' : ''\n }, React.createElement(\"div\", {\n className: `${classPrefix}-column-item-label`\n }, renderLabel(item)));\n })), renderAccessible());\n}, (prev, next) => {\n if (prev.index !== next.index) return false;\n if (prev.value !== next.value) return false;\n if (prev.onSelect !== next.onSelect) return false;\n if (prev.renderLabel !== next.renderLabel) return false;\n if (prev.mouseWheel !== next.mouseWheel) return false;\n if (!isEqual(prev.column, next.column)) return false;\n return true;\n});\nWheel.displayName = 'Wheel';","import { isDev } from './is-dev';\nimport { devError } from './dev-log';\nexport function measureCSSLength(raw) {\n if (raw === null || raw === undefined || raw === '') {\n if (isDev) {\n devError('Global', 'Something went wrong when calculating CSS length. Please report an issue at https://github.com/ant-design/ant-design-mobile/issues/new/choose');\n }\n return 0;\n }\n const withUnit = raw.trim();\n if (withUnit.endsWith('px')) {\n return parseFloat(withUnit);\n } else if (withUnit.endsWith('rem')) {\n return parseFloat(withUnit) * parseFloat(window.getComputedStyle(document.documentElement).fontSize);\n } else if (withUnit.endsWith('vw')) {\n return parseFloat(withUnit) * window.innerWidth / 100;\n } else {\n if (isDev) {\n devError('Global', `You are using a not supported CSS unit in \\`${raw}\\`. Only \\`px\\` \\`rem\\` and \\`vw\\` are supported.`);\n }\n return 0;\n }\n}","export function withCache(generate) {\n let cache = null;\n return () => {\n if (cache === null) {\n cache = generate();\n }\n return cache;\n };\n}","import { useMemo } from 'react';\nimport { withCache } from '../../utils/with-cache';\nexport function generateColumnsExtend(rawColumns, val) {\n const columns = withCache(() => {\n const c = typeof rawColumns === 'function' ? rawColumns(val) : rawColumns;\n return c.map(column => column.map(item => typeof item === 'string' ? {\n label: item,\n value: item\n } : item));\n });\n const items = withCache(() => {\n return val.map((v, index) => {\n var _a;\n const column = columns()[index];\n if (!column) return null;\n return (_a = column.find(item => item.value === v)) !== null && _a !== void 0 ? _a : null;\n });\n });\n const extend = {\n get columns() {\n return columns();\n },\n get items() {\n return items();\n }\n };\n return extend;\n}\nexport function useColumnsExtend(rawColumns, value) {\n return useMemo(() => generateColumnsExtend(rawColumns, value), [rawColumns, value]);\n}","export const defaultRenderLabel = item => item.label;","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\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\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\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\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n function useSyncExternalStore$2(subscribe, getSnapshot) {\n didWarnOld18Alpha ||\n void 0 === React.startTransition ||\n ((didWarnOld18Alpha = !0),\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.\"\n ));\n var value = getSnapshot();\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n objectIs(value, cachedValue) ||\n (console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n ),\n (didWarnUncachedGetSnapshot = !0));\n }\n cachedValue = useState({\n inst: { value: value, getSnapshot: getSnapshot }\n });\n var inst = cachedValue[0].inst,\n forceUpdate = cachedValue[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n }\n function checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n }\n function useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue,\n didWarnOld18Alpha = !1,\n didWarnUncachedGetSnapshot = !1,\n shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\n exports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","import { Globals } from '@react-spring/web';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\nlet reduced = false;\nconst subscribers = new Set();\nfunction notify() {\n subscribers.forEach(subscriber => {\n subscriber();\n });\n}\nexport function reduceMotion() {\n reduced = true;\n notify();\n Globals.assign({\n skipAnimation: true\n });\n}\nexport function restoreMotion() {\n reduced = false;\n notify();\n Globals.assign({\n skipAnimation: false\n });\n}\nexport function isMotionReduced() {\n return reduced;\n}\nfunction subscribe(onStoreChange) {\n subscribers.add(onStoreChange);\n return () => {\n subscribers.delete(onStoreChange);\n };\n}\nexport function useMotionReduced() {\n return useSyncExternalStore(subscribe, isMotionReduced, isMotionReduced);\n}","import React, { memo } from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { useSpring, animated } from '@react-spring/web';\nimport { useMotionReduced } from '../../utils/reduce-and-restore-motion';\nconst classPrefix = 'adm-spin-loading';\nconst colorRecord = {\n default: 'var(--adm-color-weak)',\n primary: 'var(--adm-color-primary)',\n white: 'var(--adm-color-white)'\n};\nconst defaultProps = {\n color: 'default'\n};\nconst circumference = 15 * 3.14159265358979 * 2;\nexport const SpinLoading = memo(p => {\n var _a;\n const props = mergeProps(defaultProps, p);\n const motionReduced = useMotionReduced();\n const {\n percent\n } = useSpring({\n cancel: motionReduced,\n loop: {\n reverse: true\n },\n from: {\n percent: 80\n },\n to: {\n percent: 30\n },\n config: {\n duration: 1200\n }\n });\n return withNativeProps(props, React.createElement(animated.div, {\n className: classPrefix,\n style: {\n '--color': (_a = colorRecord[props.color]) !== null && _a !== void 0 ? _a : props.color,\n '--percent': percent\n }\n }, React.createElement(\"svg\", {\n className: `${classPrefix}-svg`,\n viewBox: '0 0 32 32'\n }, React.createElement(animated.circle, {\n className: `${classPrefix}-fill`,\n fill: 'transparent',\n strokeWidth: '2',\n strokeDasharray: circumference,\n strokeDashoffset: percent,\n strokeLinecap: 'square',\n r: 15,\n cx: 16,\n cy: 16\n }))));\n});","import React, { memo, useCallback, useEffect, useState } from 'react';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { Wheel } from './wheel';\nimport { useColumnsExtend } from './columns-extend';\nimport { withNativeProps } from '../../utils/native-props';\nimport { useDebounceEffect } from 'ahooks';\nimport { defaultRenderLabel } from '../picker/picker-utils';\nimport SpinLoading from '../spin-loading';\nconst classPrefix = `adm-picker-view`;\nconst defaultProps = {\n defaultValue: [],\n renderLabel: defaultRenderLabel,\n mouseWheel: false,\n loadingContent: React.createElement(\"div\", {\n className: `${classPrefix}-loading-content`\n }, React.createElement(SpinLoading, null))\n};\nexport const PickerView = memo(p => {\n const props = mergeProps(defaultProps, p);\n const [innerValue, setInnerValue] = useState(props.value === undefined ? props.defaultValue : props.value);\n // Sync `value` to `innerValue`\n useEffect(() => {\n if (props.value === undefined) return; // Uncontrolled mode\n if (props.value === innerValue) return;\n setInnerValue(props.value);\n }, [props.value]);\n useEffect(() => {\n if (props.value === innerValue) return;\n const timeout = window.setTimeout(() => {\n if (props.value !== undefined && props.value !== innerValue) {\n setInnerValue(props.value);\n }\n }, 1000);\n return () => {\n window.clearTimeout(timeout);\n };\n }, [props.value, innerValue]);\n const extend = useColumnsExtend(props.columns, innerValue);\n const columns = extend.columns;\n useDebounceEffect(() => {\n var _a;\n if (props.value === innerValue) return;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, innerValue, extend);\n }, [innerValue], {\n wait: 0,\n leading: false,\n trailing: true\n });\n const handleSelect = useCallback((val, index) => {\n setInnerValue(prev => {\n const next = [...prev];\n next[index] = val;\n return next;\n });\n }, []);\n return withNativeProps(props, React.createElement(\"div\", {\n className: `${classPrefix}`\n }, props.loading ? props.loadingContent : React.createElement(React.Fragment, null, columns.map((column, index) => React.createElement(Wheel, {\n key: index,\n index: index,\n column: column,\n value: innerValue[index],\n onSelect: handleSelect,\n renderLabel: props.renderLabel,\n mouseWheel: props.mouseWheel\n })), React.createElement(\"div\", {\n className: `${classPrefix}-mask`\n }, React.createElement(\"div\", {\n className: `${classPrefix}-mask-top`\n }), React.createElement(\"div\", {\n className: `${classPrefix}-mask-middle`\n }), React.createElement(\"div\", {\n className: `${classPrefix}-mask-bottom`\n })))));\n});\nPickerView.displayName = 'PickerView';","import { __read } from \"tslib\";\nimport { useEffect, useState } from 'react';\nimport useDebounceFn from '../useDebounceFn';\nimport useUpdateEffect from '../useUpdateEffect';\nfunction useDebounceEffect(effect, deps, options) {\n var _a = __read(useState({}), 2),\n flag = _a[0],\n setFlag = _a[1];\n var run = useDebounceFn(function () {\n setFlag({});\n }, options).run;\n useEffect(function () {\n return run();\n }, deps);\n useUpdateEffect(effect, [flag]);\n}\nexport default useDebounceEffect;","import React, { useState, useEffect, forwardRef, useImperativeHandle, memo } from 'react';\nimport classNames from 'classnames';\nimport Popup from '../popup';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { withNativeProps } from '../../utils/native-props';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport PickerView from '../picker-view';\nimport { generateColumnsExtend, useColumnsExtend } from '../picker-view/columns-extend';\nimport { useConfig } from '../config-provider';\nimport { useMemoizedFn } from 'ahooks';\nimport SafeArea from '../safe-area';\nimport { defaultRenderLabel } from './picker-utils';\nconst classPrefix = `adm-picker`;\nconst defaultProps = {\n defaultValue: [],\n closeOnMaskClick: true,\n renderLabel: defaultRenderLabel,\n destroyOnClose: false,\n forceRender: false\n};\nexport const Picker = memo(forwardRef((p, ref) => {\n var _a;\n const {\n locale\n } = useConfig();\n const props = mergeProps(defaultProps, {\n confirmText: locale.common.confirm,\n cancelText: locale.common.cancel\n }, p);\n const [visible, setVisible] = usePropsValue({\n value: props.visible,\n defaultValue: false,\n onChange: v => {\n var _a;\n if (v === false) {\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n }\n });\n const actions = {\n toggle: () => {\n setVisible(v => !v);\n },\n open: () => {\n setVisible(true);\n },\n close: () => {\n setVisible(false);\n }\n };\n useImperativeHandle(ref, () => actions);\n const [value, setValue] = usePropsValue(Object.assign(Object.assign({}, props), {\n onChange: val => {\n var _a;\n const extend = generateColumnsExtend(props.columns, val);\n (_a = props.onConfirm) === null || _a === void 0 ? void 0 : _a.call(props, val, extend);\n }\n }));\n const extend = useColumnsExtend(props.columns, value);\n const [innerValue, setInnerValue] = useState(value);\n useEffect(() => {\n if (innerValue !== value) {\n setInnerValue(value);\n }\n }, [visible]);\n useEffect(() => {\n if (!visible) {\n setInnerValue(value);\n }\n }, [value]);\n const onChange = useMemoizedFn((val, ext) => {\n var _a;\n setInnerValue(val);\n if (visible) {\n (_a = props.onSelect) === null || _a === void 0 ? void 0 : _a.call(props, val, ext);\n }\n });\n const pickerElement = withNativeProps(props, React.createElement(\"div\", {\n className: classPrefix\n }, React.createElement(\"div\", {\n className: `${classPrefix}-header`\n }, React.createElement(\"a\", {\n role: 'button',\n className: `${classPrefix}-header-button`,\n onClick: () => {\n var _a;\n (_a = props.onCancel) === null || _a === void 0 ? void 0 : _a.call(props);\n setVisible(false);\n }\n }, props.cancelText), React.createElement(\"div\", {\n className: `${classPrefix}-header-title`\n }, props.title), React.createElement(\"a\", {\n role: 'button',\n className: classNames(`${classPrefix}-header-button`, props.loading && `${classPrefix}-header-button-disabled`),\n onClick: () => {\n if (props.loading) return;\n setValue(innerValue, true);\n setVisible(false);\n },\n \"aria-disabled\": props.loading\n }, props.confirmText)), React.createElement(\"div\", {\n className: `${classPrefix}-body`\n }, React.createElement(PickerView, {\n loading: props.loading,\n loadingContent: props.loadingContent,\n columns: props.columns,\n renderLabel: props.renderLabel,\n value: innerValue,\n mouseWheel: props.mouseWheel,\n onChange: onChange\n }))));\n const popupElement = React.createElement(Popup, {\n style: props.popupStyle,\n className: classNames(`${classPrefix}-popup`, props.popupClassName),\n visible: visible,\n position: 'bottom',\n onMaskClick: () => {\n var _a;\n if (!props.closeOnMaskClick) return;\n (_a = props.onCancel) === null || _a === void 0 ? void 0 : _a.call(props);\n setVisible(false);\n },\n getContainer: props.getContainer,\n destroyOnClose: props.destroyOnClose,\n afterShow: props.afterShow,\n afterClose: props.afterClose,\n onClick: props.onClick,\n forceRender: props.forceRender,\n stopPropagation: props.stopPropagation\n }, pickerElement, React.createElement(SafeArea, {\n position: 'bottom'\n }));\n return React.createElement(React.Fragment, null, popupElement, (_a = props.children) === null || _a === void 0 ? void 0 : _a.call(props, extend.items, actions));\n}));\nPicker.displayName = 'Picker';","import \"./picker.css\";\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { Picker } from './picker';\nimport { prompt } from './prompt';\nexport default attachPropertiesToComponent(Picker, {\n prompt\n});","import React, { useEffect, useState } from 'react';\nimport { renderToBody } from '../../utils/render-to-body';\nimport { Picker } from './picker';\nexport function prompt(props) {\n return new Promise(resolve => {\n const Wrapper = () => {\n const [visible, setVisible] = useState(false);\n useEffect(() => {\n setVisible(true);\n }, []);\n return React.createElement(Picker, Object.assign({}, props, {\n visible: visible,\n onConfirm: (val, extend) => {\n var _a;\n (_a = props.onConfirm) === null || _a === void 0 ? void 0 : _a.call(props, val, extend);\n resolve(val);\n },\n onClose: () => {\n var _a;\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n setVisible(false);\n resolve(null);\n },\n afterClose: () => {\n var _a;\n (_a = props.afterClose) === null || _a === void 0 ? void 0 : _a.call(props);\n unmount();\n }\n }));\n };\n const unmount = renderToBody(React.createElement(Wrapper, null));\n });\n}","import React, { forwardRef, useImperativeHandle, useRef } from 'react';\nimport classNames from 'classnames';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nconst classPrefix = `adm-list`;\nconst defaultProps = {\n mode: 'default'\n};\nexport const List = forwardRef((p, ref) => {\n const props = mergeProps(defaultProps, p);\n const nativeElementRef = useRef(null);\n useImperativeHandle(ref, () => ({\n get nativeElement() {\n return nativeElementRef.current;\n }\n }));\n return withNativeProps(props, React.createElement(\"div\", {\n className: classNames(classPrefix, `${classPrefix}-${props.mode}`),\n ref: nativeElementRef\n }, props.header && React.createElement(\"div\", {\n className: `${classPrefix}-header`\n }, props.header), React.createElement(\"div\", {\n className: `${classPrefix}-body`\n }, React.createElement(\"div\", {\n className: `${classPrefix}-body-inner`\n }, props.children))));\n});","/**\n * Check if the `node` is visible Node (not null, undefined, or false)\n */\nexport function isNodeWithContent(node) {\n return node !== undefined && node !== null && node !== false;\n}","import { RightOutline } from 'antd-mobile-icons';\nimport classNames from 'classnames';\nimport React from 'react';\nimport { isNodeWithContent } from '../../utils/is-node-with-content';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProp } from '../../utils/with-default-props';\nimport { useConfig } from '../config-provider';\nconst classPrefix = `adm-list-item`;\nexport const ListItem = props => {\n var _a, _b;\n const {\n arrow,\n arrowIcon\n } = props;\n const {\n list: componentConfig = {}\n } = useConfig();\n const clickable = (_a = props.clickable) !== null && _a !== void 0 ? _a : !!props.onClick;\n const showArrow = (_b = arrow !== null && arrow !== void 0 ? arrow : arrowIcon) !== null && _b !== void 0 ? _b : clickable;\n const mergedArrowIcon = mergeProp(componentConfig.arrowIcon, arrow !== true ? arrow : null, arrowIcon !== true ? arrowIcon : null);\n const content = React.createElement(\"div\", {\n className: `${classPrefix}-content`\n }, isNodeWithContent(props.prefix) && React.createElement(\"div\", {\n className: `${classPrefix}-content-prefix`\n }, props.prefix), React.createElement(\"div\", {\n className: `${classPrefix}-content-main`\n }, isNodeWithContent(props.title) && React.createElement(\"div\", {\n className: `${classPrefix}-title`\n }, props.title), props.children, isNodeWithContent(props.description) && React.createElement(\"div\", {\n className: `${classPrefix}-description`\n }, props.description)), isNodeWithContent(props.extra) && React.createElement(\"div\", {\n className: `${classPrefix}-content-extra`\n }, props.extra), showArrow && React.createElement(\"div\", {\n className: `${classPrefix}-content-arrow`\n }, mergedArrowIcon || React.createElement(RightOutline, null)));\n return withNativeProps(props, React.createElement(clickable ? 'a' : 'div', {\n className: classNames(`${classPrefix}`, clickable ? ['adm-plain-anchor'] : [], props.disabled && `${classPrefix}-disabled`),\n onClick: props.disabled ? undefined : props.onClick\n }, content));\n};","import \"./list.css\";\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { List } from './list';\nimport { ListItem } from './list-item';\nexport default attachPropertiesToComponent(List, {\n Item: ListItem\n});","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isoWeeksInYear=n()}(this,(function(){\"use strict\";return function(e,n){n.prototype.isoWeeksInYear=function(){var e=this.isLeapYear(),n=this.endOf(\"y\").day();return 4===n||e&&5===n?53:52}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isLeapYear=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0}}}));","export const TILL_NOW = 'TILL_NOW';","import dayjs from 'dayjs';\nimport isoWeek from 'dayjs/plugin/isoWeek';\nimport isoWeeksInYear from 'dayjs/plugin/isoWeeksInYear';\nimport isLeapYear from 'dayjs/plugin/isLeapYear';\nimport { TILL_NOW } from './util';\ndayjs.extend(isoWeek);\ndayjs.extend(isoWeeksInYear);\ndayjs.extend(isLeapYear);\nconst precisionRankRecord = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5\n};\nexport function generateDatePickerColumns(selected, min, max, precision, renderLabel, filter, tillNow) {\n const ret = [];\n const minYear = min.getFullYear();\n const minMonth = min.getMonth() + 1;\n const minDay = min.getDate();\n const minHour = min.getHours();\n const minMinute = min.getMinutes();\n const minSecond = min.getSeconds();\n const maxYear = max.getFullYear();\n const maxMonth = max.getMonth() + 1;\n const maxDay = max.getDate();\n const maxHour = max.getHours();\n const maxMinute = max.getMinutes();\n const maxSecond = max.getSeconds();\n const rank = precisionRankRecord[precision];\n const selectedYear = parseInt(selected[0]);\n const firstDayInSelectedMonth = dayjs(convertStringArrayToDate([selected[0], selected[1], '1']));\n const selectedMonth = parseInt(selected[1]);\n const selectedDay = parseInt(selected[2]);\n const selectedHour = parseInt(selected[3]);\n const selectedMinute = parseInt(selected[4]);\n const isInMinYear = selectedYear === minYear;\n const isInMaxYear = selectedYear === maxYear;\n const isInMinMonth = isInMinYear && selectedMonth === minMonth;\n const isInMaxMonth = isInMaxYear && selectedMonth === maxMonth;\n const isInMinDay = isInMinMonth && selectedDay === minDay;\n const isInMaxDay = isInMaxMonth && selectedDay === maxDay;\n const isInMinHour = isInMinDay && selectedHour === minHour;\n const isInMaxHour = isInMaxDay && selectedHour === maxHour;\n const isInMinMinute = isInMinHour && selectedMinute === minMinute;\n const isInMaxMinute = isInMaxHour && selectedMinute === maxMinute;\n const generateColumn = (from, to, precision) => {\n let column = [];\n for (let i = from; i <= to; i++) {\n column.push(i);\n }\n const prefix = selected.slice(0, precisionRankRecord[precision]);\n const currentFilter = filter === null || filter === void 0 ? void 0 : filter[precision];\n if (currentFilter && typeof currentFilter === 'function') {\n column = column.filter(i => currentFilter(i, {\n get date() {\n const stringArray = [...prefix, i.toString()];\n return convertStringArrayToDate(stringArray);\n }\n }));\n }\n return column;\n };\n if (rank >= precisionRankRecord.year) {\n const lower = minYear;\n const upper = maxYear;\n const years = generateColumn(lower, upper, 'year');\n ret.push(years.map(v => ({\n label: renderLabel('year', v),\n value: v.toString()\n })));\n }\n if (rank >= precisionRankRecord.month) {\n const lower = isInMinYear ? minMonth : 1;\n const upper = isInMaxYear ? maxMonth : 12;\n const months = generateColumn(lower, upper, 'month');\n ret.push(months.map(v => ({\n label: renderLabel('month', v),\n value: v.toString()\n })));\n }\n if (rank >= precisionRankRecord.day) {\n const lower = isInMinMonth ? minDay : 1;\n const upper = isInMaxMonth ? maxDay : firstDayInSelectedMonth.daysInMonth();\n const days = generateColumn(lower, upper, 'day');\n ret.push(days.map(v => ({\n label: renderLabel('day', v),\n value: v.toString()\n })));\n }\n if (rank >= precisionRankRecord.hour) {\n const lower = isInMinDay ? minHour : 0;\n const upper = isInMaxDay ? maxHour : 23;\n const hours = generateColumn(lower, upper, 'hour');\n ret.push(hours.map(v => ({\n label: renderLabel('hour', v),\n value: v.toString()\n })));\n }\n if (rank >= precisionRankRecord.minute) {\n const lower = isInMinHour ? minMinute : 0;\n const upper = isInMaxHour ? maxMinute : 59;\n const minutes = generateColumn(lower, upper, 'minute');\n ret.push(minutes.map(v => ({\n label: renderLabel('minute', v),\n value: v.toString()\n })));\n }\n if (rank >= precisionRankRecord.second) {\n const lower = isInMinMinute ? minSecond : 0;\n const upper = isInMaxMinute ? maxSecond : 59;\n const seconds = generateColumn(lower, upper, 'second');\n ret.push(seconds.map(v => ({\n label: renderLabel('second', v),\n value: v.toString()\n })));\n }\n // Till Now\n if (tillNow) {\n ret[0].push({\n label: renderLabel('now', null),\n value: TILL_NOW\n });\n if (TILL_NOW === (selected === null || selected === void 0 ? void 0 : selected[0])) {\n for (let i = 1; i < ret.length; i += 1) {\n ret[i] = [];\n }\n }\n }\n return ret;\n}\nexport function convertDateToStringArray(date) {\n if (!date) return [];\n return [date.getFullYear().toString(), (date.getMonth() + 1).toString(), date.getDate().toString(), date.getHours().toString(), date.getMinutes().toString(), date.getSeconds().toString()];\n}\nexport function convertStringArrayToDate(value) {\n var _a, _b, _c, _d, _e, _f;\n const yearString = (_a = value[0]) !== null && _a !== void 0 ? _a : '1900';\n const monthString = (_b = value[1]) !== null && _b !== void 0 ? _b : '1';\n const dateString = (_c = value[2]) !== null && _c !== void 0 ? _c : '1';\n const hourString = (_d = value[3]) !== null && _d !== void 0 ? _d : '0';\n const minuteString = (_e = value[4]) !== null && _e !== void 0 ? _e : '0';\n const secondString = (_f = value[5]) !== null && _f !== void 0 ? _f : '0';\n return new Date(parseInt(yearString), parseInt(monthString) - 1, parseInt(dateString), parseInt(hourString), parseInt(minuteString), parseInt(secondString));\n}","!function(t,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_quarterOfYear=n()}(this,(function(){\"use strict\";var t=\"month\",n=\"quarter\";return function(e,i){var r=i.prototype;r.quarter=function(t){return this.$utils().u(t)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(t-1))};var s=r.add;r.add=function(e,i){return e=Number(e),this.$utils().p(i)===n?this.add(3*e,t):s.bind(this)(e,i)};var u=r.startOf;r.startOf=function(e,i){var r=this.$utils(),s=!!r.u(i)||i;if(r.p(e)===n){var o=this.quarter()-1;return s?this.month(3*o).startOf(t).startOf(\"day\"):this.month(3*o+2).endOf(t).endOf(\"day\")}return u.bind(this)(e,i)}}}));","import dayjs from 'dayjs';\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear';\ndayjs.extend(quarterOfYear);\nconst precisionRankRecord = {\n year: 0,\n quarter: 1\n};\nexport function generateDatePickerColumns(selected, min, max, precision, renderLabel, filter) {\n const ret = [];\n const minYear = min.getFullYear();\n const maxYear = max.getFullYear();\n const rank = precisionRankRecord[precision];\n const selectedYear = parseInt(selected[0]);\n const isInMinYear = selectedYear === minYear;\n const isInMaxYear = selectedYear === maxYear;\n const minDay = dayjs(min);\n const maxDay = dayjs(max);\n const minQuarter = minDay.quarter();\n const maxQuarter = maxDay.quarter();\n const generateColumn = (from, to, precision) => {\n let column = [];\n for (let i = from; i <= to; i++) {\n column.push(i);\n }\n const prefix = selected.slice(0, precisionRankRecord[precision]);\n const currentFilter = filter === null || filter === void 0 ? void 0 : filter[precision];\n if (currentFilter && typeof currentFilter === 'function') {\n column = column.filter(i => currentFilter(i, {\n get date() {\n const stringArray = [...prefix, i.toString()];\n return convertStringArrayToDate(stringArray);\n }\n }));\n }\n return column;\n };\n if (rank >= precisionRankRecord.year) {\n const lower = minYear;\n const upper = maxYear;\n const years = generateColumn(lower, upper, 'year');\n ret.push(years.map(v => ({\n label: renderLabel('year', v),\n value: v.toString()\n })));\n }\n if (rank >= precisionRankRecord.quarter) {\n const lower = isInMinYear ? minQuarter : 1;\n const upper = isInMaxYear ? maxQuarter : 4;\n const quarters = generateColumn(lower, upper, 'quarter');\n ret.push(quarters.map(v => ({\n label: renderLabel('quarter', v),\n value: v.toString()\n })));\n }\n return ret;\n}\nexport function convertDateToStringArray(date) {\n if (!date) return [];\n const day = dayjs(date);\n return [day.year().toString(), day.quarter().toString()];\n}\nexport function convertStringArrayToDate(value) {\n var _a, _b;\n const yearString = (_a = value[0]) !== null && _a !== void 0 ? _a : '1900';\n const quarterString = (_b = value[1]) !== null && _b !== void 0 ? _b : '1';\n const day = dayjs().year(parseInt(yearString)).quarter(parseInt(quarterString)).hour(0).minute(0).second(0);\n return day.toDate();\n}","import dayjs from 'dayjs';\nimport isoWeek from 'dayjs/plugin/isoWeek';\nimport isoWeeksInYear from 'dayjs/plugin/isoWeeksInYear';\nimport isLeapYear from 'dayjs/plugin/isLeapYear';\ndayjs.extend(isoWeek);\ndayjs.extend(isoWeeksInYear);\ndayjs.extend(isLeapYear);\nconst precisionRankRecord = {\n year: 0,\n week: 1,\n 'week-day': 2\n};\nexport function generateDatePickerColumns(selected, min, max, precision, renderLabel, filter) {\n const ret = [];\n const minYear = min.getFullYear();\n const maxYear = max.getFullYear();\n const rank = precisionRankRecord[precision];\n const selectedYear = parseInt(selected[0]);\n const isInMinYear = selectedYear === minYear;\n const isInMaxYear = selectedYear === maxYear;\n const minDay = dayjs(min);\n const maxDay = dayjs(max);\n const minWeek = minDay.isoWeek();\n const maxWeek = maxDay.isoWeek();\n const minWeekday = minDay.isoWeekday();\n const maxWeekday = maxDay.isoWeekday();\n const selectedWeek = parseInt(selected[1]);\n const isInMinWeek = isInMinYear && selectedWeek === minWeek;\n const isInMaxWeek = isInMaxYear && selectedWeek === maxWeek;\n const selectedYearWeeks = dayjs(`${selectedYear}-01-01`).isoWeeksInYear();\n const generateColumn = (from, to, precision) => {\n let column = [];\n for (let i = from; i <= to; i++) {\n column.push(i);\n }\n const prefix = selected.slice(0, precisionRankRecord[precision]);\n const currentFilter = filter === null || filter === void 0 ? void 0 : filter[precision];\n if (currentFilter && typeof currentFilter === 'function') {\n column = column.filter(i => currentFilter(i, {\n get date() {\n const stringArray = [...prefix, i.toString()];\n return convertStringArrayToDate(stringArray);\n }\n }));\n }\n return column;\n };\n if (rank >= precisionRankRecord.year) {\n const lower = minYear;\n const upper = maxYear;\n const years = generateColumn(lower, upper, 'year');\n ret.push(years.map(v => ({\n label: renderLabel('year', v),\n value: v.toString()\n })));\n }\n if (rank >= precisionRankRecord.week) {\n const lower = isInMinYear ? minWeek : 1;\n const upper = isInMaxYear ? maxWeek : selectedYearWeeks;\n const weeks = generateColumn(lower, upper, 'week');\n ret.push(weeks.map(v => ({\n label: renderLabel('week', v),\n value: v.toString()\n })));\n }\n if (rank >= precisionRankRecord['week-day']) {\n const lower = isInMinWeek ? minWeekday : 1;\n const upper = isInMaxWeek ? maxWeekday : 7;\n const weeks = generateColumn(lower, upper, 'week-day');\n ret.push(weeks.map(v => ({\n label: renderLabel('week-day', v),\n value: v.toString()\n })));\n }\n return ret;\n}\nexport function convertDateToStringArray(date) {\n if (!date) return [];\n const day = dayjs(date);\n return [day.isoWeekYear().toString(), day.isoWeek().toString(), day.isoWeekday().toString()];\n}\nexport function convertStringArrayToDate(value) {\n var _a, _b, _c;\n const yearString = (_a = value[0]) !== null && _a !== void 0 ? _a : '1900';\n const weekString = (_b = value[1]) !== null && _b !== void 0 ? _b : '1';\n const weekdayString = (_c = value[2]) !== null && _c !== void 0 ? _c : '1';\n const day = dayjs().year(parseInt(yearString)).isoWeek(parseInt(weekString)).isoWeekday(parseInt(weekdayString)).hour(0).minute(0).second(0);\n return day.toDate();\n}","import * as dateUtils from './date-picker-date-utils';\nimport * as quarterUtils from './date-picker-quarter-utils';\nimport * as weekUtils from './date-picker-week-utils';\nimport { TILL_NOW } from './util';\nconst precisionLengthRecord = {\n year: 1,\n month: 2,\n day: 3,\n hour: 4,\n minute: 5,\n second: 6\n};\nexport const convertDateToStringArray = (date, precision) => {\n if (precision.includes('week')) {\n return weekUtils.convertDateToStringArray(date);\n } else if (precision.includes('quarter')) {\n return quarterUtils.convertDateToStringArray(date);\n } else {\n const datePrecision = precision;\n const stringArray = dateUtils.convertDateToStringArray(date);\n return stringArray.slice(0, precisionLengthRecord[datePrecision]);\n }\n};\nexport const convertStringArrayToDate = (value, precision) => {\n // Special case for DATE_NOW\n if ((value === null || value === void 0 ? void 0 : value[0]) === TILL_NOW) {\n const now = new Date();\n now.tillNow = true;\n return now;\n }\n if (precision.includes('week')) {\n return weekUtils.convertStringArrayToDate(value);\n } else if (precision.includes('quarter')) {\n return quarterUtils.convertStringArrayToDate(value);\n } else {\n return dateUtils.convertStringArrayToDate(value);\n }\n};\nexport const generateDatePickerColumns = (selected, min, max, precision, renderLabel, filter, tillNow) => {\n if (precision.startsWith('week')) {\n return weekUtils.generateDatePickerColumns(selected, min, max, precision, renderLabel, filter);\n } else if (precision.startsWith('quarter')) {\n return quarterUtils.generateDatePickerColumns(selected, min, max, precision, renderLabel, filter);\n } else {\n return dateUtils.generateDatePickerColumns(selected, min, max, precision, renderLabel, filter, tillNow);\n }\n};","import React, { forwardRef, useCallback, useMemo } from 'react';\nimport { useMemoizedFn } from 'ahooks';\nimport Picker from '../picker';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport { convertDateToStringArray, convertStringArrayToDate, generateDatePickerColumns } from './date-picker-utils';\nimport { bound } from '../../utils/bound';\nimport useRenderLabel from '../date-picker-view/useRenderLabel';\nimport { TILL_NOW } from './util';\nconst thisYear = new Date().getFullYear();\nconst defaultProps = {\n min: new Date(new Date().setFullYear(thisYear - 10)),\n max: new Date(new Date().setFullYear(thisYear + 10)),\n precision: 'day',\n defaultValue: null\n};\nexport const DatePicker = forwardRef((p, ref) => {\n const props = mergeProps(defaultProps, p);\n const {\n renderLabel\n } = props;\n const [value, setValue] = usePropsValue({\n value: props.value,\n defaultValue: props.defaultValue,\n onChange: v => {\n var _a;\n if (v === null) return;\n (_a = props.onConfirm) === null || _a === void 0 ? void 0 : _a.call(props, v);\n }\n });\n const now = useMemo(() => new Date(), []);\n const mergedRenderLabel = useRenderLabel(renderLabel);\n const pickerValue = useMemo(() => {\n let date = value !== null && value !== void 0 ? value : now;\n if (date.tillNow) {\n return [TILL_NOW];\n }\n date = new Date(bound(date.getTime(), props.min.getTime(), props.max.getTime()));\n return convertDateToStringArray(date, props.precision);\n }, [value, props.precision, props.min, props.max]);\n const onConfirm = useCallback(val => {\n const date = convertStringArrayToDate(val, props.precision);\n setValue(date, true);\n }, [setValue, props.precision]);\n const onSelect = useMemoizedFn(val => {\n var _a;\n const date = convertStringArrayToDate(val, props.precision);\n (_a = props.onSelect) === null || _a === void 0 ? void 0 : _a.call(props, date);\n });\n const columns = useCallback(selected => generateDatePickerColumns(selected, props.min, props.max, props.precision, mergedRenderLabel, props.filter, props.tillNow), [props.min, props.max, props.precision, mergedRenderLabel, props.tillNow]);\n return withNativeProps(props, React.createElement(Picker, {\n ref: ref,\n columns: columns,\n value: pickerValue,\n onCancel: props.onCancel,\n onClose: props.onClose,\n closeOnMaskClick: props.closeOnMaskClick,\n visible: props.visible,\n confirmText: props.confirmText,\n cancelText: props.cancelText,\n onConfirm: onConfirm,\n onSelect: onSelect,\n getContainer: props.getContainer,\n loading: props.loading,\n loadingContent: props.loadingContent,\n afterShow: props.afterShow,\n afterClose: props.afterClose,\n onClick: props.onClick,\n title: props.title,\n stopPropagation: props.stopPropagation,\n mouseWheel: props.mouseWheel,\n destroyOnClose: props.destroyOnClose,\n forceRender: props.forceRender\n }, (_, actions) => {\n var _a;\n return (_a = props.children) === null || _a === void 0 ? void 0 : _a.call(props, value, actions);\n }));\n});","import { useCallback } from 'react';\nimport { useConfig } from '../config-provider';\nexport default function useRenderLabel(renderLabel) {\n const {\n locale\n } = useConfig();\n return useCallback((type, data) => {\n if (renderLabel) {\n return renderLabel(type, data);\n }\n // Default render\n switch (type) {\n case 'minute':\n case 'second':\n case 'hour':\n return ('0' + data.toString()).slice(-2);\n case 'now':\n return locale.DatePicker.tillNow;\n default:\n return data.toString();\n }\n }, [renderLabel]);\n}","import \"./date-picker.css\";\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { DatePicker } from './date-picker';\nimport { TILL_NOW } from './util';\nimport { prompt } from './prompt';\nexport default attachPropertiesToComponent(DatePicker, {\n prompt,\n DATE_NOW: TILL_NOW\n});","import React, { useEffect, useState } from 'react';\nimport { renderToBody } from '../../utils/render-to-body';\nimport { DatePicker } from './date-picker';\nexport function prompt(props) {\n return new Promise(resolve => {\n const Wrapper = () => {\n const [visible, setVisible] = useState(false);\n useEffect(() => {\n setVisible(true);\n }, []);\n return React.createElement(DatePicker, Object.assign({}, props, {\n visible: visible,\n onConfirm: val => {\n var _a;\n (_a = props.onConfirm) === null || _a === void 0 ? void 0 : _a.call(props, val);\n resolve(val);\n },\n onClose: () => {\n var _a;\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n setVisible(false);\n resolve(null);\n },\n afterClose: () => {\n var _a;\n (_a = props.afterClose) === null || _a === void 0 ? void 0 : _a.call(props);\n unmount();\n }\n }));\n };\n const unmount = renderToBody(React.createElement(Wrapper, null));\n });\n}","import React from 'react';\nimport classNames from 'classnames';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nconst classPrefix = `adm-space`;\nconst defaultProps = {\n direction: 'horizontal'\n};\nexport const Space = p => {\n const props = mergeProps(defaultProps, p);\n const {\n direction,\n onClick\n } = props;\n return withNativeProps(props, React.createElement(\"div\", {\n className: classNames(classPrefix, {\n [`${classPrefix}-wrap`]: props.wrap,\n [`${classPrefix}-block`]: props.block,\n [`${classPrefix}-${direction}`]: true,\n [`${classPrefix}-align-${props.align}`]: !!props.align,\n [`${classPrefix}-justify-${props.justify}`]: !!props.justify\n }),\n onClick: onClick\n }, React.Children.map(props.children, child => {\n return child !== null && child !== undefined && React.createElement(\"div\", {\n className: `${classPrefix}-item`\n }, child);\n })));\n};","import { CloseCircleFill } from 'antd-mobile-icons';\nimport classNames from 'classnames';\nimport React, { forwardRef, useImperativeHandle, useRef, useState } from 'react';\nimport { bound } from '../../utils/bound';\nimport { withNativeProps } from '../../utils/native-props';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport { isIOS } from '../../utils/validate';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { useConfig } from '../config-provider';\nimport useInputHandleKeyDown from './useInputHandleKeyDown';\nconst classPrefix = `adm-input`;\nconst defaultProps = {\n defaultValue: '',\n clearIcon: React.createElement(CloseCircleFill, null),\n onlyShowClearWhenFocus: true\n};\nexport const Input = forwardRef((props, ref) => {\n const {\n locale,\n input: componentConfig = {}\n } = useConfig();\n const mergedProps = mergeProps(defaultProps, componentConfig, props);\n const [value, setValue] = usePropsValue(mergedProps);\n const [hasFocus, setHasFocus] = useState(false);\n const compositionStartRef = useRef(false);\n const nativeInputRef = useRef(null);\n const handleKeydown = useInputHandleKeyDown({\n onEnterPress: mergedProps.onEnterPress,\n onKeyDown: mergedProps.onKeyDown,\n nativeInputRef,\n enterKeyHint: mergedProps.enterKeyHint\n });\n useImperativeHandle(ref, () => ({\n clear: () => {\n setValue('');\n },\n focus: () => {\n var _a;\n (_a = nativeInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n },\n blur: () => {\n var _a;\n (_a = nativeInputRef.current) === null || _a === void 0 ? void 0 : _a.blur();\n },\n get nativeElement() {\n return nativeInputRef.current;\n }\n }));\n function checkValue() {\n let nextValue = value;\n if (mergedProps.type === 'number') {\n const boundValue = nextValue && bound(parseFloat(nextValue), mergedProps.min, mergedProps.max).toString();\n // fix the display issue of numbers starting with 0\n if (Number(nextValue) !== Number(boundValue)) {\n nextValue = boundValue;\n }\n }\n if (nextValue !== value) {\n setValue(nextValue);\n }\n }\n const shouldShowClear = (() => {\n if (!mergedProps.clearable || !value || mergedProps.readOnly) return false;\n if (mergedProps.onlyShowClearWhenFocus) {\n return hasFocus;\n } else {\n return true;\n }\n })();\n return withNativeProps(mergedProps, React.createElement(\"div\", {\n className: classNames(`${classPrefix}`, mergedProps.disabled && `${classPrefix}-disabled`)\n }, React.createElement(\"input\", {\n ref: nativeInputRef,\n className: `${classPrefix}-element`,\n value: value,\n onChange: e => {\n setValue(e.target.value);\n },\n onFocus: e => {\n var _a;\n setHasFocus(true);\n (_a = mergedProps.onFocus) === null || _a === void 0 ? void 0 : _a.call(mergedProps, e);\n },\n onBlur: e => {\n var _a;\n setHasFocus(false);\n checkValue();\n (_a = mergedProps.onBlur) === null || _a === void 0 ? void 0 : _a.call(mergedProps, e);\n },\n onPaste: mergedProps.onPaste,\n id: mergedProps.id,\n placeholder: mergedProps.placeholder,\n disabled: mergedProps.disabled,\n readOnly: mergedProps.readOnly,\n maxLength: mergedProps.maxLength,\n minLength: mergedProps.minLength,\n max: mergedProps.max,\n min: mergedProps.min,\n autoComplete: mergedProps.autoComplete,\n enterKeyHint: mergedProps.enterKeyHint,\n autoFocus: mergedProps.autoFocus,\n pattern: mergedProps.pattern,\n inputMode: mergedProps.inputMode,\n type: mergedProps.type,\n name: mergedProps.name,\n autoCapitalize: mergedProps.autoCapitalize,\n autoCorrect: mergedProps.autoCorrect,\n onKeyDown: handleKeydown,\n onKeyUp: mergedProps.onKeyUp,\n onCompositionStart: e => {\n var _a;\n compositionStartRef.current = true;\n (_a = mergedProps.onCompositionStart) === null || _a === void 0 ? void 0 : _a.call(mergedProps, e);\n },\n onCompositionEnd: e => {\n var _a;\n compositionStartRef.current = false;\n (_a = mergedProps.onCompositionEnd) === null || _a === void 0 ? void 0 : _a.call(mergedProps, e);\n },\n onClick: mergedProps.onClick,\n step: mergedProps.step,\n role: mergedProps.role,\n \"aria-valuenow\": mergedProps['aria-valuenow'],\n \"aria-valuemax\": mergedProps['aria-valuemax'],\n \"aria-valuemin\": mergedProps['aria-valuemin'],\n \"aria-label\": mergedProps['aria-label']\n }), shouldShowClear && React.createElement(\"div\", {\n className: `${classPrefix}-clear`,\n onMouseDown: e => {\n e.preventDefault();\n },\n onClick: () => {\n var _a, _b;\n setValue('');\n (_a = mergedProps.onClear) === null || _a === void 0 ? void 0 : _a.call(mergedProps);\n // https://github.com/ant-design/ant-design-mobile/issues/5212\n if (isIOS() && compositionStartRef.current) {\n compositionStartRef.current = false;\n (_b = nativeInputRef.current) === null || _b === void 0 ? void 0 : _b.blur();\n }\n },\n \"aria-label\": locale.Input.clear\n }, mergedProps.clearIcon)));\n});","import * as React from \"react\";\n\nfunction CloseCircleFill(props) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 48 48\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\"\n }, props, {\n style: Object.assign({\n verticalAlign: '-0.125em'\n }, props.style),\n className: ['antd-mobile-icon', props.className].filter(Boolean).join(' ')\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"CloseCircleFill-CloseCircleFill\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"CloseCircleFill-\\u7F16\\u7EC4\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"CloseCircleFill-\\u77E9\\u5F62\",\n fill: \"#FFFFFF\",\n opacity: 0,\n x: 0,\n y: 0,\n width: 48,\n height: 48\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24,2 C36.1502645,2 46,11.8497355 46,24 C46,36.1502645 36.1502645,46 24,46 C11.8497355,46 2,36.1502645 2,24 C2,11.8497355 11.8497355,2 24,2 Z M18.6753876,16 L15.5637812,16 C15.4576916,16 15.3559474,16.0421451 15.2809323,16.1171635 C15.124726,16.2733766 15.1247316,16.5266426 15.2809447,16.6828489 L15.2809447,16.6828489 L22.299066,23.7006641 L14.6828159,31.3171619 C14.6078042,31.3921761 14.5656632,31.4939157 14.5656632,31.6 C14.5656632,31.8209139 14.7447493,32 14.9656632,32 L14.9656632,32 L18.0753284,32 C18.1814068,32 18.2831412,31.9578638 18.3581544,31.8828594 L18.3581544,31.8828594 L24.420066,25.8216641 L30.4818451,31.8828564 C30.5568585,31.9578626 30.6585942,32 30.7646741,32 L30.7646741,32 L33.8763476,32 C33.9824309,32 34.0841695,31.9578599 34.1591835,31.8828496 C34.315397,31.7266436 34.3154031,31.4733776 34.1591972,31.3171641 L34.1591972,31.3171641 L26.542066,23.6996641 L33.5591874,16.6828489 C33.6342057,16.6078338 33.6763508,16.5060896 33.6763508,16.4 C33.6763508,16.1790861 33.4972647,16 33.2763508,16 L33.2763508,16 L30.1637654,16 C30.0576705,16 29.9559218,16.0421493 29.8809058,16.1171741 L29.8809058,16.1171741 L24.420066,21.5786641 L18.9582218,16.1171488 C18.883208,16.0421394 18.7814701,16 18.6753876,16 L18.6753876,16 Z\",\n id: \"CloseCircleFill-\\u5F62\\u72B6\\u7ED3\\u5408\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }))));\n}\n\nexport default CloseCircleFill;","import { useIsomorphicLayoutEffect } from 'ahooks';\nexport default function useInputHandleKeyDown({\n onEnterPress,\n onKeyDown,\n nativeInputRef,\n enterKeyHint\n}) {\n const handleKeydown = e => {\n if (onEnterPress && (e.code === 'Enter' || e.keyCode === 13)) {\n onEnterPress(e);\n }\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);\n };\n useIsomorphicLayoutEffect(() => {\n const ele = nativeInputRef.current;\n if (!enterKeyHint || !ele) return;\n ele.setAttribute('enterkeyhint', enterKeyHint);\n return () => {\n ele.removeAttribute('enterkeyhint');\n };\n }, [enterKeyHint]);\n return handleKeydown;\n}","// import {\n// Button as AntdButton,\n// type ButtonProps as AntdButtonProps,\n// } from \"antd-mobile\";\n// import { forwardRef } from \"react\";\n\n// export interface ButtonProps extends AntdButtonProps {\n// /** An optional prop */\n// optional?: string;\n// }\n\n// export const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n// (props, ref) => {\n// return <AntdButton {...props} ref={ref} />;\n// }\n// );\n\nimport {\n Button as AntdButton,\n type ButtonProps as AntdButtonProps,\n} from \"antd-mobile\";\nimport { useCallback } from \"react\";\n\nexport interface ButtonProps extends AntdButtonProps {\n /** An optional icon */\n icon?: React.ReactNode;\n /** An optional icon position */\n iconPosition?: \"left\" | \"right\";\n}\n\nexport const Button: React.FC<ButtonProps> = (props) => {\n const { children, icon, iconPosition = \"left\", ...restOfProps } = props;\n\n const renderButtonContent = useCallback(() => {\n const nodeItems: React.ReactNode[] = [<span>{children}</span>];\n\n if (icon) {\n if (iconPosition === \"left\") {\n nodeItems.unshift(icon);\n } else {\n nodeItems.push(icon);\n }\n }\n\n return nodeItems;\n }, [children, icon, iconPosition]);\n\n return (\n <AntdButton {...restOfProps}>\n <div className=\"am-flex am-items-center am-justify-center am-gap-2\">\n {renderButtonContent()}\n </div>\n </AntdButton>\n );\n};\n","import {\n Space as AntdSpace,\n type SpaceProps as AntdSpaceProps,\n} from \"antd-mobile\";\n\ninterface SpaceProps extends AntdSpaceProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const Space: React.FC<SpaceProps> = (props) => {\n return <AntdSpace {...props} />;\n};\n","import {\n Divider as AntdDivider,\n type DividerProps as AntdDividerProps,\n} from \"antd-mobile\";\nimport React from \"react\";\n\nexport interface DividerProps extends AntdDividerProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const Divider: React.FC<DividerProps> = (props) => {\n return <AntdDivider {...props} />;\n};\n","import {\n DatePicker as AntdDatePicker,\n type DatePickerProps as AntdDatePickerProps,\n} from \"antd-mobile\";\nimport { useCallback } from \"react\";\n\nexport interface DatePickerProps extends AntdDatePickerProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const DatePicker: React.FC<DatePickerProps> = (props) => {\n // Renders\n const labelRender = useCallback((type: string, data: number) => {\n switch (type) {\n case \"month\":\n return `Tháng ${data}`;\n // case \"year\":\n // return `Năm ${data}`;\n // case \"day\":\n // return `Ngày ${data}`;\n default:\n return data;\n }\n }, []);\n\n return <AntdDatePicker renderLabel={labelRender} {...props} />;\n};\n","// Libraries\nimport { Input as AntdInput, InputProps as AntdInputProps } from \"antd-mobile\";\nimport React from \"react\";\n\ninterface InputProps extends AntdInputProps {}\n\nexport const Input: React.FC<InputProps> = (props) => {\n return <AntdInput {...props} />;\n};\n","// Libraries\nimport { List as AntdList, type ListProps as AntdListProps } from \"antd-mobile\";\n\ninterface ListProps extends AntdListProps {\n /** Optional */\n optional?: boolean;\n}\n\nconst BaseList: React.FC<ListProps> = (props) => {\n return <AntdList {...props} />;\n};\n\nexport const List = BaseList as React.FC<ListProps> & {\n Item: typeof AntdList.Item;\n};\n\nList.Item = AntdList.Item;\n","const typeTemplate = '${label} is not a valid ${type}';\nexport const base = {\n locale: 'en',\n common: {\n confirm: 'Confirm',\n cancel: 'Cancel',\n loading: 'Loading',\n close: 'Close'\n },\n Calendar: {\n title: 'Date selection',\n confirm: 'Confirm',\n start: 'start',\n end: 'end',\n today: 'today',\n markItems: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\n yearAndMonth: '${year}/${month}'\n },\n Cascader: {\n placeholder: 'Selecting'\n },\n Dialog: {\n ok: 'OK'\n },\n DatePicker: {\n tillNow: 'Till Now'\n },\n ErrorBlock: {\n default: {\n title: 'Oops, something went wrong',\n description: 'Please wait a minute and try again'\n },\n busy: {\n title: 'Oops, not loading',\n description: 'Try to refresh the page'\n },\n disconnected: {\n title: 'Network is busy',\n description: 'Try to refresh the page'\n },\n empty: {\n title: \"Hmm, couldn't find that...\",\n description: 'Want to try a new search?'\n }\n },\n Form: {\n required: 'Required',\n optional: 'Optional',\n defaultValidateMessages: {\n default: 'Field validation error for ${label}',\n required: 'Please enter ${label}',\n enum: '${label} must be one of [${enum}]',\n whitespace: '${label} cannot be a blank character',\n date: {\n format: '${label} date format is invalid',\n parse: '${label} cannot be converted to a date',\n invalid: '${label} is an invalid date'\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n boolean: typeTemplate,\n integer: typeTemplate,\n float: typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: '${label} must be ${len} characters',\n min: '${label} must be at least ${min} characters',\n max: '${label} must be up to ${max} characters',\n range: '${label} must be between ${min}-${max} characters'\n },\n number: {\n len: '${label} must be equal to ${len}',\n min: '${label} must be minimum ${min}',\n max: '${label} must be maximum ${max}',\n range: '${label} must be between ${min}-${max}'\n },\n array: {\n len: 'Must be ${len} ${label}',\n min: 'At least ${min} ${label}',\n max: 'At most ${max} ${label}',\n range: 'The amount of ${label} must be between ${min}-${max}'\n },\n pattern: {\n mismatch: '${label} does not match the pattern ${pattern}'\n }\n }\n },\n ImageUploader: {\n uploading: 'Uploading...',\n upload: 'Upload'\n },\n InfiniteScroll: {\n noMore: 'No more',\n failedToLoad: 'Failed to load',\n retry: 'Retry'\n },\n Input: {\n clear: 'clear'\n },\n Mask: {\n name: 'Mask'\n },\n Modal: {\n ok: 'OK'\n },\n PasscodeInput: {\n name: 'Passcode Input'\n },\n PullToRefresh: {\n pulling: 'Scroll down to refresh',\n canRelease: 'Release to refresh immediately',\n complete: 'Refresh successful'\n },\n SearchBar: {\n name: 'Search Bar'\n },\n Slider: {\n name: 'Slider'\n },\n Stepper: {\n decrease: 'decrease',\n increase: 'increase'\n },\n Switch: {\n name: 'Switch'\n },\n Selector: {\n name: 'Selector'\n }\n};","import { mergeLocale } from '../utils/merge-locale';\nimport { base } from './base';\nconst typeTemplate = '${label} không phải là một ${type} hợp lệ';\nconst viVN = mergeLocale(base, {\n 'locale': 'vi-VN',\n 'common': {\n 'confirm': 'Chắc chắn',\n 'cancel': 'Hủy',\n 'loading': 'Đang tải',\n 'close': 'Đóng'\n },\n 'Calendar': {\n 'title': 'Chọn ngày',\n 'confirm': 'Xác nhận',\n 'start': 'Bắt đầu',\n 'end': 'Kết thúc',\n 'today': 'Hôm nay',\n 'markItems': ['Một', 'Hai', 'Ba', 'Bốn', 'Năm', 'Sáu', 'Ngày'],\n 'yearAndMonth': 'Tháng ${month} năm ${year}'\n },\n 'Cascader': {\n 'placeholder': 'Vui lòng lựa chọn'\n },\n 'Dialog': {\n 'ok': 'OK'\n },\n 'DatePicker': {\n 'tillNow': 'Đến nay'\n },\n 'ErrorBlock': {\n 'default': {\n 'title': 'Trang đang gặp một số vấn đề nhỏ',\n 'description': 'Đợi chút rồi thử'\n },\n 'busy': {\n 'title': 'Ùn tắc phía trước',\n 'description': 'Thử quét mới'\n },\n 'disconnected': {\n 'title': 'Mạng đang bận',\n 'description': 'Chạm khẽ để chỉnh sửa'\n },\n 'empty': {\n 'title': 'Không tìm thấy thứ bạn cần',\n 'description': 'Tìm cái khác'\n }\n },\n 'Form': {\n 'required': 'Bắt buộc',\n 'optional': 'Tùy chọn',\n 'defaultValidateMessages': {\n 'default': 'Lỗi xác thực trường ${label}',\n 'required': 'Vui lòng nhập ${label}',\n 'enum': '${label} phải là một trong [${enum}]',\n 'whitespace': '${label} không được là ký tự trống',\n 'date': {\n 'format': '${label}Định dạng ngày tháng không còn hiệu lực',\n 'parse': '${label} Không thể chuyển đổi thành ngày',\n 'invalid': '${label} là một ngày không hợp lệ'\n },\n 'types': {\n 'string': typeTemplate,\n 'method': typeTemplate,\n 'array': typeTemplate,\n 'object': typeTemplate,\n 'number': typeTemplate,\n 'date': typeTemplate,\n 'boolean': typeTemplate,\n 'integer': typeTemplate,\n 'float': typeTemplate,\n 'regexp': typeTemplate,\n 'email': typeTemplate,\n 'url': typeTemplate,\n 'hex': typeTemplate\n },\n 'string': {\n 'len': '${label} phải là ${len} ký tự',\n 'min': '${label} tối thiểu ${min} ký tự',\n 'max': '${label} tối đa ${max} ký tự',\n 'range': '${label} phải ở giữa chữ ${min} - ${max}'\n },\n 'number': {\n 'len': '${label} phải bằng ${len}',\n 'min': '${label} giá trị tối thiểu là ${min}',\n 'max': '${label} giá trị tối đa là ${max}',\n 'range': '${label} phải ở giữa ${min} - ${max}'\n },\n 'array': {\n 'len': 'Phải là ${len} chiếc ${label}',\n 'min': 'Tối thiểu ${min} chiếc ${label}',\n 'max': 'Tối đa ${max} chiếc ${label}',\n 'range': '${label} số lượng phải ở giữa ${min} - ${max}'\n },\n 'pattern': {\n 'mismatch': '${label} không khớp với mẫu ${pattern}'\n }\n }\n },\n 'ImageUploader': {\n 'uploading': 'Đang tải lên...',\n 'upload': 'Tải lên'\n },\n 'InfiniteScroll': {\n 'noMore': 'Hết rồi bạn ơi',\n 'failedToLoad': 'Tải xuống thất bại',\n 'retry': 'Tải lại'\n },\n 'Input': {\n 'clear': 'Xóa'\n },\n 'Mask': {\n 'name': 'Nền tối'\n },\n 'Modal': {\n 'ok': 'OK'\n },\n 'PasscodeInput': {\n 'name': 'Khung nhập mật khẩu'\n },\n 'PullToRefresh': {\n 'pulling': 'Kéo xuống để làm mới',\n 'canRelease': 'Thả ra để làm mới',\n 'complete': 'Làm mới thành công'\n },\n 'SearchBar': {\n 'name': 'Khung tìm kiếm'\n },\n 'Slider': {\n 'name': 'Thanh nhập liệu trượt'\n },\n 'Stepper': {\n 'decrease': 'Giảm',\n 'increase': 'Tăng'\n },\n 'Switch': {\n 'name': 'Bật tắt'\n },\n 'Selector': {\n 'name': 'Chọn nhóm'\n }\n});\nexport default viVN;","export function mergeLocale(base, patch) {\n function merge(a, b) {\n if (typeof a !== 'object' || typeof b !== 'object' || Array.isArray(a) || Array.isArray(b)) {\n return b !== undefined ? b : a;\n }\n const result = {};\n for (const key in a) {\n if (a.hasOwnProperty(key)) {\n result[key] = merge(a[key], b[key]);\n }\n }\n return result;\n }\n return merge(base, patch);\n}","// Libraries\nimport React from \"react\";\nimport {\n ConfigProvider as AntdConfigProvider,\n type ConfigProviderProps as AntdConfigProviderProps,\n} from \"antd-mobile\";\nimport viVN from \"antd-mobile/es/locales/vi-VN\";\n\ninterface ConfigProviderProps extends AntdConfigProviderProps {\n /** An optional prop */\n optional?: string;\n}\n\nconst locale = {\n ...viVN,\n common: {\n ...viVN.common,\n confirm: \"Xác nhận\",\n },\n};\n\nexport const ConfigProvider: React.FC<ConfigProviderProps> = (props) => {\n const { children, ...restProps } = props;\n\n return (\n <AntdConfigProvider {...restProps} locale={locale}>\n {children}\n </AntdConfigProvider>\n );\n};\n"],"names":["canUseDom","window","document","createElement","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__read","o","n","m","Symbol","iterator","r","i","call","ar","push","error","addEventListener","typeTemplate","defaultConfigRef","current","locale","common","confirm","cancel","loading","close","Calendar","title","start","end","today","markItems","yearAndMonth","Cascader","placeholder","Dialog","ok","DatePicker","tillNow","ErrorBlock","default","description","busy","disconnected","empty","Form","required","optional","defaultValidateMessages","enum","whitespace","date","format","parse","invalid","types","string","method","array","object","number","boolean","integer","float","regexp","email","url","hex","len","min","max","range","pattern","mismatch","ImageUploader","uploading","upload","InfiniteScroll","noMore","failedToLoad","retry","Input","clear","Mask","name","Modal","PasscodeInput","PullToRefresh","pulling","canRelease","complete","SearchBar","Slider","Stepper","decrease","increase","Switch","Selector","ConfigContext","React","createContext","ConfigProvider","props","children","config","s","t","p","Object","prototype","hasOwnProperty","indexOf","getOwnPropertySymbols","length","propertyIsEnumerable","parentConfig","useConfig","Provider","assign","_a","useContext","undefined","attachPropertiesToComponent","component","properties","ret","key","hasOwn","classNames","classes","arguments","arg","appendClass","parseValue","Array","isArray","toString","includes","newClass","module","exports","withNativeProps","element","className","style","tabIndex","startsWith","cloneElement","mergeProps","items","forEach","item","keys","isFunction","isDev","process","env","NODE_ENV","useMemoizedFn","fn","console","concat","fnRef","useRef","useMemo","memoizedFn","args","_i","this","useUpdateEffect","hook","useEffect","effect","deps","isMounted","useLatest","ref","isObject_1","type","freeGlobal","global","_freeGlobal","require$$0","freeSelf","self","root","Function","_root","now_1","Date","now","reWhitespace","_trimmedEndIndex","index","test","charAt","trimmedEndIndex","reTrimStart","_baseTrim","slice","replace","_Symbol","objectProto","nativeObjectToString","symToStringTag","toStringTag","_getRawTag","isOwn","tag","unmasked","_objectToString","getRawTag","require$$1","objectToString","require$$2","_baseGetTag","isObjectLike_1","baseGetTag","isObjectLike","isSymbol_1","baseTrim","isObject","isSymbol","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","toNumber_1","other","valueOf","isBinary","toNumber","nativeMax","Math","nativeMin","debounce_1","func","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","timeWaiting","debounced","isInvoking","clearTimeout","flush","isBrowser","u","a","c","f","h","d","l","$","y","M","weekdays","split","months","ordinal","String","join","v","z","utcOffset","abs","floor","year","month","clone","add","ceil","w","D","ms","Q","toLowerCase","g","S","_","O","b","$L","utc","$u","x","$x","$offset","$d","NaN","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","getTime","toDate","$locale","weekStart","$set","daysInMonth","get","Number","round","subtract","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","k","extend","$i","isDayjs","en","Ls","useDebounceFn","debounce","to","from","pack","run","hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","equal","constructor","it","size","entries","has","RegExp","source","flags","$$typeof","reactFastCompare","message","warn","useIsomorphicLayoutEffect","useLayoutEffect","useUnmountedRef","unmountedRef","defaultRoot","overflowStylePatterns","isElement","node","nodeType","supportsPassive","opts","defineProperty","totalLockCount","BODY_LOCK_CLASS","useLockScroll","rootRef","shouldLock","touch","startX","startY","deltaX","deltaY","offsetX","offsetY","direction","reset","move","event","touches","clientX","clientY","isVertical","isHorizontal","onTouchMove","el","body","overflowY","getComputedStyle","scrollHeight","clientHeight","parentNode","target","scrollableParent","parentElement","documentElement","preventDefault","offsetHeight","scrollTop","height","getBoundingClientRect","status","cancelable","passive","classList","removeEventListener","remove","updateQueue","makeQueue","raf","schedule","writeQueue","write","onStartQueue","onStart","onFrameQueue","onFrame","onFinishQueue","onFinish","timeouts","handler","findIndex","splice","pendingCount","timeout","findTimeout","delete","sync","batchedUpdates","throttle","queuedFn","throttled","nativeRaf","requestAnimationFrame","use","impl","performance","catch","frameLoop","advance","update","ts","queue","loop","prevTs","count","eachSafely","values","each","noop","is","arr","obj","fun","str","num","und","isEqual","eachProp","ctx","toArray","flushCalls","isSSR","navigator","userAgent","createStringInterpolator$1","colors$1","skipAnimation","willAdvance","globals","freeze","__proto__","createStringInterpolator","colors","startQueue","currentFrame","prevFrame","priority","animation","flushStartQueue","startSafely","sort","prevIndex","startUnsafely","dt","nextFrame","idle","NUMBER","PERCENTAGE","parts","rgb","rgba","hsl","hsla","hex3","hex4","hex6","hex8","hue2rgb","q","hslToRgb","parse255","int","parse360","parseFloat","parse1","parsePercentage","colorToRgba","input","int32Color","color","exec","createInterpolator","output","extrapolate","outputRange","inputRange","extrapolateLeft","extrapolateRight","easing","inputMin","inputMax","outputMin","outputMax","map","Infinity","c1","c2","c3","c4","PI","c5","bounceOut","n1","d1","easings","linear","easeInQuad","easeOutQuad","easeInOutQuad","pow","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","cos","easeOutSine","sin","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","sqrt","easeOutCirc","easeInOutCirc","easeInBack","easeOutBack","easeInOutBack","easeInElastic","easeOutElastic","easeInOutElastic","easeInBounce","easeOutBounce","easeInOutBounce","steps","progress","expanded","rounded","_extends","bind","$get","for","$observers","hasFluidValue","Boolean","getFluidValue","getFluidObservers","callFluidObservers","observers","observer","eventObserved","FluidValue","Error","setFluidGetter","setHidden","addFluidObserver","observerAdded","removeFluidObserver","observerRemoved","writable","configurable","numberRegex","colorRegex","unitRegex","rgbaRegex","cssVariableRegex","variableToRgba","token","fallback","parseCSSVariable","getPropertyValue","trim","_value","namedColorRegex","rgbaRound","p1","p2","p3","p4","keyframes","interpolators","_output$find","missingUnit","find","prefix","once","called","warnInterpolate","warnDirectCall","isAnimatedString","useForceUpdate","useState","useIsMounted","random","useOnce","emptyDeps","usePrev","prevRef","$node","getAnimated","owner","setAnimated","defineHidden","getPayload","Animated","payload","AnimatedValue","super","elapsedTime","lastPosition","lastVelocity","v0","durationProgress","getValue","AnimatedString","_string","_toString","create","setValue","goal","TreeContext","dependencies","AnimatedObject","animated","_makePayload","_addToPayload","AnimatedArray","some","makeAnimated","getAnimatedType","withAnimated","Component","host","hasInstance","isReactComponent","forwardRef","givenProps","givenRef","instanceRef","useCallback","createAnimatedStyle","forceUpdate","callback","instance","applyAnimatedValues","PropsObserver","observerRef","dep","usedProps","getComponentProps","cacheKey","getDisplayName","displayName","callProp","matchProp","resolveProp","prop","getDefaultProp","noopTransform","getDefaultProps","transform","DEFAULT_PROPS","defaults","RESERVED_PROPS","pause","reverse","immediate","delay","onProps","onChange","onPause","onResume","onRest","onResolve","trail","expires","initial","enter","leave","onDestroyed","callId","parentId","inferTo","forward","out","val","computeGoal","Globals","isAsyncTo","tension","friction","mass","damping","clamp","AnimationConfig","frequency","velocity","restVelocity","precision","duration","bounce","decay","sanitizeConfig","isTensionConfig","emptyArray","Animation","changed","toValues","fromValues","scheduleProps","defaultProps","state","actions","_props$cancel","paused","resumeQueue","resume","delayed","pauseQueue","cancelId","err","getCombinedResult","results","cancelled","getCancelledResult","every","getNoopResult","getFinishedResult","finished","runAsync","asyncTo","prevTo","promise","prevPromise","asyncId","preventBail","bail","bailPromise","bailIfEnded","bailSignal","bailResult","animate","arg1","arg2","BailSignal","skipAnimationSignal","SkipAnimationSignal","stopAsync","animating","async","stop","all","isFrameValue","FrameValue","nextId$1","id","_priority","_onPriorityChange","_attach","_detach","parent","$P","hasAnimated","isAnimating","isPaused","setActiveBit","active","IS_ANIMATING","setPausedBit","SpringValue","_state","_pendingCalls","_lastCallId","_lastToId","_memoizedDuration","anim","position","elapsed","exp","bounceFactor","canBounce","isGrowing","isMoving","isBouncing","numSteps","isNaN","currVal","finalVal","_onChange","_stop","_focus","_set","_update","_onStart","_start","_ref","isLoop","mergeActiveFn","sendEvent","_prepareNode","isFrozen","checkFinished","_resume","_merge","nextProps","createLoopUpdate","hasToProp","hasFromProp","prevFrom","hasFromChanged","hasToChanged","hasAsyncTo","newConfig","defaultConfig","isAnimatable","goalType","started","hasValueChanged","ACTIVE_EVENTS","oldNode","finish","loopRet","overrides","createUpdate","findDefined","declareUpdate","_target$animation$typ","_target$animation","_target$defaultProps$","_target$defaultProps","BATCHED_EVENTS","nextId","Controller$1","springs","_flush","_initialProps","_lastAsyncId","_active","_changed","_started","_item","_events","_onFrame","spring","isDelayed","prepareKeys","flushUpdateQueue","ctrl","flushUpdate","promises","getSprings","prepareSprings","createSpring","setSprings","_excluded$6","SpringContext","excluded","sourceKeys","inherited","getResult","inputs","committed","prevCache","cache","prev","_context","Consumer","SpringRef","_getProps","useSpring","isFn","propsFn","layoutId","ctrls","updates","prevLength","declareUpdates","startIndex","endIndex","Controller","_ctrl$ref","context","prevContext","hasContext","cb","_ctrl$ref2","TransitionPhase","Interpolation","calc","_get","_dt","checkIdle","becomeIdle","reduce","highest","isIdle","_objectWithoutPropertiesLoose","_excluded$2","isCustomPropRE","dangerousStyleValue","isUnitlessNumber","attributeCache","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","prefixes","acc","toUpperCase","_excluded$1","domTransforms","pxTransforms","degTransforms","addUnit","unit","isValueIdentity","AnimatedStyle","transforms","xyz","deg","FluidTransform","identity","_excluded","unstable_batchedUpdates","transparent","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","components","_applyAnimatedValues","_createAnimatedStyle","_getComponentProps","hostConfig","setAttribute","isFilterElement","nodeName","scrollLeft","viewBox","attributes","names","hasAttribute","textContent","setProperty","renderToContainer","getContainer","container","createPortal","ShouldRender","forceRender","destroyOnClose","initialized","check","initializedRef","eventToPropRecord","click","touchstart","withStopPropagation","events","_b","stopPropagation","classPrefix","opacityRecord","thin","thick","colorRecord","visible","disableBodyScroll","background","setActive","afterShow","afterClose","div","display","onClick","currentTarget","onMaskClick","role","RightOutline","width","xmlns","xmlnsXlink","verticalAlign","filter","stroke","fill","fillRule","defaultPopupBaseProps","closeOnMaskClick","closeIcon","mask","showCloseButton","V","toVector","v1","v2","sub","rubberband","distance","dimension","constant","rubberbandIfOutOfBounds","_toPropertyKey","hint","prim","toPrimitive","res","_defineProperty","enumerable","ownKeys","getOwnPropertyDescriptor","_objectSpread2","getOwnPropertyDescriptors","defineProperties","EVENT_TYPE_MAP","pointer","change","mouse","gesture","capitalize","actionsWithoutCaptureSupported","toHandlerProp","device","action","capture","deviceProps","actionKey","pointerCaptureEvents","parseProp","eventKey","captureKey","isTouch","getPointerType","pointerType","getValueEvent","changedTouches","targetTouches","touchIds","_event$currentTarget","_event$currentTarget$","contains","identifier","pointerId","valueEvent","pointerValues","chain","fns","assignDefault","Engine","computeValues","computeInitial","shared","gestureEventStores","timeoutStore","gestureTimeoutStores","sharedConfig","handlers","ingKey","_blocked","_force","_step","intentional","_movement","_distance","_direction","_delta","_bounds","axis","memo","timeDelta","overflow","_movementBound","movement","delta","timeStamp","lastOffset","offset","startTime","_values","_initial","pointerIds","locked","pointerLockElement","buttons","shiftKey","altKey","metaKey","ctrlKey","down","pressed","_absoluteDelta","addTo","axisIntent","_m0","_m1","t0","t1","threshold","hasCustomTransform","sign","restrictToAxis","previousOffset","gestureIsActive","first","last","bounds","setup","computeOffset","ox","oy","x0","x1","y0","y1","Vx","Vy","Rx","Ry","X0","X1","Y0","Y1","computeMovement","absoluteDelta","clean","triggerAllEvents","aliasKey","eventStore","CoordinatesEngine","axisThreshold","dx","dy","absDx","absDy","lockDirection","commonConfigResolver","enabled","eventOptions","_k","originalTransform","isFinite","coordinatesConfigResolver","_v","HTMLElement","left","right","top","bottom","KEYS_DELTA_MAP","ArrowRight","displacement","factor","ArrowLeft","ArrowUp","ArrowDown","supportsTouchEvents","SUPPORT","GestureEvent","touchscreen","maxTouchPoints","pointerLock","DEFAULT_DRAG_AXIS_THRESHOLD","pen","dragConfigResolver","lock","preventScroll","preventScrollDelay","pointerButtons","filterTaps","tapsThreshold","keyboardDisplacement","scaleBounds","angleBounds","_scaleBounds","_angleBounds","A","modifierKey","pinchOnWheel","mouseOnly","wheelConfigResolver","EngineMap","ConfigResolverMap","registerAction","engine","resolver","dragAction","_pointerId","_pointerActive","_keyboardActive","_preventScroll","_delayed","swipe","tap","canceled","boundRect","targetRect","compute","emit","pointerClean","ctrlIds","setEventIds","pointerCapture","setPointerCapture","setupPointer","preventScrollAxis","setupScrollPrevention","setupDelayTrigger","startPointerDrag","movementX","movementY","hasPointerCapture","releasePointerCapture","_unused","_dx","_dy","_mx","_my","svx","svy","sx","sy","sdt","_vx","_vy","detail","sourceEvent","touchAction","_unused2","requestPointerLock","pointerMove","pointerUp","exitPointerLock","persist","deltaFn","bindFunction","pointerDown","keyDown","keyUp","pointerClick","wheelAction","wheelChange","wheelEnd","deltaMode","dirx","diry","wheel","_objectWithoutProperties","sourceSymbolKeys","sharedConfigResolver","resolveWith","resolvers","EventStore","gestureKey","_ctrl","_gestureKey","listeners","_listeners","TimeoutStore","_timeouts","internalHandlers","drag","setupGesture","scroll","pinch","hover","nativeHandlers","_config","rest","_targetEventStore","gestures","gestureConfig","bindToProps","nativeBindFunction","handlerProp","withPassiveOption","isNative","_options$capture","_options$passive","useRecognizers","applyHandlers","applyConfig","useDrag","closeOnSwipe","Popup","popup","componentConfig","bodyCls","bodyClassName","percent","swipeY","onClose","maskVisible","outerVisible","innerVisible","setInnerVisible","maskClassName","maskStyle","bodyStyle","pointerEvents","SafeArea","fullClone","ReactDOM","version","render","reactRender","unmountComponentAtNode","createRoot","toggleWarning","skip","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","usingClientEntryPoint","MARK","unmount","renderToBody","appendChild","reactUnmount","removeChild","AutoCenter","primary","DotLoading","rx","attributeName","dur","begin","repeatCount","keyTimes","block","loadingIcon","shape","Button","innerLoading","setInnerLoading","nativeButtonRef","disabled","useImperativeHandle","onMouseDown","onMouseUp","onTouchStart","onTouchEnd","loadingText","isoWeekday","isoWeekYear","isoWeek","day","usePropsValue","defaultValue","setState","stateRef","forceTrigger","nextValue","devError","contentPosition","Divider","bound","Wheel","column","renderLabel","onSelect","api","draggingRef","itemHeightMeasureRef","itemHeight","scrollSelect","finalPosition","itemHeightMeasure","raw","withUnit","endsWith","fontSize","innerWidth","targetIndex","handleGestureState","boundNum","whellDir","scrollY","handleWheel","mouseWheel","selectedIndex","translateY","selected","previousIndex","nextIndex","previous","label","withCache","generate","generateColumnsExtend","rawColumns","useColumnsExtend","defaultRenderLabel","objectIs","useDebugValue","checkIfSnapshotChanged","inst","latestGetSnapshot","getSnapshot","shim","subscribe","_useState","useSyncExternalStoreShim_production","useSyncExternalStore","__REACT_DEVTOOLS_GLOBAL_HOOK__","registerInternalModuleStart","didWarnOld18Alpha","didWarnUncachedGetSnapshot","startTransition","cachedValue","useSyncExternalStoreShim_development","registerInternalModuleStop","shimModule","subscribers","isMotionReduced","onStoreChange","SpinLoading","motionReduced","circle","strokeLinecap","cx","cy","loadingContent","PickerView","innerValue","setInnerValue","flag","setFlag","handleSelect","Fragment","Picker","confirmText","cancelText","setVisible","toggle","open","onConfirm","ext","pickerElement","onCancel","popupElement","popupStyle","popupClassName","prompt","mode","List","nativeElementRef","header","isNodeWithContent","AntdList","Item","arrow","arrowIcon","list","clickable","showArrow","mergedArrowIcon","defaultProp","propList","content","extra","isoWeeksInYear","isLeapYear","TILL_NOW","dayjs","precisionRankRecord","hour","minute","second","convertStringArrayToDate","_c","_d","_e","_f","yearString","monthString","dateString","hourString","minuteString","secondString","quarter","quarterOfYear","quarterString","week","weekString","weekdayString","precisionLengthRecord","convertDateToStringArray","datePrecision","stringArray","weekUtils.convertStringArrayToDate","quarterUtils.convertStringArrayToDate","dateUtils.convertStringArrayToDate","generateDatePickerColumns","minYear","maxYear","rank","selectedYear","isInMinYear","isInMaxYear","minDay","maxDay","minWeek","maxWeek","minWeekday","maxWeekday","selectedWeek","isInMinWeek","isInMaxWeek","selectedYearWeeks","generateColumn","currentFilter","years","weeks","minQuarter","maxQuarter","quarters","minMonth","minHour","minMinute","minSecond","maxMonth","maxHour","maxMinute","maxSecond","firstDayInSelectedMonth","selectedMonth","selectedDay","selectedHour","selectedMinute","isInMinMonth","isInMaxMonth","isInMinDay","isInMaxDay","isInMinHour","isInMaxHour","isInMinMinute","isInMaxMinute","days","hours","minutes","seconds","thisYear","setFullYear","mergedRenderLabel","data","pickerValue","AntdDatePicker","DATE_NOW","Space","wrap","align","justify","Children","child","clearIcon","onlyShowClearWhenFocus","mergedProps","hasFocus","setHasFocus","compositionStartRef","nativeInputRef","handleKeydown","onEnterPress","onKeyDown","enterKeyHint","ele","removeAttribute","code","keyCode","focus","blur","shouldShowClear","clearable","readOnly","onFocus","onBlur","boundValue","onPaste","maxLength","minLength","autoComplete","autoFocus","inputMode","autoCapitalize","autoCorrect","onKeyUp","onCompositionStart","onCompositionEnd","onClear","icon","iconPosition","restOfProps","renderButtonContent","nodeItems","jsx","unshift","AntdButton","AntdSpace","AntdDivider","labelRender","AntdInput","viVN","base","patch","merge","restProps","AntdConfigProvider"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,117,118,119]}
1
+ {"version":3,"file":"ama-ui.es.js","sources":["../node_modules/antd-mobile/es/utils/can-use-dom.js","../node_modules/tslib/tslib.es6.mjs","../node_modules/antd-mobile/es/global/index.js","../node_modules/antd-mobile/es/locales/zh-CN.js","../node_modules/antd-mobile/es/components/config-provider/config-provider.js","../node_modules/antd-mobile/es/utils/attach-properties-to-component.js","../node_modules/classnames/index.js","../node_modules/antd-mobile/es/utils/native-props.js","../node_modules/antd-mobile/es/utils/with-default-props.js","../node_modules/ahooks/es/createUpdateEffect/index.js","../node_modules/ahooks/es/utils/index.js","../node_modules/ahooks/es/utils/isDev.js","../node_modules/ahooks/es/useMemoizedFn/index.js","../node_modules/ahooks/es/useUpdateEffect/index.js","../node_modules/ahooks/es/useLatest/index.js","../node_modules/ahooks/es/useUnmount/index.js","../node_modules/lodash/isObject.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_root.js","../node_modules/lodash/now.js","../node_modules/lodash/_trimmedEndIndex.js","../node_modules/lodash/_baseTrim.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/toNumber.js","../node_modules/lodash/debounce.js","../node_modules/ahooks/es/utils/isBrowser.js","../node_modules/dayjs/dayjs.min.js","../node_modules/ahooks/es/utils/lodash-polyfill.js","../node_modules/ahooks/es/useDebounceFn/index.js","../node_modules/react-fast-compare/index.js","../node_modules/ahooks/es/useIsomorphicLayoutEffect/index.js","../node_modules/ahooks/es/useUnmountedRef/index.js","../node_modules/antd-mobile/es/utils/get-scroll-parent.js","../node_modules/antd-mobile/es/utils/supports-passive.js","../node_modules/antd-mobile/es/utils/use-lock-scroll.js","../node_modules/antd-mobile/es/utils/use-touch.js","../node_modules/@react-spring/rafz/dist/react-spring-rafz.esm.js","../node_modules/@react-spring/shared/dist/react-spring-shared.esm.js","../node_modules/@react-spring/animated/dist/react-spring-animated.esm.js","../node_modules/@react-spring/core/dist/react-spring-core.esm.js","../node_modules/@react-spring/web/dist/react-spring-web.esm.js","../node_modules/antd-mobile/es/utils/render-to-container.js","../node_modules/antd-mobile/es/utils/get-container.js","../node_modules/antd-mobile/es/utils/should-render.js","../node_modules/antd-mobile/es/utils/use-initialized.js","../node_modules/antd-mobile/es/utils/with-stop-propagation.js","../node_modules/antd-mobile/es/components/mask/mask.js","../node_modules/antd-mobile-icons/es/RightOutline.js","../node_modules/antd-mobile/es/components/popup/popup-base-props.js","../node_modules/antd-mobile-icons/es/CloseOutline.js","../node_modules/@use-gesture/core/dist/maths-0ab39ae9.esm.js","../node_modules/@use-gesture/core/dist/actions-fe213e88.esm.js","../node_modules/@use-gesture/core/dist/use-gesture-core.esm.js","../node_modules/@use-gesture/react/dist/use-gesture-react.esm.js","../node_modules/antd-mobile/es/components/popup/popup.js","../node_modules/antd-mobile/es/utils/use-inner-visible.js","../node_modules/antd-mobile/es/components/safe-area/safe-area.js","../node_modules/antd-mobile/es/utils/render.js","../node_modules/antd-mobile/es/utils/render-to-body.js","../node_modules/antd-mobile/es/components/auto-center/auto-center.js","../node_modules/antd-mobile/es/components/dot-loading/dot-loading.js","../node_modules/antd-mobile/es/components/button/button.js","../node_modules/antd-mobile/es/utils/validate.js","../node_modules/dayjs/plugin/isoWeek.js","../node_modules/antd-mobile/es/utils/use-props-value.js","../node_modules/ahooks/es/useUpdate/index.js","../node_modules/antd-mobile/es/utils/is-dev.js","../node_modules/antd-mobile/es/utils/dev-log.js","../node_modules/antd-mobile/es/components/divider/divider.js","../node_modules/antd-mobile/es/utils/bound.js","../node_modules/antd-mobile/es/utils/rubberband.js","../node_modules/antd-mobile/es/components/picker-view/wheel.js","../node_modules/antd-mobile/es/utils/measure-css-length.js","../node_modules/antd-mobile/es/utils/with-cache.js","../node_modules/antd-mobile/es/components/picker-view/columns-extend.js","../node_modules/antd-mobile/es/components/picker/picker-utils.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../node_modules/use-sync-external-store/shim/index.js","../node_modules/antd-mobile/es/utils/reduce-and-restore-motion.js","../node_modules/antd-mobile/es/components/spin-loading/spin-loading.js","../node_modules/antd-mobile/es/components/picker-view/picker-view.js","../node_modules/ahooks/es/useDebounceEffect/index.js","../node_modules/antd-mobile/es/components/picker/picker.js","../node_modules/antd-mobile/es/components/picker/index.js","../node_modules/antd-mobile/es/components/picker/prompt.js","../node_modules/antd-mobile/es/components/list/list.js","../node_modules/antd-mobile/es/utils/is-node-with-content.js","../node_modules/antd-mobile/es/components/list/list-item.js","../node_modules/antd-mobile/es/components/list/index.js","../node_modules/dayjs/plugin/isoWeeksInYear.js","../node_modules/dayjs/plugin/isLeapYear.js","../node_modules/antd-mobile/es/components/date-picker/util.js","../node_modules/antd-mobile/es/components/date-picker/date-picker-date-utils.js","../node_modules/dayjs/plugin/quarterOfYear.js","../node_modules/antd-mobile/es/components/date-picker/date-picker-quarter-utils.js","../node_modules/antd-mobile/es/components/date-picker/date-picker-week-utils.js","../node_modules/antd-mobile/es/components/date-picker/date-picker-utils.js","../node_modules/antd-mobile/es/components/date-picker/date-picker.js","../node_modules/antd-mobile/es/components/date-picker-view/useRenderLabel.js","../node_modules/antd-mobile/es/components/date-picker/index.js","../node_modules/antd-mobile/es/components/date-picker/prompt.js","../node_modules/antd-mobile/es/components/space/space.js","../node_modules/antd-mobile/es/components/input/input.js","../node_modules/antd-mobile-icons/es/CloseCircleFill.js","../node_modules/antd-mobile/es/components/input/useInputHandleKeyDown.js","../src/components/ui/Button/Button.tsx","../src/components/ui/Space/Space.tsx","../src/components/ui/Divider/Divider.tsx","../src/components/ui/DatePicker/DatePicker.tsx","../src/components/ui/Input/Input.tsx","../src/components/ui/List/List.tsx","../node_modules/antd-mobile/es/locales/base.js","../node_modules/antd-mobile/es/locales/vi-VN.js","../node_modules/antd-mobile/es/utils/merge-locale.js","../src/Providers/ConfigProvider.tsx"],"sourcesContent":["export const canUseDom = !!(typeof window !== 'undefined' && typeof document !== 'undefined' && window.document && window.document.createElement);","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","import \"./global.css\";\nimport { canUseDom } from '../utils/can-use-dom';\nif (canUseDom) {\n // Make sure the `:active` CSS selector of `button` and `a` take effect\n // See: https://stackoverflow.com/questions/3885018/active-pseudo-class-doesnt-work-in-mobile-safari\n document.addEventListener('touchstart', () => {}, true);\n}\n// Only for debugging. Must COMMENT this line before commit:\n// import './css-vars-patch.less'","const typeTemplate = '${label}不是一个有效的${type}';\nconst zhCN = {\n locale: 'zh-CH',\n common: {\n confirm: '确定',\n cancel: '取消',\n loading: '加载中',\n close: '关闭'\n },\n Calendar: {\n title: '日期选择',\n confirm: '确认',\n start: '开始',\n end: '结束',\n today: '今日',\n markItems: ['一', '二', '三', '四', '五', '六', '日'],\n yearAndMonth: '${year}年${month}月'\n },\n Cascader: {\n placeholder: '请选择'\n },\n Dialog: {\n ok: '我知道了'\n },\n DatePicker: {\n tillNow: '至今'\n },\n ErrorBlock: {\n default: {\n title: '页面遇到一些小问题',\n description: '待会来试试'\n },\n busy: {\n title: '前方拥堵',\n description: '刷新试试'\n },\n disconnected: {\n title: '网络有点忙',\n description: '动动手指帮忙修复'\n },\n empty: {\n title: '没有找到你需要的东西',\n description: '找找其他的吧'\n }\n },\n Form: {\n required: '必填',\n optional: '选填',\n defaultValidateMessages: {\n default: '字段验证错误${label}',\n required: '请输入${label}',\n enum: '${label}必须是其中一个[${enum}]',\n whitespace: '${label}不能为空字符',\n date: {\n format: '${label}日期格式无效',\n parse: '${label}不能转换为日期',\n invalid: '${label}是一个无效日期'\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n boolean: typeTemplate,\n integer: typeTemplate,\n float: typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: '${label}须为${len}个字符',\n min: '${label}最少${min}个字符',\n max: '${label}最多${max}个字符',\n range: '${label}须在${min}-${max}字符之间'\n },\n number: {\n len: '${label}必须等于${len}',\n min: '${label}最小值为${min}',\n max: '${label}最大值为${max}',\n range: '${label}须在${min}-${max}之间'\n },\n array: {\n len: '须为${len}个${label}',\n min: '最少${min}个${label}',\n max: '最多${max}个${label}',\n range: '${label}数量须在${min}-${max}之间'\n },\n pattern: {\n mismatch: '${label}与模式不匹配${pattern}'\n }\n }\n },\n ImageUploader: {\n uploading: '上传中...',\n upload: '上传'\n },\n InfiniteScroll: {\n noMore: '没有更多了',\n failedToLoad: '加载失败',\n retry: '重新加载'\n },\n Input: {\n clear: '清除'\n },\n Mask: {\n name: '背景蒙层'\n },\n Modal: {\n ok: '我知道了'\n },\n PasscodeInput: {\n name: '密码输入框'\n },\n PullToRefresh: {\n pulling: '下拉刷新',\n canRelease: '释放立即刷新',\n complete: '刷新成功'\n },\n SearchBar: {\n name: '搜索框'\n },\n Slider: {\n name: '滑动输入条'\n },\n Stepper: {\n decrease: '减少',\n increase: '增加'\n },\n Switch: {\n name: '开关'\n },\n Selector: {\n name: '选择组'\n }\n};\nexport default zhCN;","import { __rest } from \"tslib\";\nimport React, { useContext } from 'react';\nimport zhCN from '../../locales/zh-CN';\nexport const defaultConfigRef = {\n current: {\n locale: zhCN\n }\n};\nexport function setDefaultConfig(config) {\n defaultConfigRef.current = config;\n}\nexport function getDefaultConfig() {\n return defaultConfigRef.current;\n}\nconst ConfigContext = React.createContext(null);\nexport const ConfigProvider = props => {\n const {\n children\n } = props,\n config = __rest(props, [\"children\"]);\n const parentConfig = useConfig();\n return React.createElement(ConfigContext.Provider, {\n value: Object.assign(Object.assign({}, parentConfig), config)\n }, children);\n};\nexport function useConfig() {\n var _a;\n return (_a = useContext(ConfigContext)) !== null && _a !== void 0 ? _a : getDefaultConfig();\n}","export function attachPropertiesToComponent(component, properties) {\n const ret = component;\n for (const key in properties) {\n if (properties.hasOwnProperty(key)) {\n ret[key] = properties[key];\n }\n }\n return ret;\n}","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React from 'react';\nimport classNames from 'classnames';\nexport function withNativeProps(props, element) {\n const p = Object.assign({}, element.props);\n if (props.className) {\n p.className = classNames(element.props.className, props.className);\n }\n if (props.style) {\n p.style = Object.assign(Object.assign({}, p.style), props.style);\n }\n if (props.tabIndex !== undefined) {\n p.tabIndex = props.tabIndex;\n }\n for (const key in props) {\n if (!props.hasOwnProperty(key)) continue;\n if (key.startsWith('data-') || key.startsWith('aria-')) {\n p[key] = props[key];\n }\n }\n return React.cloneElement(element, p);\n}","export function mergeProps(...items) {\n const ret = {};\n items.forEach(item => {\n if (item) {\n Object.keys(item).forEach(key => {\n if (item[key] !== undefined) {\n ret[key] = item[key];\n }\n });\n }\n });\n return ret;\n}\n/**\n * Merge props and return the first non-undefined value.\n * The later has higher priority. e.g. (10, 1, 5) => 5 wins.\n * This is useful with legacy props that have been deprecated.\n */\nexport function mergeProp(defaultProp, ...propList) {\n for (let i = propList.length - 1; i >= 0; i -= 1) {\n if (propList[i] !== undefined) {\n return propList[i];\n }\n }\n return defaultProp;\n}","import { useRef } from 'react';\nexport var createUpdateEffect = function (hook) {\n return function (effect, deps) {\n var isMounted = useRef(false);\n // for react-refresh\n hook(function () {\n return function () {\n isMounted.current = false;\n };\n }, []);\n hook(function () {\n if (!isMounted.current) {\n isMounted.current = true;\n } else {\n return effect();\n }\n }, deps);\n };\n};\nexport default createUpdateEffect;","export var isObject = function (value) {\n return value !== null && typeof value === 'object';\n};\nexport var isFunction = function (value) {\n return typeof value === 'function';\n};\nexport var isString = function (value) {\n return typeof value === 'string';\n};\nexport var isBoolean = function (value) {\n return typeof value === 'boolean';\n};\nexport var isNumber = function (value) {\n return typeof value === 'number';\n};\nexport var isUndef = function (value) {\n return typeof value === 'undefined';\n};","var isDev = process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test';\nexport default isDev;","import { useMemo, useRef } from 'react';\nimport { isFunction } from '../utils';\nimport isDev from '../utils/isDev';\nfunction useMemoizedFn(fn) {\n if (isDev) {\n if (!isFunction(fn)) {\n console.error(\"useMemoizedFn expected parameter is a function, got \".concat(typeof fn));\n }\n }\n var fnRef = useRef(fn);\n // why not write `fnRef.current = fn`?\n // https://github.com/alibaba/hooks/issues/728\n fnRef.current = useMemo(function () {\n return fn;\n }, [fn]);\n var memoizedFn = useRef();\n if (!memoizedFn.current) {\n memoizedFn.current = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return fnRef.current.apply(this, args);\n };\n }\n return memoizedFn.current;\n}\nexport default useMemoizedFn;","import { useEffect } from 'react';\nimport { createUpdateEffect } from '../createUpdateEffect';\nexport default createUpdateEffect(useEffect);","import { useRef } from 'react';\nfunction useLatest(value) {\n var ref = useRef(value);\n ref.current = value;\n return ref;\n}\nexport default useLatest;","import { useEffect } from 'react';\nimport useLatest from '../useLatest';\nimport { isFunction } from '../utils';\nimport isDev from '../utils/isDev';\nvar useUnmount = function (fn) {\n if (isDev) {\n if (!isFunction(fn)) {\n console.error(\"useUnmount expected parameter is a function, got \".concat(typeof fn));\n }\n }\n var fnRef = useLatest(fn);\n useEffect(function () {\n return function () {\n fnRef.current();\n };\n }, []);\n};\nexport default useUnmount;","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","var isBrowser = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexport default isBrowser;","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","import debounce from 'lodash/debounce';\nfunction isNodeOrWeb() {\n var freeGlobal = (typeof global === 'undefined' ? 'undefined' : typeof global) == 'object' && global && global.Object === Object && global;\n var freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n return freeGlobal || freeSelf;\n}\nif (!isNodeOrWeb()) {\n global.Date = Date;\n}\nexport { debounce };","import { __read, __spreadArray } from \"tslib\";\nimport { debounce } from '../utils/lodash-polyfill';\nimport { useMemo } from 'react';\nimport useLatest from '../useLatest';\nimport useUnmount from '../useUnmount';\nimport { isFunction } from '../utils';\nimport isDev from '../utils/isDev';\nfunction useDebounceFn(fn, options) {\n var _a;\n if (isDev) {\n if (!isFunction(fn)) {\n console.error(\"useDebounceFn expected parameter is a function, got \".concat(typeof fn));\n }\n }\n var fnRef = useLatest(fn);\n var wait = (_a = options === null || options === void 0 ? void 0 : options.wait) !== null && _a !== void 0 ? _a : 1000;\n var debounced = useMemo(function () {\n return debounce(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return fnRef.current.apply(fnRef, __spreadArray([], __read(args), false));\n }, wait, options);\n }, []);\n useUnmount(function () {\n debounced.cancel();\n });\n return {\n run: debounced,\n cancel: debounced.cancel,\n flush: debounced.flush\n };\n}\nexport default useDebounceFn;","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.3\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","import { useEffect, useLayoutEffect } from 'react';\nimport isBrowser from '../utils/isBrowser';\nvar useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;","import { useEffect, useRef } from 'react';\nvar useUnmountedRef = function () {\n var unmountedRef = useRef(false);\n useEffect(function () {\n unmountedRef.current = false;\n return function () {\n unmountedRef.current = true;\n };\n }, []);\n return unmountedRef;\n};\nexport default useUnmountedRef;","import { canUseDom } from './can-use-dom';\nconst defaultRoot = canUseDom ? window : undefined;\nconst overflowStylePatterns = ['scroll', 'auto', 'overlay'];\nfunction isElement(node) {\n const ELEMENT_NODE_TYPE = 1;\n return node.nodeType === ELEMENT_NODE_TYPE;\n}\nexport function getScrollParent(el, root = defaultRoot) {\n let node = el;\n while (node && node !== root && isElement(node)) {\n if (node === document.body) {\n return root;\n }\n const {\n overflowY\n } = window.getComputedStyle(node);\n if (overflowStylePatterns.includes(overflowY) && node.scrollHeight > node.clientHeight) {\n return node;\n }\n node = node.parentNode;\n }\n return root;\n}","import { canUseDom } from './can-use-dom';\nexport let supportsPassive = false;\nif (canUseDom) {\n try {\n const opts = {};\n Object.defineProperty(opts, 'passive', {\n get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}","import { useTouch } from './use-touch';\nimport { useEffect } from 'react';\nimport { getScrollParent } from './get-scroll-parent';\nimport { supportsPassive } from './supports-passive';\nlet totalLockCount = 0;\nconst BODY_LOCK_CLASS = 'adm-overflow-hidden';\nfunction getScrollableElement(el) {\n let current = el === null || el === void 0 ? void 0 : el.parentElement;\n while (current) {\n if (current.clientHeight < current.scrollHeight) {\n return current;\n }\n current = current.parentElement;\n }\n return null;\n}\n// 移植自vant:https://github.com/youzan/vant/blob/HEAD/src/composables/use-lock-scroll.ts\nexport function useLockScroll(rootRef, shouldLock) {\n const touch = useTouch();\n const onTouchMove = event => {\n touch.move(event);\n const direction = touch.deltaY.current > 0 ? '10' : '01';\n const el = getScrollParent(event.target, rootRef.current);\n if (!el) return;\n // This has perf cost but we have to compatible with iOS 12\n if (shouldLock === 'strict') {\n const scrollableParent = getScrollableElement(event.target);\n if (scrollableParent === document.body || scrollableParent === document.documentElement) {\n event.preventDefault();\n return;\n }\n }\n const {\n scrollHeight,\n offsetHeight,\n scrollTop\n } = el;\n const {\n height\n } = el.getBoundingClientRect();\n let status = '11';\n if (scrollTop === 0) {\n status = offsetHeight >= scrollHeight ? '00' : '01';\n } else if (scrollHeight <= Math.round(height + scrollTop)) {\n status = '10';\n }\n if (status !== '11' && touch.isVertical() && !(parseInt(status, 2) & parseInt(direction, 2))) {\n if (event.cancelable && supportsPassive) {\n // https://github.com/ant-design/ant-design-mobile/issues/6282\n event.preventDefault();\n }\n }\n };\n const lock = () => {\n document.addEventListener('touchstart', touch.start);\n document.addEventListener('touchmove', onTouchMove, supportsPassive ? {\n passive: false\n } : false);\n if (!totalLockCount) {\n document.body.classList.add(BODY_LOCK_CLASS);\n }\n totalLockCount++;\n };\n const unlock = () => {\n if (totalLockCount) {\n document.removeEventListener('touchstart', touch.start);\n document.removeEventListener('touchmove', onTouchMove);\n totalLockCount--;\n if (!totalLockCount) {\n document.body.classList.remove(BODY_LOCK_CLASS);\n }\n }\n };\n useEffect(() => {\n if (shouldLock) {\n lock();\n return () => {\n unlock();\n };\n }\n }, [shouldLock]);\n}","import { useRef } from 'react';\nconst MIN_DISTANCE = 10;\nfunction getDirection(x, y) {\n if (x > y && x > MIN_DISTANCE) {\n return 'horizontal';\n }\n if (y > x && y > MIN_DISTANCE) {\n return 'vertical';\n }\n return '';\n}\nexport function useTouch() {\n const startX = useRef(0);\n const startY = useRef(0);\n const deltaX = useRef(0);\n const deltaY = useRef(0);\n const offsetX = useRef(0);\n const offsetY = useRef(0);\n const direction = useRef('');\n const isVertical = () => direction.current === 'vertical';\n const isHorizontal = () => direction.current === 'horizontal';\n const reset = () => {\n deltaX.current = 0;\n deltaY.current = 0;\n offsetX.current = 0;\n offsetY.current = 0;\n direction.current = '';\n };\n const start = event => {\n reset();\n startX.current = event.touches[0].clientX;\n startY.current = event.touches[0].clientY;\n };\n const move = event => {\n const touch = event.touches[0];\n // Fix: Safari back will set clientX to negative number\n deltaX.current = touch.clientX < 0 ? 0 : touch.clientX - startX.current;\n deltaY.current = touch.clientY - startY.current;\n offsetX.current = Math.abs(deltaX.current);\n offsetY.current = Math.abs(deltaY.current);\n if (!direction.current) {\n direction.current = getDirection(offsetX.current, offsetY.current);\n }\n };\n return {\n move,\n start,\n reset,\n startX,\n startY,\n deltaX,\n deltaY,\n offsetX,\n offsetY,\n direction,\n isVertical,\n isHorizontal\n };\n}","let updateQueue = makeQueue();\nconst raf = fn => schedule(fn, updateQueue);\nlet writeQueue = makeQueue();\n\nraf.write = fn => schedule(fn, writeQueue);\n\nlet onStartQueue = makeQueue();\n\nraf.onStart = fn => schedule(fn, onStartQueue);\n\nlet onFrameQueue = makeQueue();\n\nraf.onFrame = fn => schedule(fn, onFrameQueue);\n\nlet onFinishQueue = makeQueue();\n\nraf.onFinish = fn => schedule(fn, onFinishQueue);\n\nlet timeouts = [];\n\nraf.setTimeout = (handler, ms) => {\n let time = raf.now() + ms;\n\n let cancel = () => {\n let i = timeouts.findIndex(t => t.cancel == cancel);\n if (~i) timeouts.splice(i, 1);\n pendingCount -= ~i ? 1 : 0;\n };\n\n let timeout = {\n time,\n handler,\n cancel\n };\n timeouts.splice(findTimeout(time), 0, timeout);\n pendingCount += 1;\n start();\n return timeout;\n};\n\nlet findTimeout = time => ~(~timeouts.findIndex(t => t.time > time) || ~timeouts.length);\n\nraf.cancel = fn => {\n onStartQueue.delete(fn);\n onFrameQueue.delete(fn);\n onFinishQueue.delete(fn);\n updateQueue.delete(fn);\n writeQueue.delete(fn);\n};\n\nraf.sync = fn => {\n sync = true;\n raf.batchedUpdates(fn);\n sync = false;\n};\n\nraf.throttle = fn => {\n let lastArgs;\n\n function queuedFn() {\n try {\n fn(...lastArgs);\n } finally {\n lastArgs = null;\n }\n }\n\n function throttled(...args) {\n lastArgs = args;\n raf.onStart(queuedFn);\n }\n\n throttled.handler = fn;\n\n throttled.cancel = () => {\n onStartQueue.delete(queuedFn);\n lastArgs = null;\n };\n\n return throttled;\n};\n\nlet nativeRaf = typeof window != 'undefined' ? window.requestAnimationFrame : () => {};\n\nraf.use = impl => nativeRaf = impl;\n\nraf.now = typeof performance != 'undefined' ? () => performance.now() : Date.now;\n\nraf.batchedUpdates = fn => fn();\n\nraf.catch = console.error;\nraf.frameLoop = 'always';\n\nraf.advance = () => {\n if (raf.frameLoop !== 'demand') {\n console.warn('Cannot call the manual advancement of rafz whilst frameLoop is not set as demand');\n } else {\n update();\n }\n};\n\nlet ts = -1;\nlet pendingCount = 0;\nlet sync = false;\n\nfunction schedule(fn, queue) {\n if (sync) {\n queue.delete(fn);\n fn(0);\n } else {\n queue.add(fn);\n start();\n }\n}\n\nfunction start() {\n if (ts < 0) {\n ts = 0;\n\n if (raf.frameLoop !== 'demand') {\n nativeRaf(loop);\n }\n }\n}\n\nfunction stop() {\n ts = -1;\n}\n\nfunction loop() {\n if (~ts) {\n nativeRaf(loop);\n raf.batchedUpdates(update);\n }\n}\n\nfunction update() {\n let prevTs = ts;\n ts = raf.now();\n let count = findTimeout(ts);\n\n if (count) {\n eachSafely(timeouts.splice(0, count), t => t.handler());\n pendingCount -= count;\n }\n\n if (!pendingCount) {\n stop();\n return;\n }\n\n onStartQueue.flush();\n updateQueue.flush(prevTs ? Math.min(64, ts - prevTs) : 16.667);\n onFrameQueue.flush();\n writeQueue.flush();\n onFinishQueue.flush();\n}\n\nfunction makeQueue() {\n let next = new Set();\n let current = next;\n return {\n add(fn) {\n pendingCount += current == next && !next.has(fn) ? 1 : 0;\n next.add(fn);\n },\n\n delete(fn) {\n pendingCount -= current == next && next.has(fn) ? 1 : 0;\n return next.delete(fn);\n },\n\n flush(arg) {\n if (current.size) {\n next = new Set();\n pendingCount -= current.size;\n eachSafely(current, fn => fn(arg) && next.add(fn));\n pendingCount += next.size;\n current = next;\n }\n }\n\n };\n}\n\nfunction eachSafely(values, each) {\n values.forEach(value => {\n try {\n each(value);\n } catch (e) {\n raf.catch(e);\n }\n });\n}\n\nconst __raf = {\n count() {\n return pendingCount;\n },\n\n isRunning() {\n return ts >= 0;\n },\n\n clear() {\n ts = -1;\n timeouts = [];\n onStartQueue = makeQueue();\n updateQueue = makeQueue();\n onFrameQueue = makeQueue();\n writeQueue = makeQueue();\n onFinishQueue = makeQueue();\n pendingCount = 0;\n }\n\n};\n\nexport { __raf, raf };\n","import { raf } from '@react-spring/rafz';\nexport { raf } from '@react-spring/rafz';\nimport { useRef, useEffect, useLayoutEffect, useState } from 'react';\n\nfunction noop() {}\nconst defineHidden = (obj, key, value) => Object.defineProperty(obj, key, {\n value,\n writable: true,\n configurable: true\n});\nconst is = {\n arr: Array.isArray,\n obj: a => !!a && a.constructor.name === 'Object',\n fun: a => typeof a === 'function',\n str: a => typeof a === 'string',\n num: a => typeof a === 'number',\n und: a => a === undefined\n};\nfunction isEqual(a, b) {\n if (is.arr(a)) {\n if (!is.arr(b) || a.length !== b.length) return false;\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n return a === b;\n}\nconst each = (obj, fn) => obj.forEach(fn);\nfunction eachProp(obj, fn, ctx) {\n if (is.arr(obj)) {\n for (let i = 0; i < obj.length; i++) {\n fn.call(ctx, obj[i], `${i}`);\n }\n\n return;\n }\n\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n fn.call(ctx, obj[key], key);\n }\n }\n}\nconst toArray = a => is.und(a) ? [] : is.arr(a) ? a : [a];\nfunction flush(queue, iterator) {\n if (queue.size) {\n const items = Array.from(queue);\n queue.clear();\n each(items, iterator);\n }\n}\nconst flushCalls = (queue, ...args) => flush(queue, fn => fn(...args));\nconst isSSR = () => typeof window === 'undefined' || !window.navigator || /ServerSideRendering|^Deno\\//.test(window.navigator.userAgent);\n\nlet createStringInterpolator$1;\nlet to;\nlet colors$1 = null;\nlet skipAnimation = false;\nlet willAdvance = noop;\nconst assign = globals => {\n if (globals.to) to = globals.to;\n if (globals.now) raf.now = globals.now;\n if (globals.colors !== undefined) colors$1 = globals.colors;\n if (globals.skipAnimation != null) skipAnimation = globals.skipAnimation;\n if (globals.createStringInterpolator) createStringInterpolator$1 = globals.createStringInterpolator;\n if (globals.requestAnimationFrame) raf.use(globals.requestAnimationFrame);\n if (globals.batchedUpdates) raf.batchedUpdates = globals.batchedUpdates;\n if (globals.willAdvance) willAdvance = globals.willAdvance;\n if (globals.frameLoop) raf.frameLoop = globals.frameLoop;\n};\n\nvar globals = /*#__PURE__*/Object.freeze({\n __proto__: null,\n get createStringInterpolator () { return createStringInterpolator$1; },\n get to () { return to; },\n get colors () { return colors$1; },\n get skipAnimation () { return skipAnimation; },\n get willAdvance () { return willAdvance; },\n assign: assign\n});\n\nconst startQueue = new Set();\nlet currentFrame = [];\nlet prevFrame = [];\nlet priority = 0;\nconst frameLoop = {\n get idle() {\n return !startQueue.size && !currentFrame.length;\n },\n\n start(animation) {\n if (priority > animation.priority) {\n startQueue.add(animation);\n raf.onStart(flushStartQueue);\n } else {\n startSafely(animation);\n raf(advance);\n }\n },\n\n advance,\n\n sort(animation) {\n if (priority) {\n raf.onFrame(() => frameLoop.sort(animation));\n } else {\n const prevIndex = currentFrame.indexOf(animation);\n\n if (~prevIndex) {\n currentFrame.splice(prevIndex, 1);\n startUnsafely(animation);\n }\n }\n },\n\n clear() {\n currentFrame = [];\n startQueue.clear();\n }\n\n};\n\nfunction flushStartQueue() {\n startQueue.forEach(startSafely);\n startQueue.clear();\n raf(advance);\n}\n\nfunction startSafely(animation) {\n if (!currentFrame.includes(animation)) startUnsafely(animation);\n}\n\nfunction startUnsafely(animation) {\n currentFrame.splice(findIndex(currentFrame, other => other.priority > animation.priority), 0, animation);\n}\n\nfunction advance(dt) {\n const nextFrame = prevFrame;\n\n for (let i = 0; i < currentFrame.length; i++) {\n const animation = currentFrame[i];\n priority = animation.priority;\n\n if (!animation.idle) {\n willAdvance(animation);\n animation.advance(dt);\n\n if (!animation.idle) {\n nextFrame.push(animation);\n }\n }\n }\n\n priority = 0;\n prevFrame = currentFrame;\n prevFrame.length = 0;\n currentFrame = nextFrame;\n return currentFrame.length > 0;\n}\n\nfunction findIndex(arr, test) {\n const index = arr.findIndex(test);\n return index < 0 ? arr.length : index;\n}\n\nconst clamp = (min, max, v) => Math.min(Math.max(v, min), max);\n\nconst colors = {\n transparent: 0x00000000,\n aliceblue: 0xf0f8ffff,\n antiquewhite: 0xfaebd7ff,\n aqua: 0x00ffffff,\n aquamarine: 0x7fffd4ff,\n azure: 0xf0ffffff,\n beige: 0xf5f5dcff,\n bisque: 0xffe4c4ff,\n black: 0x000000ff,\n blanchedalmond: 0xffebcdff,\n blue: 0x0000ffff,\n blueviolet: 0x8a2be2ff,\n brown: 0xa52a2aff,\n burlywood: 0xdeb887ff,\n burntsienna: 0xea7e5dff,\n cadetblue: 0x5f9ea0ff,\n chartreuse: 0x7fff00ff,\n chocolate: 0xd2691eff,\n coral: 0xff7f50ff,\n cornflowerblue: 0x6495edff,\n cornsilk: 0xfff8dcff,\n crimson: 0xdc143cff,\n cyan: 0x00ffffff,\n darkblue: 0x00008bff,\n darkcyan: 0x008b8bff,\n darkgoldenrod: 0xb8860bff,\n darkgray: 0xa9a9a9ff,\n darkgreen: 0x006400ff,\n darkgrey: 0xa9a9a9ff,\n darkkhaki: 0xbdb76bff,\n darkmagenta: 0x8b008bff,\n darkolivegreen: 0x556b2fff,\n darkorange: 0xff8c00ff,\n darkorchid: 0x9932ccff,\n darkred: 0x8b0000ff,\n darksalmon: 0xe9967aff,\n darkseagreen: 0x8fbc8fff,\n darkslateblue: 0x483d8bff,\n darkslategray: 0x2f4f4fff,\n darkslategrey: 0x2f4f4fff,\n darkturquoise: 0x00ced1ff,\n darkviolet: 0x9400d3ff,\n deeppink: 0xff1493ff,\n deepskyblue: 0x00bfffff,\n dimgray: 0x696969ff,\n dimgrey: 0x696969ff,\n dodgerblue: 0x1e90ffff,\n firebrick: 0xb22222ff,\n floralwhite: 0xfffaf0ff,\n forestgreen: 0x228b22ff,\n fuchsia: 0xff00ffff,\n gainsboro: 0xdcdcdcff,\n ghostwhite: 0xf8f8ffff,\n gold: 0xffd700ff,\n goldenrod: 0xdaa520ff,\n gray: 0x808080ff,\n green: 0x008000ff,\n greenyellow: 0xadff2fff,\n grey: 0x808080ff,\n honeydew: 0xf0fff0ff,\n hotpink: 0xff69b4ff,\n indianred: 0xcd5c5cff,\n indigo: 0x4b0082ff,\n ivory: 0xfffff0ff,\n khaki: 0xf0e68cff,\n lavender: 0xe6e6faff,\n lavenderblush: 0xfff0f5ff,\n lawngreen: 0x7cfc00ff,\n lemonchiffon: 0xfffacdff,\n lightblue: 0xadd8e6ff,\n lightcoral: 0xf08080ff,\n lightcyan: 0xe0ffffff,\n lightgoldenrodyellow: 0xfafad2ff,\n lightgray: 0xd3d3d3ff,\n lightgreen: 0x90ee90ff,\n lightgrey: 0xd3d3d3ff,\n lightpink: 0xffb6c1ff,\n lightsalmon: 0xffa07aff,\n lightseagreen: 0x20b2aaff,\n lightskyblue: 0x87cefaff,\n lightslategray: 0x778899ff,\n lightslategrey: 0x778899ff,\n lightsteelblue: 0xb0c4deff,\n lightyellow: 0xffffe0ff,\n lime: 0x00ff00ff,\n limegreen: 0x32cd32ff,\n linen: 0xfaf0e6ff,\n magenta: 0xff00ffff,\n maroon: 0x800000ff,\n mediumaquamarine: 0x66cdaaff,\n mediumblue: 0x0000cdff,\n mediumorchid: 0xba55d3ff,\n mediumpurple: 0x9370dbff,\n mediumseagreen: 0x3cb371ff,\n mediumslateblue: 0x7b68eeff,\n mediumspringgreen: 0x00fa9aff,\n mediumturquoise: 0x48d1ccff,\n mediumvioletred: 0xc71585ff,\n midnightblue: 0x191970ff,\n mintcream: 0xf5fffaff,\n mistyrose: 0xffe4e1ff,\n moccasin: 0xffe4b5ff,\n navajowhite: 0xffdeadff,\n navy: 0x000080ff,\n oldlace: 0xfdf5e6ff,\n olive: 0x808000ff,\n olivedrab: 0x6b8e23ff,\n orange: 0xffa500ff,\n orangered: 0xff4500ff,\n orchid: 0xda70d6ff,\n palegoldenrod: 0xeee8aaff,\n palegreen: 0x98fb98ff,\n paleturquoise: 0xafeeeeff,\n palevioletred: 0xdb7093ff,\n papayawhip: 0xffefd5ff,\n peachpuff: 0xffdab9ff,\n peru: 0xcd853fff,\n pink: 0xffc0cbff,\n plum: 0xdda0ddff,\n powderblue: 0xb0e0e6ff,\n purple: 0x800080ff,\n rebeccapurple: 0x663399ff,\n red: 0xff0000ff,\n rosybrown: 0xbc8f8fff,\n royalblue: 0x4169e1ff,\n saddlebrown: 0x8b4513ff,\n salmon: 0xfa8072ff,\n sandybrown: 0xf4a460ff,\n seagreen: 0x2e8b57ff,\n seashell: 0xfff5eeff,\n sienna: 0xa0522dff,\n silver: 0xc0c0c0ff,\n skyblue: 0x87ceebff,\n slateblue: 0x6a5acdff,\n slategray: 0x708090ff,\n slategrey: 0x708090ff,\n snow: 0xfffafaff,\n springgreen: 0x00ff7fff,\n steelblue: 0x4682b4ff,\n tan: 0xd2b48cff,\n teal: 0x008080ff,\n thistle: 0xd8bfd8ff,\n tomato: 0xff6347ff,\n turquoise: 0x40e0d0ff,\n violet: 0xee82eeff,\n wheat: 0xf5deb3ff,\n white: 0xffffffff,\n whitesmoke: 0xf5f5f5ff,\n yellow: 0xffff00ff,\n yellowgreen: 0x9acd32ff\n};\n\nconst NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nconst PERCENTAGE = NUMBER + '%';\n\nfunction call(...parts) {\n return '\\\\(\\\\s*(' + parts.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nconst rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));\nconst rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));\nconst hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));\nconst hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));\nconst hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nconst hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nconst hex6 = /^#([0-9a-fA-F]{6})$/;\nconst hex8 = /^#([0-9a-fA-F]{8})$/;\n\nfunction normalizeColor(color) {\n let match;\n\n if (typeof color === 'number') {\n return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null;\n }\n\n if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0;\n\n if (colors$1 && colors$1[color] !== undefined) {\n return colors$1[color];\n }\n\n if (match = rgb.exec(color)) {\n return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | 0x000000ff) >>> 0;\n }\n\n if (match = rgba.exec(color)) {\n return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | parse1(match[4])) >>> 0;\n }\n\n if (match = hex3.exec(color)) {\n return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + 'ff', 16) >>> 0;\n }\n\n if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;\n\n if (match = hex4.exec(color)) {\n return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + match[4] + match[4], 16) >>> 0;\n }\n\n if (match = hsl.exec(color)) {\n return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | 0x000000ff) >>> 0;\n }\n\n if (match = hsla.exec(color)) {\n return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | parse1(match[4])) >>> 0;\n }\n\n return null;\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n}\n\nfunction hslToRgb(h, s, l) {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n const r = hue2rgb(p, q, h + 1 / 3);\n const g = hue2rgb(p, q, h);\n const b = hue2rgb(p, q, h - 1 / 3);\n return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;\n}\n\nfunction parse255(str) {\n const int = parseInt(str, 10);\n if (int < 0) return 0;\n if (int > 255) return 255;\n return int;\n}\n\nfunction parse360(str) {\n const int = parseFloat(str);\n return (int % 360 + 360) % 360 / 360;\n}\n\nfunction parse1(str) {\n const num = parseFloat(str);\n if (num < 0) return 0;\n if (num > 1) return 255;\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n const int = parseFloat(str);\n if (int < 0) return 0;\n if (int > 100) return 1;\n return int / 100;\n}\n\nfunction colorToRgba(input) {\n let int32Color = normalizeColor(input);\n if (int32Color === null) return input;\n int32Color = int32Color || 0;\n let r = (int32Color & 0xff000000) >>> 24;\n let g = (int32Color & 0x00ff0000) >>> 16;\n let b = (int32Color & 0x0000ff00) >>> 8;\n let a = (int32Color & 0x000000ff) / 255;\n return `rgba(${r}, ${g}, ${b}, ${a})`;\n}\n\nconst createInterpolator = (range, output, extrapolate) => {\n if (is.fun(range)) {\n return range;\n }\n\n if (is.arr(range)) {\n return createInterpolator({\n range,\n output: output,\n extrapolate\n });\n }\n\n if (is.str(range.output[0])) {\n return createStringInterpolator$1(range);\n }\n\n const config = range;\n const outputRange = config.output;\n const inputRange = config.range || [0, 1];\n const extrapolateLeft = config.extrapolateLeft || config.extrapolate || 'extend';\n const extrapolateRight = config.extrapolateRight || config.extrapolate || 'extend';\n\n const easing = config.easing || (t => t);\n\n return input => {\n const range = findRange(input, inputRange);\n return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, config.map);\n };\n};\n\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {\n let result = map ? map(input) : input;\n\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin;\n }\n\n if (result > inputMax) {\n if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax;\n }\n\n if (outputMin === outputMax) return outputMin;\n if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax;\n if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin);\n result = easing(result);\n if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;\n return result;\n}\n\nfunction findRange(input, inputRange) {\n for (var i = 1; i < inputRange.length - 1; ++i) if (inputRange[i] >= input) break;\n\n return i - 1;\n}\n\nconst steps = (steps, direction = 'end') => progress => {\n progress = direction === 'end' ? Math.min(progress, 0.999) : Math.max(progress, 0.001);\n const expanded = progress * steps;\n const rounded = direction === 'end' ? Math.floor(expanded) : Math.ceil(expanded);\n return clamp(0, 1, rounded / steps);\n};\n\nconst c1 = 1.70158;\nconst c2 = c1 * 1.525;\nconst c3 = c1 + 1;\nconst c4 = 2 * Math.PI / 3;\nconst c5 = 2 * Math.PI / 4.5;\n\nconst bounceOut = x => {\n const n1 = 7.5625;\n const d1 = 2.75;\n\n if (x < 1 / d1) {\n return n1 * x * x;\n } else if (x < 2 / d1) {\n return n1 * (x -= 1.5 / d1) * x + 0.75;\n } else if (x < 2.5 / d1) {\n return n1 * (x -= 2.25 / d1) * x + 0.9375;\n } else {\n return n1 * (x -= 2.625 / d1) * x + 0.984375;\n }\n};\n\nconst easings = {\n linear: x => x,\n easeInQuad: x => x * x,\n easeOutQuad: x => 1 - (1 - x) * (1 - x),\n easeInOutQuad: x => x < 0.5 ? 2 * x * x : 1 - Math.pow(-2 * x + 2, 2) / 2,\n easeInCubic: x => x * x * x,\n easeOutCubic: x => 1 - Math.pow(1 - x, 3),\n easeInOutCubic: x => x < 0.5 ? 4 * x * x * x : 1 - Math.pow(-2 * x + 2, 3) / 2,\n easeInQuart: x => x * x * x * x,\n easeOutQuart: x => 1 - Math.pow(1 - x, 4),\n easeInOutQuart: x => x < 0.5 ? 8 * x * x * x * x : 1 - Math.pow(-2 * x + 2, 4) / 2,\n easeInQuint: x => x * x * x * x * x,\n easeOutQuint: x => 1 - Math.pow(1 - x, 5),\n easeInOutQuint: x => x < 0.5 ? 16 * x * x * x * x * x : 1 - Math.pow(-2 * x + 2, 5) / 2,\n easeInSine: x => 1 - Math.cos(x * Math.PI / 2),\n easeOutSine: x => Math.sin(x * Math.PI / 2),\n easeInOutSine: x => -(Math.cos(Math.PI * x) - 1) / 2,\n easeInExpo: x => x === 0 ? 0 : Math.pow(2, 10 * x - 10),\n easeOutExpo: x => x === 1 ? 1 : 1 - Math.pow(2, -10 * x),\n easeInOutExpo: x => x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? Math.pow(2, 20 * x - 10) / 2 : (2 - Math.pow(2, -20 * x + 10)) / 2,\n easeInCirc: x => 1 - Math.sqrt(1 - Math.pow(x, 2)),\n easeOutCirc: x => Math.sqrt(1 - Math.pow(x - 1, 2)),\n easeInOutCirc: x => x < 0.5 ? (1 - Math.sqrt(1 - Math.pow(2 * x, 2))) / 2 : (Math.sqrt(1 - Math.pow(-2 * x + 2, 2)) + 1) / 2,\n easeInBack: x => c3 * x * x * x - c1 * x * x,\n easeOutBack: x => 1 + c3 * Math.pow(x - 1, 3) + c1 * Math.pow(x - 1, 2),\n easeInOutBack: x => x < 0.5 ? Math.pow(2 * x, 2) * ((c2 + 1) * 2 * x - c2) / 2 : (Math.pow(2 * x - 2, 2) * ((c2 + 1) * (x * 2 - 2) + c2) + 2) / 2,\n easeInElastic: x => x === 0 ? 0 : x === 1 ? 1 : -Math.pow(2, 10 * x - 10) * Math.sin((x * 10 - 10.75) * c4),\n easeOutElastic: x => x === 0 ? 0 : x === 1 ? 1 : Math.pow(2, -10 * x) * Math.sin((x * 10 - 0.75) * c4) + 1,\n easeInOutElastic: x => x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? -(Math.pow(2, 20 * x - 10) * Math.sin((20 * x - 11.125) * c5)) / 2 : Math.pow(2, -20 * x + 10) * Math.sin((20 * x - 11.125) * c5) / 2 + 1,\n easeInBounce: x => 1 - bounceOut(1 - x),\n easeOutBounce: bounceOut,\n easeInOutBounce: x => x < 0.5 ? (1 - bounceOut(1 - 2 * x)) / 2 : (1 + bounceOut(2 * x - 1)) / 2,\n steps\n};\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nconst $get = Symbol.for('FluidValue.get');\nconst $observers = Symbol.for('FluidValue.observers');\n\nconst hasFluidValue = arg => Boolean(arg && arg[$get]);\n\nconst getFluidValue = arg => arg && arg[$get] ? arg[$get]() : arg;\n\nconst getFluidObservers = target => target[$observers] || null;\n\nfunction callFluidObserver(observer, event) {\n if (observer.eventObserved) {\n observer.eventObserved(event);\n } else {\n observer(event);\n }\n}\n\nfunction callFluidObservers(target, event) {\n let observers = target[$observers];\n\n if (observers) {\n observers.forEach(observer => {\n callFluidObserver(observer, event);\n });\n }\n}\n\nclass FluidValue {\n constructor(get) {\n this[$get] = void 0;\n this[$observers] = void 0;\n\n if (!get && !(get = this.get)) {\n throw Error('Unknown getter');\n }\n\n setFluidGetter(this, get);\n }\n\n}\n\nconst setFluidGetter = (target, get) => setHidden(target, $get, get);\n\nfunction addFluidObserver(target, observer) {\n if (target[$get]) {\n let observers = target[$observers];\n\n if (!observers) {\n setHidden(target, $observers, observers = new Set());\n }\n\n if (!observers.has(observer)) {\n observers.add(observer);\n\n if (target.observerAdded) {\n target.observerAdded(observers.size, observer);\n }\n }\n }\n\n return observer;\n}\n\nfunction removeFluidObserver(target, observer) {\n let observers = target[$observers];\n\n if (observers && observers.has(observer)) {\n const count = observers.size - 1;\n\n if (count) {\n observers.delete(observer);\n } else {\n target[$observers] = null;\n }\n\n if (target.observerRemoved) {\n target.observerRemoved(count, observer);\n }\n }\n}\n\nconst setHidden = (target, key, value) => Object.defineProperty(target, key, {\n value,\n writable: true,\n configurable: true\n});\n\nconst numberRegex = /[+\\-]?(?:0|[1-9]\\d*)(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g;\nconst colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d\\.]+%?\\))/gi;\nconst unitRegex = new RegExp(`(${numberRegex.source})(%|[a-z]+)`, 'i');\nconst rgbaRegex = /rgba\\(([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+)\\)/gi;\nconst cssVariableRegex = /var\\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\\)/;\n\nconst variableToRgba = input => {\n const [token, fallback] = parseCSSVariable(input);\n\n if (!token || isSSR()) {\n return input;\n }\n\n const value = window.getComputedStyle(document.documentElement).getPropertyValue(token);\n\n if (value) {\n return value.trim();\n } else if (fallback && fallback.startsWith('--')) {\n const _value = window.getComputedStyle(document.documentElement).getPropertyValue(fallback);\n\n if (_value) {\n return _value;\n } else {\n return input;\n }\n } else if (fallback && cssVariableRegex.test(fallback)) {\n return variableToRgba(fallback);\n } else if (fallback) {\n return fallback;\n }\n\n return input;\n};\n\nconst parseCSSVariable = current => {\n const match = cssVariableRegex.exec(current);\n if (!match) return [,];\n const [, token, fallback] = match;\n return [token, fallback];\n};\n\nlet namedColorRegex;\n\nconst rgbaRound = (_, p1, p2, p3, p4) => `rgba(${Math.round(p1)}, ${Math.round(p2)}, ${Math.round(p3)}, ${p4})`;\n\nconst createStringInterpolator = config => {\n if (!namedColorRegex) namedColorRegex = colors$1 ? new RegExp(`(${Object.keys(colors$1).join('|')})(?!\\\\w)`, 'g') : /^\\b$/;\n const output = config.output.map(value => {\n return getFluidValue(value).replace(cssVariableRegex, variableToRgba).replace(colorRegex, colorToRgba).replace(namedColorRegex, colorToRgba);\n });\n const keyframes = output.map(value => value.match(numberRegex).map(Number));\n const outputRanges = keyframes[0].map((_, i) => keyframes.map(values => {\n if (!(i in values)) {\n throw Error('The arity of each \"output\" value must be equal');\n }\n\n return values[i];\n }));\n const interpolators = outputRanges.map(output => createInterpolator(_extends({}, config, {\n output\n })));\n return input => {\n var _output$find;\n\n const missingUnit = !unitRegex.test(output[0]) && ((_output$find = output.find(value => unitRegex.test(value))) == null ? void 0 : _output$find.replace(numberRegex, ''));\n let i = 0;\n return output[0].replace(numberRegex, () => `${interpolators[i++](input)}${missingUnit || ''}`).replace(rgbaRegex, rgbaRound);\n };\n};\n\nconst prefix = 'react-spring: ';\nconst once = fn => {\n const func = fn;\n let called = false;\n\n if (typeof func != 'function') {\n throw new TypeError(`${prefix}once requires a function parameter`);\n }\n\n return (...args) => {\n if (!called) {\n func(...args);\n called = true;\n }\n };\n};\nconst warnInterpolate = once(console.warn);\nfunction deprecateInterpolate() {\n warnInterpolate(`${prefix}The \"interpolate\" function is deprecated in v9 (use \"to\" instead)`);\n}\nconst warnDirectCall = once(console.warn);\nfunction deprecateDirectCall() {\n warnDirectCall(`${prefix}Directly calling start instead of using the api object is deprecated in v9 (use \".start\" instead), this will be removed in later 0.X.0 versions`);\n}\n\nfunction isAnimatedString(value) {\n return is.str(value) && (value[0] == '#' || /\\d/.test(value) || !isSSR() && cssVariableRegex.test(value) || value in (colors$1 || {}));\n}\n\nlet observer;\nconst resizeHandlers = new WeakMap();\n\nconst handleObservation = entries => entries.forEach(({\n target,\n contentRect\n}) => {\n var _resizeHandlers$get;\n\n return (_resizeHandlers$get = resizeHandlers.get(target)) == null ? void 0 : _resizeHandlers$get.forEach(handler => handler(contentRect));\n});\n\nfunction resizeElement(handler, target) {\n if (!observer) {\n if (typeof ResizeObserver !== 'undefined') {\n observer = new ResizeObserver(handleObservation);\n }\n }\n\n let elementHandlers = resizeHandlers.get(target);\n\n if (!elementHandlers) {\n elementHandlers = new Set();\n resizeHandlers.set(target, elementHandlers);\n }\n\n elementHandlers.add(handler);\n\n if (observer) {\n observer.observe(target);\n }\n\n return () => {\n const elementHandlers = resizeHandlers.get(target);\n if (!elementHandlers) return;\n elementHandlers.delete(handler);\n\n if (!elementHandlers.size && observer) {\n observer.unobserve(target);\n }\n };\n}\n\nconst listeners = new Set();\nlet cleanupWindowResizeHandler;\n\nconst createResizeHandler = () => {\n const handleResize = () => {\n listeners.forEach(callback => callback({\n width: window.innerWidth,\n height: window.innerHeight\n }));\n };\n\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n};\n\nconst resizeWindow = callback => {\n listeners.add(callback);\n\n if (!cleanupWindowResizeHandler) {\n cleanupWindowResizeHandler = createResizeHandler();\n }\n\n return () => {\n listeners.delete(callback);\n\n if (!listeners.size && cleanupWindowResizeHandler) {\n cleanupWindowResizeHandler();\n cleanupWindowResizeHandler = undefined;\n }\n };\n};\n\nconst onResize = (callback, {\n container: _container = document.documentElement\n} = {}) => {\n if (_container === document.documentElement) {\n return resizeWindow(callback);\n } else {\n return resizeElement(callback, _container);\n }\n};\n\nconst progress = (min, max, value) => max - min === 0 ? 1 : (value - min) / (max - min);\n\nconst SCROLL_KEYS = {\n x: {\n length: 'Width',\n position: 'Left'\n },\n y: {\n length: 'Height',\n position: 'Top'\n }\n};\nclass ScrollHandler {\n constructor(callback, container) {\n this.callback = void 0;\n this.container = void 0;\n this.info = void 0;\n\n this.createAxis = () => ({\n current: 0,\n progress: 0,\n scrollLength: 0\n });\n\n this.updateAxis = axisName => {\n const axis = this.info[axisName];\n const {\n length,\n position\n } = SCROLL_KEYS[axisName];\n axis.current = this.container[`scroll${position}`];\n axis.scrollLength = this.container['scroll' + length] - this.container['client' + length];\n axis.progress = progress(0, axis.scrollLength, axis.current);\n };\n\n this.update = () => {\n this.updateAxis('x');\n this.updateAxis('y');\n };\n\n this.sendEvent = () => {\n this.callback(this.info);\n };\n\n this.advance = () => {\n this.update();\n this.sendEvent();\n };\n\n this.callback = callback;\n this.container = container;\n this.info = {\n time: 0,\n x: this.createAxis(),\n y: this.createAxis()\n };\n }\n\n}\n\nconst scrollListeners = new WeakMap();\nconst resizeListeners = new WeakMap();\nconst onScrollHandlers = new WeakMap();\n\nconst getTarget = container => container === document.documentElement ? window : container;\n\nconst onScroll = (callback, {\n container: _container = document.documentElement\n} = {}) => {\n let containerHandlers = onScrollHandlers.get(_container);\n\n if (!containerHandlers) {\n containerHandlers = new Set();\n onScrollHandlers.set(_container, containerHandlers);\n }\n\n const containerHandler = new ScrollHandler(callback, _container);\n containerHandlers.add(containerHandler);\n\n if (!scrollListeners.has(_container)) {\n const listener = () => {\n var _containerHandlers;\n\n (_containerHandlers = containerHandlers) == null ? void 0 : _containerHandlers.forEach(handler => handler.advance());\n return true;\n };\n\n scrollListeners.set(_container, listener);\n const target = getTarget(_container);\n window.addEventListener('resize', listener, {\n passive: true\n });\n\n if (_container !== document.documentElement) {\n resizeListeners.set(_container, onResize(listener, {\n container: _container\n }));\n }\n\n target.addEventListener('scroll', listener, {\n passive: true\n });\n }\n\n const animateScroll = scrollListeners.get(_container);\n raf(animateScroll);\n return () => {\n raf.cancel(animateScroll);\n const containerHandlers = onScrollHandlers.get(_container);\n if (!containerHandlers) return;\n containerHandlers.delete(containerHandler);\n if (containerHandlers.size) return;\n const listener = scrollListeners.get(_container);\n scrollListeners.delete(_container);\n\n if (listener) {\n var _resizeListeners$get;\n\n getTarget(_container).removeEventListener('scroll', listener);\n window.removeEventListener('resize', listener);\n (_resizeListeners$get = resizeListeners.get(_container)) == null ? void 0 : _resizeListeners$get();\n }\n };\n};\n\nfunction useConstant(init) {\n const ref = useRef(null);\n\n if (ref.current === null) {\n ref.current = init();\n }\n\n return ref.current;\n}\n\nconst useIsomorphicLayoutEffect = isSSR() ? useEffect : useLayoutEffect;\n\nconst useIsMounted = () => {\n const isMounted = useRef(false);\n useIsomorphicLayoutEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n return isMounted;\n};\n\nfunction useForceUpdate() {\n const update = useState()[1];\n const isMounted = useIsMounted();\n return () => {\n if (isMounted.current) {\n update(Math.random());\n }\n };\n}\n\nfunction useMemoOne(getResult, inputs) {\n const [initial] = useState(() => ({\n inputs,\n result: getResult()\n }));\n const committed = useRef();\n const prevCache = committed.current;\n let cache = prevCache;\n\n if (cache) {\n const useCache = Boolean(inputs && cache.inputs && areInputsEqual(inputs, cache.inputs));\n\n if (!useCache) {\n cache = {\n inputs,\n result: getResult()\n };\n }\n } else {\n cache = initial;\n }\n\n useEffect(() => {\n committed.current = cache;\n\n if (prevCache == initial) {\n initial.inputs = initial.result = undefined;\n }\n }, [cache]);\n return cache.result;\n}\n\nfunction areInputsEqual(next, prev) {\n if (next.length !== prev.length) {\n return false;\n }\n\n for (let i = 0; i < next.length; i++) {\n if (next[i] !== prev[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nconst useOnce = effect => useEffect(effect, emptyDeps);\nconst emptyDeps = [];\n\nfunction usePrev(value) {\n const prevRef = useRef();\n useEffect(() => {\n prevRef.current = value;\n });\n return prevRef.current;\n}\n\nconst useReducedMotion = () => {\n const [reducedMotion, setReducedMotion] = useState(null);\n useIsomorphicLayoutEffect(() => {\n const mql = window.matchMedia('(prefers-reduced-motion)');\n\n const handleMediaChange = e => {\n setReducedMotion(e.matches);\n assign({\n skipAnimation: e.matches\n });\n };\n\n handleMediaChange(mql);\n mql.addEventListener('change', handleMediaChange);\n return () => {\n mql.removeEventListener('change', handleMediaChange);\n };\n }, []);\n return reducedMotion;\n};\n\nexport { FluidValue, globals as Globals, addFluidObserver, callFluidObserver, callFluidObservers, clamp, colorToRgba, colors, createInterpolator, createStringInterpolator, defineHidden, deprecateDirectCall, deprecateInterpolate, each, eachProp, easings, flush, flushCalls, frameLoop, getFluidObservers, getFluidValue, hasFluidValue, hex3, hex4, hex6, hex8, hsl, hsla, is, isAnimatedString, isEqual, isSSR, noop, onResize, onScroll, once, prefix, removeFluidObserver, rgb, rgba, setFluidGetter, toArray, useConstant, useForceUpdate, useIsomorphicLayoutEffect, useMemoOne, useOnce, usePrev, useReducedMotion };\n","import { defineHidden, is, createInterpolator, eachProp, hasFluidValue, getFluidValue, each, isAnimatedString, useForceUpdate, useIsomorphicLayoutEffect, addFluidObserver, removeFluidObserver, raf, useOnce } from '@react-spring/shared';\nimport * as React from 'react';\nimport { forwardRef, useRef, useCallback, useEffect } from 'react';\n\nconst $node = Symbol.for('Animated:node');\nconst isAnimated = value => !!value && value[$node] === value;\nconst getAnimated = owner => owner && owner[$node];\nconst setAnimated = (owner, node) => defineHidden(owner, $node, node);\nconst getPayload = owner => owner && owner[$node] && owner[$node].getPayload();\nclass Animated {\n constructor() {\n this.payload = void 0;\n setAnimated(this, this);\n }\n\n getPayload() {\n return this.payload || [];\n }\n\n}\n\nclass AnimatedValue extends Animated {\n constructor(_value) {\n super();\n this.done = true;\n this.elapsedTime = void 0;\n this.lastPosition = void 0;\n this.lastVelocity = void 0;\n this.v0 = void 0;\n this.durationProgress = 0;\n this._value = _value;\n\n if (is.num(this._value)) {\n this.lastPosition = this._value;\n }\n }\n\n static create(value) {\n return new AnimatedValue(value);\n }\n\n getPayload() {\n return [this];\n }\n\n getValue() {\n return this._value;\n }\n\n setValue(value, step) {\n if (is.num(value)) {\n this.lastPosition = value;\n\n if (step) {\n value = Math.round(value / step) * step;\n\n if (this.done) {\n this.lastPosition = value;\n }\n }\n }\n\n if (this._value === value) {\n return false;\n }\n\n this._value = value;\n return true;\n }\n\n reset() {\n const {\n done\n } = this;\n this.done = false;\n\n if (is.num(this._value)) {\n this.elapsedTime = 0;\n this.durationProgress = 0;\n this.lastPosition = this._value;\n if (done) this.lastVelocity = null;\n this.v0 = null;\n }\n }\n\n}\n\nclass AnimatedString extends AnimatedValue {\n constructor(value) {\n super(0);\n this._string = null;\n this._toString = void 0;\n this._toString = createInterpolator({\n output: [value, value]\n });\n }\n\n static create(value) {\n return new AnimatedString(value);\n }\n\n getValue() {\n let value = this._string;\n return value == null ? this._string = this._toString(this._value) : value;\n }\n\n setValue(value) {\n if (is.str(value)) {\n if (value == this._string) {\n return false;\n }\n\n this._string = value;\n this._value = 1;\n } else if (super.setValue(value)) {\n this._string = null;\n } else {\n return false;\n }\n\n return true;\n }\n\n reset(goal) {\n if (goal) {\n this._toString = createInterpolator({\n output: [this.getValue(), goal]\n });\n }\n\n this._value = 0;\n super.reset();\n }\n\n}\n\nconst TreeContext = {\n dependencies: null\n};\n\nclass AnimatedObject extends Animated {\n constructor(source) {\n super();\n this.source = source;\n this.setValue(source);\n }\n\n getValue(animated) {\n const values = {};\n eachProp(this.source, (source, key) => {\n if (isAnimated(source)) {\n values[key] = source.getValue(animated);\n } else if (hasFluidValue(source)) {\n values[key] = getFluidValue(source);\n } else if (!animated) {\n values[key] = source;\n }\n });\n return values;\n }\n\n setValue(source) {\n this.source = source;\n this.payload = this._makePayload(source);\n }\n\n reset() {\n if (this.payload) {\n each(this.payload, node => node.reset());\n }\n }\n\n _makePayload(source) {\n if (source) {\n const payload = new Set();\n eachProp(source, this._addToPayload, payload);\n return Array.from(payload);\n }\n }\n\n _addToPayload(source) {\n if (TreeContext.dependencies && hasFluidValue(source)) {\n TreeContext.dependencies.add(source);\n }\n\n const payload = getPayload(source);\n\n if (payload) {\n each(payload, node => this.add(node));\n }\n }\n\n}\n\nclass AnimatedArray extends AnimatedObject {\n constructor(source) {\n super(source);\n }\n\n static create(source) {\n return new AnimatedArray(source);\n }\n\n getValue() {\n return this.source.map(node => node.getValue());\n }\n\n setValue(source) {\n const payload = this.getPayload();\n\n if (source.length == payload.length) {\n return payload.map((node, i) => node.setValue(source[i])).some(Boolean);\n }\n\n super.setValue(source.map(makeAnimated));\n return true;\n }\n\n}\n\nfunction makeAnimated(value) {\n const nodeType = isAnimatedString(value) ? AnimatedString : AnimatedValue;\n return nodeType.create(value);\n}\n\nfunction getAnimatedType(value) {\n const parentNode = getAnimated(value);\n return parentNode ? parentNode.constructor : is.arr(value) ? AnimatedArray : isAnimatedString(value) ? AnimatedString : AnimatedValue;\n}\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nconst withAnimated = (Component, host) => {\n const hasInstance = !is.fun(Component) || Component.prototype && Component.prototype.isReactComponent;\n return forwardRef((givenProps, givenRef) => {\n const instanceRef = useRef(null);\n const ref = hasInstance && useCallback(value => {\n instanceRef.current = updateRef(givenRef, value);\n }, [givenRef]);\n const [props, deps] = getAnimatedState(givenProps, host);\n const forceUpdate = useForceUpdate();\n\n const callback = () => {\n const instance = instanceRef.current;\n\n if (hasInstance && !instance) {\n return;\n }\n\n const didUpdate = instance ? host.applyAnimatedValues(instance, props.getValue(true)) : false;\n\n if (didUpdate === false) {\n forceUpdate();\n }\n };\n\n const observer = new PropsObserver(callback, deps);\n const observerRef = useRef();\n useIsomorphicLayoutEffect(() => {\n observerRef.current = observer;\n each(deps, dep => addFluidObserver(dep, observer));\n return () => {\n if (observerRef.current) {\n each(observerRef.current.deps, dep => removeFluidObserver(dep, observerRef.current));\n raf.cancel(observerRef.current.update);\n }\n };\n });\n useEffect(callback, []);\n useOnce(() => () => {\n const observer = observerRef.current;\n each(observer.deps, dep => removeFluidObserver(dep, observer));\n });\n const usedProps = host.getComponentProps(props.getValue());\n return React.createElement(Component, _extends({}, usedProps, {\n ref: ref\n }));\n });\n};\n\nclass PropsObserver {\n constructor(update, deps) {\n this.update = update;\n this.deps = deps;\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n raf.write(this.update);\n }\n }\n\n}\n\nfunction getAnimatedState(props, host) {\n const dependencies = new Set();\n TreeContext.dependencies = dependencies;\n if (props.style) props = _extends({}, props, {\n style: host.createAnimatedStyle(props.style)\n });\n props = new AnimatedObject(props);\n TreeContext.dependencies = null;\n return [props, dependencies];\n}\n\nfunction updateRef(ref, value) {\n if (ref) {\n if (is.fun(ref)) ref(value);else ref.current = value;\n }\n\n return value;\n}\n\nconst cacheKey = Symbol.for('AnimatedComponent');\nconst createHost = (components, {\n applyAnimatedValues: _applyAnimatedValues = () => false,\n createAnimatedStyle: _createAnimatedStyle = style => new AnimatedObject(style),\n getComponentProps: _getComponentProps = props => props\n} = {}) => {\n const hostConfig = {\n applyAnimatedValues: _applyAnimatedValues,\n createAnimatedStyle: _createAnimatedStyle,\n getComponentProps: _getComponentProps\n };\n\n const animated = Component => {\n const displayName = getDisplayName(Component) || 'Anonymous';\n\n if (is.str(Component)) {\n Component = animated[Component] || (animated[Component] = withAnimated(Component, hostConfig));\n } else {\n Component = Component[cacheKey] || (Component[cacheKey] = withAnimated(Component, hostConfig));\n }\n\n Component.displayName = `Animated(${displayName})`;\n return Component;\n };\n\n eachProp(components, (Component, key) => {\n if (is.arr(components)) {\n key = getDisplayName(Component);\n }\n\n animated[key] = animated(Component);\n });\n return {\n animated\n };\n};\n\nconst getDisplayName = arg => is.str(arg) ? arg : arg && is.str(arg.displayName) ? arg.displayName : is.fun(arg) && arg.name || null;\n\nexport { Animated, AnimatedArray, AnimatedObject, AnimatedString, AnimatedValue, createHost, getAnimated, getAnimatedType, getPayload, isAnimated, setAnimated };\n","import { eachProp, is, toArray, getFluidValue, isAnimatedString, Globals, useIsomorphicLayoutEffect, each, easings, raf, flush, FluidValue, deprecateInterpolate, callFluidObservers, frameLoop, hasFluidValue, flushCalls, isEqual, getFluidObservers, addFluidObserver, removeFluidObserver, noop, useMemoOne, deprecateDirectCall, useForceUpdate, usePrev, useOnce, useConstant, onScroll, onResize, createInterpolator, createStringInterpolator } from '@react-spring/shared';\nexport { Globals, createInterpolator, easings, useIsomorphicLayoutEffect, useReducedMotion } from '@react-spring/shared';\nimport * as React from 'react';\nimport { useContext, useMemo, useRef, useState } from 'react';\nimport { getAnimated, AnimatedValue, getPayload, AnimatedString, getAnimatedType, setAnimated } from '@react-spring/animated';\nexport * from '@react-spring/types/animated';\nexport * from '@react-spring/types/interpolation';\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nfunction callProp(value, ...args) {\n return is.fun(value) ? value(...args) : value;\n}\nconst matchProp = (value, key) => value === true || !!(key && value && (is.fun(value) ? value(key) : toArray(value).includes(key)));\nconst resolveProp = (prop, key) => is.obj(prop) ? key && prop[key] : prop;\nconst getDefaultProp = (props, key) => props.default === true ? props[key] : props.default ? props.default[key] : undefined;\n\nconst noopTransform = value => value;\n\nconst getDefaultProps = (props, transform = noopTransform) => {\n let keys = DEFAULT_PROPS;\n\n if (props.default && props.default !== true) {\n props = props.default;\n keys = Object.keys(props);\n }\n\n const defaults = {};\n\n for (const key of keys) {\n const value = transform(props[key], key);\n\n if (!is.und(value)) {\n defaults[key] = value;\n }\n }\n\n return defaults;\n};\nconst DEFAULT_PROPS = ['config', 'onProps', 'onStart', 'onChange', 'onPause', 'onResume', 'onRest'];\nconst RESERVED_PROPS = {\n config: 1,\n from: 1,\n to: 1,\n ref: 1,\n loop: 1,\n reset: 1,\n pause: 1,\n cancel: 1,\n reverse: 1,\n immediate: 1,\n default: 1,\n delay: 1,\n onProps: 1,\n onStart: 1,\n onChange: 1,\n onPause: 1,\n onResume: 1,\n onRest: 1,\n onResolve: 1,\n items: 1,\n trail: 1,\n sort: 1,\n expires: 1,\n initial: 1,\n enter: 1,\n update: 1,\n leave: 1,\n children: 1,\n onDestroyed: 1,\n keys: 1,\n callId: 1,\n parentId: 1\n};\n\nfunction getForwardProps(props) {\n const forward = {};\n let count = 0;\n eachProp(props, (value, prop) => {\n if (!RESERVED_PROPS[prop]) {\n forward[prop] = value;\n count++;\n }\n });\n\n if (count) {\n return forward;\n }\n}\n\nfunction inferTo(props) {\n const to = getForwardProps(props);\n\n if (to) {\n const out = {\n to\n };\n eachProp(props, (val, key) => key in to || (out[key] = val));\n return out;\n }\n\n return _extends({}, props);\n}\nfunction computeGoal(value) {\n value = getFluidValue(value);\n return is.arr(value) ? value.map(computeGoal) : isAnimatedString(value) ? Globals.createStringInterpolator({\n range: [0, 1],\n output: [value, value]\n })(1) : value;\n}\nfunction hasProps(props) {\n for (const _ in props) return true;\n\n return false;\n}\nfunction isAsyncTo(to) {\n return is.fun(to) || is.arr(to) && is.obj(to[0]);\n}\nfunction detachRefs(ctrl, ref) {\n var _ctrl$ref;\n\n (_ctrl$ref = ctrl.ref) == null ? void 0 : _ctrl$ref.delete(ctrl);\n ref == null ? void 0 : ref.delete(ctrl);\n}\nfunction replaceRef(ctrl, ref) {\n if (ref && ctrl.ref !== ref) {\n var _ctrl$ref2;\n\n (_ctrl$ref2 = ctrl.ref) == null ? void 0 : _ctrl$ref2.delete(ctrl);\n ref.add(ctrl);\n ctrl.ref = ref;\n }\n}\n\nfunction useChain(refs, timeSteps, timeFrame = 1000) {\n useIsomorphicLayoutEffect(() => {\n if (timeSteps) {\n let prevDelay = 0;\n each(refs, (ref, i) => {\n const controllers = ref.current;\n\n if (controllers.length) {\n let delay = timeFrame * timeSteps[i];\n if (isNaN(delay)) delay = prevDelay;else prevDelay = delay;\n each(controllers, ctrl => {\n each(ctrl.queue, props => {\n const memoizedDelayProp = props.delay;\n\n props.delay = key => delay + callProp(memoizedDelayProp || 0, key);\n });\n });\n ref.start();\n }\n });\n } else {\n let p = Promise.resolve();\n each(refs, ref => {\n const controllers = ref.current;\n\n if (controllers.length) {\n const queues = controllers.map(ctrl => {\n const q = ctrl.queue;\n ctrl.queue = [];\n return q;\n });\n p = p.then(() => {\n each(controllers, (ctrl, i) => each(queues[i] || [], update => ctrl.queue.push(update)));\n return Promise.all(ref.start());\n });\n }\n });\n }\n });\n}\n\nconst config = {\n default: {\n tension: 170,\n friction: 26\n },\n gentle: {\n tension: 120,\n friction: 14\n },\n wobbly: {\n tension: 180,\n friction: 12\n },\n stiff: {\n tension: 210,\n friction: 20\n },\n slow: {\n tension: 280,\n friction: 60\n },\n molasses: {\n tension: 280,\n friction: 120\n }\n};\n\nconst defaults = _extends({}, config.default, {\n mass: 1,\n damping: 1,\n easing: easings.linear,\n clamp: false\n});\n\nclass AnimationConfig {\n constructor() {\n this.tension = void 0;\n this.friction = void 0;\n this.frequency = void 0;\n this.damping = void 0;\n this.mass = void 0;\n this.velocity = 0;\n this.restVelocity = void 0;\n this.precision = void 0;\n this.progress = void 0;\n this.duration = void 0;\n this.easing = void 0;\n this.clamp = void 0;\n this.bounce = void 0;\n this.decay = void 0;\n this.round = void 0;\n Object.assign(this, defaults);\n }\n\n}\nfunction mergeConfig(config, newConfig, defaultConfig) {\n if (defaultConfig) {\n defaultConfig = _extends({}, defaultConfig);\n sanitizeConfig(defaultConfig, newConfig);\n newConfig = _extends({}, defaultConfig, newConfig);\n }\n\n sanitizeConfig(config, newConfig);\n Object.assign(config, newConfig);\n\n for (const key in defaults) {\n if (config[key] == null) {\n config[key] = defaults[key];\n }\n }\n\n let {\n mass,\n frequency,\n damping\n } = config;\n\n if (!is.und(frequency)) {\n if (frequency < 0.01) frequency = 0.01;\n if (damping < 0) damping = 0;\n config.tension = Math.pow(2 * Math.PI / frequency, 2) * mass;\n config.friction = 4 * Math.PI * damping * mass / frequency;\n }\n\n return config;\n}\n\nfunction sanitizeConfig(config, props) {\n if (!is.und(props.decay)) {\n config.duration = undefined;\n } else {\n const isTensionConfig = !is.und(props.tension) || !is.und(props.friction);\n\n if (isTensionConfig || !is.und(props.frequency) || !is.und(props.damping) || !is.und(props.mass)) {\n config.duration = undefined;\n config.decay = undefined;\n }\n\n if (isTensionConfig) {\n config.frequency = undefined;\n }\n }\n}\n\nconst emptyArray = [];\nclass Animation {\n constructor() {\n this.changed = false;\n this.values = emptyArray;\n this.toValues = null;\n this.fromValues = emptyArray;\n this.to = void 0;\n this.from = void 0;\n this.config = new AnimationConfig();\n this.immediate = false;\n }\n\n}\n\nfunction scheduleProps(callId, {\n key,\n props,\n defaultProps,\n state,\n actions\n}) {\n return new Promise((resolve, reject) => {\n var _props$cancel;\n\n let delay;\n let timeout;\n let cancel = matchProp((_props$cancel = props.cancel) != null ? _props$cancel : defaultProps == null ? void 0 : defaultProps.cancel, key);\n\n if (cancel) {\n onStart();\n } else {\n if (!is.und(props.pause)) {\n state.paused = matchProp(props.pause, key);\n }\n\n let pause = defaultProps == null ? void 0 : defaultProps.pause;\n\n if (pause !== true) {\n pause = state.paused || matchProp(pause, key);\n }\n\n delay = callProp(props.delay || 0, key);\n\n if (pause) {\n state.resumeQueue.add(onResume);\n actions.pause();\n } else {\n actions.resume();\n onResume();\n }\n }\n\n function onPause() {\n state.resumeQueue.add(onResume);\n state.timeouts.delete(timeout);\n timeout.cancel();\n delay = timeout.time - raf.now();\n }\n\n function onResume() {\n if (delay > 0 && !Globals.skipAnimation) {\n state.delayed = true;\n timeout = raf.setTimeout(onStart, delay);\n state.pauseQueue.add(onPause);\n state.timeouts.add(timeout);\n } else {\n onStart();\n }\n }\n\n function onStart() {\n if (state.delayed) {\n state.delayed = false;\n }\n\n state.pauseQueue.delete(onPause);\n state.timeouts.delete(timeout);\n\n if (callId <= (state.cancelId || 0)) {\n cancel = true;\n }\n\n try {\n actions.start(_extends({}, props, {\n callId,\n cancel\n }), resolve);\n } catch (err) {\n reject(err);\n }\n }\n });\n}\n\nconst getCombinedResult = (target, results) => results.length == 1 ? results[0] : results.some(result => result.cancelled) ? getCancelledResult(target.get()) : results.every(result => result.noop) ? getNoopResult(target.get()) : getFinishedResult(target.get(), results.every(result => result.finished));\nconst getNoopResult = value => ({\n value,\n noop: true,\n finished: true,\n cancelled: false\n});\nconst getFinishedResult = (value, finished, cancelled = false) => ({\n value,\n finished,\n cancelled\n});\nconst getCancelledResult = value => ({\n value,\n cancelled: true,\n finished: false\n});\n\nfunction runAsync(to, props, state, target) {\n const {\n callId,\n parentId,\n onRest\n } = props;\n const {\n asyncTo: prevTo,\n promise: prevPromise\n } = state;\n\n if (!parentId && to === prevTo && !props.reset) {\n return prevPromise;\n }\n\n return state.promise = (async () => {\n state.asyncId = callId;\n state.asyncTo = to;\n const defaultProps = getDefaultProps(props, (value, key) => key === 'onRest' ? undefined : value);\n let preventBail;\n let bail;\n const bailPromise = new Promise((resolve, reject) => (preventBail = resolve, bail = reject));\n\n const bailIfEnded = bailSignal => {\n const bailResult = callId <= (state.cancelId || 0) && getCancelledResult(target) || callId !== state.asyncId && getFinishedResult(target, false);\n\n if (bailResult) {\n bailSignal.result = bailResult;\n bail(bailSignal);\n throw bailSignal;\n }\n };\n\n const animate = (arg1, arg2) => {\n const bailSignal = new BailSignal();\n const skipAnimationSignal = new SkipAnimationSignal();\n return (async () => {\n if (Globals.skipAnimation) {\n stopAsync(state);\n skipAnimationSignal.result = getFinishedResult(target, false);\n bail(skipAnimationSignal);\n throw skipAnimationSignal;\n }\n\n bailIfEnded(bailSignal);\n const props = is.obj(arg1) ? _extends({}, arg1) : _extends({}, arg2, {\n to: arg1\n });\n props.parentId = callId;\n eachProp(defaultProps, (value, key) => {\n if (is.und(props[key])) {\n props[key] = value;\n }\n });\n const result = await target.start(props);\n bailIfEnded(bailSignal);\n\n if (state.paused) {\n await new Promise(resume => {\n state.resumeQueue.add(resume);\n });\n }\n\n return result;\n })();\n };\n\n let result;\n\n if (Globals.skipAnimation) {\n stopAsync(state);\n return getFinishedResult(target, false);\n }\n\n try {\n let animating;\n\n if (is.arr(to)) {\n animating = (async queue => {\n for (const props of queue) {\n await animate(props);\n }\n })(to);\n } else {\n animating = Promise.resolve(to(animate, target.stop.bind(target)));\n }\n\n await Promise.all([animating.then(preventBail), bailPromise]);\n result = getFinishedResult(target.get(), true, false);\n } catch (err) {\n if (err instanceof BailSignal) {\n result = err.result;\n } else if (err instanceof SkipAnimationSignal) {\n result = err.result;\n } else {\n throw err;\n }\n } finally {\n if (callId == state.asyncId) {\n state.asyncId = parentId;\n state.asyncTo = parentId ? prevTo : undefined;\n state.promise = parentId ? prevPromise : undefined;\n }\n }\n\n if (is.fun(onRest)) {\n raf.batchedUpdates(() => {\n onRest(result, target, target.item);\n });\n }\n\n return result;\n })();\n}\nfunction stopAsync(state, cancelId) {\n flush(state.timeouts, t => t.cancel());\n state.pauseQueue.clear();\n state.resumeQueue.clear();\n state.asyncId = state.asyncTo = state.promise = undefined;\n if (cancelId) state.cancelId = cancelId;\n}\nclass BailSignal extends Error {\n constructor() {\n super('An async animation has been interrupted. You see this error because you ' + 'forgot to use `await` or `.catch(...)` on its returned promise.');\n this.result = void 0;\n }\n\n}\nclass SkipAnimationSignal extends Error {\n constructor() {\n super('SkipAnimationSignal');\n this.result = void 0;\n }\n\n}\n\nconst isFrameValue = value => value instanceof FrameValue;\nlet nextId$1 = 1;\nclass FrameValue extends FluidValue {\n constructor(...args) {\n super(...args);\n this.id = nextId$1++;\n this.key = void 0;\n this._priority = 0;\n }\n\n get priority() {\n return this._priority;\n }\n\n set priority(priority) {\n if (this._priority != priority) {\n this._priority = priority;\n\n this._onPriorityChange(priority);\n }\n }\n\n get() {\n const node = getAnimated(this);\n return node && node.getValue();\n }\n\n to(...args) {\n return Globals.to(this, args);\n }\n\n interpolate(...args) {\n deprecateInterpolate();\n return Globals.to(this, args);\n }\n\n toJSON() {\n return this.get();\n }\n\n observerAdded(count) {\n if (count == 1) this._attach();\n }\n\n observerRemoved(count) {\n if (count == 0) this._detach();\n }\n\n _attach() {}\n\n _detach() {}\n\n _onChange(value, idle = false) {\n callFluidObservers(this, {\n type: 'change',\n parent: this,\n value,\n idle\n });\n }\n\n _onPriorityChange(priority) {\n if (!this.idle) {\n frameLoop.sort(this);\n }\n\n callFluidObservers(this, {\n type: 'priority',\n parent: this,\n priority\n });\n }\n\n}\n\nconst $P = Symbol.for('SpringPhase');\nconst HAS_ANIMATED = 1;\nconst IS_ANIMATING = 2;\nconst IS_PAUSED = 4;\nconst hasAnimated = target => (target[$P] & HAS_ANIMATED) > 0;\nconst isAnimating = target => (target[$P] & IS_ANIMATING) > 0;\nconst isPaused = target => (target[$P] & IS_PAUSED) > 0;\nconst setActiveBit = (target, active) => active ? target[$P] |= IS_ANIMATING | HAS_ANIMATED : target[$P] &= ~IS_ANIMATING;\nconst setPausedBit = (target, paused) => paused ? target[$P] |= IS_PAUSED : target[$P] &= ~IS_PAUSED;\n\nclass SpringValue extends FrameValue {\n constructor(arg1, arg2) {\n super();\n this.key = void 0;\n this.animation = new Animation();\n this.queue = void 0;\n this.defaultProps = {};\n this._state = {\n paused: false,\n delayed: false,\n pauseQueue: new Set(),\n resumeQueue: new Set(),\n timeouts: new Set()\n };\n this._pendingCalls = new Set();\n this._lastCallId = 0;\n this._lastToId = 0;\n this._memoizedDuration = 0;\n\n if (!is.und(arg1) || !is.und(arg2)) {\n const props = is.obj(arg1) ? _extends({}, arg1) : _extends({}, arg2, {\n from: arg1\n });\n\n if (is.und(props.default)) {\n props.default = true;\n }\n\n this.start(props);\n }\n }\n\n get idle() {\n return !(isAnimating(this) || this._state.asyncTo) || isPaused(this);\n }\n\n get goal() {\n return getFluidValue(this.animation.to);\n }\n\n get velocity() {\n const node = getAnimated(this);\n return node instanceof AnimatedValue ? node.lastVelocity || 0 : node.getPayload().map(node => node.lastVelocity || 0);\n }\n\n get hasAnimated() {\n return hasAnimated(this);\n }\n\n get isAnimating() {\n return isAnimating(this);\n }\n\n get isPaused() {\n return isPaused(this);\n }\n\n get isDelayed() {\n return this._state.delayed;\n }\n\n advance(dt) {\n let idle = true;\n let changed = false;\n const anim = this.animation;\n let {\n config,\n toValues\n } = anim;\n const payload = getPayload(anim.to);\n\n if (!payload && hasFluidValue(anim.to)) {\n toValues = toArray(getFluidValue(anim.to));\n }\n\n anim.values.forEach((node, i) => {\n if (node.done) return;\n const to = node.constructor == AnimatedString ? 1 : payload ? payload[i].lastPosition : toValues[i];\n let finished = anim.immediate;\n let position = to;\n\n if (!finished) {\n position = node.lastPosition;\n\n if (config.tension <= 0) {\n node.done = true;\n return;\n }\n\n let elapsed = node.elapsedTime += dt;\n const from = anim.fromValues[i];\n const v0 = node.v0 != null ? node.v0 : node.v0 = is.arr(config.velocity) ? config.velocity[i] : config.velocity;\n let velocity;\n const precision = config.precision || (from == to ? 0.005 : Math.min(1, Math.abs(to - from) * 0.001));\n\n if (!is.und(config.duration)) {\n let p = 1;\n\n if (config.duration > 0) {\n if (this._memoizedDuration !== config.duration) {\n this._memoizedDuration = config.duration;\n\n if (node.durationProgress > 0) {\n node.elapsedTime = config.duration * node.durationProgress;\n elapsed = node.elapsedTime += dt;\n }\n }\n\n p = (config.progress || 0) + elapsed / this._memoizedDuration;\n p = p > 1 ? 1 : p < 0 ? 0 : p;\n node.durationProgress = p;\n }\n\n position = from + config.easing(p) * (to - from);\n velocity = (position - node.lastPosition) / dt;\n finished = p == 1;\n } else if (config.decay) {\n const decay = config.decay === true ? 0.998 : config.decay;\n const e = Math.exp(-(1 - decay) * elapsed);\n position = from + v0 / (1 - decay) * (1 - e);\n finished = Math.abs(node.lastPosition - position) <= precision;\n velocity = v0 * e;\n } else {\n velocity = node.lastVelocity == null ? v0 : node.lastVelocity;\n const restVelocity = config.restVelocity || precision / 10;\n const bounceFactor = config.clamp ? 0 : config.bounce;\n const canBounce = !is.und(bounceFactor);\n const isGrowing = from == to ? node.v0 > 0 : from < to;\n let isMoving;\n let isBouncing = false;\n const step = 1;\n const numSteps = Math.ceil(dt / step);\n\n for (let n = 0; n < numSteps; ++n) {\n isMoving = Math.abs(velocity) > restVelocity;\n\n if (!isMoving) {\n finished = Math.abs(to - position) <= precision;\n\n if (finished) {\n break;\n }\n }\n\n if (canBounce) {\n isBouncing = position == to || position > to == isGrowing;\n\n if (isBouncing) {\n velocity = -velocity * bounceFactor;\n position = to;\n }\n }\n\n const springForce = -config.tension * 0.000001 * (position - to);\n const dampingForce = -config.friction * 0.001 * velocity;\n const acceleration = (springForce + dampingForce) / config.mass;\n velocity = velocity + acceleration * step;\n position = position + velocity * step;\n }\n }\n\n node.lastVelocity = velocity;\n\n if (Number.isNaN(position)) {\n console.warn(`Got NaN while animating:`, this);\n finished = true;\n }\n }\n\n if (payload && !payload[i].done) {\n finished = false;\n }\n\n if (finished) {\n node.done = true;\n } else {\n idle = false;\n }\n\n if (node.setValue(position, config.round)) {\n changed = true;\n }\n });\n const node = getAnimated(this);\n const currVal = node.getValue();\n\n if (idle) {\n const finalVal = getFluidValue(anim.to);\n\n if ((currVal !== finalVal || changed) && !config.decay) {\n node.setValue(finalVal);\n\n this._onChange(finalVal);\n } else if (changed && config.decay) {\n this._onChange(currVal);\n }\n\n this._stop();\n } else if (changed) {\n this._onChange(currVal);\n }\n }\n\n set(value) {\n raf.batchedUpdates(() => {\n this._stop();\n\n this._focus(value);\n\n this._set(value);\n });\n return this;\n }\n\n pause() {\n this._update({\n pause: true\n });\n }\n\n resume() {\n this._update({\n pause: false\n });\n }\n\n finish() {\n if (isAnimating(this)) {\n const {\n to,\n config\n } = this.animation;\n raf.batchedUpdates(() => {\n this._onStart();\n\n if (!config.decay) {\n this._set(to, false);\n }\n\n this._stop();\n });\n }\n\n return this;\n }\n\n update(props) {\n const queue = this.queue || (this.queue = []);\n queue.push(props);\n return this;\n }\n\n start(to, arg2) {\n let queue;\n\n if (!is.und(to)) {\n queue = [is.obj(to) ? to : _extends({}, arg2, {\n to\n })];\n } else {\n queue = this.queue || [];\n this.queue = [];\n }\n\n return Promise.all(queue.map(props => {\n const up = this._update(props);\n\n return up;\n })).then(results => getCombinedResult(this, results));\n }\n\n stop(cancel) {\n const {\n to\n } = this.animation;\n\n this._focus(this.get());\n\n stopAsync(this._state, cancel && this._lastCallId);\n raf.batchedUpdates(() => this._stop(to, cancel));\n return this;\n }\n\n reset() {\n this._update({\n reset: true\n });\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n this._start();\n } else if (event.type == 'priority') {\n this.priority = event.priority + 1;\n }\n }\n\n _prepareNode(props) {\n const key = this.key || '';\n let {\n to,\n from\n } = props;\n to = is.obj(to) ? to[key] : to;\n\n if (to == null || isAsyncTo(to)) {\n to = undefined;\n }\n\n from = is.obj(from) ? from[key] : from;\n\n if (from == null) {\n from = undefined;\n }\n\n const range = {\n to,\n from\n };\n\n if (!hasAnimated(this)) {\n if (props.reverse) [to, from] = [from, to];\n from = getFluidValue(from);\n\n if (!is.und(from)) {\n this._set(from);\n } else if (!getAnimated(this)) {\n this._set(to);\n }\n }\n\n return range;\n }\n\n _update(_ref, isLoop) {\n let props = _extends({}, _ref);\n\n const {\n key,\n defaultProps\n } = this;\n if (props.default) Object.assign(defaultProps, getDefaultProps(props, (value, prop) => /^on/.test(prop) ? resolveProp(value, key) : value));\n mergeActiveFn(this, props, 'onProps');\n sendEvent(this, 'onProps', props, this);\n\n const range = this._prepareNode(props);\n\n if (Object.isFrozen(this)) {\n throw Error('Cannot animate a `SpringValue` object that is frozen. ' + 'Did you forget to pass your component to `animated(...)` before animating its props?');\n }\n\n const state = this._state;\n return scheduleProps(++this._lastCallId, {\n key,\n props,\n defaultProps,\n state,\n actions: {\n pause: () => {\n if (!isPaused(this)) {\n setPausedBit(this, true);\n flushCalls(state.pauseQueue);\n sendEvent(this, 'onPause', getFinishedResult(this, checkFinished(this, this.animation.to)), this);\n }\n },\n resume: () => {\n if (isPaused(this)) {\n setPausedBit(this, false);\n\n if (isAnimating(this)) {\n this._resume();\n }\n\n flushCalls(state.resumeQueue);\n sendEvent(this, 'onResume', getFinishedResult(this, checkFinished(this, this.animation.to)), this);\n }\n },\n start: this._merge.bind(this, range)\n }\n }).then(result => {\n if (props.loop && result.finished && !(isLoop && result.noop)) {\n const nextProps = createLoopUpdate(props);\n\n if (nextProps) {\n return this._update(nextProps, true);\n }\n }\n\n return result;\n });\n }\n\n _merge(range, props, resolve) {\n if (props.cancel) {\n this.stop(true);\n return resolve(getCancelledResult(this));\n }\n\n const hasToProp = !is.und(range.to);\n const hasFromProp = !is.und(range.from);\n\n if (hasToProp || hasFromProp) {\n if (props.callId > this._lastToId) {\n this._lastToId = props.callId;\n } else {\n return resolve(getCancelledResult(this));\n }\n }\n\n const {\n key,\n defaultProps,\n animation: anim\n } = this;\n const {\n to: prevTo,\n from: prevFrom\n } = anim;\n let {\n to = prevTo,\n from = prevFrom\n } = range;\n\n if (hasFromProp && !hasToProp && (!props.default || is.und(to))) {\n to = from;\n }\n\n if (props.reverse) [to, from] = [from, to];\n const hasFromChanged = !isEqual(from, prevFrom);\n\n if (hasFromChanged) {\n anim.from = from;\n }\n\n from = getFluidValue(from);\n const hasToChanged = !isEqual(to, prevTo);\n\n if (hasToChanged) {\n this._focus(to);\n }\n\n const hasAsyncTo = isAsyncTo(props.to);\n const {\n config\n } = anim;\n const {\n decay,\n velocity\n } = config;\n\n if (hasToProp || hasFromProp) {\n config.velocity = 0;\n }\n\n if (props.config && !hasAsyncTo) {\n mergeConfig(config, callProp(props.config, key), props.config !== defaultProps.config ? callProp(defaultProps.config, key) : void 0);\n }\n\n let node = getAnimated(this);\n\n if (!node || is.und(to)) {\n return resolve(getFinishedResult(this, true));\n }\n\n const reset = is.und(props.reset) ? hasFromProp && !props.default : !is.und(from) && matchProp(props.reset, key);\n const value = reset ? from : this.get();\n const goal = computeGoal(to);\n const isAnimatable = is.num(goal) || is.arr(goal) || isAnimatedString(goal);\n const immediate = !hasAsyncTo && (!isAnimatable || matchProp(defaultProps.immediate || props.immediate, key));\n\n if (hasToChanged) {\n const nodeType = getAnimatedType(to);\n\n if (nodeType !== node.constructor) {\n if (immediate) {\n node = this._set(goal);\n } else throw Error(`Cannot animate between ${node.constructor.name} and ${nodeType.name}, as the \"to\" prop suggests`);\n }\n }\n\n const goalType = node.constructor;\n let started = hasFluidValue(to);\n let finished = false;\n\n if (!started) {\n const hasValueChanged = reset || !hasAnimated(this) && hasFromChanged;\n\n if (hasToChanged || hasValueChanged) {\n finished = isEqual(computeGoal(value), goal);\n started = !finished;\n }\n\n if (!isEqual(anim.immediate, immediate) && !immediate || !isEqual(config.decay, decay) || !isEqual(config.velocity, velocity)) {\n started = true;\n }\n }\n\n if (finished && isAnimating(this)) {\n if (anim.changed && !reset) {\n started = true;\n } else if (!started) {\n this._stop(prevTo);\n }\n }\n\n if (!hasAsyncTo) {\n if (started || hasFluidValue(prevTo)) {\n anim.values = node.getPayload();\n anim.toValues = hasFluidValue(to) ? null : goalType == AnimatedString ? [1] : toArray(goal);\n }\n\n if (anim.immediate != immediate) {\n anim.immediate = immediate;\n\n if (!immediate && !reset) {\n this._set(prevTo);\n }\n }\n\n if (started) {\n const {\n onRest\n } = anim;\n each(ACTIVE_EVENTS, type => mergeActiveFn(this, props, type));\n const result = getFinishedResult(this, checkFinished(this, prevTo));\n flushCalls(this._pendingCalls, result);\n\n this._pendingCalls.add(resolve);\n\n if (anim.changed) raf.batchedUpdates(() => {\n anim.changed = !reset;\n onRest == null ? void 0 : onRest(result, this);\n\n if (reset) {\n callProp(defaultProps.onRest, result);\n } else {\n anim.onStart == null ? void 0 : anim.onStart(result, this);\n }\n });\n }\n }\n\n if (reset) {\n this._set(value);\n }\n\n if (hasAsyncTo) {\n resolve(runAsync(props.to, props, this._state, this));\n } else if (started) {\n this._start();\n } else if (isAnimating(this) && !hasToChanged) {\n this._pendingCalls.add(resolve);\n } else {\n resolve(getNoopResult(value));\n }\n }\n\n _focus(value) {\n const anim = this.animation;\n\n if (value !== anim.to) {\n if (getFluidObservers(this)) {\n this._detach();\n }\n\n anim.to = value;\n\n if (getFluidObservers(this)) {\n this._attach();\n }\n }\n }\n\n _attach() {\n let priority = 0;\n const {\n to\n } = this.animation;\n\n if (hasFluidValue(to)) {\n addFluidObserver(to, this);\n\n if (isFrameValue(to)) {\n priority = to.priority + 1;\n }\n }\n\n this.priority = priority;\n }\n\n _detach() {\n const {\n to\n } = this.animation;\n\n if (hasFluidValue(to)) {\n removeFluidObserver(to, this);\n }\n }\n\n _set(arg, idle = true) {\n const value = getFluidValue(arg);\n\n if (!is.und(value)) {\n const oldNode = getAnimated(this);\n\n if (!oldNode || !isEqual(value, oldNode.getValue())) {\n const nodeType = getAnimatedType(value);\n\n if (!oldNode || oldNode.constructor != nodeType) {\n setAnimated(this, nodeType.create(value));\n } else {\n oldNode.setValue(value);\n }\n\n if (oldNode) {\n raf.batchedUpdates(() => {\n this._onChange(value, idle);\n });\n }\n }\n }\n\n return getAnimated(this);\n }\n\n _onStart() {\n const anim = this.animation;\n\n if (!anim.changed) {\n anim.changed = true;\n sendEvent(this, 'onStart', getFinishedResult(this, checkFinished(this, anim.to)), this);\n }\n }\n\n _onChange(value, idle) {\n if (!idle) {\n this._onStart();\n\n callProp(this.animation.onChange, value, this);\n }\n\n callProp(this.defaultProps.onChange, value, this);\n\n super._onChange(value, idle);\n }\n\n _start() {\n const anim = this.animation;\n getAnimated(this).reset(getFluidValue(anim.to));\n\n if (!anim.immediate) {\n anim.fromValues = anim.values.map(node => node.lastPosition);\n }\n\n if (!isAnimating(this)) {\n setActiveBit(this, true);\n\n if (!isPaused(this)) {\n this._resume();\n }\n }\n }\n\n _resume() {\n if (Globals.skipAnimation) {\n this.finish();\n } else {\n frameLoop.start(this);\n }\n }\n\n _stop(goal, cancel) {\n if (isAnimating(this)) {\n setActiveBit(this, false);\n const anim = this.animation;\n each(anim.values, node => {\n node.done = true;\n });\n\n if (anim.toValues) {\n anim.onChange = anim.onPause = anim.onResume = undefined;\n }\n\n callFluidObservers(this, {\n type: 'idle',\n parent: this\n });\n const result = cancel ? getCancelledResult(this.get()) : getFinishedResult(this.get(), checkFinished(this, goal != null ? goal : anim.to));\n flushCalls(this._pendingCalls, result);\n\n if (anim.changed) {\n anim.changed = false;\n sendEvent(this, 'onRest', result, this);\n }\n }\n }\n\n}\n\nfunction checkFinished(target, to) {\n const goal = computeGoal(to);\n const value = computeGoal(target.get());\n return isEqual(value, goal);\n}\n\nfunction createLoopUpdate(props, loop = props.loop, to = props.to) {\n let loopRet = callProp(loop);\n\n if (loopRet) {\n const overrides = loopRet !== true && inferTo(loopRet);\n const reverse = (overrides || props).reverse;\n const reset = !overrides || overrides.reset;\n return createUpdate(_extends({}, props, {\n loop,\n default: false,\n pause: undefined,\n to: !reverse || isAsyncTo(to) ? to : undefined,\n from: reset ? props.from : undefined,\n reset\n }, overrides));\n }\n}\nfunction createUpdate(props) {\n const {\n to,\n from\n } = props = inferTo(props);\n const keys = new Set();\n if (is.obj(to)) findDefined(to, keys);\n if (is.obj(from)) findDefined(from, keys);\n props.keys = keys.size ? Array.from(keys) : null;\n return props;\n}\nfunction declareUpdate(props) {\n const update = createUpdate(props);\n\n if (is.und(update.default)) {\n update.default = getDefaultProps(update);\n }\n\n return update;\n}\n\nfunction findDefined(values, keys) {\n eachProp(values, (value, key) => value != null && keys.add(key));\n}\n\nconst ACTIVE_EVENTS = ['onStart', 'onRest', 'onChange', 'onPause', 'onResume'];\n\nfunction mergeActiveFn(target, props, type) {\n target.animation[type] = props[type] !== getDefaultProp(props, type) ? resolveProp(props[type], target.key) : undefined;\n}\n\nfunction sendEvent(target, type, ...args) {\n var _target$animation$typ, _target$animation, _target$defaultProps$, _target$defaultProps;\n\n (_target$animation$typ = (_target$animation = target.animation)[type]) == null ? void 0 : _target$animation$typ.call(_target$animation, ...args);\n (_target$defaultProps$ = (_target$defaultProps = target.defaultProps)[type]) == null ? void 0 : _target$defaultProps$.call(_target$defaultProps, ...args);\n}\n\nconst BATCHED_EVENTS = ['onStart', 'onChange', 'onRest'];\nlet nextId = 1;\nclass Controller {\n constructor(props, flush) {\n this.id = nextId++;\n this.springs = {};\n this.queue = [];\n this.ref = void 0;\n this._flush = void 0;\n this._initialProps = void 0;\n this._lastAsyncId = 0;\n this._active = new Set();\n this._changed = new Set();\n this._started = false;\n this._item = void 0;\n this._state = {\n paused: false,\n pauseQueue: new Set(),\n resumeQueue: new Set(),\n timeouts: new Set()\n };\n this._events = {\n onStart: new Map(),\n onChange: new Map(),\n onRest: new Map()\n };\n this._onFrame = this._onFrame.bind(this);\n\n if (flush) {\n this._flush = flush;\n }\n\n if (props) {\n this.start(_extends({\n default: true\n }, props));\n }\n }\n\n get idle() {\n return !this._state.asyncTo && Object.values(this.springs).every(spring => {\n return spring.idle && !spring.isDelayed && !spring.isPaused;\n });\n }\n\n get item() {\n return this._item;\n }\n\n set item(item) {\n this._item = item;\n }\n\n get() {\n const values = {};\n this.each((spring, key) => values[key] = spring.get());\n return values;\n }\n\n set(values) {\n for (const key in values) {\n const value = values[key];\n\n if (!is.und(value)) {\n this.springs[key].set(value);\n }\n }\n }\n\n update(props) {\n if (props) {\n this.queue.push(createUpdate(props));\n }\n\n return this;\n }\n\n start(props) {\n let {\n queue\n } = this;\n\n if (props) {\n queue = toArray(props).map(createUpdate);\n } else {\n this.queue = [];\n }\n\n if (this._flush) {\n return this._flush(this, queue);\n }\n\n prepareKeys(this, queue);\n return flushUpdateQueue(this, queue);\n }\n\n stop(arg, keys) {\n if (arg !== !!arg) {\n keys = arg;\n }\n\n if (keys) {\n const springs = this.springs;\n each(toArray(keys), key => springs[key].stop(!!arg));\n } else {\n stopAsync(this._state, this._lastAsyncId);\n this.each(spring => spring.stop(!!arg));\n }\n\n return this;\n }\n\n pause(keys) {\n if (is.und(keys)) {\n this.start({\n pause: true\n });\n } else {\n const springs = this.springs;\n each(toArray(keys), key => springs[key].pause());\n }\n\n return this;\n }\n\n resume(keys) {\n if (is.und(keys)) {\n this.start({\n pause: false\n });\n } else {\n const springs = this.springs;\n each(toArray(keys), key => springs[key].resume());\n }\n\n return this;\n }\n\n each(iterator) {\n eachProp(this.springs, iterator);\n }\n\n _onFrame() {\n const {\n onStart,\n onChange,\n onRest\n } = this._events;\n const active = this._active.size > 0;\n const changed = this._changed.size > 0;\n\n if (active && !this._started || changed && !this._started) {\n this._started = true;\n flush(onStart, ([onStart, result]) => {\n result.value = this.get();\n onStart(result, this, this._item);\n });\n }\n\n const idle = !active && this._started;\n const values = changed || idle && onRest.size ? this.get() : null;\n\n if (changed && onChange.size) {\n flush(onChange, ([onChange, result]) => {\n result.value = values;\n onChange(result, this, this._item);\n });\n }\n\n if (idle) {\n this._started = false;\n flush(onRest, ([onRest, result]) => {\n result.value = values;\n onRest(result, this, this._item);\n });\n }\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n this._changed.add(event.parent);\n\n if (!event.idle) {\n this._active.add(event.parent);\n }\n } else if (event.type == 'idle') {\n this._active.delete(event.parent);\n } else return;\n\n raf.onFrame(this._onFrame);\n }\n\n}\nfunction flushUpdateQueue(ctrl, queue) {\n return Promise.all(queue.map(props => flushUpdate(ctrl, props))).then(results => getCombinedResult(ctrl, results));\n}\nasync function flushUpdate(ctrl, props, isLoop) {\n const {\n keys,\n to,\n from,\n loop,\n onRest,\n onResolve\n } = props;\n const defaults = is.obj(props.default) && props.default;\n\n if (loop) {\n props.loop = false;\n }\n\n if (to === false) props.to = null;\n if (from === false) props.from = null;\n const asyncTo = is.arr(to) || is.fun(to) ? to : undefined;\n\n if (asyncTo) {\n props.to = undefined;\n props.onRest = undefined;\n\n if (defaults) {\n defaults.onRest = undefined;\n }\n } else {\n each(BATCHED_EVENTS, key => {\n const handler = props[key];\n\n if (is.fun(handler)) {\n const queue = ctrl['_events'][key];\n\n props[key] = ({\n finished,\n cancelled\n }) => {\n const result = queue.get(handler);\n\n if (result) {\n if (!finished) result.finished = false;\n if (cancelled) result.cancelled = true;\n } else {\n queue.set(handler, {\n value: null,\n finished: finished || false,\n cancelled: cancelled || false\n });\n }\n };\n\n if (defaults) {\n defaults[key] = props[key];\n }\n }\n });\n }\n\n const state = ctrl['_state'];\n\n if (props.pause === !state.paused) {\n state.paused = props.pause;\n flushCalls(props.pause ? state.pauseQueue : state.resumeQueue);\n } else if (state.paused) {\n props.pause = true;\n }\n\n const promises = (keys || Object.keys(ctrl.springs)).map(key => ctrl.springs[key].start(props));\n const cancel = props.cancel === true || getDefaultProp(props, 'cancel') === true;\n\n if (asyncTo || cancel && state.asyncId) {\n promises.push(scheduleProps(++ctrl['_lastAsyncId'], {\n props,\n state,\n actions: {\n pause: noop,\n resume: noop,\n\n start(props, resolve) {\n if (cancel) {\n stopAsync(state, ctrl['_lastAsyncId']);\n resolve(getCancelledResult(ctrl));\n } else {\n props.onRest = onRest;\n resolve(runAsync(asyncTo, props, state, ctrl));\n }\n }\n\n }\n }));\n }\n\n if (state.paused) {\n await new Promise(resume => {\n state.resumeQueue.add(resume);\n });\n }\n\n const result = getCombinedResult(ctrl, await Promise.all(promises));\n\n if (loop && result.finished && !(isLoop && result.noop)) {\n const nextProps = createLoopUpdate(props, loop, to);\n\n if (nextProps) {\n prepareKeys(ctrl, [nextProps]);\n return flushUpdate(ctrl, nextProps, true);\n }\n }\n\n if (onResolve) {\n raf.batchedUpdates(() => onResolve(result, ctrl, ctrl.item));\n }\n\n return result;\n}\nfunction getSprings(ctrl, props) {\n const springs = _extends({}, ctrl.springs);\n\n if (props) {\n each(toArray(props), props => {\n if (is.und(props.keys)) {\n props = createUpdate(props);\n }\n\n if (!is.obj(props.to)) {\n props = _extends({}, props, {\n to: undefined\n });\n }\n\n prepareSprings(springs, props, key => {\n return createSpring(key);\n });\n });\n }\n\n setSprings(ctrl, springs);\n return springs;\n}\nfunction setSprings(ctrl, springs) {\n eachProp(springs, (spring, key) => {\n if (!ctrl.springs[key]) {\n ctrl.springs[key] = spring;\n addFluidObserver(spring, ctrl);\n }\n });\n}\n\nfunction createSpring(key, observer) {\n const spring = new SpringValue();\n spring.key = key;\n\n if (observer) {\n addFluidObserver(spring, observer);\n }\n\n return spring;\n}\n\nfunction prepareSprings(springs, props, create) {\n if (props.keys) {\n each(props.keys, key => {\n const spring = springs[key] || (springs[key] = create(key));\n spring['_prepareNode'](props);\n });\n }\n}\n\nfunction prepareKeys(ctrl, queue) {\n each(queue, props => {\n prepareSprings(ctrl.springs, props, key => {\n return createSpring(key, ctrl);\n });\n });\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nconst _excluded$6 = [\"children\"];\nconst SpringContext = _ref => {\n let {\n children\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$6);\n\n const inherited = useContext(ctx);\n const pause = props.pause || !!inherited.pause,\n immediate = props.immediate || !!inherited.immediate;\n props = useMemoOne(() => ({\n pause,\n immediate\n }), [pause, immediate]);\n const {\n Provider\n } = ctx;\n return React.createElement(Provider, {\n value: props\n }, children);\n};\nconst ctx = makeContext(SpringContext, {});\nSpringContext.Provider = ctx.Provider;\nSpringContext.Consumer = ctx.Consumer;\n\nfunction makeContext(target, init) {\n Object.assign(target, React.createContext(init));\n target.Provider._context = target;\n target.Consumer._context = target;\n return target;\n}\n\nconst SpringRef = () => {\n const current = [];\n\n const SpringRef = function SpringRef(props) {\n deprecateDirectCall();\n const results = [];\n each(current, (ctrl, i) => {\n if (is.und(props)) {\n results.push(ctrl.start());\n } else {\n const update = _getProps(props, ctrl, i);\n\n if (update) {\n results.push(ctrl.start(update));\n }\n }\n });\n return results;\n };\n\n SpringRef.current = current;\n\n SpringRef.add = function (ctrl) {\n if (!current.includes(ctrl)) {\n current.push(ctrl);\n }\n };\n\n SpringRef.delete = function (ctrl) {\n const i = current.indexOf(ctrl);\n if (~i) current.splice(i, 1);\n };\n\n SpringRef.pause = function () {\n each(current, ctrl => ctrl.pause(...arguments));\n return this;\n };\n\n SpringRef.resume = function () {\n each(current, ctrl => ctrl.resume(...arguments));\n return this;\n };\n\n SpringRef.set = function (values) {\n each(current, ctrl => ctrl.set(values));\n };\n\n SpringRef.start = function (props) {\n const results = [];\n each(current, (ctrl, i) => {\n if (is.und(props)) {\n results.push(ctrl.start());\n } else {\n const update = this._getProps(props, ctrl, i);\n\n if (update) {\n results.push(ctrl.start(update));\n }\n }\n });\n return results;\n };\n\n SpringRef.stop = function () {\n each(current, ctrl => ctrl.stop(...arguments));\n return this;\n };\n\n SpringRef.update = function (props) {\n each(current, (ctrl, i) => ctrl.update(this._getProps(props, ctrl, i)));\n return this;\n };\n\n const _getProps = function _getProps(arg, ctrl, index) {\n return is.fun(arg) ? arg(index, ctrl) : arg;\n };\n\n SpringRef._getProps = _getProps;\n return SpringRef;\n};\n\nfunction useSprings(length, props, deps) {\n const propsFn = is.fun(props) && props;\n if (propsFn && !deps) deps = [];\n const ref = useMemo(() => propsFn || arguments.length == 3 ? SpringRef() : void 0, []);\n const layoutId = useRef(0);\n const forceUpdate = useForceUpdate();\n const state = useMemo(() => ({\n ctrls: [],\n queue: [],\n\n flush(ctrl, updates) {\n const springs = getSprings(ctrl, updates);\n const canFlushSync = layoutId.current > 0 && !state.queue.length && !Object.keys(springs).some(key => !ctrl.springs[key]);\n return canFlushSync ? flushUpdateQueue(ctrl, updates) : new Promise(resolve => {\n setSprings(ctrl, springs);\n state.queue.push(() => {\n resolve(flushUpdateQueue(ctrl, updates));\n });\n forceUpdate();\n });\n }\n\n }), []);\n const ctrls = useRef([...state.ctrls]);\n const updates = [];\n const prevLength = usePrev(length) || 0;\n useMemo(() => {\n each(ctrls.current.slice(length, prevLength), ctrl => {\n detachRefs(ctrl, ref);\n ctrl.stop(true);\n });\n ctrls.current.length = length;\n declareUpdates(prevLength, length);\n }, [length]);\n useMemo(() => {\n declareUpdates(0, Math.min(prevLength, length));\n }, deps);\n\n function declareUpdates(startIndex, endIndex) {\n for (let i = startIndex; i < endIndex; i++) {\n const ctrl = ctrls.current[i] || (ctrls.current[i] = new Controller(null, state.flush));\n const update = propsFn ? propsFn(i, ctrl) : props[i];\n\n if (update) {\n updates[i] = declareUpdate(update);\n }\n }\n }\n\n const springs = ctrls.current.map((ctrl, i) => getSprings(ctrl, updates[i]));\n const context = useContext(SpringContext);\n const prevContext = usePrev(context);\n const hasContext = context !== prevContext && hasProps(context);\n useIsomorphicLayoutEffect(() => {\n layoutId.current++;\n state.ctrls = ctrls.current;\n const {\n queue\n } = state;\n\n if (queue.length) {\n state.queue = [];\n each(queue, cb => cb());\n }\n\n each(ctrls.current, (ctrl, i) => {\n ref == null ? void 0 : ref.add(ctrl);\n\n if (hasContext) {\n ctrl.start({\n default: context\n });\n }\n\n const update = updates[i];\n\n if (update) {\n replaceRef(ctrl, update.ref);\n\n if (ctrl.ref) {\n ctrl.queue.push(update);\n } else {\n ctrl.start(update);\n }\n }\n });\n });\n useOnce(() => () => {\n each(state.ctrls, ctrl => ctrl.stop(true));\n });\n const values = springs.map(x => _extends({}, x));\n return ref ? [values, ref] : values;\n}\n\nfunction useSpring(props, deps) {\n const isFn = is.fun(props);\n const [[values], ref] = useSprings(1, isFn ? props : [props], isFn ? deps || [] : deps);\n return isFn || arguments.length == 2 ? [values, ref] : values;\n}\n\nconst initSpringRef = () => SpringRef();\n\nconst useSpringRef = () => useState(initSpringRef)[0];\n\nconst useSpringValue = (initial, props) => {\n const springValue = useConstant(() => new SpringValue(initial, props));\n useOnce(() => () => {\n springValue.stop();\n });\n return springValue;\n};\n\nfunction useTrail(length, propsArg, deps) {\n const propsFn = is.fun(propsArg) && propsArg;\n if (propsFn && !deps) deps = [];\n let reverse = true;\n let passedRef = undefined;\n const result = useSprings(length, (i, ctrl) => {\n const props = propsFn ? propsFn(i, ctrl) : propsArg;\n passedRef = props.ref;\n reverse = reverse && props.reverse;\n return props;\n }, deps || [{}]);\n useIsomorphicLayoutEffect(() => {\n each(result[1].current, (ctrl, i) => {\n const parent = result[1].current[i + (reverse ? 1 : -1)];\n replaceRef(ctrl, passedRef);\n\n if (ctrl.ref) {\n if (parent) {\n ctrl.update({\n to: parent.springs\n });\n }\n\n return;\n }\n\n if (parent) {\n ctrl.start({\n to: parent.springs\n });\n } else {\n ctrl.start();\n }\n });\n }, deps);\n\n if (propsFn || arguments.length == 3) {\n var _passedRef;\n\n const ref = (_passedRef = passedRef) != null ? _passedRef : result[1];\n\n ref['_getProps'] = (propsArg, ctrl, i) => {\n const props = is.fun(propsArg) ? propsArg(i, ctrl) : propsArg;\n\n if (props) {\n const parent = ref.current[i + (props.reverse ? 1 : -1)];\n if (parent) props.to = parent.springs;\n return props;\n }\n };\n\n return result;\n }\n\n return result[0];\n}\n\nlet TransitionPhase;\n\n(function (TransitionPhase) {\n TransitionPhase[\"MOUNT\"] = \"mount\";\n TransitionPhase[\"ENTER\"] = \"enter\";\n TransitionPhase[\"UPDATE\"] = \"update\";\n TransitionPhase[\"LEAVE\"] = \"leave\";\n})(TransitionPhase || (TransitionPhase = {}));\n\nfunction useTransition(data, props, deps) {\n const propsFn = is.fun(props) && props;\n const {\n reset,\n sort,\n trail = 0,\n expires = true,\n exitBeforeEnter = false,\n onDestroyed,\n ref: propsRef,\n config: propsConfig\n } = propsFn ? propsFn() : props;\n const ref = useMemo(() => propsFn || arguments.length == 3 ? SpringRef() : void 0, []);\n const items = toArray(data);\n const transitions = [];\n const usedTransitions = useRef(null);\n const prevTransitions = reset ? null : usedTransitions.current;\n useIsomorphicLayoutEffect(() => {\n usedTransitions.current = transitions;\n });\n useOnce(() => {\n each(transitions, t => {\n ref == null ? void 0 : ref.add(t.ctrl);\n t.ctrl.ref = ref;\n });\n return () => {\n each(usedTransitions.current, t => {\n if (t.expired) {\n clearTimeout(t.expirationId);\n }\n\n detachRefs(t.ctrl, ref);\n t.ctrl.stop(true);\n });\n };\n });\n const keys = getKeys(items, propsFn ? propsFn() : props, prevTransitions);\n const expired = reset && usedTransitions.current || [];\n useIsomorphicLayoutEffect(() => each(expired, ({\n ctrl,\n item,\n key\n }) => {\n detachRefs(ctrl, ref);\n callProp(onDestroyed, item, key);\n }));\n const reused = [];\n if (prevTransitions) each(prevTransitions, (t, i) => {\n if (t.expired) {\n clearTimeout(t.expirationId);\n expired.push(t);\n } else {\n i = reused[i] = keys.indexOf(t.key);\n if (~i) transitions[i] = t;\n }\n });\n each(items, (item, i) => {\n if (!transitions[i]) {\n transitions[i] = {\n key: keys[i],\n item,\n phase: TransitionPhase.MOUNT,\n ctrl: new Controller()\n };\n transitions[i].ctrl.item = item;\n }\n });\n\n if (reused.length) {\n let i = -1;\n const {\n leave\n } = propsFn ? propsFn() : props;\n each(reused, (keyIndex, prevIndex) => {\n const t = prevTransitions[prevIndex];\n\n if (~keyIndex) {\n i = transitions.indexOf(t);\n transitions[i] = _extends({}, t, {\n item: items[keyIndex]\n });\n } else if (leave) {\n transitions.splice(++i, 0, t);\n }\n });\n }\n\n if (is.fun(sort)) {\n transitions.sort((a, b) => sort(a.item, b.item));\n }\n\n let delay = -trail;\n const forceUpdate = useForceUpdate();\n const defaultProps = getDefaultProps(props);\n const changes = new Map();\n const exitingTransitions = useRef(new Map());\n const forceChange = useRef(false);\n each(transitions, (t, i) => {\n const key = t.key;\n const prevPhase = t.phase;\n const p = propsFn ? propsFn() : props;\n let to;\n let phase;\n let propsDelay = callProp(p.delay || 0, key);\n\n if (prevPhase == TransitionPhase.MOUNT) {\n to = p.enter;\n phase = TransitionPhase.ENTER;\n } else {\n const isLeave = keys.indexOf(key) < 0;\n\n if (prevPhase != TransitionPhase.LEAVE) {\n if (isLeave) {\n to = p.leave;\n phase = TransitionPhase.LEAVE;\n } else if (to = p.update) {\n phase = TransitionPhase.UPDATE;\n } else return;\n } else if (!isLeave) {\n to = p.enter;\n phase = TransitionPhase.ENTER;\n } else return;\n }\n\n to = callProp(to, t.item, i);\n to = is.obj(to) ? inferTo(to) : {\n to\n };\n\n if (!to.config) {\n const config = propsConfig || defaultProps.config;\n to.config = callProp(config, t.item, i, phase);\n }\n\n delay += trail;\n\n const payload = _extends({}, defaultProps, {\n delay: propsDelay + delay,\n ref: propsRef,\n immediate: p.immediate,\n reset: false\n }, to);\n\n if (phase == TransitionPhase.ENTER && is.und(payload.from)) {\n const _p = propsFn ? propsFn() : props;\n\n const from = is.und(_p.initial) || prevTransitions ? _p.from : _p.initial;\n payload.from = callProp(from, t.item, i);\n }\n\n const {\n onResolve\n } = payload;\n\n payload.onResolve = result => {\n callProp(onResolve, result);\n const transitions = usedTransitions.current;\n const t = transitions.find(t => t.key === key);\n if (!t) return;\n\n if (result.cancelled && t.phase != TransitionPhase.UPDATE) {\n return;\n }\n\n if (t.ctrl.idle) {\n const idle = transitions.every(t => t.ctrl.idle);\n\n if (t.phase == TransitionPhase.LEAVE) {\n const expiry = callProp(expires, t.item);\n\n if (expiry !== false) {\n const expiryMs = expiry === true ? 0 : expiry;\n t.expired = true;\n\n if (!idle && expiryMs > 0) {\n if (expiryMs <= 0x7fffffff) t.expirationId = setTimeout(forceUpdate, expiryMs);\n return;\n }\n }\n }\n\n if (idle && transitions.some(t => t.expired)) {\n exitingTransitions.current.delete(t);\n\n if (exitBeforeEnter) {\n forceChange.current = true;\n }\n\n forceUpdate();\n }\n }\n };\n\n const springs = getSprings(t.ctrl, payload);\n\n if (phase === TransitionPhase.LEAVE && exitBeforeEnter) {\n exitingTransitions.current.set(t, {\n phase,\n springs,\n payload\n });\n } else {\n changes.set(t, {\n phase,\n springs,\n payload\n });\n }\n });\n const context = useContext(SpringContext);\n const prevContext = usePrev(context);\n const hasContext = context !== prevContext && hasProps(context);\n useIsomorphicLayoutEffect(() => {\n if (hasContext) {\n each(transitions, t => {\n t.ctrl.start({\n default: context\n });\n });\n }\n }, [context]);\n each(changes, (_, t) => {\n if (exitingTransitions.current.size) {\n const ind = transitions.findIndex(state => state.key === t.key);\n transitions.splice(ind, 1);\n }\n });\n useIsomorphicLayoutEffect(() => {\n each(exitingTransitions.current.size ? exitingTransitions.current : changes, ({\n phase,\n payload\n }, t) => {\n const {\n ctrl\n } = t;\n t.phase = phase;\n ref == null ? void 0 : ref.add(ctrl);\n\n if (hasContext && phase == TransitionPhase.ENTER) {\n ctrl.start({\n default: context\n });\n }\n\n if (payload) {\n replaceRef(ctrl, payload.ref);\n\n if ((ctrl.ref || ref) && !forceChange.current) {\n ctrl.update(payload);\n } else {\n ctrl.start(payload);\n\n if (forceChange.current) {\n forceChange.current = false;\n }\n }\n }\n });\n }, reset ? void 0 : deps);\n\n const renderTransitions = render => React.createElement(React.Fragment, null, transitions.map((t, i) => {\n const {\n springs\n } = changes.get(t) || t.ctrl;\n const elem = render(_extends({}, springs), t.item, t, i);\n return elem && elem.type ? React.createElement(elem.type, _extends({}, elem.props, {\n key: is.str(t.key) || is.num(t.key) ? t.key : t.ctrl.id,\n ref: elem.ref\n })) : elem;\n }));\n\n return ref ? [renderTransitions, ref] : renderTransitions;\n}\nlet nextKey = 1;\n\nfunction getKeys(items, {\n key,\n keys = key\n}, prevTransitions) {\n if (keys === null) {\n const reused = new Set();\n return items.map(item => {\n const t = prevTransitions && prevTransitions.find(t => t.item === item && t.phase !== TransitionPhase.LEAVE && !reused.has(t));\n\n if (t) {\n reused.add(t);\n return t.key;\n }\n\n return nextKey++;\n });\n }\n\n return is.und(keys) ? items : is.fun(keys) ? items.map(keys) : toArray(keys);\n}\n\nconst _excluded$5 = [\"container\"];\nconst useScroll = (_ref = {}) => {\n let {\n container\n } = _ref,\n springOptions = _objectWithoutPropertiesLoose(_ref, _excluded$5);\n\n const [scrollValues, api] = useSpring(() => _extends({\n scrollX: 0,\n scrollY: 0,\n scrollXProgress: 0,\n scrollYProgress: 0\n }, springOptions), []);\n useIsomorphicLayoutEffect(() => {\n const cleanupScroll = onScroll(({\n x,\n y\n }) => {\n api.start({\n scrollX: x.current,\n scrollXProgress: x.progress,\n scrollY: y.current,\n scrollYProgress: y.progress\n });\n }, {\n container: (container == null ? void 0 : container.current) || undefined\n });\n return () => {\n each(Object.values(scrollValues), value => value.stop());\n cleanupScroll();\n };\n }, []);\n return scrollValues;\n};\n\nconst _excluded$4 = [\"container\"];\nconst useResize = _ref => {\n let {\n container\n } = _ref,\n springOptions = _objectWithoutPropertiesLoose(_ref, _excluded$4);\n\n const [sizeValues, api] = useSpring(() => _extends({\n width: 0,\n height: 0\n }, springOptions), []);\n useIsomorphicLayoutEffect(() => {\n const cleanupScroll = onResize(({\n width,\n height\n }) => {\n api.start({\n width,\n height,\n immediate: sizeValues.width.get() === 0 || sizeValues.height.get() === 0\n });\n }, {\n container: (container == null ? void 0 : container.current) || undefined\n });\n return () => {\n each(Object.values(sizeValues), value => value.stop());\n cleanupScroll();\n };\n }, []);\n return sizeValues;\n};\n\nconst _excluded$3 = [\"to\", \"from\"],\n _excluded2 = [\"root\", \"once\", \"amount\"];\nconst defaultThresholdOptions = {\n any: 0,\n all: 1\n};\nfunction useInView(props, args) {\n const [isInView, setIsInView] = useState(false);\n const ref = useRef();\n const propsFn = is.fun(props) && props;\n const springsProps = propsFn ? propsFn() : {};\n\n const {\n to = {},\n from = {}\n } = springsProps,\n restSpringProps = _objectWithoutPropertiesLoose(springsProps, _excluded$3);\n\n const intersectionArguments = propsFn ? args : props;\n const [springs, api] = useSpring(() => _extends({\n from\n }, restSpringProps), []);\n useIsomorphicLayoutEffect(() => {\n const element = ref.current;\n\n const _ref = intersectionArguments != null ? intersectionArguments : {},\n {\n root,\n once,\n amount = 'any'\n } = _ref,\n restArgs = _objectWithoutPropertiesLoose(_ref, _excluded2);\n\n if (!element || once && isInView || typeof IntersectionObserver === 'undefined') return;\n const activeIntersections = new WeakMap();\n\n const onEnter = () => {\n if (to) {\n api.start(to);\n }\n\n setIsInView(true);\n\n const cleanup = () => {\n if (from) {\n api.start(from);\n }\n\n setIsInView(false);\n };\n\n return once ? undefined : cleanup;\n };\n\n const handleIntersection = entries => {\n entries.forEach(entry => {\n const onLeave = activeIntersections.get(entry.target);\n\n if (entry.isIntersecting === Boolean(onLeave)) {\n return;\n }\n\n if (entry.isIntersecting) {\n const newOnLeave = onEnter();\n\n if (is.fun(newOnLeave)) {\n activeIntersections.set(entry.target, newOnLeave);\n } else {\n observer.unobserve(entry.target);\n }\n } else if (onLeave) {\n onLeave();\n activeIntersections.delete(entry.target);\n }\n });\n };\n\n const observer = new IntersectionObserver(handleIntersection, _extends({\n root: root && root.current || undefined,\n threshold: typeof amount === 'number' || Array.isArray(amount) ? amount : defaultThresholdOptions[amount]\n }, restArgs));\n observer.observe(element);\n return () => observer.unobserve(element);\n }, [intersectionArguments]);\n\n if (propsFn) {\n return [ref, springs];\n }\n\n return [ref, isInView];\n}\n\nconst _excluded$2 = [\"children\"];\nfunction Spring(_ref) {\n let {\n children\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2);\n\n return children(useSpring(props));\n}\n\nconst _excluded$1 = [\"items\", \"children\"];\nfunction Trail(_ref) {\n let {\n items,\n children\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1);\n\n const trails = useTrail(items.length, props);\n return items.map((item, index) => {\n const result = children(item, index);\n return is.fun(result) ? result(trails[index]) : result;\n });\n}\n\nconst _excluded = [\"items\", \"children\"];\nfunction Transition(_ref) {\n let {\n items,\n children\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n return useTransition(items, props)(children);\n}\n\nclass Interpolation extends FrameValue {\n constructor(source, args) {\n super();\n this.key = void 0;\n this.idle = true;\n this.calc = void 0;\n this._active = new Set();\n this.source = source;\n this.calc = createInterpolator(...args);\n\n const value = this._get();\n\n const nodeType = getAnimatedType(value);\n setAnimated(this, nodeType.create(value));\n }\n\n advance(_dt) {\n const value = this._get();\n\n const oldValue = this.get();\n\n if (!isEqual(value, oldValue)) {\n getAnimated(this).setValue(value);\n\n this._onChange(value, this.idle);\n }\n\n if (!this.idle && checkIdle(this._active)) {\n becomeIdle(this);\n }\n }\n\n _get() {\n const inputs = is.arr(this.source) ? this.source.map(getFluidValue) : toArray(getFluidValue(this.source));\n return this.calc(...inputs);\n }\n\n _start() {\n if (this.idle && !checkIdle(this._active)) {\n this.idle = false;\n each(getPayload(this), node => {\n node.done = false;\n });\n\n if (Globals.skipAnimation) {\n raf.batchedUpdates(() => this.advance());\n becomeIdle(this);\n } else {\n frameLoop.start(this);\n }\n }\n }\n\n _attach() {\n let priority = 1;\n each(toArray(this.source), source => {\n if (hasFluidValue(source)) {\n addFluidObserver(source, this);\n }\n\n if (isFrameValue(source)) {\n if (!source.idle) {\n this._active.add(source);\n }\n\n priority = Math.max(priority, source.priority + 1);\n }\n });\n this.priority = priority;\n\n this._start();\n }\n\n _detach() {\n each(toArray(this.source), source => {\n if (hasFluidValue(source)) {\n removeFluidObserver(source, this);\n }\n });\n\n this._active.clear();\n\n becomeIdle(this);\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n if (event.idle) {\n this.advance();\n } else {\n this._active.add(event.parent);\n\n this._start();\n }\n } else if (event.type == 'idle') {\n this._active.delete(event.parent);\n } else if (event.type == 'priority') {\n this.priority = toArray(this.source).reduce((highest, parent) => Math.max(highest, (isFrameValue(parent) ? parent.priority : 0) + 1), 0);\n }\n }\n\n}\n\nfunction isIdle(source) {\n return source.idle !== false;\n}\n\nfunction checkIdle(active) {\n return !active.size || Array.from(active).every(isIdle);\n}\n\nfunction becomeIdle(self) {\n if (!self.idle) {\n self.idle = true;\n each(getPayload(self), node => {\n node.done = true;\n });\n callFluidObservers(self, {\n type: 'idle',\n parent: self\n });\n }\n}\n\nconst to = (source, ...args) => new Interpolation(source, args);\nconst interpolate = (source, ...args) => (deprecateInterpolate(), new Interpolation(source, args));\n\nGlobals.assign({\n createStringInterpolator,\n to: (source, args) => new Interpolation(source, args)\n});\nconst update = frameLoop.advance;\n\nexport { BailSignal, Controller, FrameValue, Interpolation, Spring, SpringContext, SpringRef, SpringValue, Trail, Transition, config, inferTo, interpolate, to, update, useChain, useInView, useResize, useScroll, useSpring, useSpringRef, useSpringValue, useSprings, useTrail, useTransition };\n","import { Globals } from '@react-spring/core';\nexport * from '@react-spring/core';\nimport { unstable_batchedUpdates } from 'react-dom';\nimport { eachProp, is, toArray, FluidValue, each, getFluidValue, hasFluidValue, addFluidObserver, removeFluidObserver, callFluidObservers, createStringInterpolator, colors } from '@react-spring/shared';\nimport { AnimatedObject, createHost } from '@react-spring/animated';\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nconst _excluded$2 = [\"style\", \"children\", \"scrollTop\", \"scrollLeft\", \"viewBox\"];\nconst isCustomPropRE = /^--/;\n\nfunction dangerousStyleValue(name, value) {\n if (value == null || typeof value === 'boolean' || value === '') return '';\n if (typeof value === 'number' && value !== 0 && !isCustomPropRE.test(name) && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + 'px';\n return ('' + value).trim();\n}\n\nconst attributeCache = {};\nfunction applyAnimatedValues(instance, props) {\n if (!instance.nodeType || !instance.setAttribute) {\n return false;\n }\n\n const isFilterElement = instance.nodeName === 'filter' || instance.parentNode && instance.parentNode.nodeName === 'filter';\n\n const _ref = props,\n {\n style,\n children,\n scrollTop,\n scrollLeft,\n viewBox\n } = _ref,\n attributes = _objectWithoutPropertiesLoose(_ref, _excluded$2);\n\n const values = Object.values(attributes);\n const names = Object.keys(attributes).map(name => isFilterElement || instance.hasAttribute(name) ? name : attributeCache[name] || (attributeCache[name] = name.replace(/([A-Z])/g, n => '-' + n.toLowerCase())));\n\n if (children !== void 0) {\n instance.textContent = children;\n }\n\n for (let name in style) {\n if (style.hasOwnProperty(name)) {\n const value = dangerousStyleValue(name, style[name]);\n\n if (isCustomPropRE.test(name)) {\n instance.style.setProperty(name, value);\n } else {\n instance.style[name] = value;\n }\n }\n }\n\n names.forEach((name, i) => {\n instance.setAttribute(name, values[i]);\n });\n\n if (scrollTop !== void 0) {\n instance.scrollTop = scrollTop;\n }\n\n if (scrollLeft !== void 0) {\n instance.scrollLeft = scrollLeft;\n }\n\n if (viewBox !== void 0) {\n instance.setAttribute('viewBox', viewBox);\n }\n}\nlet isUnitlessNumber = {\n animationIterationCount: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n\nconst prefixKey = (prefix, key) => prefix + key.charAt(0).toUpperCase() + key.substring(1);\n\nconst prefixes = ['Webkit', 'Ms', 'Moz', 'O'];\nisUnitlessNumber = Object.keys(isUnitlessNumber).reduce((acc, prop) => {\n prefixes.forEach(prefix => acc[prefixKey(prefix, prop)] = acc[prop]);\n return acc;\n}, isUnitlessNumber);\n\nconst _excluded$1 = [\"x\", \"y\", \"z\"];\nconst domTransforms = /^(matrix|translate|scale|rotate|skew)/;\nconst pxTransforms = /^(translate)/;\nconst degTransforms = /^(rotate|skew)/;\n\nconst addUnit = (value, unit) => is.num(value) && value !== 0 ? value + unit : value;\n\nconst isValueIdentity = (value, id) => is.arr(value) ? value.every(v => isValueIdentity(v, id)) : is.num(value) ? value === id : parseFloat(value) === id;\n\nclass AnimatedStyle extends AnimatedObject {\n constructor(_ref) {\n let {\n x,\n y,\n z\n } = _ref,\n style = _objectWithoutPropertiesLoose(_ref, _excluded$1);\n\n const inputs = [];\n const transforms = [];\n\n if (x || y || z) {\n inputs.push([x || 0, y || 0, z || 0]);\n transforms.push(xyz => [`translate3d(${xyz.map(v => addUnit(v, 'px')).join(',')})`, isValueIdentity(xyz, 0)]);\n }\n\n eachProp(style, (value, key) => {\n if (key === 'transform') {\n inputs.push([value || '']);\n transforms.push(transform => [transform, transform === '']);\n } else if (domTransforms.test(key)) {\n delete style[key];\n if (is.und(value)) return;\n const unit = pxTransforms.test(key) ? 'px' : degTransforms.test(key) ? 'deg' : '';\n inputs.push(toArray(value));\n transforms.push(key === 'rotate3d' ? ([x, y, z, deg]) => [`rotate3d(${x},${y},${z},${addUnit(deg, unit)})`, isValueIdentity(deg, 0)] : input => [`${key}(${input.map(v => addUnit(v, unit)).join(',')})`, isValueIdentity(input, key.startsWith('scale') ? 1 : 0)]);\n }\n });\n\n if (inputs.length) {\n style.transform = new FluidTransform(inputs, transforms);\n }\n\n super(style);\n }\n\n}\n\nclass FluidTransform extends FluidValue {\n constructor(inputs, transforms) {\n super();\n this._value = null;\n this.inputs = inputs;\n this.transforms = transforms;\n }\n\n get() {\n return this._value || (this._value = this._get());\n }\n\n _get() {\n let transform = '';\n let identity = true;\n each(this.inputs, (input, i) => {\n const arg1 = getFluidValue(input[0]);\n const [t, id] = this.transforms[i](is.arr(arg1) ? arg1 : input.map(getFluidValue));\n transform += ' ' + t;\n identity = identity && id;\n });\n return identity ? 'none' : transform;\n }\n\n observerAdded(count) {\n if (count == 1) each(this.inputs, input => each(input, value => hasFluidValue(value) && addFluidObserver(value, this)));\n }\n\n observerRemoved(count) {\n if (count == 0) each(this.inputs, input => each(input, value => hasFluidValue(value) && removeFluidObserver(value, this)));\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n this._value = null;\n }\n\n callFluidObservers(this, event);\n }\n\n}\n\nconst primitives = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', 'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nconst _excluded = [\"scrollTop\", \"scrollLeft\"];\nGlobals.assign({\n batchedUpdates: unstable_batchedUpdates,\n createStringInterpolator,\n colors\n});\nconst host = createHost(primitives, {\n applyAnimatedValues,\n createAnimatedStyle: style => new AnimatedStyle(style),\n getComponentProps: _ref => {\n let props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n return props;\n }\n});\nconst animated = host.animated;\n\nexport { animated as a, animated };\n","import { createPortal } from 'react-dom';\nimport { resolveContainer } from './get-container';\nimport { canUseDom } from './can-use-dom';\nexport function renderToContainer(getContainer, node) {\n if (canUseDom && getContainer) {\n const container = resolveContainer(getContainer);\n return createPortal(node, container);\n }\n return node;\n}","export function resolveContainer(getContainer) {\n const container = typeof getContainer === 'function' ? getContainer() : getContainer;\n return container || document.body;\n}","import { useInitialized } from './use-initialized';\nexport const ShouldRender = props => {\n const shouldRender = useShouldRender(props.active, props.forceRender, props.destroyOnClose);\n return shouldRender ? props.children : null;\n};\nexport function useShouldRender(active, forceRender, destroyOnClose) {\n const initialized = useInitialized(active);\n if (forceRender) return true;\n if (active) return true;\n if (!initialized) return false;\n return !destroyOnClose;\n}","import { useRef } from 'react';\nexport function useInitialized(check) {\n const initializedRef = useRef(check);\n if (check) {\n initializedRef.current = true;\n }\n return !!initializedRef.current;\n}","import React from 'react';\nconst eventToPropRecord = {\n 'click': 'onClick',\n 'touchstart': 'onTouchStart'\n};\nexport function withStopPropagation(events, element) {\n const props = Object.assign({}, element.props);\n for (const key of events) {\n const prop = eventToPropRecord[key];\n props[prop] = function (e) {\n var _a, _b;\n e.stopPropagation();\n (_b = (_a = element.props)[prop]) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n };\n }\n return React.cloneElement(element, props);\n}","import { withNativeProps } from '../../utils/native-props';\nimport React, { useMemo, useRef, useState } from 'react';\nimport { useUnmountedRef } from 'ahooks';\nimport { useLockScroll } from '../../utils/use-lock-scroll';\nimport { useSpring, animated } from '@react-spring/web';\nimport { renderToContainer } from '../../utils/render-to-container';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { useConfig } from '../config-provider';\nimport { ShouldRender } from '../../utils/should-render';\nimport { withStopPropagation } from '../../utils/with-stop-propagation';\nconst classPrefix = `adm-mask`;\nconst opacityRecord = {\n default: 0.55,\n thin: 0.35,\n thick: 0.75\n};\nconst colorRecord = {\n black: '0, 0, 0',\n white: '255, 255, 255'\n};\nconst defaultProps = {\n visible: true,\n destroyOnClose: false,\n forceRender: false,\n color: 'black',\n opacity: 'default',\n disableBodyScroll: true,\n getContainer: null,\n stopPropagation: ['click']\n};\nexport const Mask = p => {\n const props = mergeProps(defaultProps, p);\n const {\n locale\n } = useConfig();\n const ref = useRef(null);\n useLockScroll(ref, props.visible && props.disableBodyScroll);\n const background = useMemo(() => {\n var _a;\n const opacity = (_a = opacityRecord[props.opacity]) !== null && _a !== void 0 ? _a : props.opacity;\n const rgb = colorRecord[props.color];\n return rgb ? `rgba(${rgb}, ${opacity})` : props.color;\n }, [props.color, props.opacity]);\n const [active, setActive] = useState(props.visible);\n const unmountedRef = useUnmountedRef();\n const {\n opacity\n } = useSpring({\n opacity: props.visible ? 1 : 0,\n config: {\n precision: 0.01,\n mass: 1,\n tension: 250,\n friction: 30,\n clamp: true\n },\n onStart: () => {\n setActive(true);\n },\n onRest: () => {\n var _a, _b;\n if (unmountedRef.current) return;\n setActive(props.visible);\n if (props.visible) {\n (_a = props.afterShow) === null || _a === void 0 ? void 0 : _a.call(props);\n } else {\n (_b = props.afterClose) === null || _b === void 0 ? void 0 : _b.call(props);\n }\n }\n });\n const node = withStopPropagation(props.stopPropagation, withNativeProps(props, React.createElement(animated.div, {\n className: classPrefix,\n ref: ref,\n \"aria-hidden\": true,\n style: Object.assign(Object.assign({}, props.style), {\n background,\n opacity,\n display: active ? undefined : 'none'\n }),\n onClick: e => {\n var _a;\n if (e.target === e.currentTarget) {\n (_a = props.onMaskClick) === null || _a === void 0 ? void 0 : _a.call(props, e);\n }\n }\n }, props.onMaskClick && React.createElement(\"div\", {\n className: `${classPrefix}-aria-button`,\n role: 'button',\n \"aria-label\": locale.Mask.name,\n onClick: props.onMaskClick\n }), React.createElement(\"div\", {\n className: `${classPrefix}-content`\n }, props.children))));\n return React.createElement(ShouldRender, {\n active: active,\n forceRender: props.forceRender,\n destroyOnClose: props.destroyOnClose\n }, renderToContainer(props.getContainer, node));\n};","import * as React from \"react\";\n\nfunction RightOutline(props) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 48 48\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\"\n }, props, {\n style: Object.assign({\n verticalAlign: '-0.125em'\n }, props.style),\n className: ['antd-mobile-icon', props.className].filter(Boolean).join(' ')\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"RightOutline-RightOutline\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"RightOutline-RightOutlined\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"RightOutline-\\u77E9\\u5F62\",\n fill: \"#FFFFFF\",\n opacity: 0,\n x: 0,\n y: 0,\n width: 48,\n height: 48\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.3947957,5.11219264 L35.5767382,22.6612572 L35.5767382,22.6612572 C36.1304785,23.2125856 36.1630514,24.0863155 35.6744571,24.6755735 L35.5767382,24.7825775 L17.3956061,42.8834676 C17.320643,42.9580998 17.2191697,43 17.1133896,43 L13.9866673,43 C13.7657534,43 13.5866673,42.8209139 13.5866673,42.6 C13.5866673,42.4936115 13.6290496,42.391606 13.7044413,42.316542 L32.3201933,23.7816937 L32.3201933,23.7816937 L13.7237117,5.6866816 C13.5653818,5.53262122 13.5619207,5.27937888 13.7159811,5.121049 C13.7912854,5.04365775 13.8946805,5 14.0026627,5 L17.1170064,5 C17.2206403,5 17.3202292,5.04022164 17.3947957,5.11219264 Z\",\n id: \"RightOutline-right\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }))));\n}\n\nexport default RightOutline;","import React from 'react';\nimport { CloseOutline } from 'antd-mobile-icons';\nexport const defaultPopupBaseProps = {\n closeOnMaskClick: false,\n closeIcon: React.createElement(CloseOutline, null),\n destroyOnClose: false,\n disableBodyScroll: true,\n forceRender: false,\n getContainer: () => document.body,\n mask: true,\n showCloseButton: false,\n stopPropagation: ['click'],\n visible: false\n};","import * as React from \"react\";\n\nfunction CloseOutline(props) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 48 48\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\"\n }, props, {\n style: Object.assign({\n verticalAlign: '-0.125em'\n }, props.style),\n className: ['antd-mobile-icon', props.className].filter(Boolean).join(' ')\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"CloseOutline-CloseOutline\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"CloseOutline-\\u7F16\\u7EC4\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"CloseOutline-\\u77E9\\u5F62\",\n fill: \"#FFFFFF\",\n opacity: 0,\n x: 0,\n y: 0,\n width: 48,\n height: 48\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.6085104,8.11754663 L24.1768397,21.8195031 L24.1768397,21.8195031 L37.7443031,8.1175556 C37.8194278,8.04168616 37.9217669,7.999 38.0285372,7.999 L41.1040268,7.999 C41.3249407,7.999 41.5040268,8.1780861 41.5040268,8.399 C41.5040268,8.50440471 41.4624226,8.60554929 41.3882578,8.68044752 L26.2773302,23.9408235 L26.2773302,23.9408235 L41.5021975,39.3175645 C41.65763,39.4745475 41.6563731,39.7278104 41.4993901,39.8832429 C41.4244929,39.9574004 41.3233534,39.999 41.2179546,39.999 L38.1434012,39.999 C38.0366291,39.999 37.9342885,39.9563124 37.8591634,39.8804408 L24.1768397,26.0621438 L24.1768397,26.0621438 L10.4936501,39.8804497 C10.4185257,39.9563159 10.3161889,39.999 10.2094212,39.999 L7.13584526,39.999 C6.91493136,39.999 6.73584526,39.8199139 6.73584526,39.599 C6.73584526,39.4936017 6.77744443,39.3924627 6.85160121,39.3175656 L22.0763492,23.9408235 L22.0763492,23.9408235 L6.96554081,8.68044639 C6.81010226,8.52346929 6.81134951,8.27020637 6.9683266,8.11476782 C7.04322474,8.04060377 7.14436883,7.999 7.24977299,7.999 L10.3242852,7.999 C10.4310511,7.999 10.5333863,8.04168267 10.6085104,8.11754663 Z\",\n id: \"CloseOutline-\\u8DEF\\u5F84\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }))));\n}\n\nexport default CloseOutline;","function clamp(v, min, max) {\n return Math.max(min, Math.min(v, max));\n}\nconst V = {\n toVector(v, fallback) {\n if (v === undefined) v = fallback;\n return Array.isArray(v) ? v : [v, v];\n },\n add(v1, v2) {\n return [v1[0] + v2[0], v1[1] + v2[1]];\n },\n sub(v1, v2) {\n return [v1[0] - v2[0], v1[1] - v2[1]];\n },\n addTo(v1, v2) {\n v1[0] += v2[0];\n v1[1] += v2[1];\n },\n subTo(v1, v2) {\n v1[0] -= v2[0];\n v1[1] -= v2[1];\n }\n};\nfunction rubberband(distance, dimension, constant) {\n if (dimension === 0 || Math.abs(dimension) === Infinity) return Math.pow(distance, constant * 5);\n return distance * dimension * constant / (dimension + constant * distance);\n}\nfunction rubberbandIfOutOfBounds(position, min, max, constant = 0.15) {\n if (constant === 0) return clamp(position, min, max);\n if (position < min) return -rubberband(min - position, max - min, constant) + min;\n if (position > max) return +rubberband(position - max, max - min, constant) + max;\n return position;\n}\nfunction computeRubberband(bounds, [Vx, Vy], [Rx, Ry]) {\n const [[X0, X1], [Y0, Y1]] = bounds;\n return [rubberbandIfOutOfBounds(Vx, X0, X1, Rx), rubberbandIfOutOfBounds(Vy, Y0, Y1, Ry)];\n}\n\nexport { V, computeRubberband as c, rubberbandIfOutOfBounds as r };\n","import { V, c as computeRubberband } from './maths-0ab39ae9.esm.js';\n\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\n\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\n\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\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 return obj;\n}\n\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\n\nconst EVENT_TYPE_MAP = {\n pointer: {\n start: 'down',\n change: 'move',\n end: 'up'\n },\n mouse: {\n start: 'down',\n change: 'move',\n end: 'up'\n },\n touch: {\n start: 'start',\n change: 'move',\n end: 'end'\n },\n gesture: {\n start: 'start',\n change: 'change',\n end: 'end'\n }\n};\nfunction capitalize(string) {\n if (!string) return '';\n return string[0].toUpperCase() + string.slice(1);\n}\nconst actionsWithoutCaptureSupported = ['enter', 'leave'];\nfunction hasCapture(capture = false, actionKey) {\n return capture && !actionsWithoutCaptureSupported.includes(actionKey);\n}\nfunction toHandlerProp(device, action = '', capture = false) {\n const deviceProps = EVENT_TYPE_MAP[device];\n const actionKey = deviceProps ? deviceProps[action] || action : action;\n return 'on' + capitalize(device) + capitalize(actionKey) + (hasCapture(capture, actionKey) ? 'Capture' : '');\n}\nconst pointerCaptureEvents = ['gotpointercapture', 'lostpointercapture'];\nfunction parseProp(prop) {\n let eventKey = prop.substring(2).toLowerCase();\n const passive = !!~eventKey.indexOf('passive');\n if (passive) eventKey = eventKey.replace('passive', '');\n const captureKey = pointerCaptureEvents.includes(eventKey) ? 'capturecapture' : 'capture';\n const capture = !!~eventKey.indexOf(captureKey);\n if (capture) eventKey = eventKey.replace('capture', '');\n return {\n device: eventKey,\n capture,\n passive\n };\n}\nfunction toDomEventType(device, action = '') {\n const deviceProps = EVENT_TYPE_MAP[device];\n const actionKey = deviceProps ? deviceProps[action] || action : action;\n return device + actionKey;\n}\nfunction isTouch(event) {\n return 'touches' in event;\n}\nfunction getPointerType(event) {\n if (isTouch(event)) return 'touch';\n if ('pointerType' in event) return event.pointerType;\n return 'mouse';\n}\nfunction getCurrentTargetTouchList(event) {\n return Array.from(event.touches).filter(e => {\n var _event$currentTarget, _event$currentTarget$;\n return e.target === event.currentTarget || ((_event$currentTarget = event.currentTarget) === null || _event$currentTarget === void 0 || (_event$currentTarget$ = _event$currentTarget.contains) === null || _event$currentTarget$ === void 0 ? void 0 : _event$currentTarget$.call(_event$currentTarget, e.target));\n });\n}\nfunction getTouchList(event) {\n return event.type === 'touchend' || event.type === 'touchcancel' ? event.changedTouches : event.targetTouches;\n}\nfunction getValueEvent(event) {\n return isTouch(event) ? getTouchList(event)[0] : event;\n}\nfunction distanceAngle(P1, P2) {\n try {\n const dx = P2.clientX - P1.clientX;\n const dy = P2.clientY - P1.clientY;\n const cx = (P2.clientX + P1.clientX) / 2;\n const cy = (P2.clientY + P1.clientY) / 2;\n const distance = Math.hypot(dx, dy);\n const angle = -(Math.atan2(dx, dy) * 180) / Math.PI;\n const origin = [cx, cy];\n return {\n angle,\n distance,\n origin\n };\n } catch (_unused) {}\n return null;\n}\nfunction touchIds(event) {\n return getCurrentTargetTouchList(event).map(touch => touch.identifier);\n}\nfunction touchDistanceAngle(event, ids) {\n const [P1, P2] = Array.from(event.touches).filter(touch => ids.includes(touch.identifier));\n return distanceAngle(P1, P2);\n}\nfunction pointerId(event) {\n const valueEvent = getValueEvent(event);\n return isTouch(event) ? valueEvent.identifier : valueEvent.pointerId;\n}\nfunction pointerValues(event) {\n const valueEvent = getValueEvent(event);\n return [valueEvent.clientX, valueEvent.clientY];\n}\nconst LINE_HEIGHT = 40;\nconst PAGE_HEIGHT = 800;\nfunction wheelValues(event) {\n let {\n deltaX,\n deltaY,\n deltaMode\n } = event;\n if (deltaMode === 1) {\n deltaX *= LINE_HEIGHT;\n deltaY *= LINE_HEIGHT;\n } else if (deltaMode === 2) {\n deltaX *= PAGE_HEIGHT;\n deltaY *= PAGE_HEIGHT;\n }\n return [deltaX, deltaY];\n}\nfunction scrollValues(event) {\n var _ref, _ref2;\n const {\n scrollX,\n scrollY,\n scrollLeft,\n scrollTop\n } = event.currentTarget;\n return [(_ref = scrollX !== null && scrollX !== void 0 ? scrollX : scrollLeft) !== null && _ref !== void 0 ? _ref : 0, (_ref2 = scrollY !== null && scrollY !== void 0 ? scrollY : scrollTop) !== null && _ref2 !== void 0 ? _ref2 : 0];\n}\nfunction getEventDetails(event) {\n const payload = {};\n if ('buttons' in event) payload.buttons = event.buttons;\n if ('shiftKey' in event) {\n const {\n shiftKey,\n altKey,\n metaKey,\n ctrlKey\n } = event;\n Object.assign(payload, {\n shiftKey,\n altKey,\n metaKey,\n ctrlKey\n });\n }\n return payload;\n}\n\nfunction call(v, ...args) {\n if (typeof v === 'function') {\n return v(...args);\n } else {\n return v;\n }\n}\nfunction noop() {}\nfunction chain(...fns) {\n if (fns.length === 0) return noop;\n if (fns.length === 1) return fns[0];\n return function () {\n let result;\n for (const fn of fns) {\n result = fn.apply(this, arguments) || result;\n }\n return result;\n };\n}\nfunction assignDefault(value, fallback) {\n return Object.assign({}, fallback, value || {});\n}\n\nconst BEFORE_LAST_KINEMATICS_DELAY = 32;\nclass Engine {\n constructor(ctrl, args, key) {\n this.ctrl = ctrl;\n this.args = args;\n this.key = key;\n if (!this.state) {\n this.state = {};\n this.computeValues([0, 0]);\n this.computeInitial();\n if (this.init) this.init();\n this.reset();\n }\n }\n get state() {\n return this.ctrl.state[this.key];\n }\n set state(state) {\n this.ctrl.state[this.key] = state;\n }\n get shared() {\n return this.ctrl.state.shared;\n }\n get eventStore() {\n return this.ctrl.gestureEventStores[this.key];\n }\n get timeoutStore() {\n return this.ctrl.gestureTimeoutStores[this.key];\n }\n get config() {\n return this.ctrl.config[this.key];\n }\n get sharedConfig() {\n return this.ctrl.config.shared;\n }\n get handler() {\n return this.ctrl.handlers[this.key];\n }\n reset() {\n const {\n state,\n shared,\n ingKey,\n args\n } = this;\n shared[ingKey] = state._active = state.active = state._blocked = state._force = false;\n state._step = [false, false];\n state.intentional = false;\n state._movement = [0, 0];\n state._distance = [0, 0];\n state._direction = [0, 0];\n state._delta = [0, 0];\n state._bounds = [[-Infinity, Infinity], [-Infinity, Infinity]];\n state.args = args;\n state.axis = undefined;\n state.memo = undefined;\n state.elapsedTime = state.timeDelta = 0;\n state.direction = [0, 0];\n state.distance = [0, 0];\n state.overflow = [0, 0];\n state._movementBound = [false, false];\n state.velocity = [0, 0];\n state.movement = [0, 0];\n state.delta = [0, 0];\n state.timeStamp = 0;\n }\n start(event) {\n const state = this.state;\n const config = this.config;\n if (!state._active) {\n this.reset();\n this.computeInitial();\n state._active = true;\n state.target = event.target;\n state.currentTarget = event.currentTarget;\n state.lastOffset = config.from ? call(config.from, state) : state.offset;\n state.offset = state.lastOffset;\n state.startTime = state.timeStamp = event.timeStamp;\n }\n }\n computeValues(values) {\n const state = this.state;\n state._values = values;\n state.values = this.config.transform(values);\n }\n computeInitial() {\n const state = this.state;\n state._initial = state._values;\n state.initial = state.values;\n }\n compute(event) {\n const {\n state,\n config,\n shared\n } = this;\n state.args = this.args;\n let dt = 0;\n if (event) {\n state.event = event;\n if (config.preventDefault && event.cancelable) state.event.preventDefault();\n state.type = event.type;\n shared.touches = this.ctrl.pointerIds.size || this.ctrl.touchIds.size;\n shared.locked = !!document.pointerLockElement;\n Object.assign(shared, getEventDetails(event));\n shared.down = shared.pressed = shared.buttons % 2 === 1 || shared.touches > 0;\n dt = event.timeStamp - state.timeStamp;\n state.timeStamp = event.timeStamp;\n state.elapsedTime = state.timeStamp - state.startTime;\n }\n if (state._active) {\n const _absoluteDelta = state._delta.map(Math.abs);\n V.addTo(state._distance, _absoluteDelta);\n }\n if (this.axisIntent) this.axisIntent(event);\n const [_m0, _m1] = state._movement;\n const [t0, t1] = config.threshold;\n const {\n _step,\n values\n } = state;\n if (config.hasCustomTransform) {\n if (_step[0] === false) _step[0] = Math.abs(_m0) >= t0 && values[0];\n if (_step[1] === false) _step[1] = Math.abs(_m1) >= t1 && values[1];\n } else {\n if (_step[0] === false) _step[0] = Math.abs(_m0) >= t0 && Math.sign(_m0) * t0;\n if (_step[1] === false) _step[1] = Math.abs(_m1) >= t1 && Math.sign(_m1) * t1;\n }\n state.intentional = _step[0] !== false || _step[1] !== false;\n if (!state.intentional) return;\n const movement = [0, 0];\n if (config.hasCustomTransform) {\n const [v0, v1] = values;\n movement[0] = _step[0] !== false ? v0 - _step[0] : 0;\n movement[1] = _step[1] !== false ? v1 - _step[1] : 0;\n } else {\n movement[0] = _step[0] !== false ? _m0 - _step[0] : 0;\n movement[1] = _step[1] !== false ? _m1 - _step[1] : 0;\n }\n if (this.restrictToAxis && !state._blocked) this.restrictToAxis(movement);\n const previousOffset = state.offset;\n const gestureIsActive = state._active && !state._blocked || state.active;\n if (gestureIsActive) {\n state.first = state._active && !state.active;\n state.last = !state._active && state.active;\n state.active = shared[this.ingKey] = state._active;\n if (event) {\n if (state.first) {\n if ('bounds' in config) state._bounds = call(config.bounds, state);\n if (this.setup) this.setup();\n }\n state.movement = movement;\n this.computeOffset();\n }\n }\n const [ox, oy] = state.offset;\n const [[x0, x1], [y0, y1]] = state._bounds;\n state.overflow = [ox < x0 ? -1 : ox > x1 ? 1 : 0, oy < y0 ? -1 : oy > y1 ? 1 : 0];\n state._movementBound[0] = state.overflow[0] ? state._movementBound[0] === false ? state._movement[0] : state._movementBound[0] : false;\n state._movementBound[1] = state.overflow[1] ? state._movementBound[1] === false ? state._movement[1] : state._movementBound[1] : false;\n const rubberband = state._active ? config.rubberband || [0, 0] : [0, 0];\n state.offset = computeRubberband(state._bounds, state.offset, rubberband);\n state.delta = V.sub(state.offset, previousOffset);\n this.computeMovement();\n if (gestureIsActive && (!state.last || dt > BEFORE_LAST_KINEMATICS_DELAY)) {\n state.delta = V.sub(state.offset, previousOffset);\n const absoluteDelta = state.delta.map(Math.abs);\n V.addTo(state.distance, absoluteDelta);\n state.direction = state.delta.map(Math.sign);\n state._direction = state._delta.map(Math.sign);\n if (!state.first && dt > 0) {\n state.velocity = [absoluteDelta[0] / dt, absoluteDelta[1] / dt];\n state.timeDelta = dt;\n }\n }\n }\n emit() {\n const state = this.state;\n const shared = this.shared;\n const config = this.config;\n if (!state._active) this.clean();\n if ((state._blocked || !state.intentional) && !state._force && !config.triggerAllEvents) return;\n const memo = this.handler(_objectSpread2(_objectSpread2(_objectSpread2({}, shared), state), {}, {\n [this.aliasKey]: state.values\n }));\n if (memo !== undefined) state.memo = memo;\n }\n clean() {\n this.eventStore.clean();\n this.timeoutStore.clean();\n }\n}\n\nfunction selectAxis([dx, dy], threshold) {\n const absDx = Math.abs(dx);\n const absDy = Math.abs(dy);\n if (absDx > absDy && absDx > threshold) {\n return 'x';\n }\n if (absDy > absDx && absDy > threshold) {\n return 'y';\n }\n return undefined;\n}\nclass CoordinatesEngine extends Engine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"aliasKey\", 'xy');\n }\n reset() {\n super.reset();\n this.state.axis = undefined;\n }\n init() {\n this.state.offset = [0, 0];\n this.state.lastOffset = [0, 0];\n }\n computeOffset() {\n this.state.offset = V.add(this.state.lastOffset, this.state.movement);\n }\n computeMovement() {\n this.state.movement = V.sub(this.state.offset, this.state.lastOffset);\n }\n axisIntent(event) {\n const state = this.state;\n const config = this.config;\n if (!state.axis && event) {\n const threshold = typeof config.axisThreshold === 'object' ? config.axisThreshold[getPointerType(event)] : config.axisThreshold;\n state.axis = selectAxis(state._movement, threshold);\n }\n state._blocked = (config.lockDirection || !!config.axis) && !state.axis || !!config.axis && config.axis !== state.axis;\n }\n restrictToAxis(v) {\n if (this.config.axis || this.config.lockDirection) {\n switch (this.state.axis) {\n case 'x':\n v[1] = 0;\n break;\n case 'y':\n v[0] = 0;\n break;\n }\n }\n }\n}\n\nconst identity = v => v;\nconst DEFAULT_RUBBERBAND = 0.15;\nconst commonConfigResolver = {\n enabled(value = true) {\n return value;\n },\n eventOptions(value, _k, config) {\n return _objectSpread2(_objectSpread2({}, config.shared.eventOptions), value);\n },\n preventDefault(value = false) {\n return value;\n },\n triggerAllEvents(value = false) {\n return value;\n },\n rubberband(value = 0) {\n switch (value) {\n case true:\n return [DEFAULT_RUBBERBAND, DEFAULT_RUBBERBAND];\n case false:\n return [0, 0];\n default:\n return V.toVector(value);\n }\n },\n from(value) {\n if (typeof value === 'function') return value;\n if (value != null) return V.toVector(value);\n },\n transform(value, _k, config) {\n const transform = value || config.shared.transform;\n this.hasCustomTransform = !!transform;\n if (process.env.NODE_ENV === 'development') {\n const originalTransform = transform || identity;\n return v => {\n const r = originalTransform(v);\n if (!isFinite(r[0]) || !isFinite(r[1])) {\n console.warn(`[@use-gesture]: config.transform() must produce a valid result, but it was: [${r[0]},${[1]}]`);\n }\n return r;\n };\n }\n return transform || identity;\n },\n threshold(value) {\n return V.toVector(value, 0);\n }\n};\nif (process.env.NODE_ENV === 'development') {\n Object.assign(commonConfigResolver, {\n domTarget(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`domTarget\\` option has been renamed to \\`target\\`.`);\n }\n return NaN;\n },\n lockDirection(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`lockDirection\\` option has been merged with \\`axis\\`. Use it as in \\`{ axis: 'lock' }\\``);\n }\n return NaN;\n },\n initial(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`initial\\` option has been renamed to \\`from\\`.`);\n }\n return NaN;\n }\n });\n}\n\nconst DEFAULT_AXIS_THRESHOLD = 0;\nconst coordinatesConfigResolver = _objectSpread2(_objectSpread2({}, commonConfigResolver), {}, {\n axis(_v, _k, {\n axis\n }) {\n this.lockDirection = axis === 'lock';\n if (!this.lockDirection) return axis;\n },\n axisThreshold(value = DEFAULT_AXIS_THRESHOLD) {\n return value;\n },\n bounds(value = {}) {\n if (typeof value === 'function') {\n return state => coordinatesConfigResolver.bounds(value(state));\n }\n if ('current' in value) {\n return () => value.current;\n }\n if (typeof HTMLElement === 'function' && value instanceof HTMLElement) {\n return value;\n }\n const {\n left = -Infinity,\n right = Infinity,\n top = -Infinity,\n bottom = Infinity\n } = value;\n return [[left, right], [top, bottom]];\n }\n});\n\nconst KEYS_DELTA_MAP = {\n ArrowRight: (displacement, factor = 1) => [displacement * factor, 0],\n ArrowLeft: (displacement, factor = 1) => [-1 * displacement * factor, 0],\n ArrowUp: (displacement, factor = 1) => [0, -1 * displacement * factor],\n ArrowDown: (displacement, factor = 1) => [0, displacement * factor]\n};\nclass DragEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'dragging');\n }\n reset() {\n super.reset();\n const state = this.state;\n state._pointerId = undefined;\n state._pointerActive = false;\n state._keyboardActive = false;\n state._preventScroll = false;\n state._delayed = false;\n state.swipe = [0, 0];\n state.tap = false;\n state.canceled = false;\n state.cancel = this.cancel.bind(this);\n }\n setup() {\n const state = this.state;\n if (state._bounds instanceof HTMLElement) {\n const boundRect = state._bounds.getBoundingClientRect();\n const targetRect = state.currentTarget.getBoundingClientRect();\n const _bounds = {\n left: boundRect.left - targetRect.left + state.offset[0],\n right: boundRect.right - targetRect.right + state.offset[0],\n top: boundRect.top - targetRect.top + state.offset[1],\n bottom: boundRect.bottom - targetRect.bottom + state.offset[1]\n };\n state._bounds = coordinatesConfigResolver.bounds(_bounds);\n }\n }\n cancel() {\n const state = this.state;\n if (state.canceled) return;\n state.canceled = true;\n state._active = false;\n setTimeout(() => {\n this.compute();\n this.emit();\n }, 0);\n }\n setActive() {\n this.state._active = this.state._pointerActive || this.state._keyboardActive;\n }\n clean() {\n this.pointerClean();\n this.state._pointerActive = false;\n this.state._keyboardActive = false;\n super.clean();\n }\n pointerDown(event) {\n const config = this.config;\n const state = this.state;\n if (event.buttons != null && (Array.isArray(config.pointerButtons) ? !config.pointerButtons.includes(event.buttons) : config.pointerButtons !== -1 && config.pointerButtons !== event.buttons)) return;\n const ctrlIds = this.ctrl.setEventIds(event);\n if (config.pointerCapture) {\n event.target.setPointerCapture(event.pointerId);\n }\n if (ctrlIds && ctrlIds.size > 1 && state._pointerActive) return;\n this.start(event);\n this.setupPointer(event);\n state._pointerId = pointerId(event);\n state._pointerActive = true;\n this.computeValues(pointerValues(event));\n this.computeInitial();\n if (config.preventScrollAxis && getPointerType(event) !== 'mouse') {\n state._active = false;\n this.setupScrollPrevention(event);\n } else if (config.delay > 0) {\n this.setupDelayTrigger(event);\n if (config.triggerAllEvents) {\n this.compute(event);\n this.emit();\n }\n } else {\n this.startPointerDrag(event);\n }\n }\n startPointerDrag(event) {\n const state = this.state;\n state._active = true;\n state._preventScroll = true;\n state._delayed = false;\n this.compute(event);\n this.emit();\n }\n pointerMove(event) {\n const state = this.state;\n const config = this.config;\n if (!state._pointerActive) return;\n const id = pointerId(event);\n if (state._pointerId !== undefined && id !== state._pointerId) return;\n const _values = pointerValues(event);\n if (document.pointerLockElement === event.target) {\n state._delta = [event.movementX, event.movementY];\n } else {\n state._delta = V.sub(_values, state._values);\n this.computeValues(_values);\n }\n V.addTo(state._movement, state._delta);\n this.compute(event);\n if (state._delayed && state.intentional) {\n this.timeoutStore.remove('dragDelay');\n state.active = false;\n this.startPointerDrag(event);\n return;\n }\n if (config.preventScrollAxis && !state._preventScroll) {\n if (state.axis) {\n if (state.axis === config.preventScrollAxis || config.preventScrollAxis === 'xy') {\n state._active = false;\n this.clean();\n return;\n } else {\n this.timeoutStore.remove('startPointerDrag');\n this.startPointerDrag(event);\n return;\n }\n } else {\n return;\n }\n }\n this.emit();\n }\n pointerUp(event) {\n this.ctrl.setEventIds(event);\n try {\n if (this.config.pointerCapture && event.target.hasPointerCapture(event.pointerId)) {\n ;\n event.target.releasePointerCapture(event.pointerId);\n }\n } catch (_unused) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(`[@use-gesture]: If you see this message, it's likely that you're using an outdated version of \\`@react-three/fiber\\`. \\n\\nPlease upgrade to the latest version.`);\n }\n }\n const state = this.state;\n const config = this.config;\n if (!state._active || !state._pointerActive) return;\n const id = pointerId(event);\n if (state._pointerId !== undefined && id !== state._pointerId) return;\n this.state._pointerActive = false;\n this.setActive();\n this.compute(event);\n const [dx, dy] = state._distance;\n state.tap = dx <= config.tapsThreshold && dy <= config.tapsThreshold;\n if (state.tap && config.filterTaps) {\n state._force = true;\n } else {\n const [_dx, _dy] = state._delta;\n const [_mx, _my] = state._movement;\n const [svx, svy] = config.swipe.velocity;\n const [sx, sy] = config.swipe.distance;\n const sdt = config.swipe.duration;\n if (state.elapsedTime < sdt) {\n const _vx = Math.abs(_dx / state.timeDelta);\n const _vy = Math.abs(_dy / state.timeDelta);\n if (_vx > svx && Math.abs(_mx) > sx) state.swipe[0] = Math.sign(_dx);\n if (_vy > svy && Math.abs(_my) > sy) state.swipe[1] = Math.sign(_dy);\n }\n }\n this.emit();\n }\n pointerClick(event) {\n if (!this.state.tap && event.detail > 0) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n setupPointer(event) {\n const config = this.config;\n const device = config.device;\n if (process.env.NODE_ENV === 'development') {\n try {\n if (device === 'pointer' && config.preventScrollDelay === undefined) {\n const currentTarget = 'uv' in event ? event.sourceEvent.currentTarget : event.currentTarget;\n const style = window.getComputedStyle(currentTarget);\n if (style.touchAction === 'auto') {\n console.warn(`[@use-gesture]: The drag target has its \\`touch-action\\` style property set to \\`auto\\`. It is recommended to add \\`touch-action: 'none'\\` so that the drag gesture behaves correctly on touch-enabled devices. For more information read this: https://use-gesture.netlify.app/docs/extras/#touch-action.\\n\\nThis message will only show in development mode. It won't appear in production. If this is intended, you can ignore it.`, currentTarget);\n }\n }\n } catch (_unused2) {}\n }\n if (config.pointerLock) {\n event.currentTarget.requestPointerLock();\n }\n if (!config.pointerCapture) {\n this.eventStore.add(this.sharedConfig.window, device, 'change', this.pointerMove.bind(this));\n this.eventStore.add(this.sharedConfig.window, device, 'end', this.pointerUp.bind(this));\n this.eventStore.add(this.sharedConfig.window, device, 'cancel', this.pointerUp.bind(this));\n }\n }\n pointerClean() {\n if (this.config.pointerLock && document.pointerLockElement === this.state.currentTarget) {\n document.exitPointerLock();\n }\n }\n preventScroll(event) {\n if (this.state._preventScroll && event.cancelable) {\n event.preventDefault();\n }\n }\n setupScrollPrevention(event) {\n this.state._preventScroll = false;\n persistEvent(event);\n const remove = this.eventStore.add(this.sharedConfig.window, 'touch', 'change', this.preventScroll.bind(this), {\n passive: false\n });\n this.eventStore.add(this.sharedConfig.window, 'touch', 'end', remove);\n this.eventStore.add(this.sharedConfig.window, 'touch', 'cancel', remove);\n this.timeoutStore.add('startPointerDrag', this.startPointerDrag.bind(this), this.config.preventScrollDelay, event);\n }\n setupDelayTrigger(event) {\n this.state._delayed = true;\n this.timeoutStore.add('dragDelay', () => {\n this.state._step = [0, 0];\n this.startPointerDrag(event);\n }, this.config.delay);\n }\n keyDown(event) {\n const deltaFn = KEYS_DELTA_MAP[event.key];\n if (deltaFn) {\n const state = this.state;\n const factor = event.shiftKey ? 10 : event.altKey ? 0.1 : 1;\n this.start(event);\n state._delta = deltaFn(this.config.keyboardDisplacement, factor);\n state._keyboardActive = true;\n V.addTo(state._movement, state._delta);\n this.compute(event);\n this.emit();\n }\n }\n keyUp(event) {\n if (!(event.key in KEYS_DELTA_MAP)) return;\n this.state._keyboardActive = false;\n this.setActive();\n this.compute(event);\n this.emit();\n }\n bind(bindFunction) {\n const device = this.config.device;\n bindFunction(device, 'start', this.pointerDown.bind(this));\n if (this.config.pointerCapture) {\n bindFunction(device, 'change', this.pointerMove.bind(this));\n bindFunction(device, 'end', this.pointerUp.bind(this));\n bindFunction(device, 'cancel', this.pointerUp.bind(this));\n bindFunction('lostPointerCapture', '', this.pointerUp.bind(this));\n }\n if (this.config.keys) {\n bindFunction('key', 'down', this.keyDown.bind(this));\n bindFunction('key', 'up', this.keyUp.bind(this));\n }\n if (this.config.filterTaps) {\n bindFunction('click', '', this.pointerClick.bind(this), {\n capture: true,\n passive: false\n });\n }\n }\n}\nfunction persistEvent(event) {\n 'persist' in event && typeof event.persist === 'function' && event.persist();\n}\n\nconst isBrowser = typeof window !== 'undefined' && window.document && window.document.createElement;\nfunction supportsTouchEvents() {\n return isBrowser && 'ontouchstart' in window;\n}\nfunction isTouchScreen() {\n return supportsTouchEvents() || isBrowser && window.navigator.maxTouchPoints > 1;\n}\nfunction supportsPointerEvents() {\n return isBrowser && 'onpointerdown' in window;\n}\nfunction supportsPointerLock() {\n return isBrowser && 'exitPointerLock' in window.document;\n}\nfunction supportsGestureEvents() {\n try {\n return 'constructor' in GestureEvent;\n } catch (e) {\n return false;\n }\n}\nconst SUPPORT = {\n isBrowser,\n gesture: supportsGestureEvents(),\n touch: supportsTouchEvents(),\n touchscreen: isTouchScreen(),\n pointer: supportsPointerEvents(),\n pointerLock: supportsPointerLock()\n};\n\nconst DEFAULT_PREVENT_SCROLL_DELAY = 250;\nconst DEFAULT_DRAG_DELAY = 180;\nconst DEFAULT_SWIPE_VELOCITY = 0.5;\nconst DEFAULT_SWIPE_DISTANCE = 50;\nconst DEFAULT_SWIPE_DURATION = 250;\nconst DEFAULT_KEYBOARD_DISPLACEMENT = 10;\nconst DEFAULT_DRAG_AXIS_THRESHOLD = {\n mouse: 0,\n touch: 0,\n pen: 8\n};\nconst dragConfigResolver = _objectSpread2(_objectSpread2({}, coordinatesConfigResolver), {}, {\n device(_v, _k, {\n pointer: {\n touch = false,\n lock = false,\n mouse = false\n } = {}\n }) {\n this.pointerLock = lock && SUPPORT.pointerLock;\n if (SUPPORT.touch && touch) return 'touch';\n if (this.pointerLock) return 'mouse';\n if (SUPPORT.pointer && !mouse) return 'pointer';\n if (SUPPORT.touch) return 'touch';\n return 'mouse';\n },\n preventScrollAxis(value, _k, {\n preventScroll\n }) {\n this.preventScrollDelay = typeof preventScroll === 'number' ? preventScroll : preventScroll || preventScroll === undefined && value ? DEFAULT_PREVENT_SCROLL_DELAY : undefined;\n if (!SUPPORT.touchscreen || preventScroll === false) return undefined;\n return value ? value : preventScroll !== undefined ? 'y' : undefined;\n },\n pointerCapture(_v, _k, {\n pointer: {\n capture = true,\n buttons = 1,\n keys = true\n } = {}\n }) {\n this.pointerButtons = buttons;\n this.keys = keys;\n return !this.pointerLock && this.device === 'pointer' && capture;\n },\n threshold(value, _k, {\n filterTaps = false,\n tapsThreshold = 3,\n axis = undefined\n }) {\n const threshold = V.toVector(value, filterTaps ? tapsThreshold : axis ? 1 : 0);\n this.filterTaps = filterTaps;\n this.tapsThreshold = tapsThreshold;\n return threshold;\n },\n swipe({\n velocity = DEFAULT_SWIPE_VELOCITY,\n distance = DEFAULT_SWIPE_DISTANCE,\n duration = DEFAULT_SWIPE_DURATION\n } = {}) {\n return {\n velocity: this.transform(V.toVector(velocity)),\n distance: this.transform(V.toVector(distance)),\n duration\n };\n },\n delay(value = 0) {\n switch (value) {\n case true:\n return DEFAULT_DRAG_DELAY;\n case false:\n return 0;\n default:\n return value;\n }\n },\n axisThreshold(value) {\n if (!value) return DEFAULT_DRAG_AXIS_THRESHOLD;\n return _objectSpread2(_objectSpread2({}, DEFAULT_DRAG_AXIS_THRESHOLD), value);\n },\n keyboardDisplacement(value = DEFAULT_KEYBOARD_DISPLACEMENT) {\n return value;\n }\n});\nif (process.env.NODE_ENV === 'development') {\n Object.assign(dragConfigResolver, {\n useTouch(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`useTouch\\` option has been renamed to \\`pointer.touch\\`. Use it as in \\`{ pointer: { touch: true } }\\`.`);\n }\n return NaN;\n },\n experimental_preventWindowScrollY(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`experimental_preventWindowScrollY\\` option has been renamed to \\`preventScroll\\`.`);\n }\n return NaN;\n },\n swipeVelocity(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`swipeVelocity\\` option has been renamed to \\`swipe.velocity\\`. Use it as in \\`{ swipe: { velocity: 0.5 } }\\`.`);\n }\n return NaN;\n },\n swipeDistance(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`swipeDistance\\` option has been renamed to \\`swipe.distance\\`. Use it as in \\`{ swipe: { distance: 50 } }\\`.`);\n }\n return NaN;\n },\n swipeDuration(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`swipeDuration\\` option has been renamed to \\`swipe.duration\\`. Use it as in \\`{ swipe: { duration: 250 } }\\`.`);\n }\n return NaN;\n }\n });\n}\n\nfunction clampStateInternalMovementToBounds(state) {\n const [ox, oy] = state.overflow;\n const [dx, dy] = state._delta;\n const [dirx, diry] = state._direction;\n if (ox < 0 && dx > 0 && dirx < 0 || ox > 0 && dx < 0 && dirx > 0) {\n state._movement[0] = state._movementBound[0];\n }\n if (oy < 0 && dy > 0 && diry < 0 || oy > 0 && dy < 0 && diry > 0) {\n state._movement[1] = state._movementBound[1];\n }\n}\n\nconst SCALE_ANGLE_RATIO_INTENT_DEG = 30;\nconst PINCH_WHEEL_RATIO = 100;\nclass PinchEngine extends Engine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'pinching');\n _defineProperty(this, \"aliasKey\", 'da');\n }\n init() {\n this.state.offset = [1, 0];\n this.state.lastOffset = [1, 0];\n this.state._pointerEvents = new Map();\n }\n reset() {\n super.reset();\n const state = this.state;\n state._touchIds = [];\n state.canceled = false;\n state.cancel = this.cancel.bind(this);\n state.turns = 0;\n }\n computeOffset() {\n const {\n type,\n movement,\n lastOffset\n } = this.state;\n if (type === 'wheel') {\n this.state.offset = V.add(movement, lastOffset);\n } else {\n this.state.offset = [(1 + movement[0]) * lastOffset[0], movement[1] + lastOffset[1]];\n }\n }\n computeMovement() {\n const {\n offset,\n lastOffset\n } = this.state;\n this.state.movement = [offset[0] / lastOffset[0], offset[1] - lastOffset[1]];\n }\n axisIntent() {\n const state = this.state;\n const [_m0, _m1] = state._movement;\n if (!state.axis) {\n const axisMovementDifference = Math.abs(_m0) * SCALE_ANGLE_RATIO_INTENT_DEG - Math.abs(_m1);\n if (axisMovementDifference < 0) state.axis = 'angle';else if (axisMovementDifference > 0) state.axis = 'scale';\n }\n }\n restrictToAxis(v) {\n if (this.config.lockDirection) {\n if (this.state.axis === 'scale') v[1] = 0;else if (this.state.axis === 'angle') v[0] = 0;\n }\n }\n cancel() {\n const state = this.state;\n if (state.canceled) return;\n setTimeout(() => {\n state.canceled = true;\n state._active = false;\n this.compute();\n this.emit();\n }, 0);\n }\n touchStart(event) {\n this.ctrl.setEventIds(event);\n const state = this.state;\n const ctrlTouchIds = this.ctrl.touchIds;\n if (state._active) {\n if (state._touchIds.every(id => ctrlTouchIds.has(id))) return;\n }\n if (ctrlTouchIds.size < 2) return;\n this.start(event);\n state._touchIds = Array.from(ctrlTouchIds).slice(0, 2);\n const payload = touchDistanceAngle(event, state._touchIds);\n if (!payload) return;\n this.pinchStart(event, payload);\n }\n pointerStart(event) {\n if (event.buttons != null && event.buttons % 2 !== 1) return;\n this.ctrl.setEventIds(event);\n event.target.setPointerCapture(event.pointerId);\n const state = this.state;\n const _pointerEvents = state._pointerEvents;\n const ctrlPointerIds = this.ctrl.pointerIds;\n if (state._active) {\n if (Array.from(_pointerEvents.keys()).every(id => ctrlPointerIds.has(id))) return;\n }\n if (_pointerEvents.size < 2) {\n _pointerEvents.set(event.pointerId, event);\n }\n if (state._pointerEvents.size < 2) return;\n this.start(event);\n const payload = distanceAngle(...Array.from(_pointerEvents.values()));\n if (!payload) return;\n this.pinchStart(event, payload);\n }\n pinchStart(event, payload) {\n const state = this.state;\n state.origin = payload.origin;\n this.computeValues([payload.distance, payload.angle]);\n this.computeInitial();\n this.compute(event);\n this.emit();\n }\n touchMove(event) {\n if (!this.state._active) return;\n const payload = touchDistanceAngle(event, this.state._touchIds);\n if (!payload) return;\n this.pinchMove(event, payload);\n }\n pointerMove(event) {\n const _pointerEvents = this.state._pointerEvents;\n if (_pointerEvents.has(event.pointerId)) {\n _pointerEvents.set(event.pointerId, event);\n }\n if (!this.state._active) return;\n const payload = distanceAngle(...Array.from(_pointerEvents.values()));\n if (!payload) return;\n this.pinchMove(event, payload);\n }\n pinchMove(event, payload) {\n const state = this.state;\n const prev_a = state._values[1];\n const delta_a = payload.angle - prev_a;\n let delta_turns = 0;\n if (Math.abs(delta_a) > 270) delta_turns += Math.sign(delta_a);\n this.computeValues([payload.distance, payload.angle - 360 * delta_turns]);\n state.origin = payload.origin;\n state.turns = delta_turns;\n state._movement = [state._values[0] / state._initial[0] - 1, state._values[1] - state._initial[1]];\n this.compute(event);\n this.emit();\n }\n touchEnd(event) {\n this.ctrl.setEventIds(event);\n if (!this.state._active) return;\n if (this.state._touchIds.some(id => !this.ctrl.touchIds.has(id))) {\n this.state._active = false;\n this.compute(event);\n this.emit();\n }\n }\n pointerEnd(event) {\n const state = this.state;\n this.ctrl.setEventIds(event);\n try {\n event.target.releasePointerCapture(event.pointerId);\n } catch (_unused) {}\n if (state._pointerEvents.has(event.pointerId)) {\n state._pointerEvents.delete(event.pointerId);\n }\n if (!state._active) return;\n if (state._pointerEvents.size < 2) {\n state._active = false;\n this.compute(event);\n this.emit();\n }\n }\n gestureStart(event) {\n if (event.cancelable) event.preventDefault();\n const state = this.state;\n if (state._active) return;\n this.start(event);\n this.computeValues([event.scale, event.rotation]);\n state.origin = [event.clientX, event.clientY];\n this.compute(event);\n this.emit();\n }\n gestureMove(event) {\n if (event.cancelable) event.preventDefault();\n if (!this.state._active) return;\n const state = this.state;\n this.computeValues([event.scale, event.rotation]);\n state.origin = [event.clientX, event.clientY];\n const _previousMovement = state._movement;\n state._movement = [event.scale - 1, event.rotation];\n state._delta = V.sub(state._movement, _previousMovement);\n this.compute(event);\n this.emit();\n }\n gestureEnd(event) {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute(event);\n this.emit();\n }\n wheel(event) {\n const modifierKey = this.config.modifierKey;\n if (modifierKey && (Array.isArray(modifierKey) ? !modifierKey.find(k => event[k]) : !event[modifierKey])) return;\n if (!this.state._active) this.wheelStart(event);else this.wheelChange(event);\n this.timeoutStore.add('wheelEnd', this.wheelEnd.bind(this));\n }\n wheelStart(event) {\n this.start(event);\n this.wheelChange(event);\n }\n wheelChange(event) {\n const isR3f = ('uv' in event);\n if (!isR3f) {\n if (event.cancelable) {\n event.preventDefault();\n }\n if (process.env.NODE_ENV === 'development' && !event.defaultPrevented) {\n console.warn(`[@use-gesture]: To properly support zoom on trackpads, try using the \\`target\\` option.\\n\\nThis message will only appear in development mode.`);\n }\n }\n const state = this.state;\n state._delta = [-wheelValues(event)[1] / PINCH_WHEEL_RATIO * state.offset[0], 0];\n V.addTo(state._movement, state._delta);\n clampStateInternalMovementToBounds(state);\n this.state.origin = [event.clientX, event.clientY];\n this.compute(event);\n this.emit();\n }\n wheelEnd() {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute();\n this.emit();\n }\n bind(bindFunction) {\n const device = this.config.device;\n if (!!device) {\n bindFunction(device, 'start', this[device + 'Start'].bind(this));\n bindFunction(device, 'change', this[device + 'Move'].bind(this));\n bindFunction(device, 'end', this[device + 'End'].bind(this));\n bindFunction(device, 'cancel', this[device + 'End'].bind(this));\n bindFunction('lostPointerCapture', '', this[device + 'End'].bind(this));\n }\n if (this.config.pinchOnWheel) {\n bindFunction('wheel', '', this.wheel.bind(this), {\n passive: false\n });\n }\n }\n}\n\nconst pinchConfigResolver = _objectSpread2(_objectSpread2({}, commonConfigResolver), {}, {\n device(_v, _k, {\n shared,\n pointer: {\n touch = false\n } = {}\n }) {\n const sharedConfig = shared;\n if (sharedConfig.target && !SUPPORT.touch && SUPPORT.gesture) return 'gesture';\n if (SUPPORT.touch && touch) return 'touch';\n if (SUPPORT.touchscreen) {\n if (SUPPORT.pointer) return 'pointer';\n if (SUPPORT.touch) return 'touch';\n }\n },\n bounds(_v, _k, {\n scaleBounds = {},\n angleBounds = {}\n }) {\n const _scaleBounds = state => {\n const D = assignDefault(call(scaleBounds, state), {\n min: -Infinity,\n max: Infinity\n });\n return [D.min, D.max];\n };\n const _angleBounds = state => {\n const A = assignDefault(call(angleBounds, state), {\n min: -Infinity,\n max: Infinity\n });\n return [A.min, A.max];\n };\n if (typeof scaleBounds !== 'function' && typeof angleBounds !== 'function') return [_scaleBounds(), _angleBounds()];\n return state => [_scaleBounds(state), _angleBounds(state)];\n },\n threshold(value, _k, config) {\n this.lockDirection = config.axis === 'lock';\n const threshold = V.toVector(value, this.lockDirection ? [0.1, 3] : 0);\n return threshold;\n },\n modifierKey(value) {\n if (value === undefined) return 'ctrlKey';\n return value;\n },\n pinchOnWheel(value = true) {\n return value;\n }\n});\n\nclass MoveEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'moving');\n }\n move(event) {\n if (this.config.mouseOnly && event.pointerType !== 'mouse') return;\n if (!this.state._active) this.moveStart(event);else this.moveChange(event);\n this.timeoutStore.add('moveEnd', this.moveEnd.bind(this));\n }\n moveStart(event) {\n this.start(event);\n this.computeValues(pointerValues(event));\n this.compute(event);\n this.computeInitial();\n this.emit();\n }\n moveChange(event) {\n if (!this.state._active) return;\n const values = pointerValues(event);\n const state = this.state;\n state._delta = V.sub(values, state._values);\n V.addTo(state._movement, state._delta);\n this.computeValues(values);\n this.compute(event);\n this.emit();\n }\n moveEnd(event) {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute(event);\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('pointer', 'change', this.move.bind(this));\n bindFunction('pointer', 'leave', this.moveEnd.bind(this));\n }\n}\n\nconst moveConfigResolver = _objectSpread2(_objectSpread2({}, coordinatesConfigResolver), {}, {\n mouseOnly: (value = true) => value\n});\n\nclass ScrollEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'scrolling');\n }\n scroll(event) {\n if (!this.state._active) this.start(event);\n this.scrollChange(event);\n this.timeoutStore.add('scrollEnd', this.scrollEnd.bind(this));\n }\n scrollChange(event) {\n if (event.cancelable) event.preventDefault();\n const state = this.state;\n const values = scrollValues(event);\n state._delta = V.sub(values, state._values);\n V.addTo(state._movement, state._delta);\n this.computeValues(values);\n this.compute(event);\n this.emit();\n }\n scrollEnd() {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute();\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('scroll', '', this.scroll.bind(this));\n }\n}\n\nconst scrollConfigResolver = coordinatesConfigResolver;\n\nclass WheelEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'wheeling');\n }\n wheel(event) {\n if (!this.state._active) this.start(event);\n this.wheelChange(event);\n this.timeoutStore.add('wheelEnd', this.wheelEnd.bind(this));\n }\n wheelChange(event) {\n const state = this.state;\n state._delta = wheelValues(event);\n V.addTo(state._movement, state._delta);\n clampStateInternalMovementToBounds(state);\n this.compute(event);\n this.emit();\n }\n wheelEnd() {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute();\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('wheel', '', this.wheel.bind(this));\n }\n}\n\nconst wheelConfigResolver = coordinatesConfigResolver;\n\nclass HoverEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'hovering');\n }\n enter(event) {\n if (this.config.mouseOnly && event.pointerType !== 'mouse') return;\n this.start(event);\n this.computeValues(pointerValues(event));\n this.compute(event);\n this.emit();\n }\n leave(event) {\n if (this.config.mouseOnly && event.pointerType !== 'mouse') return;\n const state = this.state;\n if (!state._active) return;\n state._active = false;\n const values = pointerValues(event);\n state._movement = state._delta = V.sub(values, state._values);\n this.computeValues(values);\n this.compute(event);\n state.delta = state.movement;\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('pointer', 'enter', this.enter.bind(this));\n bindFunction('pointer', 'leave', this.leave.bind(this));\n }\n}\n\nconst hoverConfigResolver = _objectSpread2(_objectSpread2({}, coordinatesConfigResolver), {}, {\n mouseOnly: (value = true) => value\n});\n\nconst EngineMap = new Map();\nconst ConfigResolverMap = new Map();\nfunction registerAction(action) {\n EngineMap.set(action.key, action.engine);\n ConfigResolverMap.set(action.key, action.resolver);\n}\nconst dragAction = {\n key: 'drag',\n engine: DragEngine,\n resolver: dragConfigResolver\n};\nconst hoverAction = {\n key: 'hover',\n engine: HoverEngine,\n resolver: hoverConfigResolver\n};\nconst moveAction = {\n key: 'move',\n engine: MoveEngine,\n resolver: moveConfigResolver\n};\nconst pinchAction = {\n key: 'pinch',\n engine: PinchEngine,\n resolver: pinchConfigResolver\n};\nconst scrollAction = {\n key: 'scroll',\n engine: ScrollEngine,\n resolver: scrollConfigResolver\n};\nconst wheelAction = {\n key: 'wheel',\n engine: WheelEngine,\n resolver: wheelConfigResolver\n};\n\nexport { ConfigResolverMap as C, EngineMap as E, SUPPORT as S, _objectSpread2 as _, _defineProperty as a, touchIds as b, chain as c, toHandlerProp as d, dragAction as e, pinchAction as f, hoverAction as h, isTouch as i, moveAction as m, parseProp as p, registerAction as r, scrollAction as s, toDomEventType as t, wheelAction as w };\n","import { S as SUPPORT, C as ConfigResolverMap, _ as _objectSpread2, a as _defineProperty, t as toDomEventType, i as isTouch, b as touchIds, E as EngineMap, c as chain, p as parseProp, d as toHandlerProp } from './actions-fe213e88.esm.js';\nimport './maths-0ab39ae9.esm.js';\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\n\nconst sharedConfigResolver = {\n target(value) {\n if (value) {\n return () => 'current' in value ? value.current : value;\n }\n return undefined;\n },\n enabled(value = true) {\n return value;\n },\n window(value = SUPPORT.isBrowser ? window : undefined) {\n return value;\n },\n eventOptions({\n passive = true,\n capture = false\n } = {}) {\n return {\n passive,\n capture\n };\n },\n transform(value) {\n return value;\n }\n};\n\nconst _excluded = [\"target\", \"eventOptions\", \"window\", \"enabled\", \"transform\"];\nfunction resolveWith(config = {}, resolvers) {\n const result = {};\n for (const [key, resolver] of Object.entries(resolvers)) {\n switch (typeof resolver) {\n case 'function':\n if (process.env.NODE_ENV === 'development') {\n const r = resolver.call(result, config[key], key, config);\n if (!Number.isNaN(r)) result[key] = r;\n } else {\n result[key] = resolver.call(result, config[key], key, config);\n }\n break;\n case 'object':\n result[key] = resolveWith(config[key], resolver);\n break;\n case 'boolean':\n if (resolver) result[key] = config[key];\n break;\n }\n }\n return result;\n}\nfunction parse(newConfig, gestureKey, _config = {}) {\n const _ref = newConfig,\n {\n target,\n eventOptions,\n window,\n enabled,\n transform\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n _config.shared = resolveWith({\n target,\n eventOptions,\n window,\n enabled,\n transform\n }, sharedConfigResolver);\n if (gestureKey) {\n const resolver = ConfigResolverMap.get(gestureKey);\n _config[gestureKey] = resolveWith(_objectSpread2({\n shared: _config.shared\n }, rest), resolver);\n } else {\n for (const key in rest) {\n const resolver = ConfigResolverMap.get(key);\n if (resolver) {\n _config[key] = resolveWith(_objectSpread2({\n shared: _config.shared\n }, rest[key]), resolver);\n } else if (process.env.NODE_ENV === 'development') {\n if (!['drag', 'pinch', 'scroll', 'wheel', 'move', 'hover'].includes(key)) {\n if (key === 'domTarget') {\n throw Error(`[@use-gesture]: \\`domTarget\\` option has been renamed to \\`target\\`.`);\n }\n console.warn(`[@use-gesture]: Unknown config key \\`${key}\\` was used. Please read the documentation for further information.`);\n }\n }\n }\n }\n return _config;\n}\n\nclass EventStore {\n constructor(ctrl, gestureKey) {\n _defineProperty(this, \"_listeners\", new Set());\n this._ctrl = ctrl;\n this._gestureKey = gestureKey;\n }\n add(element, device, action, handler, options) {\n const listeners = this._listeners;\n const type = toDomEventType(device, action);\n const _options = this._gestureKey ? this._ctrl.config[this._gestureKey].eventOptions : {};\n const eventOptions = _objectSpread2(_objectSpread2({}, _options), options);\n element.addEventListener(type, handler, eventOptions);\n const remove = () => {\n element.removeEventListener(type, handler, eventOptions);\n listeners.delete(remove);\n };\n listeners.add(remove);\n return remove;\n }\n clean() {\n this._listeners.forEach(remove => remove());\n this._listeners.clear();\n }\n}\n\nclass TimeoutStore {\n constructor() {\n _defineProperty(this, \"_timeouts\", new Map());\n }\n add(key, callback, ms = 140, ...args) {\n this.remove(key);\n this._timeouts.set(key, window.setTimeout(callback, ms, ...args));\n }\n remove(key) {\n const timeout = this._timeouts.get(key);\n if (timeout) window.clearTimeout(timeout);\n }\n clean() {\n this._timeouts.forEach(timeout => void window.clearTimeout(timeout));\n this._timeouts.clear();\n }\n}\n\nclass Controller {\n constructor(handlers) {\n _defineProperty(this, \"gestures\", new Set());\n _defineProperty(this, \"_targetEventStore\", new EventStore(this));\n _defineProperty(this, \"gestureEventStores\", {});\n _defineProperty(this, \"gestureTimeoutStores\", {});\n _defineProperty(this, \"handlers\", {});\n _defineProperty(this, \"config\", {});\n _defineProperty(this, \"pointerIds\", new Set());\n _defineProperty(this, \"touchIds\", new Set());\n _defineProperty(this, \"state\", {\n shared: {\n shiftKey: false,\n metaKey: false,\n ctrlKey: false,\n altKey: false\n }\n });\n resolveGestures(this, handlers);\n }\n setEventIds(event) {\n if (isTouch(event)) {\n this.touchIds = new Set(touchIds(event));\n return this.touchIds;\n } else if ('pointerId' in event) {\n if (event.type === 'pointerup' || event.type === 'pointercancel') this.pointerIds.delete(event.pointerId);else if (event.type === 'pointerdown') this.pointerIds.add(event.pointerId);\n return this.pointerIds;\n }\n }\n applyHandlers(handlers, nativeHandlers) {\n this.handlers = handlers;\n this.nativeHandlers = nativeHandlers;\n }\n applyConfig(config, gestureKey) {\n this.config = parse(config, gestureKey, this.config);\n }\n clean() {\n this._targetEventStore.clean();\n for (const key of this.gestures) {\n this.gestureEventStores[key].clean();\n this.gestureTimeoutStores[key].clean();\n }\n }\n effect() {\n if (this.config.shared.target) this.bind();\n return () => this._targetEventStore.clean();\n }\n bind(...args) {\n const sharedConfig = this.config.shared;\n const props = {};\n let target;\n if (sharedConfig.target) {\n target = sharedConfig.target();\n if (!target) return;\n }\n if (sharedConfig.enabled) {\n for (const gestureKey of this.gestures) {\n const gestureConfig = this.config[gestureKey];\n const bindFunction = bindToProps(props, gestureConfig.eventOptions, !!target);\n if (gestureConfig.enabled) {\n const Engine = EngineMap.get(gestureKey);\n new Engine(this, args, gestureKey).bind(bindFunction);\n }\n }\n const nativeBindFunction = bindToProps(props, sharedConfig.eventOptions, !!target);\n for (const eventKey in this.nativeHandlers) {\n nativeBindFunction(eventKey, '', event => this.nativeHandlers[eventKey](_objectSpread2(_objectSpread2({}, this.state.shared), {}, {\n event,\n args\n })), undefined, true);\n }\n }\n for (const handlerProp in props) {\n props[handlerProp] = chain(...props[handlerProp]);\n }\n if (!target) return props;\n for (const handlerProp in props) {\n const {\n device,\n capture,\n passive\n } = parseProp(handlerProp);\n this._targetEventStore.add(target, device, '', props[handlerProp], {\n capture,\n passive\n });\n }\n }\n}\nfunction setupGesture(ctrl, gestureKey) {\n ctrl.gestures.add(gestureKey);\n ctrl.gestureEventStores[gestureKey] = new EventStore(ctrl, gestureKey);\n ctrl.gestureTimeoutStores[gestureKey] = new TimeoutStore();\n}\nfunction resolveGestures(ctrl, internalHandlers) {\n if (internalHandlers.drag) setupGesture(ctrl, 'drag');\n if (internalHandlers.wheel) setupGesture(ctrl, 'wheel');\n if (internalHandlers.scroll) setupGesture(ctrl, 'scroll');\n if (internalHandlers.move) setupGesture(ctrl, 'move');\n if (internalHandlers.pinch) setupGesture(ctrl, 'pinch');\n if (internalHandlers.hover) setupGesture(ctrl, 'hover');\n}\nconst bindToProps = (props, eventOptions, withPassiveOption) => (device, action, handler, options = {}, isNative = false) => {\n var _options$capture, _options$passive;\n const capture = (_options$capture = options.capture) !== null && _options$capture !== void 0 ? _options$capture : eventOptions.capture;\n const passive = (_options$passive = options.passive) !== null && _options$passive !== void 0 ? _options$passive : eventOptions.passive;\n let handlerProp = isNative ? device : toHandlerProp(device, action, capture);\n if (withPassiveOption && passive) handlerProp += 'Passive';\n props[handlerProp] = props[handlerProp] || [];\n props[handlerProp].push(handler);\n};\n\nconst RE_NOT_NATIVE = /^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;\nfunction sortHandlers(_handlers) {\n const native = {};\n const handlers = {};\n const actions = new Set();\n for (let key in _handlers) {\n if (RE_NOT_NATIVE.test(key)) {\n actions.add(RegExp.lastMatch);\n handlers[key] = _handlers[key];\n } else {\n native[key] = _handlers[key];\n }\n }\n return [handlers, native, actions];\n}\nfunction registerGesture(actions, handlers, handlerKey, key, internalHandlers, config) {\n if (!actions.has(handlerKey)) return;\n if (!EngineMap.has(key)) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(`[@use-gesture]: You've created a custom handler that that uses the \\`${key}\\` gesture but isn't properly configured.\\n\\nPlease add \\`${key}Action\\` when creating your handler.`);\n }\n return;\n }\n const startKey = handlerKey + 'Start';\n const endKey = handlerKey + 'End';\n const fn = state => {\n let memo = undefined;\n if (state.first && startKey in handlers) handlers[startKey](state);\n if (handlerKey in handlers) memo = handlers[handlerKey](state);\n if (state.last && endKey in handlers) handlers[endKey](state);\n return memo;\n };\n internalHandlers[key] = fn;\n config[key] = config[key] || {};\n}\nfunction parseMergedHandlers(mergedHandlers, mergedConfig) {\n const [handlers, nativeHandlers, actions] = sortHandlers(mergedHandlers);\n const internalHandlers = {};\n registerGesture(actions, handlers, 'onDrag', 'drag', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onWheel', 'wheel', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onScroll', 'scroll', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onPinch', 'pinch', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onMove', 'move', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onHover', 'hover', internalHandlers, mergedConfig);\n return {\n handlers: internalHandlers,\n config: mergedConfig,\n nativeHandlers\n };\n}\n\nexport { Controller, parseMergedHandlers };\n","import { registerAction, dragAction, pinchAction, wheelAction, scrollAction, moveAction, hoverAction } from '@use-gesture/core/actions';\nexport * from '@use-gesture/core/actions';\nimport React from 'react';\nimport { Controller, parseMergedHandlers } from '@use-gesture/core';\nexport * from '@use-gesture/core/utils';\nexport * from '@use-gesture/core/types';\n\nfunction useRecognizers(handlers, config = {}, gestureKey, nativeHandlers) {\n const ctrl = React.useMemo(() => new Controller(handlers), []);\n ctrl.applyHandlers(handlers, nativeHandlers);\n ctrl.applyConfig(config, gestureKey);\n React.useEffect(ctrl.effect.bind(ctrl));\n React.useEffect(() => {\n return ctrl.clean.bind(ctrl);\n }, []);\n if (config.target === undefined) {\n return ctrl.bind.bind(ctrl);\n }\n return undefined;\n}\n\nfunction useDrag(handler, config) {\n registerAction(dragAction);\n return useRecognizers({\n drag: handler\n }, config || {}, 'drag');\n}\n\nfunction usePinch(handler, config) {\n registerAction(pinchAction);\n return useRecognizers({\n pinch: handler\n }, config || {}, 'pinch');\n}\n\nfunction useWheel(handler, config) {\n registerAction(wheelAction);\n return useRecognizers({\n wheel: handler\n }, config || {}, 'wheel');\n}\n\nfunction useScroll(handler, config) {\n registerAction(scrollAction);\n return useRecognizers({\n scroll: handler\n }, config || {}, 'scroll');\n}\n\nfunction useMove(handler, config) {\n registerAction(moveAction);\n return useRecognizers({\n move: handler\n }, config || {}, 'move');\n}\n\nfunction useHover(handler, config) {\n registerAction(hoverAction);\n return useRecognizers({\n hover: handler\n }, config || {}, 'hover');\n}\n\nfunction createUseGesture(actions) {\n actions.forEach(registerAction);\n return function useGesture(_handlers, _config) {\n const {\n handlers,\n nativeHandlers,\n config\n } = parseMergedHandlers(_handlers, _config || {});\n return useRecognizers(handlers, config, undefined, nativeHandlers);\n };\n}\n\nfunction useGesture(handlers, config) {\n const hook = createUseGesture([dragAction, pinchAction, scrollAction, wheelAction, moveAction, hoverAction]);\n return hook(handlers, config || {});\n}\n\nexport { createUseGesture, useDrag, useGesture, useHover, useMove, usePinch, useScroll, useWheel };\n","import classNames from 'classnames';\nimport React, { useState, useRef } from 'react';\nimport { useIsomorphicLayoutEffect, useUnmountedRef } from 'ahooks';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nimport Mask from '../mask';\nimport { useLockScroll } from '../../utils/use-lock-scroll';\nimport { renderToContainer } from '../../utils/render-to-container';\nimport { useSpring, animated } from '@react-spring/web';\nimport { withStopPropagation } from '../../utils/with-stop-propagation';\nimport { ShouldRender } from '../../utils/should-render';\nimport { defaultPopupBaseProps } from './popup-base-props';\nimport { useInnerVisible } from '../../utils/use-inner-visible';\nimport { useConfig } from '../config-provider';\nimport { useDrag } from '@use-gesture/react';\nconst classPrefix = `adm-popup`;\nconst defaultProps = Object.assign(Object.assign({}, defaultPopupBaseProps), {\n closeOnSwipe: false,\n position: 'bottom'\n});\nexport const Popup = p => {\n const {\n locale,\n popup: componentConfig = {}\n } = useConfig();\n const props = mergeProps(defaultProps, componentConfig, p);\n const bodyCls = classNames(`${classPrefix}-body`, props.bodyClassName, `${classPrefix}-body-position-${props.position}`);\n const [active, setActive] = useState(props.visible);\n const ref = useRef(null);\n useLockScroll(ref, props.disableBodyScroll && active ? 'strict' : false);\n useIsomorphicLayoutEffect(() => {\n if (props.visible) {\n setActive(true);\n }\n }, [props.visible]);\n const unmountedRef = useUnmountedRef();\n const {\n percent\n } = useSpring({\n percent: props.visible ? 0 : 100,\n config: {\n precision: 0.1,\n mass: 0.4,\n tension: 300,\n friction: 30\n },\n onRest: () => {\n var _a, _b;\n if (unmountedRef.current) return;\n setActive(props.visible);\n if (props.visible) {\n (_a = props.afterShow) === null || _a === void 0 ? void 0 : _a.call(props);\n } else {\n (_b = props.afterClose) === null || _b === void 0 ? void 0 : _b.call(props);\n }\n }\n });\n const bind = useDrag(({\n swipe: [, swipeY]\n }) => {\n var _a;\n if (!props.closeOnSwipe) return;\n if (swipeY === 1 && props.position === 'bottom' || swipeY === -1 && props.position === 'top') {\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n }, {\n axis: 'y',\n enabled: ['top', 'bottom'].includes(props.position)\n });\n const maskVisible = useInnerVisible(active && props.visible);\n const node = withStopPropagation(props.stopPropagation, withNativeProps(props, React.createElement(\"div\", Object.assign({\n className: classPrefix,\n onClick: props.onClick,\n style: {\n display: active ? undefined : 'none',\n touchAction: ['top', 'bottom'].includes(props.position) ? 'none' : 'auto'\n }\n }, bind()), props.mask && React.createElement(Mask, {\n visible: maskVisible,\n forceRender: props.forceRender,\n destroyOnClose: props.destroyOnClose,\n onMaskClick: e => {\n var _a, _b;\n (_a = props.onMaskClick) === null || _a === void 0 ? void 0 : _a.call(props, e);\n if (props.closeOnMaskClick) {\n (_b = props.onClose) === null || _b === void 0 ? void 0 : _b.call(props);\n }\n },\n className: props.maskClassName,\n style: props.maskStyle,\n disableBodyScroll: false,\n stopPropagation: props.stopPropagation\n }), React.createElement(animated.div, {\n className: bodyCls,\n style: Object.assign(Object.assign({}, props.bodyStyle), {\n pointerEvents: percent.to(v => v === 0 ? 'unset' : 'none'),\n transform: percent.to(v => {\n if (props.position === 'bottom') {\n return `translate(0, ${v}%)`;\n }\n if (props.position === 'top') {\n return `translate(0, -${v}%)`;\n }\n if (props.position === 'left') {\n return `translate(-${v}%, 0)`;\n }\n if (props.position === 'right') {\n return `translate(${v}%, 0)`;\n }\n return 'none';\n })\n }),\n ref: ref\n }, props.showCloseButton && React.createElement(\"a\", {\n className: classNames(`${classPrefix}-close-icon`, 'adm-plain-anchor'),\n onClick: () => {\n var _a;\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n },\n role: 'button',\n \"aria-label\": locale.common.close\n }, props.closeIcon), props.children))));\n return React.createElement(ShouldRender, {\n active: active,\n forceRender: props.forceRender,\n destroyOnClose: props.destroyOnClose\n }, renderToContainer(props.getContainer, node));\n};","import { useState } from 'react';\nimport { useIsomorphicLayoutEffect } from 'ahooks';\nexport function useInnerVisible(outerVisible) {\n const [innerVisible, setInnerVisible] = useState(outerVisible);\n useIsomorphicLayoutEffect(() => {\n setInnerVisible(outerVisible);\n }, [outerVisible]);\n return innerVisible;\n}","import React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport classNames from 'classnames';\nconst classPrefix = 'adm-safe-area';\nexport const SafeArea = props => {\n return withNativeProps(props, React.createElement(\"div\", {\n className: classNames(classPrefix, `${classPrefix}-position-${props.position}`)\n }));\n};","import { __awaiter } from \"tslib\";\nimport * as ReactDOM from 'react-dom';\n// Let compiler not to search module usage\nconst fullClone = Object.assign({}, ReactDOM);\nconst {\n version,\n render: reactRender,\n unmountComponentAtNode\n} = fullClone;\nlet createRoot;\ntry {\n const mainVersion = Number((version || '').split('.')[0]);\n if (mainVersion >= 18 && fullClone.createRoot) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n createRoot = fullClone.createRoot;\n }\n} catch (e) {\n // Do nothing;\n}\nfunction toggleWarning(skip) {\n const {\n __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\n } = fullClone;\n if (__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED && typeof __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED === 'object') {\n __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.usingClientEntryPoint = skip;\n }\n}\nconst MARK = '__antd_mobile_root__';\nfunction legacyRender(node, container) {\n reactRender(node, container);\n}\nfunction concurrentRender(node, container) {\n toggleWarning(true);\n const root = container[MARK] || createRoot(container);\n toggleWarning(false);\n root.render(node);\n container[MARK] = root;\n}\nexport function render(node, container) {\n if (createRoot) {\n concurrentRender(node, container);\n return;\n }\n legacyRender(node, container);\n}\n// ========================== Unmount =========================\nfunction legacyUnmount(container) {\n return unmountComponentAtNode(container);\n}\nfunction concurrentUnmount(container) {\n return __awaiter(this, void 0, void 0, function* () {\n // Delay to unmount to avoid React 18 sync warning\n return Promise.resolve().then(() => {\n var _a;\n (_a = container[MARK]) === null || _a === void 0 ? void 0 : _a.unmount();\n delete container[MARK];\n });\n });\n}\nexport function unmount(container) {\n if (createRoot) {\n return concurrentUnmount(container);\n }\n return legacyUnmount(container);\n}","import { render, unmount as reactUnmount } from './render';\nexport function renderToBody(element) {\n const container = document.createElement('div');\n document.body.appendChild(container);\n function unmount() {\n const unmountResult = reactUnmount(container);\n if (unmountResult && container.parentNode) {\n container.parentNode.removeChild(container);\n }\n }\n render(element, container);\n return unmount;\n}","import React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nconst classPrefix = 'adm-auto-center';\nexport const AutoCenter = props => withNativeProps(props, React.createElement(\"div\", {\n className: classPrefix\n}, React.createElement(\"div\", {\n className: `${classPrefix}-content`\n}, props.children)));","import React, { memo } from 'react';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { withNativeProps } from '../../utils/native-props';\nimport classNames from 'classnames';\nconst classPrefix = `adm-dot-loading`;\nconst colorRecord = {\n default: 'var(--adm-color-weak)',\n primary: 'var(--adm-color-primary)',\n white: 'var(--adm-color-white)'\n};\nconst defaultProps = {\n color: 'default'\n};\nexport const DotLoading = memo(p => {\n var _a;\n const props = mergeProps(defaultProps, p);\n return withNativeProps(props, React.createElement(\"div\", {\n style: {\n color: (_a = colorRecord[props.color]) !== null && _a !== void 0 ? _a : props.color\n },\n className: classNames('adm-loading', classPrefix)\n }, React.createElement(\"svg\", {\n height: '1em',\n viewBox: '0 0 100 40',\n style: {\n verticalAlign: '-0.125em'\n }\n }, React.createElement(\"g\", {\n stroke: 'none',\n strokeWidth: '1',\n fill: 'none',\n fillRule: 'evenodd'\n }, React.createElement(\"g\", {\n transform: 'translate(-100.000000, -71.000000)'\n }, React.createElement(\"g\", {\n transform: 'translate(95.000000, 71.000000)'\n }, React.createElement(\"g\", {\n transform: 'translate(5.000000, 0.000000)'\n }, [0, 1, 2].map(i => React.createElement(\"rect\", {\n key: i,\n fill: 'currentColor',\n x: 20 + i * 26,\n y: '16',\n width: '8',\n height: '8',\n rx: '2'\n }, React.createElement(\"animate\", {\n attributeName: 'y',\n from: '16',\n to: '16',\n dur: '2s',\n begin: `${i * 0.2}s`,\n repeatCount: 'indefinite',\n values: '16; 6; 26; 16; 16',\n keyTimes: '0; 0.1; 0.3; 0.4; 1'\n }))))))))));\n});","import { __awaiter } from \"tslib\";\nimport React, { forwardRef, useImperativeHandle, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport DotLoading from '../dot-loading';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { withNativeProps } from '../../utils/native-props';\nimport { isPromise } from '../../utils/validate';\nconst classPrefix = `adm-button`;\nconst defaultProps = {\n color: 'default',\n fill: 'solid',\n block: false,\n loading: false,\n loadingIcon: React.createElement(DotLoading, {\n color: 'currentColor'\n }),\n type: 'button',\n shape: 'default',\n size: 'middle'\n};\nexport const Button = forwardRef((p, ref) => {\n const props = mergeProps(defaultProps, p);\n const [innerLoading, setInnerLoading] = useState(false);\n const nativeButtonRef = useRef(null);\n const loading = props.loading === 'auto' ? innerLoading : props.loading;\n const disabled = props.disabled || loading;\n useImperativeHandle(ref, () => ({\n get nativeElement() {\n return nativeButtonRef.current;\n }\n }));\n const handleClick = e => __awaiter(void 0, void 0, void 0, function* () {\n if (!props.onClick) return;\n const promise = props.onClick(e);\n if (isPromise(promise)) {\n try {\n setInnerLoading(true);\n yield promise;\n setInnerLoading(false);\n } catch (e) {\n setInnerLoading(false);\n throw e;\n }\n }\n });\n return withNativeProps(props, React.createElement(\"button\", {\n ref: nativeButtonRef,\n type: props.type,\n onClick: handleClick,\n className: classNames(classPrefix, {\n [`${classPrefix}-${props.color}`]: props.color,\n [`${classPrefix}-block`]: props.block,\n [`${classPrefix}-disabled`]: disabled,\n [`${classPrefix}-fill-outline`]: props.fill === 'outline',\n [`${classPrefix}-fill-none`]: props.fill === 'none',\n [`${classPrefix}-mini`]: props.size === 'mini',\n [`${classPrefix}-small`]: props.size === 'small',\n [`${classPrefix}-large`]: props.size === 'large',\n [`${classPrefix}-loading`]: loading\n }, `${classPrefix}-shape-${props.shape}`),\n disabled: disabled,\n onMouseDown: props.onMouseDown,\n onMouseUp: props.onMouseUp,\n onTouchStart: props.onTouchStart,\n onTouchEnd: props.onTouchEnd\n }, loading ? React.createElement(\"div\", {\n className: `${classPrefix}-loading-wrapper`\n }, props.loadingIcon, props.loadingText) : React.createElement(\"span\", null, props.children)));\n});","import { canUseDom } from './can-use-dom';\nexport function isDef(val) {\n return val !== undefined && val !== null;\n}\nexport function isObject(val) {\n return val !== null && typeof val === 'object';\n}\nexport function isPromise(obj) {\n return !!obj && typeof obj === 'object' && typeof obj.then === 'function';\n}\nexport function isDate(val) {\n return Object.prototype.toString.call(val) === '[object Date]' && !Number.isNaN(val.getTime());\n}\nexport function isMobile(value) {\n value = value.replace(/[^-|\\d]/g, '');\n return /^((\\+86)|(86))?(1)\\d{10}$/.test(value) || /^0[0-9-]{10,13}$/.test(value);\n}\nexport function isNumeric(val) {\n return typeof val === 'number' || /^\\d+(\\.\\d+)?$/.test(val);\n}\nexport function isAndroid() {\n return canUseDom ? /android/.test(navigator.userAgent.toLowerCase()) : false;\n}\nexport function isIOS() {\n return canUseDom ? /ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase()) : false;\n}","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isoWeek=t()}(this,(function(){\"use strict\";var e=\"day\";return function(t,i,s){var a=function(t){return t.add(4-t.isoWeekday(),e)},d=i.prototype;d.isoWeekYear=function(){return a(this).year()},d.isoWeek=function(t){if(!this.$utils().u(t))return this.add(7*(t-this.isoWeek()),e);var i,d,n,o,r=a(this),u=(i=this.isoWeekYear(),d=this.$u,n=(d?s.utc:s)().year(i).startOf(\"year\"),o=4-n.isoWeekday(),n.isoWeekday()>4&&(o+=7),n.add(o,e));return r.diff(u,\"week\")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return\"isoweek\"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf(\"day\"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf(\"day\"):n.bind(this)(e,t)}}}));","import { useRef } from 'react';\nimport { useMemoizedFn, useUpdate } from 'ahooks';\nexport function usePropsValue(options) {\n const {\n value,\n defaultValue,\n onChange\n } = options;\n const update = useUpdate();\n const stateRef = useRef(value !== undefined ? value : defaultValue);\n if (value !== undefined) {\n stateRef.current = value;\n }\n const setState = useMemoizedFn((v, forceTrigger = false) => {\n // `forceTrigger` means trigger `onChange` even if `v` is the same as `stateRef.current`\n const nextValue = typeof v === 'function' ? v(stateRef.current) : v;\n if (!forceTrigger && nextValue === stateRef.current) return;\n stateRef.current = nextValue;\n update();\n return onChange === null || onChange === void 0 ? void 0 : onChange(nextValue);\n });\n return [stateRef.current, setState];\n}","import { __read } from \"tslib\";\nimport { useCallback, useState } from 'react';\nvar useUpdate = function () {\n var _a = __read(useState({}), 2),\n setState = _a[1];\n return useCallback(function () {\n return setState({});\n }, []);\n};\nexport default useUpdate;","export const isDev = process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test';","import { isDev } from './is-dev';\nexport function devWarning(component, message) {\n if (isDev) {\n console.warn(`[antd-mobile: ${component}] ${message}`);\n }\n}\nexport function devError(component, message) {\n if (isDev) {\n console.error(`[antd-mobile: ${component}] ${message}`);\n }\n}\nlet infoBox;\nexport function devPrint(...message) {\n if (isDev) {\n if (!infoBox) {\n infoBox = document.createElement('textarea');\n document.body.append(infoBox);\n infoBox.style.position = 'fixed';\n infoBox.style.top = '0';\n infoBox.style.left = '0';\n infoBox.style.width = '100vw';\n infoBox.style.height = '100vh';\n infoBox.style.zIndex = '999999';\n infoBox.style.fontSize = '12px';\n // infoBox.style.opacity = '0.85'\n infoBox.style.pointerEvents = 'none';\n infoBox.style.background = 'transparent';\n infoBox.style.textShadow = '-1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 1px 1px 0 #FFF';\n }\n infoBox.value = `${infoBox.value}\\n${message.join(' ')}`.trim();\n infoBox.scrollTop = infoBox.scrollHeight;\n }\n}","import React from 'react';\nimport classNames from 'classnames';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nconst classPrefix = `adm-divider`;\nconst defaultProps = {\n contentPosition: 'center',\n direction: 'horizontal'\n};\nexport const Divider = p => {\n const props = mergeProps(defaultProps, p);\n return withNativeProps(props, React.createElement(\"div\", {\n className: classNames(classPrefix, `${classPrefix}-${props.direction}`, `${classPrefix}-${props.contentPosition}`)\n }, props.children && React.createElement(\"div\", {\n className: `${classPrefix}-content`\n }, props.children)));\n};","export function bound(position, min, max) {\n let ret = position;\n if (min !== undefined) {\n ret = Math.max(position, min);\n }\n if (max !== undefined) {\n ret = Math.min(ret, max);\n }\n return ret;\n}","import { bound } from './bound';\nexport function rubberband(distance, dimension, constant) {\n return distance * dimension * constant / (dimension + constant * distance);\n}\nexport function rubberbandIfOutOfBounds(position, min, max, dimension, constant = 0.15) {\n if (constant === 0) return bound(position, min, max);\n if (position < min) return -rubberband(min - position, dimension, constant) + min;\n if (position > max) return +rubberband(position - max, dimension, constant) + max;\n return position;\n}","import React, { memo, useRef } from 'react';\nimport { useSpring, animated } from '@react-spring/web';\nimport { useDrag, useWheel } from '@use-gesture/react';\nimport { rubberbandIfOutOfBounds } from '../../utils/rubberband';\nimport { bound } from '../../utils/bound';\nimport isEqual from 'react-fast-compare';\nimport { useIsomorphicLayoutEffect } from 'ahooks';\nimport { measureCSSLength } from '../../utils/measure-css-length';\nimport { supportsPassive } from '../../utils/supports-passive';\nimport classNames from 'classnames';\nconst classPrefix = `adm-picker-view`;\nexport const Wheel = memo(props => {\n const {\n value,\n column,\n renderLabel\n } = props;\n function onSelect(val) {\n props.onSelect(val, props.index);\n }\n const [{\n y\n }, api] = useSpring(() => ({\n from: {\n y: 0\n },\n config: {\n tension: 400,\n mass: 0.8\n }\n }));\n const draggingRef = useRef(false);\n const rootRef = useRef(null);\n const itemHeightMeasureRef = useRef(null);\n const itemHeight = useRef(34);\n useIsomorphicLayoutEffect(() => {\n const itemHeightMeasure = itemHeightMeasureRef.current;\n if (!itemHeightMeasure) return;\n itemHeight.current = measureCSSLength(window.getComputedStyle(itemHeightMeasure).getPropertyValue('height'));\n });\n useIsomorphicLayoutEffect(() => {\n if (draggingRef.current) return;\n if (value === null) return;\n const targetIndex = column.findIndex(item => item.value === value);\n if (targetIndex < 0) return;\n const finalPosition = targetIndex * -itemHeight.current;\n api.start({\n y: finalPosition,\n immediate: y.goal !== finalPosition\n });\n }, [value, column]);\n useIsomorphicLayoutEffect(() => {\n if (column.length === 0) {\n if (value !== null) {\n onSelect(null);\n }\n } else {\n if (!column.some(item => item.value === value)) {\n const firstItem = column[0];\n onSelect(firstItem.value);\n }\n }\n }, [column, value]);\n function scrollSelect(index) {\n const finalPosition = index * -itemHeight.current;\n api.start({\n y: finalPosition\n });\n const item = column[index];\n if (!item) return;\n onSelect(item.value);\n }\n const handleGestureState = state => {\n const {\n direction: [, direction],\n distance: [, distance],\n velocity: [, velocity],\n offset: [, offset],\n last\n } = state;\n return {\n direction,\n distance,\n velocity,\n offset,\n last\n };\n };\n const handleDrag = state => {\n draggingRef.current = true;\n const min = -((column.length - 1) * itemHeight.current);\n const max = 0;\n const {\n direction,\n last,\n velocity,\n offset\n } = handleGestureState(state);\n if (last) {\n draggingRef.current = false;\n const position = offset + velocity * direction * 50;\n const boundNum = bound(position, min, max);\n const targetIndex = -Math.round(boundNum / itemHeight.current);\n scrollSelect(targetIndex);\n } else {\n const position = offset;\n api.start({\n y: rubberbandIfOutOfBounds(position, min, max, itemHeight.current * 50, 0.2)\n });\n }\n };\n const handleWheel = state => {\n draggingRef.current = true;\n const min = -((column.length - 1) * itemHeight.current);\n const max = 0;\n const {\n direction,\n last,\n velocity,\n distance\n } = handleGestureState(state);\n const whellDir = -direction; // 取反\n const scrollY = y.get();\n if (last) {\n draggingRef.current = false;\n const speed = velocity * whellDir * 50;\n const position = scrollY + distance * whellDir + speed;\n const boundNum = bound(position, min, max);\n const targetIndex = -Math.round(boundNum / itemHeight.current);\n scrollSelect(targetIndex);\n } else {\n const position = scrollY + distance * whellDir;\n api.start({\n y: rubberbandIfOutOfBounds(position, min, max, itemHeight.current * 50, 0.2)\n });\n }\n };\n useDrag(state => {\n state.event.stopPropagation();\n handleDrag(state);\n }, {\n axis: 'y',\n from: () => [0, y.get()],\n filterTaps: true,\n pointer: {\n touch: true\n },\n target: rootRef\n });\n useWheel(state => {\n state.event.stopPropagation();\n handleWheel(state);\n }, {\n target: props.mouseWheel ? rootRef : undefined,\n axis: 'y',\n from: () => [0, y.get()],\n preventDefault: true,\n eventOptions: supportsPassive ? {\n passive: false\n } : undefined\n });\n let selectedIndex = null;\n function renderAccessible() {\n if (selectedIndex === null) {\n return null;\n }\n const current = column[selectedIndex];\n const previousIndex = selectedIndex - 1;\n const nextIndex = selectedIndex + 1;\n const previous = column[previousIndex];\n const next = column[nextIndex];\n return React.createElement(\"div\", {\n className: `${classPrefix}-column-accessible`\n }, React.createElement(\"div\", {\n className: `${classPrefix}-column-accessible-current`,\n role: 'button',\n \"aria-label\": current ? `当前选择的是:${current.label}` : '当前未选择'\n }, \"-\"), React.createElement(\"div\", {\n className: `${classPrefix}-column-accessible-button`,\n onClick: () => {\n if (!previous) return;\n scrollSelect(previousIndex);\n },\n role: previous ? 'button' : 'text',\n \"aria-label\": !previous ? '没有上一项' : `选择上一项:${previous.label}`\n }, \"-\"), React.createElement(\"div\", {\n className: `${classPrefix}-column-accessible-button`,\n onClick: () => {\n if (!next) return;\n scrollSelect(nextIndex);\n },\n role: next ? 'button' : 'text',\n \"aria-label\": !next ? '没有下一项' : `选择下一项:${next.label}`\n }, \"-\"));\n }\n return React.createElement(\"div\", {\n className: `${classPrefix}-column`\n }, React.createElement(\"div\", {\n className: `${classPrefix}-item-height-measure`,\n ref: itemHeightMeasureRef\n }), React.createElement(animated.div, {\n ref: rootRef,\n style: {\n translateY: y\n },\n className: `${classPrefix}-column-wheel`,\n \"aria-hidden\": true\n }, column.map((item, index) => {\n var _a;\n const selected = props.value === item.value;\n if (selected) selectedIndex = index;\n function handleClick() {\n draggingRef.current = false;\n scrollSelect(index);\n }\n return React.createElement(\"div\", {\n key: (_a = item.key) !== null && _a !== void 0 ? _a : item.value,\n \"data-selected\": selected,\n className: classNames(`${classPrefix}-column-item`, {\n [`${classPrefix}-column-item-active`]: selected\n }),\n onClick: handleClick,\n \"aria-hidden\": !selected,\n \"aria-label\": selected ? 'active' : ''\n }, React.createElement(\"div\", {\n className: `${classPrefix}-column-item-label`\n }, renderLabel(item)));\n })), renderAccessible());\n}, (prev, next) => {\n if (prev.index !== next.index) return false;\n if (prev.value !== next.value) return false;\n if (prev.onSelect !== next.onSelect) return false;\n if (prev.renderLabel !== next.renderLabel) return false;\n if (prev.mouseWheel !== next.mouseWheel) return false;\n if (!isEqual(prev.column, next.column)) return false;\n return true;\n});\nWheel.displayName = 'Wheel';","import { isDev } from './is-dev';\nimport { devError } from './dev-log';\nexport function measureCSSLength(raw) {\n if (raw === null || raw === undefined || raw === '') {\n if (isDev) {\n devError('Global', 'Something went wrong when calculating CSS length. Please report an issue at https://github.com/ant-design/ant-design-mobile/issues/new/choose');\n }\n return 0;\n }\n const withUnit = raw.trim();\n if (withUnit.endsWith('px')) {\n return parseFloat(withUnit);\n } else if (withUnit.endsWith('rem')) {\n return parseFloat(withUnit) * parseFloat(window.getComputedStyle(document.documentElement).fontSize);\n } else if (withUnit.endsWith('vw')) {\n return parseFloat(withUnit) * window.innerWidth / 100;\n } else {\n if (isDev) {\n devError('Global', `You are using a not supported CSS unit in \\`${raw}\\`. Only \\`px\\` \\`rem\\` and \\`vw\\` are supported.`);\n }\n return 0;\n }\n}","export function withCache(generate) {\n let cache = null;\n return () => {\n if (cache === null) {\n cache = generate();\n }\n return cache;\n };\n}","import { useMemo } from 'react';\nimport { withCache } from '../../utils/with-cache';\nexport function generateColumnsExtend(rawColumns, val) {\n const columns = withCache(() => {\n const c = typeof rawColumns === 'function' ? rawColumns(val) : rawColumns;\n return c.map(column => column.map(item => typeof item === 'string' ? {\n label: item,\n value: item\n } : item));\n });\n const items = withCache(() => {\n return val.map((v, index) => {\n var _a;\n const column = columns()[index];\n if (!column) return null;\n return (_a = column.find(item => item.value === v)) !== null && _a !== void 0 ? _a : null;\n });\n });\n const extend = {\n get columns() {\n return columns();\n },\n get items() {\n return items();\n }\n };\n return extend;\n}\nexport function useColumnsExtend(rawColumns, value) {\n return useMemo(() => generateColumnsExtend(rawColumns, value), [rawColumns, value]);\n}","export const defaultRenderLabel = item => item.label;","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\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\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\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\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n function useSyncExternalStore$2(subscribe, getSnapshot) {\n didWarnOld18Alpha ||\n void 0 === React.startTransition ||\n ((didWarnOld18Alpha = !0),\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.\"\n ));\n var value = getSnapshot();\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n objectIs(value, cachedValue) ||\n (console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n ),\n (didWarnUncachedGetSnapshot = !0));\n }\n cachedValue = useState({\n inst: { value: value, getSnapshot: getSnapshot }\n });\n var inst = cachedValue[0].inst,\n forceUpdate = cachedValue[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n }\n function checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n }\n function useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue,\n didWarnOld18Alpha = !1,\n didWarnUncachedGetSnapshot = !1,\n shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\n exports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","import { Globals } from '@react-spring/web';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\nlet reduced = false;\nconst subscribers = new Set();\nfunction notify() {\n subscribers.forEach(subscriber => {\n subscriber();\n });\n}\nexport function reduceMotion() {\n reduced = true;\n notify();\n Globals.assign({\n skipAnimation: true\n });\n}\nexport function restoreMotion() {\n reduced = false;\n notify();\n Globals.assign({\n skipAnimation: false\n });\n}\nexport function isMotionReduced() {\n return reduced;\n}\nfunction subscribe(onStoreChange) {\n subscribers.add(onStoreChange);\n return () => {\n subscribers.delete(onStoreChange);\n };\n}\nexport function useMotionReduced() {\n return useSyncExternalStore(subscribe, isMotionReduced, isMotionReduced);\n}","import React, { memo } from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { useSpring, animated } from '@react-spring/web';\nimport { useMotionReduced } from '../../utils/reduce-and-restore-motion';\nconst classPrefix = 'adm-spin-loading';\nconst colorRecord = {\n default: 'var(--adm-color-weak)',\n primary: 'var(--adm-color-primary)',\n white: 'var(--adm-color-white)'\n};\nconst defaultProps = {\n color: 'default'\n};\nconst circumference = 15 * 3.14159265358979 * 2;\nexport const SpinLoading = memo(p => {\n var _a;\n const props = mergeProps(defaultProps, p);\n const motionReduced = useMotionReduced();\n const {\n percent\n } = useSpring({\n cancel: motionReduced,\n loop: {\n reverse: true\n },\n from: {\n percent: 80\n },\n to: {\n percent: 30\n },\n config: {\n duration: 1200\n }\n });\n return withNativeProps(props, React.createElement(animated.div, {\n className: classPrefix,\n style: {\n '--color': (_a = colorRecord[props.color]) !== null && _a !== void 0 ? _a : props.color,\n '--percent': percent\n }\n }, React.createElement(\"svg\", {\n className: `${classPrefix}-svg`,\n viewBox: '0 0 32 32'\n }, React.createElement(animated.circle, {\n className: `${classPrefix}-fill`,\n fill: 'transparent',\n strokeWidth: '2',\n strokeDasharray: circumference,\n strokeDashoffset: percent,\n strokeLinecap: 'square',\n r: 15,\n cx: 16,\n cy: 16\n }))));\n});","import React, { memo, useCallback, useEffect, useState } from 'react';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { Wheel } from './wheel';\nimport { useColumnsExtend } from './columns-extend';\nimport { withNativeProps } from '../../utils/native-props';\nimport { useDebounceEffect } from 'ahooks';\nimport { defaultRenderLabel } from '../picker/picker-utils';\nimport SpinLoading from '../spin-loading';\nconst classPrefix = `adm-picker-view`;\nconst defaultProps = {\n defaultValue: [],\n renderLabel: defaultRenderLabel,\n mouseWheel: false,\n loadingContent: React.createElement(\"div\", {\n className: `${classPrefix}-loading-content`\n }, React.createElement(SpinLoading, null))\n};\nexport const PickerView = memo(p => {\n const props = mergeProps(defaultProps, p);\n const [innerValue, setInnerValue] = useState(props.value === undefined ? props.defaultValue : props.value);\n // Sync `value` to `innerValue`\n useEffect(() => {\n if (props.value === undefined) return; // Uncontrolled mode\n if (props.value === innerValue) return;\n setInnerValue(props.value);\n }, [props.value]);\n useEffect(() => {\n if (props.value === innerValue) return;\n const timeout = window.setTimeout(() => {\n if (props.value !== undefined && props.value !== innerValue) {\n setInnerValue(props.value);\n }\n }, 1000);\n return () => {\n window.clearTimeout(timeout);\n };\n }, [props.value, innerValue]);\n const extend = useColumnsExtend(props.columns, innerValue);\n const columns = extend.columns;\n useDebounceEffect(() => {\n var _a;\n if (props.value === innerValue) return;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, innerValue, extend);\n }, [innerValue], {\n wait: 0,\n leading: false,\n trailing: true\n });\n const handleSelect = useCallback((val, index) => {\n setInnerValue(prev => {\n const next = [...prev];\n next[index] = val;\n return next;\n });\n }, []);\n return withNativeProps(props, React.createElement(\"div\", {\n className: `${classPrefix}`\n }, props.loading ? props.loadingContent : React.createElement(React.Fragment, null, columns.map((column, index) => React.createElement(Wheel, {\n key: index,\n index: index,\n column: column,\n value: innerValue[index],\n onSelect: handleSelect,\n renderLabel: props.renderLabel,\n mouseWheel: props.mouseWheel\n })), React.createElement(\"div\", {\n className: `${classPrefix}-mask`\n }, React.createElement(\"div\", {\n className: `${classPrefix}-mask-top`\n }), React.createElement(\"div\", {\n className: `${classPrefix}-mask-middle`\n }), React.createElement(\"div\", {\n className: `${classPrefix}-mask-bottom`\n })))));\n});\nPickerView.displayName = 'PickerView';","import { __read } from \"tslib\";\nimport { useEffect, useState } from 'react';\nimport useDebounceFn from '../useDebounceFn';\nimport useUpdateEffect from '../useUpdateEffect';\nfunction useDebounceEffect(effect, deps, options) {\n var _a = __read(useState({}), 2),\n flag = _a[0],\n setFlag = _a[1];\n var run = useDebounceFn(function () {\n setFlag({});\n }, options).run;\n useEffect(function () {\n return run();\n }, deps);\n useUpdateEffect(effect, [flag]);\n}\nexport default useDebounceEffect;","import React, { useState, useEffect, forwardRef, useImperativeHandle, memo } from 'react';\nimport classNames from 'classnames';\nimport Popup from '../popup';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { withNativeProps } from '../../utils/native-props';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport PickerView from '../picker-view';\nimport { generateColumnsExtend, useColumnsExtend } from '../picker-view/columns-extend';\nimport { useConfig } from '../config-provider';\nimport { useMemoizedFn } from 'ahooks';\nimport SafeArea from '../safe-area';\nimport { defaultRenderLabel } from './picker-utils';\nconst classPrefix = `adm-picker`;\nconst defaultProps = {\n defaultValue: [],\n closeOnMaskClick: true,\n renderLabel: defaultRenderLabel,\n destroyOnClose: false,\n forceRender: false\n};\nexport const Picker = memo(forwardRef((p, ref) => {\n var _a;\n const {\n locale\n } = useConfig();\n const props = mergeProps(defaultProps, {\n confirmText: locale.common.confirm,\n cancelText: locale.common.cancel\n }, p);\n const [visible, setVisible] = usePropsValue({\n value: props.visible,\n defaultValue: false,\n onChange: v => {\n var _a;\n if (v === false) {\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n }\n });\n const actions = {\n toggle: () => {\n setVisible(v => !v);\n },\n open: () => {\n setVisible(true);\n },\n close: () => {\n setVisible(false);\n }\n };\n useImperativeHandle(ref, () => actions);\n const [value, setValue] = usePropsValue(Object.assign(Object.assign({}, props), {\n onChange: val => {\n var _a;\n const extend = generateColumnsExtend(props.columns, val);\n (_a = props.onConfirm) === null || _a === void 0 ? void 0 : _a.call(props, val, extend);\n }\n }));\n const extend = useColumnsExtend(props.columns, value);\n const [innerValue, setInnerValue] = useState(value);\n useEffect(() => {\n if (innerValue !== value) {\n setInnerValue(value);\n }\n }, [visible]);\n useEffect(() => {\n if (!visible) {\n setInnerValue(value);\n }\n }, [value]);\n const onChange = useMemoizedFn((val, ext) => {\n var _a;\n setInnerValue(val);\n if (visible) {\n (_a = props.onSelect) === null || _a === void 0 ? void 0 : _a.call(props, val, ext);\n }\n });\n const pickerElement = withNativeProps(props, React.createElement(\"div\", {\n className: classPrefix\n }, React.createElement(\"div\", {\n className: `${classPrefix}-header`\n }, React.createElement(\"a\", {\n role: 'button',\n className: `${classPrefix}-header-button`,\n onClick: () => {\n var _a;\n (_a = props.onCancel) === null || _a === void 0 ? void 0 : _a.call(props);\n setVisible(false);\n }\n }, props.cancelText), React.createElement(\"div\", {\n className: `${classPrefix}-header-title`\n }, props.title), React.createElement(\"a\", {\n role: 'button',\n className: classNames(`${classPrefix}-header-button`, props.loading && `${classPrefix}-header-button-disabled`),\n onClick: () => {\n if (props.loading) return;\n setValue(innerValue, true);\n setVisible(false);\n },\n \"aria-disabled\": props.loading\n }, props.confirmText)), React.createElement(\"div\", {\n className: `${classPrefix}-body`\n }, React.createElement(PickerView, {\n loading: props.loading,\n loadingContent: props.loadingContent,\n columns: props.columns,\n renderLabel: props.renderLabel,\n value: innerValue,\n mouseWheel: props.mouseWheel,\n onChange: onChange\n }))));\n const popupElement = React.createElement(Popup, {\n style: props.popupStyle,\n className: classNames(`${classPrefix}-popup`, props.popupClassName),\n visible: visible,\n position: 'bottom',\n onMaskClick: () => {\n var _a;\n if (!props.closeOnMaskClick) return;\n (_a = props.onCancel) === null || _a === void 0 ? void 0 : _a.call(props);\n setVisible(false);\n },\n getContainer: props.getContainer,\n destroyOnClose: props.destroyOnClose,\n afterShow: props.afterShow,\n afterClose: props.afterClose,\n onClick: props.onClick,\n forceRender: props.forceRender,\n stopPropagation: props.stopPropagation\n }, pickerElement, React.createElement(SafeArea, {\n position: 'bottom'\n }));\n return React.createElement(React.Fragment, null, popupElement, (_a = props.children) === null || _a === void 0 ? void 0 : _a.call(props, extend.items, actions));\n}));\nPicker.displayName = 'Picker';","import \"./picker.css\";\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { Picker } from './picker';\nimport { prompt } from './prompt';\nexport default attachPropertiesToComponent(Picker, {\n prompt\n});","import React, { useEffect, useState } from 'react';\nimport { renderToBody } from '../../utils/render-to-body';\nimport { Picker } from './picker';\nexport function prompt(props) {\n return new Promise(resolve => {\n const Wrapper = () => {\n const [visible, setVisible] = useState(false);\n useEffect(() => {\n setVisible(true);\n }, []);\n return React.createElement(Picker, Object.assign({}, props, {\n visible: visible,\n onConfirm: (val, extend) => {\n var _a;\n (_a = props.onConfirm) === null || _a === void 0 ? void 0 : _a.call(props, val, extend);\n resolve(val);\n },\n onClose: () => {\n var _a;\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n setVisible(false);\n resolve(null);\n },\n afterClose: () => {\n var _a;\n (_a = props.afterClose) === null || _a === void 0 ? void 0 : _a.call(props);\n unmount();\n }\n }));\n };\n const unmount = renderToBody(React.createElement(Wrapper, null));\n });\n}","import React, { forwardRef, useImperativeHandle, useRef } from 'react';\nimport classNames from 'classnames';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nconst classPrefix = `adm-list`;\nconst defaultProps = {\n mode: 'default'\n};\nexport const List = forwardRef((p, ref) => {\n const props = mergeProps(defaultProps, p);\n const nativeElementRef = useRef(null);\n useImperativeHandle(ref, () => ({\n get nativeElement() {\n return nativeElementRef.current;\n }\n }));\n return withNativeProps(props, React.createElement(\"div\", {\n className: classNames(classPrefix, `${classPrefix}-${props.mode}`),\n ref: nativeElementRef\n }, props.header && React.createElement(\"div\", {\n className: `${classPrefix}-header`\n }, props.header), React.createElement(\"div\", {\n className: `${classPrefix}-body`\n }, React.createElement(\"div\", {\n className: `${classPrefix}-body-inner`\n }, props.children))));\n});","/**\n * Check if the `node` is visible Node (not null, undefined, or false)\n */\nexport function isNodeWithContent(node) {\n return node !== undefined && node !== null && node !== false;\n}","import { RightOutline } from 'antd-mobile-icons';\nimport classNames from 'classnames';\nimport React from 'react';\nimport { isNodeWithContent } from '../../utils/is-node-with-content';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProp } from '../../utils/with-default-props';\nimport { useConfig } from '../config-provider';\nconst classPrefix = `adm-list-item`;\nexport const ListItem = props => {\n var _a, _b;\n const {\n arrow,\n arrowIcon\n } = props;\n const {\n list: componentConfig = {}\n } = useConfig();\n const clickable = (_a = props.clickable) !== null && _a !== void 0 ? _a : !!props.onClick;\n const showArrow = (_b = arrow !== null && arrow !== void 0 ? arrow : arrowIcon) !== null && _b !== void 0 ? _b : clickable;\n const mergedArrowIcon = mergeProp(componentConfig.arrowIcon, arrow !== true ? arrow : null, arrowIcon !== true ? arrowIcon : null);\n const content = React.createElement(\"div\", {\n className: `${classPrefix}-content`\n }, isNodeWithContent(props.prefix) && React.createElement(\"div\", {\n className: `${classPrefix}-content-prefix`\n }, props.prefix), React.createElement(\"div\", {\n className: `${classPrefix}-content-main`\n }, isNodeWithContent(props.title) && React.createElement(\"div\", {\n className: `${classPrefix}-title`\n }, props.title), props.children, isNodeWithContent(props.description) && React.createElement(\"div\", {\n className: `${classPrefix}-description`\n }, props.description)), isNodeWithContent(props.extra) && React.createElement(\"div\", {\n className: `${classPrefix}-content-extra`\n }, props.extra), showArrow && React.createElement(\"div\", {\n className: `${classPrefix}-content-arrow`\n }, mergedArrowIcon || React.createElement(RightOutline, null)));\n return withNativeProps(props, React.createElement(clickable ? 'a' : 'div', {\n className: classNames(`${classPrefix}`, clickable ? ['adm-plain-anchor'] : [], props.disabled && `${classPrefix}-disabled`),\n onClick: props.disabled ? undefined : props.onClick\n }, content));\n};","import \"./list.css\";\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { List } from './list';\nimport { ListItem } from './list-item';\nexport default attachPropertiesToComponent(List, {\n Item: ListItem\n});","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isoWeeksInYear=n()}(this,(function(){\"use strict\";return function(e,n){n.prototype.isoWeeksInYear=function(){var e=this.isLeapYear(),n=this.endOf(\"y\").day();return 4===n||e&&5===n?53:52}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isLeapYear=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0}}}));","export const TILL_NOW = 'TILL_NOW';","import dayjs from 'dayjs';\nimport isoWeek from 'dayjs/plugin/isoWeek';\nimport isoWeeksInYear from 'dayjs/plugin/isoWeeksInYear';\nimport isLeapYear from 'dayjs/plugin/isLeapYear';\nimport { TILL_NOW } from './util';\ndayjs.extend(isoWeek);\ndayjs.extend(isoWeeksInYear);\ndayjs.extend(isLeapYear);\nconst precisionRankRecord = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5\n};\nexport function generateDatePickerColumns(selected, min, max, precision, renderLabel, filter, tillNow) {\n const ret = [];\n const minYear = min.getFullYear();\n const minMonth = min.getMonth() + 1;\n const minDay = min.getDate();\n const minHour = min.getHours();\n const minMinute = min.getMinutes();\n const minSecond = min.getSeconds();\n const maxYear = max.getFullYear();\n const maxMonth = max.getMonth() + 1;\n const maxDay = max.getDate();\n const maxHour = max.getHours();\n const maxMinute = max.getMinutes();\n const maxSecond = max.getSeconds();\n const rank = precisionRankRecord[precision];\n const selectedYear = parseInt(selected[0]);\n const firstDayInSelectedMonth = dayjs(convertStringArrayToDate([selected[0], selected[1], '1']));\n const selectedMonth = parseInt(selected[1]);\n const selectedDay = parseInt(selected[2]);\n const selectedHour = parseInt(selected[3]);\n const selectedMinute = parseInt(selected[4]);\n const isInMinYear = selectedYear === minYear;\n const isInMaxYear = selectedYear === maxYear;\n const isInMinMonth = isInMinYear && selectedMonth === minMonth;\n const isInMaxMonth = isInMaxYear && selectedMonth === maxMonth;\n const isInMinDay = isInMinMonth && selectedDay === minDay;\n const isInMaxDay = isInMaxMonth && selectedDay === maxDay;\n const isInMinHour = isInMinDay && selectedHour === minHour;\n const isInMaxHour = isInMaxDay && selectedHour === maxHour;\n const isInMinMinute = isInMinHour && selectedMinute === minMinute;\n const isInMaxMinute = isInMaxHour && selectedMinute === maxMinute;\n const generateColumn = (from, to, precision) => {\n let column = [];\n for (let i = from; i <= to; i++) {\n column.push(i);\n }\n const prefix = selected.slice(0, precisionRankRecord[precision]);\n const currentFilter = filter === null || filter === void 0 ? void 0 : filter[precision];\n if (currentFilter && typeof currentFilter === 'function') {\n column = column.filter(i => currentFilter(i, {\n get date() {\n const stringArray = [...prefix, i.toString()];\n return convertStringArrayToDate(stringArray);\n }\n }));\n }\n return column;\n };\n if (rank >= precisionRankRecord.year) {\n const lower = minYear;\n const upper = maxYear;\n const years = generateColumn(lower, upper, 'year');\n ret.push(years.map(v => ({\n label: renderLabel('year', v),\n value: v.toString()\n })));\n }\n if (rank >= precisionRankRecord.month) {\n const lower = isInMinYear ? minMonth : 1;\n const upper = isInMaxYear ? maxMonth : 12;\n const months = generateColumn(lower, upper, 'month');\n ret.push(months.map(v => ({\n label: renderLabel('month', v),\n value: v.toString()\n })));\n }\n if (rank >= precisionRankRecord.day) {\n const lower = isInMinMonth ? minDay : 1;\n const upper = isInMaxMonth ? maxDay : firstDayInSelectedMonth.daysInMonth();\n const days = generateColumn(lower, upper, 'day');\n ret.push(days.map(v => ({\n label: renderLabel('day', v),\n value: v.toString()\n })));\n }\n if (rank >= precisionRankRecord.hour) {\n const lower = isInMinDay ? minHour : 0;\n const upper = isInMaxDay ? maxHour : 23;\n const hours = generateColumn(lower, upper, 'hour');\n ret.push(hours.map(v => ({\n label: renderLabel('hour', v),\n value: v.toString()\n })));\n }\n if (rank >= precisionRankRecord.minute) {\n const lower = isInMinHour ? minMinute : 0;\n const upper = isInMaxHour ? maxMinute : 59;\n const minutes = generateColumn(lower, upper, 'minute');\n ret.push(minutes.map(v => ({\n label: renderLabel('minute', v),\n value: v.toString()\n })));\n }\n if (rank >= precisionRankRecord.second) {\n const lower = isInMinMinute ? minSecond : 0;\n const upper = isInMaxMinute ? maxSecond : 59;\n const seconds = generateColumn(lower, upper, 'second');\n ret.push(seconds.map(v => ({\n label: renderLabel('second', v),\n value: v.toString()\n })));\n }\n // Till Now\n if (tillNow) {\n ret[0].push({\n label: renderLabel('now', null),\n value: TILL_NOW\n });\n if (TILL_NOW === (selected === null || selected === void 0 ? void 0 : selected[0])) {\n for (let i = 1; i < ret.length; i += 1) {\n ret[i] = [];\n }\n }\n }\n return ret;\n}\nexport function convertDateToStringArray(date) {\n if (!date) return [];\n return [date.getFullYear().toString(), (date.getMonth() + 1).toString(), date.getDate().toString(), date.getHours().toString(), date.getMinutes().toString(), date.getSeconds().toString()];\n}\nexport function convertStringArrayToDate(value) {\n var _a, _b, _c, _d, _e, _f;\n const yearString = (_a = value[0]) !== null && _a !== void 0 ? _a : '1900';\n const monthString = (_b = value[1]) !== null && _b !== void 0 ? _b : '1';\n const dateString = (_c = value[2]) !== null && _c !== void 0 ? _c : '1';\n const hourString = (_d = value[3]) !== null && _d !== void 0 ? _d : '0';\n const minuteString = (_e = value[4]) !== null && _e !== void 0 ? _e : '0';\n const secondString = (_f = value[5]) !== null && _f !== void 0 ? _f : '0';\n return new Date(parseInt(yearString), parseInt(monthString) - 1, parseInt(dateString), parseInt(hourString), parseInt(minuteString), parseInt(secondString));\n}","!function(t,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_quarterOfYear=n()}(this,(function(){\"use strict\";var t=\"month\",n=\"quarter\";return function(e,i){var r=i.prototype;r.quarter=function(t){return this.$utils().u(t)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(t-1))};var s=r.add;r.add=function(e,i){return e=Number(e),this.$utils().p(i)===n?this.add(3*e,t):s.bind(this)(e,i)};var u=r.startOf;r.startOf=function(e,i){var r=this.$utils(),s=!!r.u(i)||i;if(r.p(e)===n){var o=this.quarter()-1;return s?this.month(3*o).startOf(t).startOf(\"day\"):this.month(3*o+2).endOf(t).endOf(\"day\")}return u.bind(this)(e,i)}}}));","import dayjs from 'dayjs';\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear';\ndayjs.extend(quarterOfYear);\nconst precisionRankRecord = {\n year: 0,\n quarter: 1\n};\nexport function generateDatePickerColumns(selected, min, max, precision, renderLabel, filter) {\n const ret = [];\n const minYear = min.getFullYear();\n const maxYear = max.getFullYear();\n const rank = precisionRankRecord[precision];\n const selectedYear = parseInt(selected[0]);\n const isInMinYear = selectedYear === minYear;\n const isInMaxYear = selectedYear === maxYear;\n const minDay = dayjs(min);\n const maxDay = dayjs(max);\n const minQuarter = minDay.quarter();\n const maxQuarter = maxDay.quarter();\n const generateColumn = (from, to, precision) => {\n let column = [];\n for (let i = from; i <= to; i++) {\n column.push(i);\n }\n const prefix = selected.slice(0, precisionRankRecord[precision]);\n const currentFilter = filter === null || filter === void 0 ? void 0 : filter[precision];\n if (currentFilter && typeof currentFilter === 'function') {\n column = column.filter(i => currentFilter(i, {\n get date() {\n const stringArray = [...prefix, i.toString()];\n return convertStringArrayToDate(stringArray);\n }\n }));\n }\n return column;\n };\n if (rank >= precisionRankRecord.year) {\n const lower = minYear;\n const upper = maxYear;\n const years = generateColumn(lower, upper, 'year');\n ret.push(years.map(v => ({\n label: renderLabel('year', v),\n value: v.toString()\n })));\n }\n if (rank >= precisionRankRecord.quarter) {\n const lower = isInMinYear ? minQuarter : 1;\n const upper = isInMaxYear ? maxQuarter : 4;\n const quarters = generateColumn(lower, upper, 'quarter');\n ret.push(quarters.map(v => ({\n label: renderLabel('quarter', v),\n value: v.toString()\n })));\n }\n return ret;\n}\nexport function convertDateToStringArray(date) {\n if (!date) return [];\n const day = dayjs(date);\n return [day.year().toString(), day.quarter().toString()];\n}\nexport function convertStringArrayToDate(value) {\n var _a, _b;\n const yearString = (_a = value[0]) !== null && _a !== void 0 ? _a : '1900';\n const quarterString = (_b = value[1]) !== null && _b !== void 0 ? _b : '1';\n const day = dayjs().year(parseInt(yearString)).quarter(parseInt(quarterString)).hour(0).minute(0).second(0);\n return day.toDate();\n}","import dayjs from 'dayjs';\nimport isoWeek from 'dayjs/plugin/isoWeek';\nimport isoWeeksInYear from 'dayjs/plugin/isoWeeksInYear';\nimport isLeapYear from 'dayjs/plugin/isLeapYear';\ndayjs.extend(isoWeek);\ndayjs.extend(isoWeeksInYear);\ndayjs.extend(isLeapYear);\nconst precisionRankRecord = {\n year: 0,\n week: 1,\n 'week-day': 2\n};\nexport function generateDatePickerColumns(selected, min, max, precision, renderLabel, filter) {\n const ret = [];\n const minYear = min.getFullYear();\n const maxYear = max.getFullYear();\n const rank = precisionRankRecord[precision];\n const selectedYear = parseInt(selected[0]);\n const isInMinYear = selectedYear === minYear;\n const isInMaxYear = selectedYear === maxYear;\n const minDay = dayjs(min);\n const maxDay = dayjs(max);\n const minWeek = minDay.isoWeek();\n const maxWeek = maxDay.isoWeek();\n const minWeekday = minDay.isoWeekday();\n const maxWeekday = maxDay.isoWeekday();\n const selectedWeek = parseInt(selected[1]);\n const isInMinWeek = isInMinYear && selectedWeek === minWeek;\n const isInMaxWeek = isInMaxYear && selectedWeek === maxWeek;\n const selectedYearWeeks = dayjs(`${selectedYear}-01-01`).isoWeeksInYear();\n const generateColumn = (from, to, precision) => {\n let column = [];\n for (let i = from; i <= to; i++) {\n column.push(i);\n }\n const prefix = selected.slice(0, precisionRankRecord[precision]);\n const currentFilter = filter === null || filter === void 0 ? void 0 : filter[precision];\n if (currentFilter && typeof currentFilter === 'function') {\n column = column.filter(i => currentFilter(i, {\n get date() {\n const stringArray = [...prefix, i.toString()];\n return convertStringArrayToDate(stringArray);\n }\n }));\n }\n return column;\n };\n if (rank >= precisionRankRecord.year) {\n const lower = minYear;\n const upper = maxYear;\n const years = generateColumn(lower, upper, 'year');\n ret.push(years.map(v => ({\n label: renderLabel('year', v),\n value: v.toString()\n })));\n }\n if (rank >= precisionRankRecord.week) {\n const lower = isInMinYear ? minWeek : 1;\n const upper = isInMaxYear ? maxWeek : selectedYearWeeks;\n const weeks = generateColumn(lower, upper, 'week');\n ret.push(weeks.map(v => ({\n label: renderLabel('week', v),\n value: v.toString()\n })));\n }\n if (rank >= precisionRankRecord['week-day']) {\n const lower = isInMinWeek ? minWeekday : 1;\n const upper = isInMaxWeek ? maxWeekday : 7;\n const weeks = generateColumn(lower, upper, 'week-day');\n ret.push(weeks.map(v => ({\n label: renderLabel('week-day', v),\n value: v.toString()\n })));\n }\n return ret;\n}\nexport function convertDateToStringArray(date) {\n if (!date) return [];\n const day = dayjs(date);\n return [day.isoWeekYear().toString(), day.isoWeek().toString(), day.isoWeekday().toString()];\n}\nexport function convertStringArrayToDate(value) {\n var _a, _b, _c;\n const yearString = (_a = value[0]) !== null && _a !== void 0 ? _a : '1900';\n const weekString = (_b = value[1]) !== null && _b !== void 0 ? _b : '1';\n const weekdayString = (_c = value[2]) !== null && _c !== void 0 ? _c : '1';\n const day = dayjs().year(parseInt(yearString)).isoWeek(parseInt(weekString)).isoWeekday(parseInt(weekdayString)).hour(0).minute(0).second(0);\n return day.toDate();\n}","import * as dateUtils from './date-picker-date-utils';\nimport * as quarterUtils from './date-picker-quarter-utils';\nimport * as weekUtils from './date-picker-week-utils';\nimport { TILL_NOW } from './util';\nconst precisionLengthRecord = {\n year: 1,\n month: 2,\n day: 3,\n hour: 4,\n minute: 5,\n second: 6\n};\nexport const convertDateToStringArray = (date, precision) => {\n if (precision.includes('week')) {\n return weekUtils.convertDateToStringArray(date);\n } else if (precision.includes('quarter')) {\n return quarterUtils.convertDateToStringArray(date);\n } else {\n const datePrecision = precision;\n const stringArray = dateUtils.convertDateToStringArray(date);\n return stringArray.slice(0, precisionLengthRecord[datePrecision]);\n }\n};\nexport const convertStringArrayToDate = (value, precision) => {\n // Special case for DATE_NOW\n if ((value === null || value === void 0 ? void 0 : value[0]) === TILL_NOW) {\n const now = new Date();\n now.tillNow = true;\n return now;\n }\n if (precision.includes('week')) {\n return weekUtils.convertStringArrayToDate(value);\n } else if (precision.includes('quarter')) {\n return quarterUtils.convertStringArrayToDate(value);\n } else {\n return dateUtils.convertStringArrayToDate(value);\n }\n};\nexport const generateDatePickerColumns = (selected, min, max, precision, renderLabel, filter, tillNow) => {\n if (precision.startsWith('week')) {\n return weekUtils.generateDatePickerColumns(selected, min, max, precision, renderLabel, filter);\n } else if (precision.startsWith('quarter')) {\n return quarterUtils.generateDatePickerColumns(selected, min, max, precision, renderLabel, filter);\n } else {\n return dateUtils.generateDatePickerColumns(selected, min, max, precision, renderLabel, filter, tillNow);\n }\n};","import React, { forwardRef, useCallback, useMemo } from 'react';\nimport { useMemoizedFn } from 'ahooks';\nimport Picker from '../picker';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport { convertDateToStringArray, convertStringArrayToDate, generateDatePickerColumns } from './date-picker-utils';\nimport { bound } from '../../utils/bound';\nimport useRenderLabel from '../date-picker-view/useRenderLabel';\nimport { TILL_NOW } from './util';\nconst thisYear = new Date().getFullYear();\nconst defaultProps = {\n min: new Date(new Date().setFullYear(thisYear - 10)),\n max: new Date(new Date().setFullYear(thisYear + 10)),\n precision: 'day',\n defaultValue: null\n};\nexport const DatePicker = forwardRef((p, ref) => {\n const props = mergeProps(defaultProps, p);\n const {\n renderLabel\n } = props;\n const [value, setValue] = usePropsValue({\n value: props.value,\n defaultValue: props.defaultValue,\n onChange: v => {\n var _a;\n if (v === null) return;\n (_a = props.onConfirm) === null || _a === void 0 ? void 0 : _a.call(props, v);\n }\n });\n const now = useMemo(() => new Date(), []);\n const mergedRenderLabel = useRenderLabel(renderLabel);\n const pickerValue = useMemo(() => {\n let date = value !== null && value !== void 0 ? value : now;\n if (date.tillNow) {\n return [TILL_NOW];\n }\n date = new Date(bound(date.getTime(), props.min.getTime(), props.max.getTime()));\n return convertDateToStringArray(date, props.precision);\n }, [value, props.precision, props.min, props.max]);\n const onConfirm = useCallback(val => {\n const date = convertStringArrayToDate(val, props.precision);\n setValue(date, true);\n }, [setValue, props.precision]);\n const onSelect = useMemoizedFn(val => {\n var _a;\n const date = convertStringArrayToDate(val, props.precision);\n (_a = props.onSelect) === null || _a === void 0 ? void 0 : _a.call(props, date);\n });\n const columns = useCallback(selected => generateDatePickerColumns(selected, props.min, props.max, props.precision, mergedRenderLabel, props.filter, props.tillNow), [props.min, props.max, props.precision, mergedRenderLabel, props.tillNow]);\n return withNativeProps(props, React.createElement(Picker, {\n ref: ref,\n columns: columns,\n value: pickerValue,\n onCancel: props.onCancel,\n onClose: props.onClose,\n closeOnMaskClick: props.closeOnMaskClick,\n visible: props.visible,\n confirmText: props.confirmText,\n cancelText: props.cancelText,\n onConfirm: onConfirm,\n onSelect: onSelect,\n getContainer: props.getContainer,\n loading: props.loading,\n loadingContent: props.loadingContent,\n afterShow: props.afterShow,\n afterClose: props.afterClose,\n onClick: props.onClick,\n title: props.title,\n stopPropagation: props.stopPropagation,\n mouseWheel: props.mouseWheel,\n destroyOnClose: props.destroyOnClose,\n forceRender: props.forceRender\n }, (_, actions) => {\n var _a;\n return (_a = props.children) === null || _a === void 0 ? void 0 : _a.call(props, value, actions);\n }));\n});","import { useCallback } from 'react';\nimport { useConfig } from '../config-provider';\nexport default function useRenderLabel(renderLabel) {\n const {\n locale\n } = useConfig();\n return useCallback((type, data) => {\n if (renderLabel) {\n return renderLabel(type, data);\n }\n // Default render\n switch (type) {\n case 'minute':\n case 'second':\n case 'hour':\n return ('0' + data.toString()).slice(-2);\n case 'now':\n return locale.DatePicker.tillNow;\n default:\n return data.toString();\n }\n }, [renderLabel]);\n}","import \"./date-picker.css\";\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { DatePicker } from './date-picker';\nimport { TILL_NOW } from './util';\nimport { prompt } from './prompt';\nexport default attachPropertiesToComponent(DatePicker, {\n prompt,\n DATE_NOW: TILL_NOW\n});","import React, { useEffect, useState } from 'react';\nimport { renderToBody } from '../../utils/render-to-body';\nimport { DatePicker } from './date-picker';\nexport function prompt(props) {\n return new Promise(resolve => {\n const Wrapper = () => {\n const [visible, setVisible] = useState(false);\n useEffect(() => {\n setVisible(true);\n }, []);\n return React.createElement(DatePicker, Object.assign({}, props, {\n visible: visible,\n onConfirm: val => {\n var _a;\n (_a = props.onConfirm) === null || _a === void 0 ? void 0 : _a.call(props, val);\n resolve(val);\n },\n onClose: () => {\n var _a;\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n setVisible(false);\n resolve(null);\n },\n afterClose: () => {\n var _a;\n (_a = props.afterClose) === null || _a === void 0 ? void 0 : _a.call(props);\n unmount();\n }\n }));\n };\n const unmount = renderToBody(React.createElement(Wrapper, null));\n });\n}","import React from 'react';\nimport classNames from 'classnames';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nconst classPrefix = `adm-space`;\nconst defaultProps = {\n direction: 'horizontal'\n};\nexport const Space = p => {\n const props = mergeProps(defaultProps, p);\n const {\n direction,\n onClick\n } = props;\n return withNativeProps(props, React.createElement(\"div\", {\n className: classNames(classPrefix, {\n [`${classPrefix}-wrap`]: props.wrap,\n [`${classPrefix}-block`]: props.block,\n [`${classPrefix}-${direction}`]: true,\n [`${classPrefix}-align-${props.align}`]: !!props.align,\n [`${classPrefix}-justify-${props.justify}`]: !!props.justify\n }),\n onClick: onClick\n }, React.Children.map(props.children, child => {\n return child !== null && child !== undefined && React.createElement(\"div\", {\n className: `${classPrefix}-item`\n }, child);\n })));\n};","import { CloseCircleFill } from 'antd-mobile-icons';\nimport classNames from 'classnames';\nimport React, { forwardRef, useImperativeHandle, useRef, useState } from 'react';\nimport { bound } from '../../utils/bound';\nimport { withNativeProps } from '../../utils/native-props';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport { isIOS } from '../../utils/validate';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { useConfig } from '../config-provider';\nimport useInputHandleKeyDown from './useInputHandleKeyDown';\nconst classPrefix = `adm-input`;\nconst defaultProps = {\n defaultValue: '',\n clearIcon: React.createElement(CloseCircleFill, null),\n onlyShowClearWhenFocus: true\n};\nexport const Input = forwardRef((props, ref) => {\n const {\n locale,\n input: componentConfig = {}\n } = useConfig();\n const mergedProps = mergeProps(defaultProps, componentConfig, props);\n const [value, setValue] = usePropsValue(mergedProps);\n const [hasFocus, setHasFocus] = useState(false);\n const compositionStartRef = useRef(false);\n const nativeInputRef = useRef(null);\n const handleKeydown = useInputHandleKeyDown({\n onEnterPress: mergedProps.onEnterPress,\n onKeyDown: mergedProps.onKeyDown,\n nativeInputRef,\n enterKeyHint: mergedProps.enterKeyHint\n });\n useImperativeHandle(ref, () => ({\n clear: () => {\n setValue('');\n },\n focus: () => {\n var _a;\n (_a = nativeInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n },\n blur: () => {\n var _a;\n (_a = nativeInputRef.current) === null || _a === void 0 ? void 0 : _a.blur();\n },\n get nativeElement() {\n return nativeInputRef.current;\n }\n }));\n function checkValue() {\n let nextValue = value;\n if (mergedProps.type === 'number') {\n const boundValue = nextValue && bound(parseFloat(nextValue), mergedProps.min, mergedProps.max).toString();\n // fix the display issue of numbers starting with 0\n if (Number(nextValue) !== Number(boundValue)) {\n nextValue = boundValue;\n }\n }\n if (nextValue !== value) {\n setValue(nextValue);\n }\n }\n const shouldShowClear = (() => {\n if (!mergedProps.clearable || !value || mergedProps.readOnly) return false;\n if (mergedProps.onlyShowClearWhenFocus) {\n return hasFocus;\n } else {\n return true;\n }\n })();\n return withNativeProps(mergedProps, React.createElement(\"div\", {\n className: classNames(`${classPrefix}`, mergedProps.disabled && `${classPrefix}-disabled`)\n }, React.createElement(\"input\", {\n ref: nativeInputRef,\n className: `${classPrefix}-element`,\n value: value,\n onChange: e => {\n setValue(e.target.value);\n },\n onFocus: e => {\n var _a;\n setHasFocus(true);\n (_a = mergedProps.onFocus) === null || _a === void 0 ? void 0 : _a.call(mergedProps, e);\n },\n onBlur: e => {\n var _a;\n setHasFocus(false);\n checkValue();\n (_a = mergedProps.onBlur) === null || _a === void 0 ? void 0 : _a.call(mergedProps, e);\n },\n onPaste: mergedProps.onPaste,\n id: mergedProps.id,\n placeholder: mergedProps.placeholder,\n disabled: mergedProps.disabled,\n readOnly: mergedProps.readOnly,\n maxLength: mergedProps.maxLength,\n minLength: mergedProps.minLength,\n max: mergedProps.max,\n min: mergedProps.min,\n autoComplete: mergedProps.autoComplete,\n enterKeyHint: mergedProps.enterKeyHint,\n autoFocus: mergedProps.autoFocus,\n pattern: mergedProps.pattern,\n inputMode: mergedProps.inputMode,\n type: mergedProps.type,\n name: mergedProps.name,\n autoCapitalize: mergedProps.autoCapitalize,\n autoCorrect: mergedProps.autoCorrect,\n onKeyDown: handleKeydown,\n onKeyUp: mergedProps.onKeyUp,\n onCompositionStart: e => {\n var _a;\n compositionStartRef.current = true;\n (_a = mergedProps.onCompositionStart) === null || _a === void 0 ? void 0 : _a.call(mergedProps, e);\n },\n onCompositionEnd: e => {\n var _a;\n compositionStartRef.current = false;\n (_a = mergedProps.onCompositionEnd) === null || _a === void 0 ? void 0 : _a.call(mergedProps, e);\n },\n onClick: mergedProps.onClick,\n step: mergedProps.step,\n role: mergedProps.role,\n \"aria-valuenow\": mergedProps['aria-valuenow'],\n \"aria-valuemax\": mergedProps['aria-valuemax'],\n \"aria-valuemin\": mergedProps['aria-valuemin'],\n \"aria-label\": mergedProps['aria-label']\n }), shouldShowClear && React.createElement(\"div\", {\n className: `${classPrefix}-clear`,\n onMouseDown: e => {\n e.preventDefault();\n },\n onClick: () => {\n var _a, _b;\n setValue('');\n (_a = mergedProps.onClear) === null || _a === void 0 ? void 0 : _a.call(mergedProps);\n // https://github.com/ant-design/ant-design-mobile/issues/5212\n if (isIOS() && compositionStartRef.current) {\n compositionStartRef.current = false;\n (_b = nativeInputRef.current) === null || _b === void 0 ? void 0 : _b.blur();\n }\n },\n \"aria-label\": locale.Input.clear\n }, mergedProps.clearIcon)));\n});","import * as React from \"react\";\n\nfunction CloseCircleFill(props) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 48 48\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\"\n }, props, {\n style: Object.assign({\n verticalAlign: '-0.125em'\n }, props.style),\n className: ['antd-mobile-icon', props.className].filter(Boolean).join(' ')\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"CloseCircleFill-CloseCircleFill\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"CloseCircleFill-\\u7F16\\u7EC4\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"CloseCircleFill-\\u77E9\\u5F62\",\n fill: \"#FFFFFF\",\n opacity: 0,\n x: 0,\n y: 0,\n width: 48,\n height: 48\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24,2 C36.1502645,2 46,11.8497355 46,24 C46,36.1502645 36.1502645,46 24,46 C11.8497355,46 2,36.1502645 2,24 C2,11.8497355 11.8497355,2 24,2 Z M18.6753876,16 L15.5637812,16 C15.4576916,16 15.3559474,16.0421451 15.2809323,16.1171635 C15.124726,16.2733766 15.1247316,16.5266426 15.2809447,16.6828489 L15.2809447,16.6828489 L22.299066,23.7006641 L14.6828159,31.3171619 C14.6078042,31.3921761 14.5656632,31.4939157 14.5656632,31.6 C14.5656632,31.8209139 14.7447493,32 14.9656632,32 L14.9656632,32 L18.0753284,32 C18.1814068,32 18.2831412,31.9578638 18.3581544,31.8828594 L18.3581544,31.8828594 L24.420066,25.8216641 L30.4818451,31.8828564 C30.5568585,31.9578626 30.6585942,32 30.7646741,32 L30.7646741,32 L33.8763476,32 C33.9824309,32 34.0841695,31.9578599 34.1591835,31.8828496 C34.315397,31.7266436 34.3154031,31.4733776 34.1591972,31.3171641 L34.1591972,31.3171641 L26.542066,23.6996641 L33.5591874,16.6828489 C33.6342057,16.6078338 33.6763508,16.5060896 33.6763508,16.4 C33.6763508,16.1790861 33.4972647,16 33.2763508,16 L33.2763508,16 L30.1637654,16 C30.0576705,16 29.9559218,16.0421493 29.8809058,16.1171741 L29.8809058,16.1171741 L24.420066,21.5786641 L18.9582218,16.1171488 C18.883208,16.0421394 18.7814701,16 18.6753876,16 L18.6753876,16 Z\",\n id: \"CloseCircleFill-\\u5F62\\u72B6\\u7ED3\\u5408\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }))));\n}\n\nexport default CloseCircleFill;","import { useIsomorphicLayoutEffect } from 'ahooks';\nexport default function useInputHandleKeyDown({\n onEnterPress,\n onKeyDown,\n nativeInputRef,\n enterKeyHint\n}) {\n const handleKeydown = e => {\n if (onEnterPress && (e.code === 'Enter' || e.keyCode === 13)) {\n onEnterPress(e);\n }\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);\n };\n useIsomorphicLayoutEffect(() => {\n const ele = nativeInputRef.current;\n if (!enterKeyHint || !ele) return;\n ele.setAttribute('enterkeyhint', enterKeyHint);\n return () => {\n ele.removeAttribute('enterkeyhint');\n };\n }, [enterKeyHint]);\n return handleKeydown;\n}","// import {\n// Button as AntdButton,\n// type ButtonProps as AntdButtonProps,\n// } from \"antd-mobile\";\n// import { forwardRef } from \"react\";\n\n// export interface ButtonProps extends AntdButtonProps {\n// /** An optional prop */\n// optional?: string;\n// }\n\n// export const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n// (props, ref) => {\n// return <AntdButton {...props} ref={ref} />;\n// }\n// );\n\nimport {\n Button as AntdButton,\n type ButtonProps as AntdButtonProps,\n} from \"antd-mobile\";\nimport React, { useCallback } from \"react\";\n\nexport interface ButtonProps extends AntdButtonProps {\n /** An optional icon */\n icon?: React.ReactNode;\n /** An optional icon position */\n iconPosition?: \"left\" | \"right\";\n}\n\nexport const Button: React.FC<ButtonProps> = (props) => {\n const { children, icon, iconPosition = \"left\", ...restOfProps } = props;\n\n const renderButtonContent = useCallback(() => {\n const nodeItems: React.ReactNode[] = [\n <span key=\"button-content\">{children}</span>,\n ];\n\n if (icon) {\n if (iconPosition === \"left\") {\n nodeItems.unshift(<span key=\"button-icon\">{icon}</span>);\n } else {\n nodeItems.push(<span key=\"button-icon\">{icon}</span>);\n }\n }\n\n return nodeItems;\n }, [children, icon, iconPosition]);\n\n return (\n <AntdButton {...restOfProps}>\n <div className=\"am-flex am-items-center am-justify-center am-gap-2\">\n {renderButtonContent()}\n </div>\n </AntdButton>\n );\n};\n","import {\n Space as AntdSpace,\n type SpaceProps as AntdSpaceProps,\n} from \"antd-mobile\";\n\ninterface SpaceProps extends AntdSpaceProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const Space: React.FC<SpaceProps> = (props) => {\n return <AntdSpace {...props} />;\n};\n","import {\n Divider as AntdDivider,\n type DividerProps as AntdDividerProps,\n} from \"antd-mobile\";\nimport React from \"react\";\n\nexport interface DividerProps extends AntdDividerProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const Divider: React.FC<DividerProps> = (props) => {\n return <AntdDivider {...props} />;\n};\n","import {\n DatePicker as AntdDatePicker,\n type DatePickerProps as AntdDatePickerProps,\n} from \"antd-mobile\";\nimport { useCallback } from \"react\";\n\nexport interface DatePickerProps extends AntdDatePickerProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const DatePicker: React.FC<DatePickerProps> = (props) => {\n // Renders\n const labelRender = useCallback((type: string, data: number) => {\n switch (type) {\n case \"month\":\n return `Tháng ${data}`;\n // case \"year\":\n // return `Năm ${data}`;\n // case \"day\":\n // return `Ngày ${data}`;\n default:\n return data;\n }\n }, []);\n\n return <AntdDatePicker renderLabel={labelRender} {...props} />;\n};\n","// Libraries\nimport { Input as AntdInput, InputProps as AntdInputProps } from \"antd-mobile\";\nimport React from \"react\";\n\ninterface InputProps extends AntdInputProps {}\n\nexport const Input: React.FC<InputProps> = (props) => {\n return <AntdInput {...props} />;\n};\n","// Libraries\nimport { List as AntdList, type ListProps as AntdListProps } from \"antd-mobile\";\n\ninterface ListProps extends AntdListProps {\n /** Optional */\n optional?: boolean;\n}\n\nconst BaseList: React.FC<ListProps> = (props) => {\n return <AntdList {...props} />;\n};\n\nexport const List = BaseList as React.FC<ListProps> & {\n Item: typeof AntdList.Item;\n};\n\nList.Item = AntdList.Item;\n","const typeTemplate = '${label} is not a valid ${type}';\nexport const base = {\n locale: 'en',\n common: {\n confirm: 'Confirm',\n cancel: 'Cancel',\n loading: 'Loading',\n close: 'Close'\n },\n Calendar: {\n title: 'Date selection',\n confirm: 'Confirm',\n start: 'start',\n end: 'end',\n today: 'today',\n markItems: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\n yearAndMonth: '${year}/${month}'\n },\n Cascader: {\n placeholder: 'Selecting'\n },\n Dialog: {\n ok: 'OK'\n },\n DatePicker: {\n tillNow: 'Till Now'\n },\n ErrorBlock: {\n default: {\n title: 'Oops, something went wrong',\n description: 'Please wait a minute and try again'\n },\n busy: {\n title: 'Oops, not loading',\n description: 'Try to refresh the page'\n },\n disconnected: {\n title: 'Network is busy',\n description: 'Try to refresh the page'\n },\n empty: {\n title: \"Hmm, couldn't find that...\",\n description: 'Want to try a new search?'\n }\n },\n Form: {\n required: 'Required',\n optional: 'Optional',\n defaultValidateMessages: {\n default: 'Field validation error for ${label}',\n required: 'Please enter ${label}',\n enum: '${label} must be one of [${enum}]',\n whitespace: '${label} cannot be a blank character',\n date: {\n format: '${label} date format is invalid',\n parse: '${label} cannot be converted to a date',\n invalid: '${label} is an invalid date'\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n boolean: typeTemplate,\n integer: typeTemplate,\n float: typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: '${label} must be ${len} characters',\n min: '${label} must be at least ${min} characters',\n max: '${label} must be up to ${max} characters',\n range: '${label} must be between ${min}-${max} characters'\n },\n number: {\n len: '${label} must be equal to ${len}',\n min: '${label} must be minimum ${min}',\n max: '${label} must be maximum ${max}',\n range: '${label} must be between ${min}-${max}'\n },\n array: {\n len: 'Must be ${len} ${label}',\n min: 'At least ${min} ${label}',\n max: 'At most ${max} ${label}',\n range: 'The amount of ${label} must be between ${min}-${max}'\n },\n pattern: {\n mismatch: '${label} does not match the pattern ${pattern}'\n }\n }\n },\n ImageUploader: {\n uploading: 'Uploading...',\n upload: 'Upload'\n },\n InfiniteScroll: {\n noMore: 'No more',\n failedToLoad: 'Failed to load',\n retry: 'Retry'\n },\n Input: {\n clear: 'clear'\n },\n Mask: {\n name: 'Mask'\n },\n Modal: {\n ok: 'OK'\n },\n PasscodeInput: {\n name: 'Passcode Input'\n },\n PullToRefresh: {\n pulling: 'Scroll down to refresh',\n canRelease: 'Release to refresh immediately',\n complete: 'Refresh successful'\n },\n SearchBar: {\n name: 'Search Bar'\n },\n Slider: {\n name: 'Slider'\n },\n Stepper: {\n decrease: 'decrease',\n increase: 'increase'\n },\n Switch: {\n name: 'Switch'\n },\n Selector: {\n name: 'Selector'\n }\n};","import { mergeLocale } from '../utils/merge-locale';\nimport { base } from './base';\nconst typeTemplate = '${label} không phải là một ${type} hợp lệ';\nconst viVN = mergeLocale(base, {\n 'locale': 'vi-VN',\n 'common': {\n 'confirm': 'Chắc chắn',\n 'cancel': 'Hủy',\n 'loading': 'Đang tải',\n 'close': 'Đóng'\n },\n 'Calendar': {\n 'title': 'Chọn ngày',\n 'confirm': 'Xác nhận',\n 'start': 'Bắt đầu',\n 'end': 'Kết thúc',\n 'today': 'Hôm nay',\n 'markItems': ['Một', 'Hai', 'Ba', 'Bốn', 'Năm', 'Sáu', 'Ngày'],\n 'yearAndMonth': 'Tháng ${month} năm ${year}'\n },\n 'Cascader': {\n 'placeholder': 'Vui lòng lựa chọn'\n },\n 'Dialog': {\n 'ok': 'OK'\n },\n 'DatePicker': {\n 'tillNow': 'Đến nay'\n },\n 'ErrorBlock': {\n 'default': {\n 'title': 'Trang đang gặp một số vấn đề nhỏ',\n 'description': 'Đợi chút rồi thử'\n },\n 'busy': {\n 'title': 'Ùn tắc phía trước',\n 'description': 'Thử quét mới'\n },\n 'disconnected': {\n 'title': 'Mạng đang bận',\n 'description': 'Chạm khẽ để chỉnh sửa'\n },\n 'empty': {\n 'title': 'Không tìm thấy thứ bạn cần',\n 'description': 'Tìm cái khác'\n }\n },\n 'Form': {\n 'required': 'Bắt buộc',\n 'optional': 'Tùy chọn',\n 'defaultValidateMessages': {\n 'default': 'Lỗi xác thực trường ${label}',\n 'required': 'Vui lòng nhập ${label}',\n 'enum': '${label} phải là một trong [${enum}]',\n 'whitespace': '${label} không được là ký tự trống',\n 'date': {\n 'format': '${label}Định dạng ngày tháng không còn hiệu lực',\n 'parse': '${label} Không thể chuyển đổi thành ngày',\n 'invalid': '${label} là một ngày không hợp lệ'\n },\n 'types': {\n 'string': typeTemplate,\n 'method': typeTemplate,\n 'array': typeTemplate,\n 'object': typeTemplate,\n 'number': typeTemplate,\n 'date': typeTemplate,\n 'boolean': typeTemplate,\n 'integer': typeTemplate,\n 'float': typeTemplate,\n 'regexp': typeTemplate,\n 'email': typeTemplate,\n 'url': typeTemplate,\n 'hex': typeTemplate\n },\n 'string': {\n 'len': '${label} phải là ${len} ký tự',\n 'min': '${label} tối thiểu ${min} ký tự',\n 'max': '${label} tối đa ${max} ký tự',\n 'range': '${label} phải ở giữa chữ ${min} - ${max}'\n },\n 'number': {\n 'len': '${label} phải bằng ${len}',\n 'min': '${label} giá trị tối thiểu là ${min}',\n 'max': '${label} giá trị tối đa là ${max}',\n 'range': '${label} phải ở giữa ${min} - ${max}'\n },\n 'array': {\n 'len': 'Phải là ${len} chiếc ${label}',\n 'min': 'Tối thiểu ${min} chiếc ${label}',\n 'max': 'Tối đa ${max} chiếc ${label}',\n 'range': '${label} số lượng phải ở giữa ${min} - ${max}'\n },\n 'pattern': {\n 'mismatch': '${label} không khớp với mẫu ${pattern}'\n }\n }\n },\n 'ImageUploader': {\n 'uploading': 'Đang tải lên...',\n 'upload': 'Tải lên'\n },\n 'InfiniteScroll': {\n 'noMore': 'Hết rồi bạn ơi',\n 'failedToLoad': 'Tải xuống thất bại',\n 'retry': 'Tải lại'\n },\n 'Input': {\n 'clear': 'Xóa'\n },\n 'Mask': {\n 'name': 'Nền tối'\n },\n 'Modal': {\n 'ok': 'OK'\n },\n 'PasscodeInput': {\n 'name': 'Khung nhập mật khẩu'\n },\n 'PullToRefresh': {\n 'pulling': 'Kéo xuống để làm mới',\n 'canRelease': 'Thả ra để làm mới',\n 'complete': 'Làm mới thành công'\n },\n 'SearchBar': {\n 'name': 'Khung tìm kiếm'\n },\n 'Slider': {\n 'name': 'Thanh nhập liệu trượt'\n },\n 'Stepper': {\n 'decrease': 'Giảm',\n 'increase': 'Tăng'\n },\n 'Switch': {\n 'name': 'Bật tắt'\n },\n 'Selector': {\n 'name': 'Chọn nhóm'\n }\n});\nexport default viVN;","export function mergeLocale(base, patch) {\n function merge(a, b) {\n if (typeof a !== 'object' || typeof b !== 'object' || Array.isArray(a) || Array.isArray(b)) {\n return b !== undefined ? b : a;\n }\n const result = {};\n for (const key in a) {\n if (a.hasOwnProperty(key)) {\n result[key] = merge(a[key], b[key]);\n }\n }\n return result;\n }\n return merge(base, patch);\n}","// Libraries\nimport React from \"react\";\nimport {\n ConfigProvider as AntdConfigProvider,\n type ConfigProviderProps as AntdConfigProviderProps,\n} from \"antd-mobile\";\nimport viVN from \"antd-mobile/es/locales/vi-VN\";\n\ninterface ConfigProviderProps extends AntdConfigProviderProps {\n /** An optional prop */\n optional?: string;\n}\n\nconst locale = {\n ...viVN,\n common: {\n ...viVN.common,\n confirm: \"Xác nhận\",\n },\n};\n\nexport const ConfigProvider: React.FC<ConfigProviderProps> = (props) => {\n const { children, ...restProps } = props;\n\n return (\n <AntdConfigProvider {...restProps} locale={locale}>\n {children}\n </AntdConfigProvider>\n );\n};\n"],"names":["canUseDom","window","document","createElement","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__read","o","n","m","Symbol","iterator","r","i","call","ar","push","error","addEventListener","typeTemplate","defaultConfigRef","current","locale","common","confirm","cancel","loading","close","Calendar","title","start","end","today","markItems","yearAndMonth","Cascader","placeholder","Dialog","ok","DatePicker","tillNow","ErrorBlock","default","description","busy","disconnected","empty","Form","required","optional","defaultValidateMessages","enum","whitespace","date","format","parse","invalid","types","string","method","array","object","number","boolean","integer","float","regexp","email","url","hex","len","min","max","range","pattern","mismatch","ImageUploader","uploading","upload","InfiniteScroll","noMore","failedToLoad","retry","Input","clear","Mask","name","Modal","PasscodeInput","PullToRefresh","pulling","canRelease","complete","SearchBar","Slider","Stepper","decrease","increase","Switch","Selector","ConfigContext","React","createContext","ConfigProvider","props","children","config","s","t","p","Object","prototype","hasOwnProperty","indexOf","getOwnPropertySymbols","length","propertyIsEnumerable","parentConfig","useConfig","Provider","assign","_a","useContext","undefined","attachPropertiesToComponent","component","properties","ret","key","hasOwn","classNames","classes","arguments","arg","appendClass","parseValue","Array","isArray","toString","includes","newClass","module","exports","withNativeProps","element","className","style","tabIndex","startsWith","cloneElement","mergeProps","items","forEach","item","keys","isFunction","isDev","process","env","NODE_ENV","useMemoizedFn","fn","console","concat","fnRef","useRef","useMemo","memoizedFn","args","_i","this","useUpdateEffect","hook","useEffect","effect","deps","isMounted","useLatest","ref","isObject_1","type","freeGlobal","global","_freeGlobal","require$$0","freeSelf","self","root","Function","_root","now_1","Date","now","reWhitespace","_trimmedEndIndex","index","test","charAt","trimmedEndIndex","reTrimStart","_baseTrim","slice","replace","_Symbol","objectProto","nativeObjectToString","symToStringTag","toStringTag","_getRawTag","isOwn","tag","unmasked","_objectToString","getRawTag","require$$1","objectToString","require$$2","_baseGetTag","isObjectLike_1","baseGetTag","isObjectLike","isSymbol_1","baseTrim","isObject","isSymbol","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","toNumber_1","other","valueOf","isBinary","toNumber","nativeMax","Math","nativeMin","debounce_1","func","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","timeWaiting","debounced","isInvoking","clearTimeout","flush","isBrowser","u","a","c","f","h","d","l","$","y","M","weekdays","split","months","ordinal","String","join","v","z","utcOffset","abs","floor","year","month","clone","add","ceil","w","D","ms","Q","toLowerCase","g","S","_","O","b","$L","utc","$u","x","$x","$offset","$d","NaN","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","getTime","toDate","$locale","weekStart","$set","daysInMonth","get","Number","round","subtract","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","k","extend","$i","isDayjs","en","Ls","useDebounceFn","debounce","to","from","pack","run","hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","equal","constructor","it","size","entries","has","RegExp","source","flags","$$typeof","reactFastCompare","message","warn","useIsomorphicLayoutEffect","useLayoutEffect","useUnmountedRef","unmountedRef","defaultRoot","overflowStylePatterns","isElement","node","nodeType","supportsPassive","opts","defineProperty","totalLockCount","BODY_LOCK_CLASS","useLockScroll","rootRef","shouldLock","touch","startX","startY","deltaX","deltaY","offsetX","offsetY","direction","reset","move","event","touches","clientX","clientY","isVertical","isHorizontal","onTouchMove","el","body","overflowY","getComputedStyle","scrollHeight","clientHeight","parentNode","target","scrollableParent","parentElement","documentElement","preventDefault","offsetHeight","scrollTop","height","getBoundingClientRect","status","cancelable","passive","classList","removeEventListener","remove","updateQueue","makeQueue","raf","schedule","writeQueue","write","onStartQueue","onStart","onFrameQueue","onFrame","onFinishQueue","onFinish","timeouts","handler","findIndex","splice","pendingCount","timeout","findTimeout","delete","sync","batchedUpdates","throttle","queuedFn","throttled","nativeRaf","requestAnimationFrame","use","impl","performance","catch","frameLoop","advance","update","ts","queue","loop","prevTs","count","eachSafely","values","each","noop","is","arr","obj","fun","str","num","und","isEqual","eachProp","ctx","toArray","flushCalls","isSSR","navigator","userAgent","createStringInterpolator$1","colors$1","skipAnimation","willAdvance","globals","freeze","__proto__","createStringInterpolator","colors","startQueue","currentFrame","prevFrame","priority","animation","flushStartQueue","startSafely","sort","prevIndex","startUnsafely","dt","nextFrame","idle","NUMBER","PERCENTAGE","parts","rgb","rgba","hsl","hsla","hex3","hex4","hex6","hex8","hue2rgb","q","hslToRgb","parse255","int","parse360","parseFloat","parse1","parsePercentage","colorToRgba","input","int32Color","color","exec","createInterpolator","output","extrapolate","outputRange","inputRange","extrapolateLeft","extrapolateRight","easing","inputMin","inputMax","outputMin","outputMax","map","Infinity","c1","c2","c3","c4","PI","c5","bounceOut","n1","d1","easings","linear","easeInQuad","easeOutQuad","easeInOutQuad","pow","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","cos","easeOutSine","sin","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","sqrt","easeOutCirc","easeInOutCirc","easeInBack","easeOutBack","easeInOutBack","easeInElastic","easeOutElastic","easeInOutElastic","easeInBounce","easeOutBounce","easeInOutBounce","steps","progress","expanded","rounded","_extends","bind","$get","for","$observers","hasFluidValue","Boolean","getFluidValue","getFluidObservers","callFluidObservers","observers","observer","eventObserved","FluidValue","Error","setFluidGetter","setHidden","addFluidObserver","observerAdded","removeFluidObserver","observerRemoved","writable","configurable","numberRegex","colorRegex","unitRegex","rgbaRegex","cssVariableRegex","variableToRgba","token","fallback","parseCSSVariable","getPropertyValue","trim","_value","namedColorRegex","rgbaRound","p1","p2","p3","p4","keyframes","interpolators","_output$find","missingUnit","find","prefix","once","called","warnInterpolate","warnDirectCall","isAnimatedString","useForceUpdate","useState","useIsMounted","random","useOnce","emptyDeps","usePrev","prevRef","$node","getAnimated","owner","setAnimated","defineHidden","getPayload","Animated","payload","AnimatedValue","super","elapsedTime","lastPosition","lastVelocity","v0","durationProgress","getValue","AnimatedString","_string","_toString","create","setValue","goal","TreeContext","dependencies","AnimatedObject","animated","_makePayload","_addToPayload","AnimatedArray","some","makeAnimated","getAnimatedType","withAnimated","Component","host","hasInstance","isReactComponent","forwardRef","givenProps","givenRef","instanceRef","useCallback","createAnimatedStyle","forceUpdate","callback","instance","applyAnimatedValues","PropsObserver","observerRef","dep","usedProps","getComponentProps","cacheKey","getDisplayName","displayName","callProp","matchProp","resolveProp","prop","getDefaultProp","noopTransform","getDefaultProps","transform","DEFAULT_PROPS","defaults","RESERVED_PROPS","pause","reverse","immediate","delay","onProps","onChange","onPause","onResume","onRest","onResolve","trail","expires","initial","enter","leave","onDestroyed","callId","parentId","inferTo","forward","out","val","computeGoal","Globals","isAsyncTo","tension","friction","mass","damping","clamp","AnimationConfig","frequency","velocity","restVelocity","precision","duration","bounce","decay","sanitizeConfig","isTensionConfig","emptyArray","Animation","changed","toValues","fromValues","scheduleProps","defaultProps","state","actions","_props$cancel","paused","resumeQueue","resume","delayed","pauseQueue","cancelId","err","getCombinedResult","results","cancelled","getCancelledResult","every","getNoopResult","getFinishedResult","finished","runAsync","asyncTo","prevTo","promise","prevPromise","asyncId","preventBail","bail","bailPromise","bailIfEnded","bailSignal","bailResult","animate","arg1","arg2","BailSignal","skipAnimationSignal","SkipAnimationSignal","stopAsync","animating","async","stop","all","isFrameValue","FrameValue","nextId$1","id","_priority","_onPriorityChange","_attach","_detach","parent","$P","hasAnimated","isAnimating","isPaused","setActiveBit","active","IS_ANIMATING","setPausedBit","SpringValue","_state","_pendingCalls","_lastCallId","_lastToId","_memoizedDuration","anim","position","elapsed","exp","bounceFactor","canBounce","isGrowing","isMoving","isBouncing","numSteps","isNaN","currVal","finalVal","_onChange","_stop","_focus","_set","_update","_onStart","_start","_ref","isLoop","mergeActiveFn","sendEvent","_prepareNode","isFrozen","checkFinished","_resume","_merge","nextProps","createLoopUpdate","hasToProp","hasFromProp","prevFrom","hasFromChanged","hasToChanged","hasAsyncTo","newConfig","defaultConfig","isAnimatable","goalType","started","hasValueChanged","ACTIVE_EVENTS","oldNode","finish","loopRet","overrides","createUpdate","findDefined","declareUpdate","_target$animation$typ","_target$animation","_target$defaultProps$","_target$defaultProps","BATCHED_EVENTS","nextId","Controller$1","springs","_flush","_initialProps","_lastAsyncId","_active","_changed","_started","_item","_events","_onFrame","spring","isDelayed","prepareKeys","flushUpdateQueue","ctrl","flushUpdate","promises","getSprings","prepareSprings","createSpring","setSprings","_excluded$6","SpringContext","excluded","sourceKeys","inherited","getResult","inputs","committed","prevCache","cache","prev","_context","Consumer","SpringRef","_getProps","useSpring","isFn","propsFn","layoutId","ctrls","updates","prevLength","declareUpdates","startIndex","endIndex","Controller","_ctrl$ref","context","prevContext","hasContext","cb","_ctrl$ref2","TransitionPhase","Interpolation","calc","_get","_dt","checkIdle","becomeIdle","reduce","highest","isIdle","_objectWithoutPropertiesLoose","_excluded$2","isCustomPropRE","dangerousStyleValue","isUnitlessNumber","attributeCache","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","prefixes","acc","toUpperCase","_excluded$1","domTransforms","pxTransforms","degTransforms","addUnit","unit","isValueIdentity","AnimatedStyle","transforms","xyz","deg","FluidTransform","identity","_excluded","unstable_batchedUpdates","transparent","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","components","_applyAnimatedValues","_createAnimatedStyle","_getComponentProps","hostConfig","setAttribute","isFilterElement","nodeName","scrollLeft","viewBox","attributes","names","hasAttribute","textContent","setProperty","renderToContainer","getContainer","container","createPortal","ShouldRender","forceRender","destroyOnClose","initialized","check","initializedRef","eventToPropRecord","click","touchstart","withStopPropagation","events","_b","stopPropagation","classPrefix","opacityRecord","thin","thick","colorRecord","visible","disableBodyScroll","background","setActive","afterShow","afterClose","div","display","onClick","currentTarget","onMaskClick","role","RightOutline","width","xmlns","xmlnsXlink","verticalAlign","filter","stroke","fill","fillRule","defaultPopupBaseProps","closeOnMaskClick","closeIcon","mask","showCloseButton","V","toVector","v1","v2","sub","rubberband","distance","dimension","constant","rubberbandIfOutOfBounds","_toPropertyKey","hint","prim","toPrimitive","res","_defineProperty","enumerable","ownKeys","getOwnPropertyDescriptor","_objectSpread2","getOwnPropertyDescriptors","defineProperties","EVENT_TYPE_MAP","pointer","change","mouse","gesture","capitalize","actionsWithoutCaptureSupported","toHandlerProp","device","action","capture","deviceProps","actionKey","pointerCaptureEvents","parseProp","eventKey","captureKey","isTouch","getPointerType","pointerType","getValueEvent","changedTouches","targetTouches","touchIds","_event$currentTarget","_event$currentTarget$","contains","identifier","pointerId","valueEvent","pointerValues","chain","fns","assignDefault","Engine","computeValues","computeInitial","shared","gestureEventStores","timeoutStore","gestureTimeoutStores","sharedConfig","handlers","ingKey","_blocked","_force","_step","intentional","_movement","_distance","_direction","_delta","_bounds","axis","memo","timeDelta","overflow","_movementBound","movement","delta","timeStamp","lastOffset","offset","startTime","_values","_initial","pointerIds","locked","pointerLockElement","buttons","shiftKey","altKey","metaKey","ctrlKey","down","pressed","_absoluteDelta","addTo","axisIntent","_m0","_m1","t0","t1","threshold","hasCustomTransform","sign","restrictToAxis","previousOffset","gestureIsActive","first","last","bounds","setup","computeOffset","ox","oy","x0","x1","y0","y1","Vx","Vy","Rx","Ry","X0","X1","Y0","Y1","computeMovement","absoluteDelta","clean","triggerAllEvents","aliasKey","eventStore","CoordinatesEngine","axisThreshold","dx","dy","absDx","absDy","lockDirection","commonConfigResolver","enabled","eventOptions","_k","originalTransform","isFinite","coordinatesConfigResolver","_v","HTMLElement","left","right","top","bottom","KEYS_DELTA_MAP","ArrowRight","displacement","factor","ArrowLeft","ArrowUp","ArrowDown","supportsTouchEvents","SUPPORT","GestureEvent","touchscreen","maxTouchPoints","pointerLock","DEFAULT_DRAG_AXIS_THRESHOLD","pen","dragConfigResolver","lock","preventScroll","preventScrollDelay","pointerButtons","filterTaps","tapsThreshold","keyboardDisplacement","scaleBounds","angleBounds","_scaleBounds","_angleBounds","A","modifierKey","pinchOnWheel","mouseOnly","wheelConfigResolver","EngineMap","ConfigResolverMap","registerAction","engine","resolver","dragAction","_pointerId","_pointerActive","_keyboardActive","_preventScroll","_delayed","swipe","tap","canceled","boundRect","targetRect","compute","emit","pointerClean","ctrlIds","setEventIds","pointerCapture","setPointerCapture","setupPointer","preventScrollAxis","setupScrollPrevention","setupDelayTrigger","startPointerDrag","movementX","movementY","hasPointerCapture","releasePointerCapture","_unused","_dx","_dy","_mx","_my","svx","svy","sx","sy","sdt","_vx","_vy","detail","sourceEvent","touchAction","_unused2","requestPointerLock","pointerMove","pointerUp","exitPointerLock","persist","deltaFn","bindFunction","pointerDown","keyDown","keyUp","pointerClick","wheelAction","wheelChange","wheelEnd","deltaMode","dirx","diry","wheel","_objectWithoutProperties","sourceSymbolKeys","sharedConfigResolver","resolveWith","resolvers","EventStore","gestureKey","_ctrl","_gestureKey","listeners","_listeners","TimeoutStore","_timeouts","internalHandlers","drag","setupGesture","scroll","pinch","hover","nativeHandlers","_config","rest","_targetEventStore","gestures","gestureConfig","bindToProps","nativeBindFunction","handlerProp","withPassiveOption","isNative","_options$capture","_options$passive","useRecognizers","applyHandlers","applyConfig","useDrag","closeOnSwipe","Popup","popup","componentConfig","bodyCls","bodyClassName","percent","swipeY","onClose","maskVisible","outerVisible","innerVisible","setInnerVisible","maskClassName","maskStyle","bodyStyle","pointerEvents","SafeArea","fullClone","ReactDOM","version","render","reactRender","unmountComponentAtNode","createRoot","toggleWarning","skip","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","usingClientEntryPoint","MARK","unmount","renderToBody","appendChild","reactUnmount","removeChild","AutoCenter","primary","DotLoading","rx","attributeName","dur","begin","repeatCount","keyTimes","block","loadingIcon","shape","Button","innerLoading","setInnerLoading","nativeButtonRef","disabled","useImperativeHandle","onMouseDown","onMouseUp","onTouchStart","onTouchEnd","loadingText","isoWeekday","isoWeekYear","isoWeek","day","usePropsValue","defaultValue","setState","stateRef","forceTrigger","nextValue","devError","contentPosition","Divider","bound","Wheel","column","renderLabel","onSelect","api","draggingRef","itemHeightMeasureRef","itemHeight","scrollSelect","finalPosition","itemHeightMeasure","raw","withUnit","endsWith","fontSize","innerWidth","targetIndex","handleGestureState","boundNum","whellDir","scrollY","handleWheel","mouseWheel","selectedIndex","translateY","selected","previousIndex","nextIndex","previous","label","withCache","generate","generateColumnsExtend","rawColumns","useColumnsExtend","defaultRenderLabel","objectIs","useDebugValue","checkIfSnapshotChanged","inst","latestGetSnapshot","getSnapshot","shim","subscribe","_useState","useSyncExternalStoreShim_production","useSyncExternalStore","__REACT_DEVTOOLS_GLOBAL_HOOK__","registerInternalModuleStart","didWarnOld18Alpha","didWarnUncachedGetSnapshot","startTransition","cachedValue","useSyncExternalStoreShim_development","registerInternalModuleStop","shimModule","subscribers","isMotionReduced","onStoreChange","SpinLoading","motionReduced","circle","strokeLinecap","cx","cy","loadingContent","PickerView","innerValue","setInnerValue","flag","setFlag","handleSelect","Fragment","Picker","confirmText","cancelText","setVisible","toggle","open","onConfirm","ext","pickerElement","onCancel","popupElement","popupStyle","popupClassName","prompt","mode","List","nativeElementRef","nativeElement","header","isNodeWithContent","AntdList","Item","arrow","arrowIcon","list","clickable","showArrow","mergedArrowIcon","defaultProp","propList","content","extra","isoWeeksInYear","isLeapYear","TILL_NOW","dayjs","precisionRankRecord","hour","minute","second","convertStringArrayToDate","_c","_d","_e","_f","yearString","monthString","dateString","hourString","minuteString","secondString","quarter","quarterOfYear","quarterString","week","weekString","weekdayString","precisionLengthRecord","convertDateToStringArray","datePrecision","stringArray","weekUtils.convertStringArrayToDate","quarterUtils.convertStringArrayToDate","dateUtils.convertStringArrayToDate","generateDatePickerColumns","minYear","maxYear","rank","selectedYear","isInMinYear","isInMaxYear","minDay","maxDay","minWeek","maxWeek","minWeekday","maxWeekday","selectedWeek","isInMinWeek","isInMaxWeek","selectedYearWeeks","generateColumn","currentFilter","years","weeks","minQuarter","maxQuarter","quarters","minMonth","minHour","minMinute","minSecond","maxMonth","maxHour","maxMinute","maxSecond","firstDayInSelectedMonth","selectedMonth","selectedDay","selectedHour","selectedMinute","isInMinMonth","isInMaxMonth","isInMinDay","isInMaxDay","isInMinHour","isInMaxHour","isInMinMinute","isInMaxMinute","days","hours","minutes","seconds","thisYear","setFullYear","mergedRenderLabel","data","pickerValue","AntdDatePicker","DATE_NOW","Space","wrap","align","justify","Children","child","clearIcon","onlyShowClearWhenFocus","mergedProps","hasFocus","setHasFocus","compositionStartRef","nativeInputRef","handleKeydown","onEnterPress","onKeyDown","enterKeyHint","ele","removeAttribute","code","keyCode","focus","blur","shouldShowClear","clearable","readOnly","onFocus","onBlur","boundValue","onPaste","maxLength","minLength","autoComplete","autoFocus","inputMode","autoCapitalize","autoCorrect","onKeyUp","onCompositionStart","onCompositionEnd","onClear","icon","iconPosition","restOfProps","renderButtonContent","nodeItems","jsx","unshift","AntdButton","AntdSpace","AntdDivider","labelRender","AntdInput","viVN","base","patch","merge","restProps","AntdConfigProvider"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,117,118,119]}