@antscorp/ama-ui 0.0.19 → 0.0.21
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.
- package/dist/ama-ui.es.js +1711 -1503
- package/dist/ama-ui.es.js.map +1 -1
- package/dist/index.d.ts +51 -0
- package/package.json +1 -1
package/dist/ama-ui.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ama-ui.es.js","sources":["../node_modules/antd-mobile/es/utils/can-use-dom.js","../node_modules/antd-mobile/es/global/index.js","../node_modules/tslib/tslib.es6.mjs","../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/utils/depsAreSame.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/lodash/throttle.js","../node_modules/ahooks/es/utils/domTarget.js","../node_modules/ahooks/es/utils/createEffectWithTarget.js","../node_modules/ahooks/es/utils/useEffectWithTarget.js","../node_modules/dayjs/dayjs.min.js","../node_modules/ahooks/es/utils/lodash-polyfill.js","../node_modules/ahooks/es/useDebounceEffect/index.js","../node_modules/ahooks/es/useDebounceFn/index.js","../node_modules/react-fast-compare/index.js","../node_modules/ahooks/es/useInViewport/index.js","../node_modules/ahooks/es/useIsomorphicLayoutEffect/index.js","../node_modules/ahooks/es/useUnmountedRef/index.js","../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../node_modules/ahooks/es/utils/useLayoutEffectWithTarget.js","../node_modules/ahooks/es/utils/useIsomorphicLayoutEffectWithTarget.js","../node_modules/ahooks/es/useSize/index.js","../node_modules/ahooks/es/useRafState/index.js","../node_modules/ahooks/es/useThrottleFn/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/CheckOutline.js","../node_modules/antd-mobile-icons/es/CloseOutline.js","../node_modules/antd-mobile-icons/es/DownOutline.js","../node_modules/antd-mobile-icons/es/RightOutline.js","../node_modules/antd-mobile/es/components/popup/popup-base-props.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/utils/render-imperatively.js","../node_modules/antd-mobile/es/components/auto-center/auto-center.js","../node_modules/antd-mobile/es/components/avatar/fallback.js","../node_modules/staged-components/index.js","../node_modules/antd-mobile/es/utils/to-css-length.js","../node_modules/antd-mobile/es/components/image/lazy-detector.js","../node_modules/antd-mobile/es/utils/use-isomorphic-update-layout-effect.js","../node_modules/antd-mobile/es/components/image/image.js","../node_modules/antd-mobile/es/components/image/image-icon.js","../node_modules/antd-mobile/es/components/image/broken-image-icon.js","../node_modules/antd-mobile/es/components/avatar/avatar.js","../node_modules/antd-mobile/es/components/badge/badge.js","../node_modules/antd-mobile/es/components/badge/index.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/react-is/cjs/react-is.production.min.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/antd-mobile/es/components/divider/divider.js","../node_modules/antd-mobile/es/utils/use-resize-effect.js","../node_modules/antd-mobile/es/utils/use-mutation-effect.js","../node_modules/antd-mobile/es/utils/bound.js","../node_modules/antd-mobile/es/utils/use-tab-list-scroll.js","../node_modules/antd-mobile/es/components/scroll-mask/scroll-mask.js","../node_modules/antd-mobile/es/utils/traverse-react-node.js","../node_modules/antd-mobile/es/components/capsule-tabs/capsule-tabs.js","../node_modules/antd-mobile/es/components/capsule-tabs/index.js","../node_modules/antd-mobile/es/components/card/card.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/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/tabs/tabs.js","../node_modules/antd-mobile/es/components/tabs/index.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/antd-mobile/es/components/collapse/collapse.js","../node_modules/ahooks/es/useMount/index.js","../node_modules/antd-mobile/es/components/collapse/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/runes2/dist/index.esm.mjs","../node_modules/antd-mobile/es/components/ellipsis/useMeasure.js","../node_modules/rc-util/es/hooks/useEvent.js","../node_modules/antd-mobile/es/components/ellipsis/ellipsis.js","../node_modules/antd-mobile/es/components/error-block/create-error-block.js","../node_modules/antd-mobile/es/components/error-block/images/default.js","../node_modules/antd-mobile/es/components/error-block/error-block.js","../node_modules/antd-mobile/es/components/error-block/images/disconnected.js","../node_modules/antd-mobile/es/components/error-block/images/empty.js","../node_modules/antd-mobile/es/components/error-block/images/busy.js","../node_modules/antd-mobile/es/components/floating-panel/floating-panel.js","../node_modules/antd-mobile/es/utils/nearest.js","../node_modules/antd-mobile/es/utils/convert-px.js","../node_modules/antd-mobile/es/components/grid/grid.js","../node_modules/antd-mobile/es/components/grid/index.js","../node_modules/antd-mobile/es/utils/use-drag-and-pinch.js","../node_modules/antd-mobile/es/utils/matrix.js","../node_modules/antd-mobile/es/components/image-viewer/slide.js","../node_modules/antd-mobile/es/components/image-viewer/slides.js","../node_modules/antd-mobile/es/components/image-viewer/image-viewer.js","../node_modules/antd-mobile/es/components/image-viewer/methods.js","../node_modules/antd-mobile/es/components/image-viewer/index.js","../node_modules/antd-mobile/es/components/space/space.js","../node_modules/antd-mobile/es/components/index-bar/panel.js","../node_modules/antd-mobile/es/components/index-bar/sidebar.js","../node_modules/antd-mobile/es/components/index-bar/index-bar.js","../node_modules/antd-mobile/es/components/index-bar/index.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","../node_modules/antd-mobile/es/components/jumbo-tabs/jumbo-tabs.js","../node_modules/antd-mobile/es/components/jumbo-tabs/index.js","../node_modules/antd-mobile/es/components/nav-bar/nav-bar.js","../node_modules/antd-mobile-icons/es/LeftOutline.js","../node_modules/antd-mobile/es/components/page-indicator/page-indicator.js","../node_modules/antd-mobile/es/components/side-bar/corner.js","../node_modules/antd-mobile/es/components/side-bar/side-bar.js","../node_modules/antd-mobile/es/components/side-bar/index.js","../node_modules/antd-mobile/es/components/swiper/swiper-item.js","../node_modules/antd-mobile/es/components/swiper/swiper.js","../node_modules/ahooks/es/useGetState/index.js","../node_modules/antd-mobile/es/utils/use-ref-state.js","../node_modules/antd-mobile/es/utils/with-func-props.js","../node_modules/antd-mobile/es/components/swiper/index.js","../node_modules/antd-mobile/es/components/tab-bar/tab-bar.js","../node_modules/antd-mobile/es/components/tab-bar/index.js","../node_modules/antd-mobile/es/components/toast/toast.js","../node_modules/antd-mobile/es/components/toast/methods.js","../node_modules/antd-mobile/es/components/toast/index.js","../src/components/ui/Avatar/Avatar.tsx","../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","../src/components/ui/Badge/Badge.tsx","../src/components/ui/CapsuleTabs/CapsuleTabs.tsx","../src/components/ui/Card/Card.tsx","../src/components/ui/Collapse/Collapse.tsx","../src/components/ui/Ellipsis/Ellipsis.tsx","../src/components/ui/FloatingPanel/FloatingPanel.tsx","../src/components/ui/Grid/Grid.tsx","../src/components/ui/Image/Image.tsx","../src/components/ui/ImageViewer/ImageViewer.tsx","../src/components/ui/IndexBar/IndexBar.tsx","../src/components/ui/JumboTabs/JumboTabs.tsx","../src/components/ui/NavBar/NavBar.tsx","../src/components/ui/SafeArea/SaveArea.tsx","../src/components/ui/SideBar/SideBar.tsx","../src/components/ui/TabBar/TabBar.tsx","../src/components/ui/Tabs/Tabs.tsx","../node_modules/lucide-react/dist/esm/shared/src/utils.js","../node_modules/lucide-react/dist/esm/defaultAttributes.js","../node_modules/lucide-react/dist/esm/Icon.js","../node_modules/lucide-react/dist/esm/icons/inbox.js","../node_modules/lucide-react/dist/esm/createLucideIcon.js","../src/components/ui/ErrorBlock/ErrorBlock.tsx","../src/components/ui/Swiper/Swiper.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);","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'","/******************************************************************************\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","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);","export default function depsAreSame(oldDeps, deps) {\n if (oldDeps === deps) return true;\n for (var i = 0; i < oldDeps.length; i++) {\n if (!Object.is(oldDeps[i], deps[i])) return false;\n }\n return true;\n}","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;","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` 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 throttled 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 `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","import { isFunction } from './index';\nimport isBrowser from './isBrowser';\nexport function getTargetElement(target, defaultElement) {\n if (!isBrowser) {\n return undefined;\n }\n if (!target) {\n return defaultElement;\n }\n var targetElement;\n if (isFunction(target)) {\n targetElement = target();\n } else if ('current' in target) {\n targetElement = target.current;\n } else {\n targetElement = target;\n }\n return targetElement;\n}","import { useRef } from 'react';\nimport useUnmount from '../useUnmount';\nimport depsAreSame from './depsAreSame';\nimport { getTargetElement } from './domTarget';\nvar createEffectWithTarget = function (useEffectType) {\n /**\n *\n * @param effect\n * @param deps\n * @param target target should compare ref.current vs ref.current, dom vs dom, ()=>dom vs ()=>dom\n */\n var useEffectWithTarget = function (effect, deps, target) {\n var hasInitRef = useRef(false);\n var lastElementRef = useRef([]);\n var lastDepsRef = useRef([]);\n var unLoadRef = useRef();\n useEffectType(function () {\n var _a;\n var targets = Array.isArray(target) ? target : [target];\n var els = targets.map(function (item) {\n return getTargetElement(item);\n });\n // init run\n if (!hasInitRef.current) {\n hasInitRef.current = true;\n lastElementRef.current = els;\n lastDepsRef.current = deps;\n unLoadRef.current = effect();\n return;\n }\n if (els.length !== lastElementRef.current.length || !depsAreSame(lastElementRef.current, els) || !depsAreSame(lastDepsRef.current, deps)) {\n (_a = unLoadRef.current) === null || _a === void 0 ? void 0 : _a.call(unLoadRef);\n lastElementRef.current = els;\n lastDepsRef.current = deps;\n unLoadRef.current = effect();\n }\n });\n useUnmount(function () {\n var _a;\n (_a = unLoadRef.current) === null || _a === void 0 ? void 0 : _a.call(unLoadRef);\n // for react-refresh\n hasInitRef.current = false;\n });\n };\n return useEffectWithTarget;\n};\nexport default createEffectWithTarget;","import { useEffect } from 'react';\nimport createEffectWithTarget from './createEffectWithTarget';\nvar useEffectWithTarget = createEffectWithTarget(useEffect);\nexport default useEffectWithTarget;","!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 } 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 { __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 { __assign, __read, __rest, __values } from \"tslib\";\nimport 'intersection-observer';\nimport { useState } from 'react';\nimport { getTargetElement } from '../utils/domTarget';\nimport useEffectWithTarget from '../utils/useEffectWithTarget';\nfunction useInViewport(target, options) {\n var _a = options || {},\n callback = _a.callback,\n option = __rest(_a, [\"callback\"]);\n var _b = __read(useState(), 2),\n state = _b[0],\n setState = _b[1];\n var _c = __read(useState(), 2),\n ratio = _c[0],\n setRatio = _c[1];\n useEffectWithTarget(function () {\n var targets = Array.isArray(target) ? target : [target];\n var els = targets.map(function (element) {\n return getTargetElement(element);\n }).filter(Boolean);\n if (!els.length) {\n return;\n }\n var observer = new IntersectionObserver(function (entries) {\n var e_1, _a;\n try {\n for (var entries_1 = __values(entries), entries_1_1 = entries_1.next(); !entries_1_1.done; entries_1_1 = entries_1.next()) {\n var entry = entries_1_1.value;\n setRatio(entry.intersectionRatio);\n setState(entry.isIntersecting);\n callback === null || callback === void 0 ? void 0 : callback(entry);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (entries_1_1 && !entries_1_1.done && (_a = entries_1.return)) _a.call(entries_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n }, __assign(__assign({}, option), {\n root: getTargetElement(options === null || options === void 0 ? void 0 : options.root)\n }));\n els.forEach(function (el) {\n return observer.observe(el);\n });\n return function () {\n observer.disconnect();\n };\n }, [options === null || options === void 0 ? void 0 : options.rootMargin, options === null || options === void 0 ? void 0 : options.threshold, callback], target);\n return [state, ratio];\n}\nexport default useInViewport;","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;","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array<Array>} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array<ResizeObserverSPI>}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the <html> itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array<ResizeObservation>}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map<Element, ResizeObservation>}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","import { useLayoutEffect } from 'react';\nimport createEffectWithTarget from './createEffectWithTarget';\nvar useEffectWithTarget = createEffectWithTarget(useLayoutEffect);\nexport default useEffectWithTarget;","import isBrowser from './isBrowser';\nimport useEffectWithTarget from './useEffectWithTarget';\nimport useLayoutEffectWithTarget from './useLayoutEffectWithTarget';\nvar useIsomorphicLayoutEffectWithTarget = isBrowser ? useLayoutEffectWithTarget : useEffectWithTarget;\nexport default useIsomorphicLayoutEffectWithTarget;","import { __read } from \"tslib\";\nimport ResizeObserver from 'resize-observer-polyfill';\nimport useRafState from '../useRafState';\nimport { getTargetElement } from '../utils/domTarget';\nimport useIsomorphicLayoutEffectWithTarget from '../utils/useIsomorphicLayoutEffectWithTarget';\nfunction useSize(target) {\n var _a = __read(useRafState(function () {\n var el = getTargetElement(target);\n return el ? {\n width: el.clientWidth,\n height: el.clientHeight\n } : undefined;\n }), 2),\n state = _a[0],\n setState = _a[1];\n useIsomorphicLayoutEffectWithTarget(function () {\n var el = getTargetElement(target);\n if (!el) {\n return;\n }\n var resizeObserver = new ResizeObserver(function (entries) {\n entries.forEach(function (entry) {\n var _a = entry.target,\n clientWidth = _a.clientWidth,\n clientHeight = _a.clientHeight;\n setState({\n width: clientWidth,\n height: clientHeight\n });\n });\n });\n resizeObserver.observe(el);\n return function () {\n resizeObserver.disconnect();\n };\n }, [], target);\n return state;\n}\nexport default useSize;","import { __read } from \"tslib\";\nimport { useCallback, useRef, useState } from 'react';\nimport useUnmount from '../useUnmount';\nfunction useRafState(initialState) {\n var ref = useRef(0);\n var _a = __read(useState(initialState), 2),\n state = _a[0],\n setState = _a[1];\n var setRafState = useCallback(function (value) {\n cancelAnimationFrame(ref.current);\n ref.current = requestAnimationFrame(function () {\n setState(value);\n });\n }, []);\n useUnmount(function () {\n cancelAnimationFrame(ref.current);\n });\n return [state, setRafState];\n}\nexport default useRafState;","import { __read, __spreadArray } from \"tslib\";\nimport throttle from 'lodash/throttle';\nimport { useMemo } from 'react';\nimport useLatest from '../useLatest';\nimport useUnmount from '../useUnmount';\nimport { isFunction } from '../utils';\nimport isDev from '../utils/isDev';\nfunction useThrottleFn(fn, options) {\n var _a;\n if (isDev) {\n if (!isFunction(fn)) {\n console.error(\"useThrottleFn 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 throttled = useMemo(function () {\n return throttle(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 throttled.cancel();\n });\n return {\n run: throttled,\n cancel: throttled.cancel,\n flush: throttled.flush\n };\n}\nexport default useThrottleFn;","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 CheckOutline(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: \"CheckOutline-CheckOutline\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"CheckOutline-\\u7F16\\u7EC4\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"CheckOutline-\\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: \"M44.309608,12.6841286 L21.2180499,35.5661955 L21.2180499,35.5661955 C20.6343343,36.1446015 19.6879443,36.1446015 19.1042286,35.5661955 C19.0538201,35.5162456 19.0077648,35.4636155 18.9660627,35.4087682 C18.9113105,35.368106 18.8584669,35.3226694 18.808302,35.2729607 L3.6903839,20.2920499 C3.53346476,20.1365529 3.53231192,19.8832895 3.68780898,19.7263704 C3.7629255,19.6505669 3.86521855,19.6079227 3.97193622,19.6079227 L7.06238923,19.6079227 C7.16784214,19.6079227 7.26902895,19.6495648 7.34393561,19.7237896 L20.160443,32.4236157 L20.160443,32.4236157 L40.656066,12.115858 C40.7309719,12.0416387 40.8321549,12 40.9376034,12 L44.0280571,12 C44.248971,12 44.4280571,12.1790861 44.4280571,12.4 C44.4280571,12.5067183 44.3854124,12.609012 44.309608,12.6841286 Z\",\n id: \"CheckOutline-\\u8DEF\\u5F84\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }))));\n}\n\nexport default CheckOutline;","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;","import * as React from \"react\";\n\nfunction DownOutline(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: \"DownOutline-DownOutline\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"DownOutline-\\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: \"M5.11219264,16.3947957 L22.6612572,34.5767382 L22.6612572,34.5767382 C23.2125856,35.1304785 24.0863155,35.1630514 24.6755735,34.6744571 L24.7825775,34.5767382 L42.8834676,16.3956061 C42.9580998,16.320643 43,16.2191697 43,16.1133896 L43,12.9866673 C43,12.7657534 42.8209139,12.5866673 42.6,12.5866673 C42.4936115,12.5866673 42.391606,12.6290496 42.316542,12.7044413 L23.7816937,31.3201933 L23.7816937,31.3201933 L5.6866816,12.7237117 C5.53262122,12.5653818 5.27937888,12.5619207 5.121049,12.7159811 C5.04365775,12.7912854 5,12.8946805 5,13.0026627 L5,16.1170064 C5,16.2206403 5.04022164,16.3202292 5.11219264,16.3947957 Z\",\n id: \"DownOutline-down\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }))));\n}\n\nexport default DownOutline;","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};","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 { __awaiter } from \"tslib\";\nimport React, { useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { renderToBody } from './render-to-body';\nexport function renderImperatively(element) {\n const Wrapper = React.forwardRef((_, ref) => {\n const [visible, setVisible] = useState(false);\n const closedRef = useRef(false);\n const [elementToRender, setElementToRender] = useState(element);\n const keyRef = useRef(0);\n useEffect(() => {\n if (!closedRef.current) {\n setVisible(true);\n } else {\n afterClose();\n }\n }, []);\n function onClose() {\n var _a, _b;\n closedRef.current = true;\n setVisible(false);\n (_b = (_a = elementToRender.props).onClose) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n function afterClose() {\n var _a, _b;\n unmount();\n (_b = (_a = elementToRender.props).afterClose) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n useImperativeHandle(ref, () => ({\n close: onClose,\n replace: element => {\n var _a, _b;\n keyRef.current++;\n (_b = (_a = elementToRender.props).afterClose) === null || _b === void 0 ? void 0 : _b.call(_a);\n setElementToRender(element);\n }\n }));\n return React.cloneElement(elementToRender, Object.assign(Object.assign({}, elementToRender.props), {\n key: keyRef.current,\n visible,\n onClose,\n afterClose\n }));\n });\n const wrapperRef = React.createRef();\n const unmount = renderToBody(React.createElement(Wrapper, {\n ref: wrapperRef\n }));\n return {\n close: () => __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c;\n if (!wrapperRef.current) {\n // it means the wrapper is not mounted yet, call `unmount` directly\n unmount();\n // call `afterClose` to make sure the callback is called\n (_b = (_a = element.props).afterClose) === null || _b === void 0 ? void 0 : _b.call(_a);\n } else {\n (_c = wrapperRef.current) === null || _c === void 0 ? void 0 : _c.close();\n }\n }),\n replace: element => {\n var _a;\n (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.replace(element);\n },\n isRendered: () => !!wrapperRef.current\n };\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';\nexport const Fallback = memo(() => React.createElement(\"svg\", {\n className: 'adm-avatar-fallback',\n width: '88px',\n height: '88px',\n viewBox: '0 0 88 88',\n version: '1.1'\n}, React.createElement(\"title\", null, \"\\u7F16\\u7EC4 3\"), React.createElement(\"defs\", null, React.createElement(\"polygon\", {\n id: 'path-1',\n points: '0 0 88 0 88 88 0 88'\n})), React.createElement(\"g\", {\n id: '\\u9875\\u9762-1',\n stroke: 'none',\n strokeWidth: '1',\n fill: 'none',\n fillRule: 'evenodd'\n}, React.createElement(\"g\", {\n id: '\\u8BED\\u96C0',\n transform: 'translate(-495.000000, -71.000000)'\n}, React.createElement(\"g\", {\n id: '\\u7F16\\u7EC4-3',\n transform: 'translate(495.000000, 71.000000)'\n}, React.createElement(\"mask\", {\n id: 'mask-2',\n fill: 'white'\n}, React.createElement(\"use\", {\n xlinkHref: '#path-1'\n})), React.createElement(\"use\", {\n id: 'Mask',\n fill: '#EEEEEE',\n fillRule: 'nonzero',\n xlinkHref: '#path-1'\n}), React.createElement(\"path\", {\n d: 'M44.5707528,16 L43.4292117,16 L42.9575197,16.0086403 L42.9575195,16.0086403 C36.5215787,16.2615464 31.4341803,21.5678078 31.4344832,28.0273864 L31.4344832,34.7776551 L31.4495601,35.3716788 L31.4495593,35.3716628 C31.599687,38.5368723 32.9422041,41.5269327 35.2058513,43.7376716 L38.2147759,46.6775505 L38.4086219,46.8913989 C38.7747759,47.3385365 38.9750835,47.9001589 38.9750835,48.4833848 L38.9750835,48.8938006 L38.9556989,49.1897326 L38.9556989,49.1897325 C38.8577746,49.9812662 38.3754713,50.67284 37.667703,51.036605 L18.7375269,60.7440265 L18.4101421,60.9276334 L18.4101423,60.9276333 C16.9141658,61.8418636 16.0009389,63.4714674 16,65.2283758 L16,66.070809 L16.0129231,66.3948217 C16.1766149,68.4123376 17.860922,70 19.91569,70 L68.0843101,70 L68.08431,70 C70.2460467,70 71.9988087,68.243122 72,66.0751224 L72,65.2326893 C72,63.3382982 70.9446194,61.6037466 69.2624598,60.7440295 L50.3322837,51.036608 L50.3322835,51.0366079 C49.5291218,50.6249082 49.0240448,49.7962466 49.024903,48.8916436 L49.024903,48.4812278 C49.024903,47.8029608 49.3005955,47.1527756 49.7852106,46.6775603 L52.7941352,43.7376813 L52.7941354,43.7376811 C55.204308,41.3832325 56.5636029,38.151975 56.5633606,34.7776456 L56.5633606,28.0273769 L56.5633606,28.0273774 C56.5633606,21.3848531 51.1940878,16 44.5707524,16 L44.5707528,16 Z',\n id: '\\u5F62\\u72B6',\n fill: '#CCCCCC',\n fillRule: 'nonzero',\n mask: 'url(#mask-2)'\n}))))));","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.staged = void 0;\nconst react_1 = __importDefault(require(\"react\"));\nfunction processNext(next) {\n if (typeof next === 'function') {\n return (react_1.default.createElement(Stage, { stage: next }));\n }\n else {\n return next;\n }\n}\nfunction Stage(props) {\n const next = props.stage();\n return processNext(next);\n}\nfunction staged(stage) {\n return function Staged(props, ref) {\n const next = stage(props, ref);\n return processNext(next);\n };\n}\nexports.staged = staged;\n","export function toCSSLength(val) {\n return typeof val === 'number' ? `${val}px` : val;\n}","import React, { useEffect, useRef } from 'react';\nimport { useInViewport } from 'ahooks';\nexport const LazyDetector = props => {\n const ref = useRef(null);\n const [inViewport] = useInViewport(ref);\n useEffect(() => {\n if (inViewport) {\n props.onActive();\n }\n }, [inViewport]);\n return React.createElement(\"div\", {\n ref: ref\n });\n};","import { createUpdateEffect, useIsomorphicLayoutEffect } from 'ahooks';\nexport const useIsomorphicUpdateLayoutEffect = createUpdateEffect(useIsomorphicLayoutEffect);","import { mergeProps } from '../../utils/with-default-props';\nimport React, { useState, useRef, useEffect } from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { staged } from 'staged-components';\nimport { toCSSLength } from '../../utils/to-css-length';\nimport { LazyDetector } from './lazy-detector';\nimport { useIsomorphicUpdateLayoutEffect } from '../../utils/use-isomorphic-update-layout-effect';\nimport { ImageIcon } from './image-icon';\nimport { BrokenImageIcon } from './broken-image-icon';\nconst classPrefix = `adm-image`;\nconst defaultProps = {\n fit: 'fill',\n placeholder: React.createElement(\"div\", {\n className: `${classPrefix}-tip`\n }, React.createElement(ImageIcon, null)),\n fallback: React.createElement(\"div\", {\n className: `${classPrefix}-tip`\n }, React.createElement(BrokenImageIcon, null)),\n lazy: false,\n draggable: false\n};\nexport const Image = staged(p => {\n const props = mergeProps(defaultProps, p);\n const [loaded, setLoaded] = useState(false);\n const [failed, setFailed] = useState(false);\n const ref = useRef(null);\n const imgRef = useRef(null);\n let src = props.src;\n let srcSet = props.srcSet;\n const [initialized, setInitialized] = useState(!props.lazy);\n src = initialized ? props.src : undefined;\n srcSet = initialized ? props.srcSet : undefined;\n useIsomorphicUpdateLayoutEffect(() => {\n setLoaded(false);\n setFailed(false);\n }, [src]);\n useEffect(() => {\n var _a;\n // for nextjs ssr\n if ((_a = imgRef.current) === null || _a === void 0 ? void 0 : _a.complete) {\n setLoaded(true);\n }\n }, []);\n function renderInner() {\n if (failed) {\n return React.createElement(React.Fragment, null, props.fallback);\n }\n const img = React.createElement(\"img\", {\n ref: imgRef,\n id: props.id,\n className: `${classPrefix}-img`,\n src: src,\n alt: props.alt,\n onClick: props.onClick,\n onLoad: e => {\n var _a;\n setLoaded(true);\n (_a = props.onLoad) === null || _a === void 0 ? void 0 : _a.call(props, e);\n },\n onError: e => {\n var _a;\n setFailed(true);\n (_a = props.onError) === null || _a === void 0 ? void 0 : _a.call(props, e);\n },\n style: {\n objectFit: props.fit,\n display: loaded ? 'block' : 'none'\n },\n crossOrigin: props.crossOrigin,\n decoding: props.decoding,\n loading: props.loading,\n referrerPolicy: props.referrerPolicy,\n sizes: props.sizes,\n srcSet: srcSet,\n useMap: props.useMap,\n draggable: props.draggable\n });\n return React.createElement(React.Fragment, null, !loaded && props.placeholder, img);\n }\n const style = {};\n if (props.width) {\n style['--width'] = toCSSLength(props.width);\n style['width'] = toCSSLength(props.width);\n }\n if (props.height) {\n style['--height'] = toCSSLength(props.height);\n style['height'] = toCSSLength(props.height);\n }\n return withNativeProps(props, React.createElement(\"div\", {\n ref: ref,\n className: classPrefix,\n style: style,\n onClick: props.onContainerClick\n }, props.lazy && !initialized && React.createElement(LazyDetector, {\n onActive: () => {\n setInitialized(true);\n }\n }), renderInner()));\n});","import React from 'react';\nexport const ImageIcon = () => React.createElement(\"svg\", {\n viewBox: '0 0 48 48',\n xmlns: 'http://www.w3.org/2000/svg'\n}, React.createElement(\"path\", {\n d: 'M41.396 6.234c1.923 0 3.487 1.574 3.487 3.505v29.14c0 1.937-1.568 3.51-3.491 3.51H6.604c-1.923 0-3.487-1.573-3.487-3.51V9.745c0-1.936 1.564-3.51 3.487-3.51Zm0 2.847H6.604c-.355 0-.654.3-.654.658V34.9l5.989-8.707a2.373 2.373 0 0 1 1.801-1.005 2.405 2.405 0 0 1 1.933.752l4.182 4.525 7.58-11.005a2.374 2.374 0 0 1 1.96-1.01c.79 0 1.532.38 1.966 1.01L42.05 34.89V9.74a.664.664 0 0 0-.654-.658Zm-28.305 2.763a3.119 3.119 0 0 1 3.117 3.117 3.119 3.119 0 0 1-3.117 3.117 3.122 3.122 0 0 1-3.117-3.117 3.119 3.119 0 0 1 3.117-3.117Z',\n fill: '#DBDBDB',\n fillRule: 'nonzero'\n}));","import React from 'react';\nexport const BrokenImageIcon = () => React.createElement(\"svg\", {\n viewBox: '0 0 48 48',\n xmlns: 'http://www.w3.org/2000/svg'\n}, React.createElement(\"path\", {\n d: 'M19.233 6.233 17.42 9.08l-10.817.001a.665.665 0 0 0-.647.562l-.007.096V34.9l5.989-8.707a2.373 2.373 0 0 1 1.801-1.005 2.415 2.415 0 0 1 1.807.625l.126.127 4.182 4.525 2.267-3.292 5.461 7.841-4.065 7.375H6.604c-1.86 0-3.382-1.47-3.482-3.317l-.005-.192V9.744c0-1.872 1.461-3.405 3.296-3.505l.19-.005h12.63Zm22.163 0c1.86 0 3.382 1.472 3.482 3.314l.005.192v29.14a3.507 3.507 0 0 1-3.3 3.505l-.191.006H27.789l3.63-6.587.06-.119a1.87 1.87 0 0 0-.163-1.853l-6.928-9.949 3.047-4.422a2.374 2.374 0 0 1 1.96-1.01 2.4 2.4 0 0 1 1.86.87l.106.14L42.05 34.89V9.74a.664.664 0 0 0-.654-.658H21.855l1.812-2.848h17.73Zm-28.305 5.611c.794 0 1.52.298 2.07.788l-.843 1.325-.067.114a1.87 1.87 0 0 0 .11 1.959l.848 1.217c-.556.515-1.3.83-2.118.83a3.122 3.122 0 0 1-3.117-3.116 3.119 3.119 0 0 1 3.117-3.117Z',\n fill: '#DBDBDB',\n fillRule: 'nonzero'\n}));","import React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { Fallback } from './fallback';\nimport Image from '../image';\nconst classPrefix = 'adm-avatar';\nconst defaultProps = {\n fallback: React.createElement(Fallback, null),\n fit: 'cover'\n};\nexport const Avatar = p => {\n const props = mergeProps(defaultProps, p);\n return withNativeProps(props, React.createElement(Image, {\n className: classPrefix,\n src: props.src,\n fallback: props.fallback,\n placeholder: props.fallback,\n alt: props.alt,\n lazy: props.lazy,\n fit: props.fit,\n onClick: props.onClick,\n onError: props.onError,\n onLoad: props.onLoad\n }));\n};","import classNames from 'classnames';\nimport React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nconst classPrefix = `adm-badge`;\nexport const dot = React.createElement(React.Fragment, null);\nexport const Badge = props => {\n const {\n content,\n color,\n children\n } = props;\n const isDot = content === dot;\n const badgeClass = classNames(classPrefix, {\n [`${classPrefix}-fixed`]: !!children,\n [`${classPrefix}-dot`]: isDot,\n [`${classPrefix}-bordered`]: props.bordered\n });\n const element = content || content === 0 ? withNativeProps(props, React.createElement(\"div\", {\n className: badgeClass,\n style: {\n '--color': color\n }\n }, !isDot && React.createElement(\"div\", {\n className: `${classPrefix}-content`\n }, content))) : null;\n return children ? React.createElement(\"div\", {\n className: classNames(`${classPrefix}-wrapper`, props.wrapperClassName),\n style: props.wrapperStyle\n }, children, element) : element;\n};","import \"./badge.css\";\nimport { Badge, dot } from './badge';\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nexport default attachPropertiesToComponent(Badge, {\n dot\n});","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}","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its 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'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","/**\n * @license React\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its 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\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_SERVER_CONTEXT_TYPE:\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar SuspenseList = REACT_SUSPENSE_LIST_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\nvar hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isConcurrentMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsConcurrentMode) {\n hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\nfunction isSuspenseList(object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n}\n\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.SuspenseList = SuspenseList;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isSuspenseList = isSuspenseList;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\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};","import { useIsomorphicLayoutEffect, useMemoizedFn } from 'ahooks';\nexport function useResizeEffect(effect, targetRef) {\n const fn = useMemoizedFn(effect);\n useIsomorphicLayoutEffect(() => {\n const target = targetRef.current;\n if (!target) return;\n if (window.ResizeObserver) {\n let animationFrame;\n const observer = new ResizeObserver(() => {\n animationFrame = window.requestAnimationFrame(() => fn(target));\n });\n observer.observe(target);\n return () => {\n window.cancelAnimationFrame(animationFrame);\n observer.disconnect();\n };\n } else {\n fn(target);\n }\n }, [targetRef]);\n}","import { useMemoizedFn } from 'ahooks';\nimport { useEffect } from 'react';\nexport function observe(element, options, callback) {\n if (element && typeof MutationObserver !== 'undefined') {\n let observer = new MutationObserver(() => {\n callback();\n });\n observer.observe(element, options);\n // Return cleanup function\n return () => {\n if (observer) {\n observer.disconnect();\n observer = null;\n }\n };\n }\n return () => {};\n}\nexport function useMutationEffect(effect, targetRef, options) {\n const fn = useMemoizedFn(effect);\n useEffect(() => {\n const cleanup = observe(targetRef.current, options, fn);\n return cleanup;\n }, [targetRef]);\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 { useSpring } from '@react-spring/web';\nimport { useMutationEffect } from './use-mutation-effect';\nimport { bound } from './bound';\nimport { useIsomorphicLayoutEffect } from 'ahooks';\nimport { useIsomorphicUpdateLayoutEffect } from './use-isomorphic-update-layout-effect';\nexport const useTabListScroll = (targetRef, activeIndex) => {\n const [{\n scrollLeft\n }, api] = useSpring(() => ({\n scrollLeft: 0,\n config: {\n tension: 300,\n clamp: true\n }\n }));\n function animate(immediate = false) {\n const container = targetRef.current;\n if (!container) return;\n if (activeIndex === undefined) return;\n const activeTabWrapper = container.children.item(activeIndex);\n const activeTab = activeTabWrapper.children.item(0);\n const activeTabLeft = activeTab.offsetLeft;\n const activeTabWidth = activeTab.offsetWidth;\n const containerWidth = container.offsetWidth;\n const containerScrollWidth = container.scrollWidth;\n const containerScrollLeft = container.scrollLeft;\n const maxScrollDistance = containerScrollWidth - containerWidth;\n if (maxScrollDistance <= 0) return;\n const nextScrollLeft = bound(activeTabLeft - (containerWidth - activeTabWidth) / 2, 0, containerScrollWidth - containerWidth);\n api.start({\n scrollLeft: nextScrollLeft,\n from: {\n scrollLeft: containerScrollLeft\n },\n immediate: immediate && !scrollLeft.isAnimating\n });\n }\n useIsomorphicLayoutEffect(() => {\n animate(true);\n }, []);\n useIsomorphicUpdateLayoutEffect(() => {\n animate();\n }, [activeIndex]);\n useMutationEffect(() => {\n animate(true);\n }, targetRef, {\n subtree: true,\n childList: true,\n characterData: true\n });\n return {\n scrollLeft,\n animate\n };\n};","import React, { useRef, useEffect } from 'react';\nimport classNames from 'classnames';\nimport { animated, useSpring } from '@react-spring/web';\nimport { useThrottleFn } from 'ahooks';\nconst classPrefix = `adm-scroll-mask`;\nexport const ScrollMask = props => {\n const maskRef = useRef(null);\n const [{\n leftMaskOpacity,\n rightMaskOpacity\n }, api] = useSpring(() => ({\n leftMaskOpacity: 0,\n rightMaskOpacity: 0,\n config: {\n clamp: true\n }\n }));\n const {\n run: updateMask\n } = useThrottleFn((immediate = false) => {\n const mask = maskRef.current;\n if (!mask) return;\n const scrollEl = props.scrollTrackRef.current;\n if (!scrollEl) return;\n const scrollLeft = scrollEl.scrollLeft;\n const showLeftMask = scrollLeft > 0;\n const showRightMask = scrollLeft + scrollEl.offsetWidth < scrollEl.scrollWidth;\n api.start({\n leftMaskOpacity: showLeftMask ? 1 : 0,\n rightMaskOpacity: showRightMask ? 1 : 0,\n immediate\n });\n }, {\n wait: 100,\n trailing: true,\n leading: true\n });\n useEffect(() => {\n updateMask(true);\n }, []);\n useEffect(() => {\n const scrollEl = props.scrollTrackRef.current;\n if (!scrollEl) return;\n scrollEl.addEventListener('scroll', updateMask);\n return () => scrollEl.removeEventListener('scroll', updateMask);\n }, []);\n return React.createElement(React.Fragment, null, React.createElement(animated.div, {\n ref: maskRef,\n className: classNames(classPrefix, `${classPrefix}-left`),\n style: {\n opacity: leftMaskOpacity\n }\n }), React.createElement(animated.div, {\n className: classNames(classPrefix, `${classPrefix}-right`),\n style: {\n opacity: rightMaskOpacity\n }\n }));\n};","import React from 'react';\nimport { isFragment } from 'react-is';\nexport function traverseReactNode(children, fn) {\n let i = 0;\n function handle(target) {\n React.Children.forEach(target, child => {\n if (!isFragment(child)) {\n fn(child, i);\n i += 1;\n } else {\n handle(child.props.children);\n }\n });\n }\n handle(children);\n}","import React, { isValidElement, useRef } from 'react';\nimport classNames from 'classnames';\nimport { animated } from '@react-spring/web';\nimport { withNativeProps } from '../../utils/native-props';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport { useResizeEffect } from '../../utils/use-resize-effect';\nimport { useTabListScroll } from '../../utils/use-tab-list-scroll';\nimport ScrollMask from '../scroll-mask';\nimport { ShouldRender } from '../../utils/should-render';\nimport { traverseReactNode } from '../../utils/traverse-react-node';\nconst classPrefix = `adm-capsule-tabs`;\nexport const CapsuleTab = () => null;\nexport const CapsuleTabs = props => {\n var _a;\n const tabListContainerRef = useRef(null);\n const rootRef = useRef(null);\n const keyToIndexRecord = {};\n let firstActiveKey = null;\n const panes = [];\n traverseReactNode(props.children, (child, index) => {\n if (!isValidElement(child)) return;\n const key = child.key;\n if (typeof key !== 'string') return;\n if (index === 0) {\n firstActiveKey = key;\n }\n const length = panes.push(child);\n keyToIndexRecord[key] = length - 1;\n });\n const [activeKey, setActiveKey] = usePropsValue({\n value: props.activeKey,\n defaultValue: (_a = props.defaultActiveKey) !== null && _a !== void 0 ? _a : firstActiveKey,\n onChange: v => {\n var _a;\n if (v === null) return;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, v);\n }\n });\n const {\n scrollLeft,\n animate\n } = useTabListScroll(tabListContainerRef, keyToIndexRecord[activeKey]);\n useResizeEffect(() => {\n animate(true);\n }, rootRef);\n return withNativeProps(props, React.createElement(\"div\", {\n className: classPrefix,\n ref: rootRef\n }, React.createElement(\"div\", {\n className: `${classPrefix}-header`\n }, React.createElement(ScrollMask, {\n scrollTrackRef: tabListContainerRef\n }), React.createElement(animated.div, {\n className: `${classPrefix}-tab-list`,\n ref: tabListContainerRef,\n scrollLeft: scrollLeft\n }, panes.map(pane => withNativeProps(pane.props, React.createElement(\"div\", {\n key: pane.key,\n className: `${classPrefix}-tab-wrapper`\n }, React.createElement(\"div\", {\n onClick: () => {\n const {\n key\n } = pane;\n if (pane.props.disabled) return;\n if (key === undefined || key === null) {\n return;\n }\n setActiveKey(key.toString());\n },\n className: classNames(`${classPrefix}-tab`, {\n [`${classPrefix}-tab-active`]: pane.key === activeKey,\n [`${classPrefix}-tab-disabled`]: pane.props.disabled\n })\n }, pane.props.title)))))), panes.map(pane => {\n if (pane.props.children === undefined) {\n return null;\n }\n const active = pane.key === activeKey;\n return React.createElement(ShouldRender, {\n key: pane.key,\n active: active,\n forceRender: pane.props.forceRender,\n destroyOnClose: pane.props.destroyOnClose\n }, React.createElement(\"div\", {\n className: `${classPrefix}-content`,\n style: {\n display: active ? 'block' : 'none'\n }\n }, pane.props.children));\n })));\n};","import \"./capsule-tabs.css\";\nimport { CapsuleTab, CapsuleTabs } from './capsule-tabs';\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nexport default attachPropertiesToComponent(CapsuleTabs, {\n Tab: CapsuleTab\n});","import classNames from 'classnames';\nimport React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nconst classPrefix = `adm-card`;\nexport const Card = props => {\n const renderHeader = () => {\n if (!(props.title || props.extra)) {\n return null;\n }\n return React.createElement(\"div\", {\n className: classNames(`${classPrefix}-header`, props.headerClassName),\n style: props.headerStyle,\n onClick: props.onHeaderClick\n }, props.icon && React.createElement(\"div\", {\n className: `${classPrefix}-header-icon`\n }, props.icon), React.createElement(\"div\", {\n className: `${classPrefix}-header-title`\n }, props.title), props.extra && React.createElement(\"div\", {\n className: `${classPrefix}-header-extra`\n }, props.extra));\n };\n const renderBody = () => {\n if (!props.children) {\n return null;\n }\n return React.createElement(\"div\", {\n className: classNames(`${classPrefix}-body`, props.bodyClassName),\n style: props.bodyStyle,\n onClick: props.onBodyClick\n }, props.children);\n };\n return withNativeProps(props, React.createElement(\"div\", {\n className: classPrefix,\n onClick: props.onClick\n }, renderHeader(), renderBody()));\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 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, { isValidElement, useRef } from 'react';\nimport classNames from 'classnames';\nimport { useSpring, animated } from '@react-spring/web';\nimport { withNativeProps } from '../../utils/native-props';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport { bound } from '../../utils/bound';\nimport { useThrottleFn, useIsomorphicLayoutEffect } from 'ahooks';\nimport { useMutationEffect } from '../../utils/use-mutation-effect';\nimport { useResizeEffect } from '../../utils/use-resize-effect';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { useIsomorphicUpdateLayoutEffect } from '../../utils/use-isomorphic-update-layout-effect';\nimport { ShouldRender } from '../../utils/should-render';\nimport { traverseReactNode } from '../../utils/traverse-react-node';\nconst classPrefix = `adm-tabs`;\nexport const Tab = () => {\n return null;\n};\nconst defaultProps = {\n activeLineMode: 'auto',\n stretch: true,\n direction: 'ltr'\n};\nexport const Tabs = p => {\n var _a;\n const props = mergeProps(defaultProps, p);\n const tabListContainerRef = useRef(null);\n const activeLineRef = useRef(null);\n const keyToIndexRecord = {};\n let firstActiveKey = null;\n const panes = [];\n const isRTL = props.direction === 'rtl';\n traverseReactNode(props.children, (child, index) => {\n if (!isValidElement(child)) return;\n const key = child.key;\n if (typeof key !== 'string') return;\n if (index === 0) {\n firstActiveKey = key;\n }\n const length = panes.push(child);\n keyToIndexRecord[key] = length - 1;\n });\n const [activeKey, setActiveKey] = usePropsValue({\n value: props.activeKey,\n defaultValue: (_a = props.defaultActiveKey) !== null && _a !== void 0 ? _a : firstActiveKey,\n onChange: v => {\n var _a;\n if (v === null) return;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, v);\n }\n });\n const [{\n x,\n width\n }, inkApi] = useSpring(() => ({\n x: 0,\n width: 0,\n config: {\n tension: 300,\n clamp: true\n }\n }));\n const [{\n scrollLeft\n }, scrollApi] = useSpring(() => ({\n scrollLeft: 0,\n config: {\n tension: 300,\n clamp: true\n }\n }));\n const [{\n leftMaskOpacity,\n rightMaskOpacity\n }, maskApi] = useSpring(() => ({\n leftMaskOpacity: 0,\n rightMaskOpacity: 0,\n config: {\n clamp: true\n }\n }));\n function animate(immediate = false, fromMutation = false) {\n const container = tabListContainerRef.current;\n if (!container) return;\n const activeIndex = keyToIndexRecord[activeKey];\n if (activeIndex === undefined) {\n inkApi.start({\n x: 0,\n width: 0,\n immediate: true\n });\n return;\n }\n const activeLine = activeLineRef.current;\n if (!activeLine) return;\n const activeTabWrapper = container.children.item(activeIndex + 1);\n const activeTab = activeTabWrapper.children.item(0);\n const activeTabLeft = activeTab.offsetLeft;\n const activeTabWidth = activeTab.offsetWidth;\n const activeTabWrapperLeft = activeTabWrapper.offsetLeft;\n const activeTabWrapperWidth = activeTabWrapper.offsetWidth;\n const containerWidth = container.offsetWidth;\n const containerScrollWidth = container.scrollWidth;\n const containerScrollLeft = container.scrollLeft;\n const activeLineWidth = activeLine.offsetWidth;\n let x = 0;\n let width = 0;\n if (props.activeLineMode === 'auto') {\n x = activeTabLeft;\n width = activeTabWidth;\n } else if (props.activeLineMode === 'full') {\n x = activeTabWrapperLeft;\n width = activeTabWrapperWidth;\n } else {\n x = activeTabLeft + (activeTabWidth - activeLineWidth) / 2;\n }\n if (isRTL) {\n /**\n * In RTL mode, x equals the container width minus the x-coordinate of the current tab minus the width of the current tab.\n * https://github.com/Fog3211/reproduce-codesandbox/blob/f0a3396a114cc00e88a51a67d3be60a746519b30/assets/images/antd_mobile_tabs_rtl_x.jpg?raw=true\n */\n const w = ['auto', 'full'].includes(props.activeLineMode) ? width : activeLineWidth;\n x = -(containerWidth - x - w);\n }\n inkApi.start({\n x,\n width,\n immediate\n });\n const maxScrollDistance = containerScrollWidth - containerWidth;\n if (maxScrollDistance <= 0) return;\n let nextScrollLeft = 0;\n if (isRTL) {\n /**\n * 位移距离等于:activeTab的中心坐标距离容器中心坐标的距离,然后RTL取负数\n * containerWidth / 2 - (activeTabLeft + (activeTabWidth - activeLineWidth) / 2) - activeLineWidth / 2,\n */\n nextScrollLeft = -bound(containerWidth / 2 - activeTabLeft + activeTabWidth / 2 - activeLineWidth, 0, maxScrollDistance);\n } else {\n nextScrollLeft = bound(activeTabLeft - (containerWidth - activeTabWidth) / 2, 0, maxScrollDistance);\n }\n if (!fromMutation || props.autoScroll !== false) {\n scrollApi.start({\n scrollLeft: nextScrollLeft,\n from: {\n scrollLeft: containerScrollLeft\n },\n immediate\n });\n }\n }\n useIsomorphicLayoutEffect(() => {\n animate(!x.isAnimating);\n }, []);\n useIsomorphicUpdateLayoutEffect(() => {\n animate();\n }, [activeKey, isRTL, props.activeLineMode]);\n useResizeEffect(() => {\n animate(!x.isAnimating);\n }, tabListContainerRef);\n useMutationEffect(() => {\n animate(!x.isAnimating, true);\n }, tabListContainerRef, {\n subtree: true,\n childList: true,\n characterData: true\n });\n const {\n run: updateMask\n } = useThrottleFn((immediate = false) => {\n const container = tabListContainerRef.current;\n if (!container) return;\n const scrollLeft = container.scrollLeft;\n let showLeftMask = false;\n let showRightMask = false;\n if (isRTL) {\n /**\n * RTL模式下,只要滑动过,scrollLeft就再也回不到0(chrome是0.5)\n * 所以要加round才能终止触发条件\n * round(443.5) + 375 < 819\n */\n showLeftMask = Math.round(-scrollLeft) + container.offsetWidth < container.scrollWidth;\n showRightMask = scrollLeft < 0;\n } else {\n showLeftMask = scrollLeft > 0;\n showRightMask = scrollLeft + container.offsetWidth < container.scrollWidth;\n }\n maskApi.start({\n leftMaskOpacity: showLeftMask ? 1 : 0,\n rightMaskOpacity: showRightMask ? 1 : 0,\n immediate\n });\n }, {\n wait: 100,\n trailing: true,\n leading: true\n });\n useIsomorphicLayoutEffect(() => {\n updateMask(true);\n }, []);\n return withNativeProps(props, React.createElement(\"div\", {\n className: classPrefix,\n style: {\n direction: props.direction\n }\n }, React.createElement(\"div\", {\n className: `${classPrefix}-header`\n }, React.createElement(animated.div, {\n className: classNames(`${classPrefix}-header-mask`, `${classPrefix}-header-mask-left`),\n style: {\n opacity: leftMaskOpacity\n }\n }), React.createElement(animated.div, {\n className: classNames(`${classPrefix}-header-mask`, `${classPrefix}-header-mask-right`),\n style: {\n opacity: rightMaskOpacity\n }\n }), React.createElement(animated.div, {\n className: `${classPrefix}-tab-list`,\n ref: tabListContainerRef,\n scrollLeft: scrollLeft,\n onScroll: updateMask,\n role: 'tablist'\n }, React.createElement(animated.div, {\n ref: activeLineRef,\n className: `${classPrefix}-tab-line`,\n style: {\n width: props.activeLineMode === 'fixed' ? 'var(--fixed-active-line-width, 30px)' : width,\n x\n }\n }), panes.map(pane => withNativeProps(pane.props, React.createElement(\"div\", {\n key: pane.key,\n className: classNames(`${classPrefix}-tab-wrapper`, {\n [`${classPrefix}-tab-wrapper-stretch`]: props.stretch\n })\n }, React.createElement(\"div\", {\n onClick: () => {\n const {\n key\n } = pane;\n if (pane.props.disabled) return;\n if (key === undefined || key === null) {\n return;\n }\n setActiveKey(key.toString());\n },\n className: classNames(`${classPrefix}-tab`, {\n [`${classPrefix}-tab-active`]: pane.key === activeKey,\n [`${classPrefix}-tab-disabled`]: pane.props.disabled\n }),\n role: 'tab',\n \"aria-selected\": pane.key === activeKey\n }, pane.props.title)))))), panes.map(pane => {\n if (pane.props.children === undefined) {\n return null;\n }\n const active = pane.key === activeKey;\n return React.createElement(ShouldRender, {\n key: pane.key,\n active: active,\n forceRender: pane.props.forceRender,\n destroyOnClose: pane.props.destroyOnClose\n }, React.createElement(\"div\", {\n className: `${classPrefix}-content`,\n style: {\n display: active ? 'block' : 'none'\n }\n }, pane.props.children));\n })));\n};","import \"./tabs.css\";\nimport { Tab, Tabs } from './tabs';\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nexport default attachPropertiesToComponent(Tabs, {\n Tab\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});","import { animated, useSpring } from '@react-spring/web';\nimport { useMount } from 'ahooks';\nimport { DownOutline } from 'antd-mobile-icons';\nimport classNames from 'classnames';\nimport React, { isValidElement, useRef } from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { useShouldRender } from '../../utils/should-render';\nimport { traverseReactNode } from '../../utils/traverse-react-node';\nimport { useIsomorphicUpdateLayoutEffect } from '../../utils/use-isomorphic-update-layout-effect';\nimport { observe } from '../../utils/use-mutation-effect';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport { mergeProp, mergeProps } from '../../utils/with-default-props';\nimport { useConfig } from '../config-provider';\nimport List from '../list';\nconst classPrefix = `adm-collapse`;\nexport const CollapsePanel = () => {\n return null;\n};\nconst CollapsePanelContent = props => {\n const {\n visible\n } = props;\n const innerRef = useRef(null);\n const shouldRender = useShouldRender(visible, props.forceRender, props.destroyOnClose);\n const [{\n height\n }, api] = useSpring(() => ({\n from: {\n height: 0\n },\n config: {\n precision: 0.01,\n mass: 1,\n tension: 200,\n friction: 25,\n clamp: true\n }\n }));\n useMount(() => {\n if (!visible) return;\n const inner = innerRef.current;\n if (!inner) return;\n api.start({\n height: inner.offsetHeight,\n immediate: true\n });\n });\n useIsomorphicUpdateLayoutEffect(() => {\n const inner = innerRef.current;\n if (!inner) return;\n if (visible) {\n let lastMotionId = 0;\n let cancelObserve = () => {};\n const handleMotion = () => {\n lastMotionId += 1;\n const motionId = lastMotionId;\n api.start({\n height: inner.offsetHeight\n })[0].then(() => {\n if (motionId === lastMotionId) {\n cancelObserve();\n }\n });\n };\n cancelObserve = observe(inner, {\n childList: true,\n subtree: true\n }, handleMotion);\n handleMotion();\n return cancelObserve;\n } else {\n api.start({\n height: inner.offsetHeight,\n immediate: true\n });\n api.start({\n height: 0\n });\n }\n }, [visible]);\n return React.createElement(animated.div, {\n className: classNames(`${classPrefix}-panel-content`, {\n [`${classPrefix}-panel-content-active`]: visible\n }),\n style: {\n height: height.to(v => {\n if (height.idle && visible) {\n return 'auto';\n } else {\n return v;\n }\n })\n }\n }, React.createElement(\"div\", {\n className: `${classPrefix}-panel-content-inner`,\n ref: innerRef\n }, React.createElement(List.Item, null, shouldRender && props.children)));\n};\nexport const Collapse = props => {\n const {\n collapse: componentConfig = {}\n } = useConfig();\n const mergedProps = mergeProps(componentConfig, props);\n const panels = [];\n traverseReactNode(mergedProps.children, child => {\n if (!isValidElement(child)) return;\n const key = child.key;\n if (typeof key !== 'string') return;\n panels.push(child);\n });\n const handlePropsValue = () => {\n var _a;\n if (!mergedProps.accordion) {\n return {\n value: mergedProps.activeKey,\n defaultValue: (_a = mergedProps.defaultActiveKey) !== null && _a !== void 0 ? _a : [],\n onChange: mergedProps.onChange\n };\n }\n const initValue = {\n value: [],\n defaultValue: [],\n onChange: v => {\n var _a, _b;\n (_a = mergedProps.onChange) === null || _a === void 0 ? void 0 : _a.call(mergedProps, (_b = v[0]) !== null && _b !== void 0 ? _b : null);\n }\n };\n if (mergedProps.activeKey === undefined) {\n initValue.value = undefined;\n } else if (mergedProps.activeKey !== null) {\n initValue.value = [mergedProps.activeKey];\n }\n if (![null, undefined].includes(mergedProps.defaultActiveKey)) {\n initValue.defaultValue = [mergedProps.defaultActiveKey];\n }\n return initValue;\n };\n const [activeKey, setActiveKey] = usePropsValue(handlePropsValue());\n const activeKeyList = activeKey === null ? [] : Array.isArray(activeKey) ? activeKey : [activeKey];\n return withNativeProps(mergedProps, React.createElement(\"div\", {\n className: classPrefix\n }, React.createElement(List, null, panels.map(panel => {\n const key = panel.key;\n const active = activeKeyList.includes(key);\n function handleClick(event) {\n var _a, _b;\n if (mergedProps.accordion) {\n if (active) {\n setActiveKey([]);\n } else {\n setActiveKey([key]);\n }\n } else {\n if (active) {\n setActiveKey(activeKeyList.filter(v => v !== key));\n } else {\n setActiveKey([...activeKeyList, key]);\n }\n }\n (_b = (_a = panel.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a, event);\n }\n const arrow = mergeProp(React.createElement(DownOutline, null), mergedProps.arrow, mergedProps.arrowIcon, panel.props.arrow, panel.props.arrowIcon);\n const arrowIcon = typeof arrow === 'function' ? arrow(active) : React.createElement(\"div\", {\n className: classNames(`${classPrefix}-arrow`, {\n [`${classPrefix}-arrow-active`]: active\n })\n }, arrow);\n return React.createElement(React.Fragment, {\n key: key\n }, withNativeProps(panel.props, React.createElement(List.Item, {\n className: `${classPrefix}-panel-header`,\n onClick: handleClick,\n disabled: panel.props.disabled,\n arrowIcon: arrowIcon\n }, panel.props.title)), React.createElement(CollapsePanelContent, {\n visible: active,\n forceRender: !!panel.props.forceRender,\n destroyOnClose: !!panel.props.destroyOnClose\n }, panel.props.children));\n }))));\n};","import { useEffect } from 'react';\nimport { isFunction } from '../utils';\nimport isDev from '../utils/isDev';\nvar useMount = function (fn) {\n if (isDev) {\n if (!isFunction(fn)) {\n console.error(\"useMount: parameter `fn` expected to be a function, but got \\\"\".concat(typeof fn, \"\\\".\"));\n }\n }\n useEffect(function () {\n fn === null || fn === void 0 ? void 0 : fn();\n }, []);\n};\nexport default useMount;","import \"./collapse.css\";\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { Collapse, CollapsePanel } from './collapse';\nexport default attachPropertiesToComponent(Collapse, {\n Panel: CollapsePanel\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}","var i;\n\n!function(i) {\n i[i.HIGH_SURROGATE_START = 55296] = \"HIGH_SURROGATE_START\", i[i.HIGH_SURROGATE_END = 56319] = \"HIGH_SURROGATE_END\", \n i[i.LOW_SURROGATE_START = 56320] = \"LOW_SURROGATE_START\", i[i.REGIONAL_INDICATOR_START = 127462] = \"REGIONAL_INDICATOR_START\", \n i[i.REGIONAL_INDICATOR_END = 127487] = \"REGIONAL_INDICATOR_END\", i[i.FITZPATRICK_MODIFIER_START = 127995] = \"FITZPATRICK_MODIFIER_START\", \n i[i.FITZPATRICK_MODIFIER_END = 127999] = \"FITZPATRICK_MODIFIER_END\", i[i.VARIATION_MODIFIER_START = 65024] = \"VARIATION_MODIFIER_START\", \n i[i.VARIATION_MODIFIER_END = 65039] = \"VARIATION_MODIFIER_END\", i[i.DIACRITICAL_MARKS_START = 8400] = \"DIACRITICAL_MARKS_START\", \n i[i.DIACRITICAL_MARKS_END = 8447] = \"DIACRITICAL_MARKS_END\", i[i.SUBDIVISION_INDICATOR_START = 127988] = \"SUBDIVISION_INDICATOR_START\", \n i[i.TAGS_START = 917504] = \"TAGS_START\", i[i.TAGS_END = 917631] = \"TAGS_END\", i[i.ZWJ = 8205] = \"ZWJ\";\n}(i || (i = {}));\n\nconst e = Object.freeze([ 0x0308, 0x0937, 0x093F, 0x0BA8, 0x0BBF, 0x0BCD, 0x0E31, 0x0E33, 0x0E40, 0x0E49, 0x1100, 0x1161, 0x11A8 ]);\n\nvar n;\n\nfunction runes(i) {\n if (\"string\" != typeof i) throw new TypeError(\"string cannot be undefined or null\");\n const e = [];\n let n = 0, t = 0;\n for (;n < i.length; ) t += nextUnits(n + t, i), isGrapheme(i[n + t]) && t++, isVariationSelector(i[n + t]) && t++, \n isDiacriticalMark(i[n + t]) && t++, isZeroWidthJoiner(i[n + t]) ? t++ : (e.push(i.substring(n, n + t)), \n n += t, t = 0);\n return e;\n}\n\nfunction nextUnits(i, e) {\n const n = e[i];\n if (!isFirstOfSurrogatePair(n) || i === e.length - 1) return 1;\n const t = n + e[i + 1];\n let r = e.substring(i + 2, i + 5);\n return isRegionalIndicator(t) && isRegionalIndicator(r) ? 4 : isSubdivisionFlag(t) && isSupplementarySpecialpurposePlane(r) ? e.slice(i).indexOf(String.fromCodePoint(917631)) + 2 : isFitzpatrickModifier(r) ? 4 : 2;\n}\n\nfunction isFirstOfSurrogatePair(i) {\n return i && betweenInclusive(i[0].charCodeAt(0), 55296, 56319);\n}\n\nfunction isRegionalIndicator(i) {\n return betweenInclusive(codePointFromSurrogatePair(i), 127462, 127487);\n}\n\nfunction isSubdivisionFlag(i) {\n return betweenInclusive(codePointFromSurrogatePair(i), 127988, 127988);\n}\n\nfunction isFitzpatrickModifier(i) {\n return betweenInclusive(codePointFromSurrogatePair(i), 127995, 127999);\n}\n\nfunction isVariationSelector(i) {\n return \"string\" == typeof i && betweenInclusive(i.charCodeAt(0), 65024, 65039);\n}\n\nfunction isDiacriticalMark(i) {\n return \"string\" == typeof i && betweenInclusive(i.charCodeAt(0), 8400, 8447);\n}\n\nfunction isSupplementarySpecialpurposePlane(i) {\n const e = i.codePointAt(0);\n return \"string\" == typeof i && \"number\" == typeof e && betweenInclusive(e, 917504, 917631);\n}\n\nfunction isGrapheme(i) {\n return \"string\" == typeof i && e.includes(i.charCodeAt(0));\n}\n\nfunction isZeroWidthJoiner(i) {\n return \"string\" == typeof i && 8205 === i.charCodeAt(0);\n}\n\nfunction codePointFromSurrogatePair(i) {\n return (i.charCodeAt(0) - 55296 << 10) + (i.charCodeAt(1) - 56320) + 0x10000;\n}\n\nfunction betweenInclusive(i, e, n) {\n return i >= e && i <= n;\n}\n\nfunction substring(i, e, n) {\n const t = runes(i);\n if (void 0 === e) return i;\n if (e >= t.length) return \"\";\n const r = t.length - e;\n let o = e + (void 0 === n ? r : n);\n return o > e + r && (o = void 0), t.slice(e, o).join(\"\");\n}\n\n!function(i) {\n i[i.unit_1 = 1] = \"unit_1\", i[i.unit_2 = 2] = \"unit_2\", i[i.unit_4 = 4] = \"unit_4\";\n}(n || (n = {}));\n\nexport { n as EnumCodeUnits, i as EnumRunesCode, e as GRAPHEMES, betweenInclusive, codePointFromSurrogatePair, runes as default, isDiacriticalMark, isFirstOfSurrogatePair, isFitzpatrickModifier, isGrapheme, isRegionalIndicator, isSubdivisionFlag, isSupplementarySpecialpurposePlane, isVariationSelector, isZeroWidthJoiner, nextUnits, runes, substring as substr, substring };\n//# sourceMappingURL=index.esm.mjs.map\n","import { useEvent } from 'rc-util';\nimport React from 'react';\nimport runes from 'runes2';\nconst ELLIPSIS_TEXT = '...';\nconst measureStyle = {\n visibility: 'hidden',\n whiteSpace: 'inherit',\n lineHeight: 'inherit',\n fontSize: 'inherit'\n};\nexport default function useMeasure(containerRef, content, rows, direction, expanded, expandNode, collapseNode) {\n const contentChars = React.useMemo(() => runes(content), [content]);\n const [maxHeight, setMaxHeight] = React.useState(0);\n const [walkingIndexes, setWalkingIndexes] = React.useState([0, 0]);\n const midIndex = Math.ceil((walkingIndexes[0] + walkingIndexes[1]) / 2);\n const [status, setStatus] = React.useState(100 /* STABLE_NO_ELLIPSIS */);\n // ============================ Refs ============================\n const singleRowMeasureRef = React.useRef(null);\n const fullMeasureRef = React.useRef(null);\n const midMeasureRef = React.useRef(null);\n const startMeasure = useEvent(() => {\n setStatus(1 /* PREPARE */);\n setWalkingIndexes([0, direction === 'middle' ? Math.ceil(contentChars.length / 2) : contentChars.length]);\n });\n // Initialize\n React.useLayoutEffect(() => {\n startMeasure();\n }, [contentChars, rows]);\n // Measure element height\n React.useLayoutEffect(() => {\n var _a, _b;\n if (status === 1 /* PREPARE */) {\n const fullMeasureHeight = ((_a = fullMeasureRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0;\n const singleRowMeasureHeight = ((_b = singleRowMeasureRef.current) === null || _b === void 0 ? void 0 : _b.offsetHeight) || 0;\n const rowMeasureHeight = singleRowMeasureHeight * rows;\n if (fullMeasureHeight <= rowMeasureHeight) {\n setStatus(100 /* STABLE_NO_ELLIPSIS */);\n } else {\n setMaxHeight(rowMeasureHeight);\n setStatus(2 /* MEASURE_WALKING */);\n }\n }\n }, [status]);\n // Walking measure\n React.useLayoutEffect(() => {\n var _a;\n if (status === 2 /* MEASURE_WALKING */) {\n const diff = walkingIndexes[1] - walkingIndexes[0];\n const midHeight = ((_a = midMeasureRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0;\n if (diff > 1) {\n if (midHeight > maxHeight) {\n setWalkingIndexes([walkingIndexes[0], midIndex]);\n } else {\n setWalkingIndexes([midIndex, walkingIndexes[1]]);\n }\n } else {\n if (midHeight > maxHeight) {\n setWalkingIndexes([walkingIndexes[0], walkingIndexes[0]]);\n } else {\n setWalkingIndexes([walkingIndexes[1], walkingIndexes[1]]);\n }\n setStatus(99 /* STABLE_ELLIPSIS */);\n }\n }\n }, [status, walkingIndexes]);\n // =========================== Render ===========================\n /** Render by cut index */\n const renderContent = index => {\n const prefixContent = contentChars.slice(0, index);\n const suffixContent = contentChars.slice(contentChars.length - index);\n return React.createElement(React.Fragment, null, direction === 'start' && React.createElement(React.Fragment, null, expandNode, ELLIPSIS_TEXT), direction !== 'start' && prefixContent.join(''), direction === 'middle' && React.createElement(React.Fragment, null, ELLIPSIS_TEXT, expandNode, ELLIPSIS_TEXT), direction !== 'end' && suffixContent.join(''), direction === 'end' && React.createElement(React.Fragment, null, ELLIPSIS_TEXT, expandNode));\n };\n const finalContent = React.useMemo(() => {\n if (expanded || status === 100 /* STABLE_NO_ELLIPSIS */) {\n return React.createElement(React.Fragment, {\n key: 'display'\n }, content, status === 99 /* STABLE_ELLIPSIS */ && collapseNode);\n }\n if (status === 99 /* STABLE_ELLIPSIS */) {\n return renderContent(midIndex);\n }\n return null;\n }, [expanded, status, content, collapseNode, midIndex]);\n const allNodes = React.createElement(React.Fragment, null, status === 1 /* PREPARE */ && React.createElement(\"div\", {\n key: 'full',\n \"aria-hidden\": true,\n ref: fullMeasureRef,\n style: measureStyle\n }, content, expandNode), status === 1 /* PREPARE */ && React.createElement(\"div\", {\n key: 'stable',\n \"aria-hidden\": true,\n ref: singleRowMeasureRef,\n style: measureStyle\n }, '\\u00A0'), status === 2 /* MEASURE_WALKING */ && React.createElement(\"div\", {\n key: 'walking-mid',\n \"aria-hidden\": true,\n ref: midMeasureRef,\n style: measureStyle\n }, renderContent(midIndex)), finalContent);\n return [allNodes, startMeasure];\n}","import * as React from 'react';\nexport default function useEvent(callback) {\n var fnRef = React.useRef();\n fnRef.current = callback;\n var memoFn = React.useCallback(function () {\n var _fnRef$current;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return (_fnRef$current = fnRef.current) === null || _fnRef$current === void 0 ? void 0 : _fnRef$current.call.apply(_fnRef$current, [fnRef].concat(args));\n }, []);\n return memoFn;\n}","import React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { useResizeEffect } from '../../utils/use-resize-effect';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { withStopPropagation } from '../../utils/with-stop-propagation';\nimport useMeasure from './useMeasure';\nconst classPrefix = `adm-ellipsis`;\nconst defaultProps = {\n direction: 'end',\n rows: 1,\n expandText: '',\n content: '',\n collapseText: '',\n stopPropagationForActionButtons: [],\n onContentClick: () => {},\n defaultExpanded: false\n};\nexport const Ellipsis = p => {\n const props = mergeProps(defaultProps, p);\n const {\n content,\n direction,\n rows,\n expandText,\n collapseText,\n stopPropagationForActionButtons,\n onContentClick,\n defaultExpanded\n } = props;\n // ============================ Refs ============================\n const rootRef = React.useRef(null);\n // ========================== Expanded ==========================\n const [expanded, setExpanded] = React.useState(defaultExpanded);\n const expandNode = expandText ? withStopPropagation(stopPropagationForActionButtons, React.createElement(\"a\", {\n onClick: () => {\n setExpanded(true);\n }\n }, expandText)) : null;\n const collapseNode = collapseText ? withStopPropagation(stopPropagationForActionButtons, React.createElement(\"a\", {\n onClick: () => {\n setExpanded(false);\n }\n }, collapseText)) : null;\n // ========================== Ellipsis ==========================\n const [measureNodes, forceResize] = useMeasure(rootRef, content, rows, direction, expanded, expandNode, collapseNode);\n useResizeEffect(forceResize, rootRef);\n // =========================== Render ===========================\n return withNativeProps(props, React.createElement(\"div\", {\n ref: rootRef,\n className: classPrefix,\n onClick: e => {\n if (e.target === e.currentTarget) {\n onContentClick(e);\n }\n }\n }, measureNodes));\n};","import React from 'react';\nimport classNames from 'classnames';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { withNativeProps } from '../../utils/native-props';\nimport { useConfig } from '../config-provider';\nimport \"./error-block.css\";\nconst classPrefix = `adm-error-block`;\nconst defaultProps = {\n status: 'default'\n};\nexport function createErrorBlock(imageRecord) {\n const ErrorBlock = p => {\n var _a;\n const props = mergeProps(defaultProps, p);\n const {\n locale\n } = useConfig();\n const contentPack = locale.ErrorBlock[props.status];\n const desc = 'description' in props ? props.description : contentPack.description;\n const title = 'title' in props ? props.title : contentPack.title;\n const image = (_a = props.image) !== null && _a !== void 0 ? _a : imageRecord[props.status];\n const imageNode = typeof image === 'string' ? React.createElement(\"img\", {\n src: image,\n alt: 'error block image'\n }) : image;\n return withNativeProps(props, React.createElement(\"div\", {\n className: classNames(classPrefix, {\n [`${classPrefix}-full-page`]: props.fullPage\n })\n }, React.createElement(\"div\", {\n className: `${classPrefix}-image`\n }, imageNode), React.createElement(\"div\", {\n className: `${classPrefix}-description`\n }, ![undefined, null].includes(title) && React.createElement(\"div\", {\n className: `${classPrefix}-description-title`\n }, title), ![undefined, null].includes(desc) && React.createElement(\"div\", {\n className: `${classPrefix}-description-subtitle`\n }, desc)), props.children && React.createElement(\"div\", {\n className: `${classPrefix}-content`\n }, props.children)));\n };\n return ErrorBlock;\n}","import React from 'react';\nexport const defaultImage = React.createElement(\"svg\", {\n viewBox: '0 0 200 200',\n xmlns: 'http://www.w3.org/2000/svg',\n xmlnsXlink: 'http://www.w3.org/1999/xlink'\n}, React.createElement(\"defs\", null, React.createElement(\"linearGradient\", {\n x1: '50%',\n y1: '-116.862%',\n x2: '50%',\n y2: '90.764%',\n id: 'error-block-image-default-a'\n}, React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0.207,\n offset: '0%'\n}), React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0.115,\n offset: '80.072%'\n}), React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0,\n offset: '100%'\n})), React.createElement(\"circle\", {\n id: 'error-block-image-default-d',\n cx: 18.823,\n cy: 18.823,\n r: 18.823\n}), React.createElement(\"rect\", {\n id: 'error-block-image-default-b',\n x: 3.5,\n y: 9,\n width: 51.429,\n height: 88,\n rx: 4.571\n})), React.createElement(\"g\", {\n fill: 'none',\n fillRule: 'evenodd'\n}, React.createElement(\"path\", {\n d: 'M73.557.004c19.435-.311 38.696 17.016 51.523 35.287 8.708-10.822 17.127-16.233 25.255-16.233 13.333 0 28.35 14.274 45.053 42.822 1.769 3.024-3.582 7.435-16.054 13.231l-41.322 1.37c-7.343 5.872-31.225.626-69.152 1.234-27.79.445-45.759-1.234-53.908-5.037C3.2 71.143-1.625 68.686.48 65.308 27.371 22.12 51.73.353 73.557.003Zm93.098 49.53a1.125 1.125 0 0 0-.401.072l-.058.023-.07.03-.028.014-.02.01c-.03.015-.059.032-.088.049a2.543 2.543 0 0 0-.568.477l-.067.074c-1.686 1.931-2.904 7.062-2.904 8.985 0 2.283 1.719 4.153 3.898 4.314l.026.001v3.805c0 .39.25.705.56.705.31 0 .56-.316.56-.705l.001-3.88c1.92-.402 3.363-2.148 3.363-4.24 0-2.39-1.882-9.734-4.204-9.734Zm-100-5a1.125 1.125 0 0 0-.331.05l-.035.01-.035.012-.058.023-.07.03-.028.014-.02.01c-.03.015-.059.032-.088.049a2.543 2.543 0 0 0-.568.477l-.067.074c-1.686 1.931-2.904 7.062-2.904 8.985 0 2.212 1.613 4.036 3.695 4.294l.203.02.026.001v3.805c0 .39.25.705.56.705.282 0 .515-.26.555-.6l.006-.105v-3.88c1.92-.402 3.363-2.148 3.363-4.24 0-2.39-1.882-9.734-4.204-9.734ZM52.64 38.348l-.15.008-.149.023-.032.007-.032.008-.078.022-.045.015-.045.016-.06.023-.038.017-.038.017-.058.028-.022.011a2.201 2.201 0 0 0-.323.204l-.05.038-.05.04-.025.02-.025.021a3.742 3.742 0 0 0-.31.294l-.036.04c-.035.037-.07.076-.105.116-.01.012-.02.025-.031.036a3.275 3.275 0 0 0-.081.098l-.063.078c-2.031 2.583-3.48 8.692-3.48 11.027 0 2.636 1.846 4.832 4.292 5.323l.224.04-.064-.012.105.018.103.014v4.618c0 .47.299.85.667.85.337 0 .615-.32.659-.735l.006-.115v-4.618c.18-.023.355-.054.527-.094l.256-.067.196-.06c2.136-.706 3.68-2.75 3.68-5.162 0-2.996-2.383-12.207-5.325-12.207Z',\n transform: 'translate(2.286 22.286)',\n fill: 'url(#error-block-image-default-a)'\n}), React.createElement(\"g\", {\n transform: 'rotate(-90 102.429 55.357)'\n}, React.createElement(\"path\", {\n d: 'M6.857 0H52a6.857 6.857 0 0 1 6.857 6.857v92A6.857 6.857 0 0 1 52 105.714H6.857A6.857 6.857 0 0 1 0 98.857v-92A6.857 6.857 0 0 1 6.857 0Z',\n fill: '#7EACFF'\n}), React.createElement(\"mask\", {\n id: 'error-block-image-default-c',\n fill: '#fff'\n}, React.createElement(\"use\", {\n xlinkHref: '#error-block-image-default-b'\n})), React.createElement(\"use\", {\n fill: '#377EFF',\n xlinkHref: '#error-block-image-default-b'\n}), React.createElement(\"path\", {\n d: 'M11.838 91.8a.64.64 0 0 1 .627.652.64.64 0 0 1-.627.652.64.64 0 0 1-.628-.652c0-.36.281-.651.628-.651Zm-2.858 0a.64.64 0 0 1 .628.652.64.64 0 0 1-.628.652.64.64 0 0 1-.627-.652c0-.36.281-.651.627-.651Zm2.16-2.305a.64.64 0 0 1 .628.652.64.64 0 0 1-.627.651.64.64 0 0 1-.627-.651c0-.36.28-.652.627-.652Zm-2.982-.04a.64.64 0 0 1 .627.651.64.64 0 0 1-.627.652.64.64 0 0 1-.627-.652c0-.36.28-.651.627-.651Zm5.268-.531a.64.64 0 0 1 .628.651.64.64 0 0 1-.628.652.64.64 0 0 1-.627-.652c0-.36.281-.651.627-.651Zm2.858-1.143a.64.64 0 0 1 .627.651.64.64 0 0 1-.627.652.64.64 0 0 1-.628-.652c0-.36.281-.651.628-.651Zm-6.37-.917c.209 0 .377.175.377.39a.384.384 0 0 1-.376.392.384.384 0 0 1-.376-.391c0-.216.168-.391.376-.391Zm3.512-.798.093.007a.644.644 0 0 1 .535.645.64.64 0 0 1-.628.652.64.64 0 0 1-.627-.652c0-.36.281-.652.627-.652Zm5.715 0a.64.64 0 0 1 .627.652.64.64 0 0 1-.627.652.64.64 0 0 1-.627-.652c0-.36.28-.652.627-.652Zm-11.429 0a.64.64 0 0 1 .627.652.64.64 0 0 1-.627.652.64.64 0 0 1-.627-.652c0-.36.28-.652.627-.652Zm-3.261.241c.208 0 .376.175.376.39a.384.384 0 0 1-.376.392.384.384 0 0 1-.377-.391c0-.216.169-.391.377-.391Zm11.833-.812a.64.64 0 0 1 .627.652.64.64 0 0 1-.627.651.64.64 0 0 1-.628-.651c0-.36.281-.652.628-.652Zm-4.851.399c.208 0 .376.175.376.39a.384.384 0 0 1-.376.392.384.384 0 0 1-.377-.391c0-.216.169-.391.377-.391Zm10.313-2.056a.64.64 0 0 1 .628.652.64.64 0 0 1-.628.651.64.64 0 0 1-.627-.651c0-.36.281-.652.627-.652Zm-2.354-.128a.64.64 0 0 1 .627.652.64.64 0 0 1-.627.652.64.64 0 0 1-.628-.652c0-.36.281-.652.628-.652Zm-13.798.311c.207 0 .376.175.376.391a.384.384 0 0 1-.376.391.384.384 0 0 1-.377-.39c0-.217.169-.392.377-.392Zm11.832-.812a.64.64 0 0 1 .628.652.64.64 0 0 1-.628.651.64.64 0 0 1-.627-.651c0-.36.281-.652.627-.652Zm-6.285 0a.64.64 0 0 1 .627.652.64.64 0 0 1-.627.651.64.64 0 0 1-.627-.651c0-.36.28-.652.627-.652Zm3.428 0a.64.64 0 0 1 .627.652.64.64 0 0 1-.627.651.64.64 0 0 1-.627-.651c0-.36.28-.652.627-.652Zm-6.118.24c.208 0 .376.176.376.392a.384.384 0 0 1-.376.39.384.384 0 0 1-.377-.39c0-.216.169-.391.377-.391Zm11.261-2.525a.64.64 0 0 1 .627.651.64.64 0 0 1-.627.652.64.64 0 0 1-.627-.652c0-.36.28-.651.627-.651Zm-3.557.484c.208 0 .376.175.376.391a.384.384 0 0 1-.376.391.384.384 0 0 1-.376-.391c0-.216.168-.391.376-.391Zm-2.478-.555a.64.64 0 0 1 .627.652.64.64 0 0 1-.627.652.64.64 0 0 1-.627-.652c0-.36.28-.652.627-.652Zm-3.512-.26c.208 0 .376.175.376.39a.384.384 0 0 1-.376.392.384.384 0 0 1-.376-.391c0-.216.168-.391.376-.391Zm-2.857 0c.208 0 .376.175.376.39a.384.384 0 0 1-.376.392.384.384 0 0 1-.376-.391c0-.216.168-.391.376-.391Zm-4.571 0c.207 0 .376.175.376.39a.384.384 0 0 1-.376.392.384.384 0 0 1-.377-.391c0-.216.169-.391.377-.391Zm14.898-1.835a.64.64 0 0 1 .628.652.64.64 0 0 1-.628.651.64.64 0 0 1-.627-.651c0-.36.281-.652.627-.652Zm-8.027-.245c.208 0 .377.175.377.39a.384.384 0 0 1-.377.392.384.384 0 0 1-.376-.391c0-.216.169-.391.376-.391Zm6.271-1.349c.208 0 .377.175.377.391a.384.384 0 0 1-.377.391.384.384 0 0 1-.376-.39c0-.217.169-.392.376-.392Zm-11.484-.481c.208 0 .376.175.376.39a.384.384 0 0 1-.376.392.384.384 0 0 1-.376-.391c0-.216.168-.391.376-.391Zm15.103-.972c.208 0 .376.175.376.391a.384.384 0 0 1-.376.391.384.384 0 0 1-.376-.39c0-.217.168-.392.376-.392Zm-9.333-1.404c.208 0 .376.175.376.39a.384.384 0 0 1-.376.392.384.384 0 0 1-.376-.391c0-.216.168-.391.376-.391Zm-6.819-.405c.208 0 .377.175.377.39a.384.384 0 0 1-.377.392.384.384 0 0 1-.376-.391c0-.216.168-.391.376-.391Z',\n fill: '#003CFF',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-c)',\n transform: 'rotate(116 12.367 83.503)'\n}), React.createElement(\"path\", {\n stroke: '#FFF',\n strokeWidth: 0.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n d: 'M36.774 5.474H21.523'\n}), React.createElement(\"path\", {\n d: 'm67.818 94.025-4.996 3.913m4.996 11.91-4.996-3.912m-1.142 9.145-1.143-6.288m10.71-6.768h-7.262',\n stroke: '#4486FE',\n strokeWidth: 0.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n})), React.createElement(\"circle\", {\n cx: 8.571,\n cy: 8.571,\n r: 8.571,\n transform: 'translate(22.857 142)',\n fill: '#FFCD6B',\n fillRule: 'nonzero'\n}), React.createElement(\"g\", {\n transform: 'translate(132.857 124)'\n}, React.createElement(\"mask\", {\n id: 'error-block-image-default-e',\n fill: '#fff'\n}, React.createElement(\"use\", {\n xlinkHref: '#error-block-image-default-d'\n})), React.createElement(\"use\", {\n fill: '#FBBE47',\n fillRule: 'nonzero',\n xlinkHref: '#error-block-image-default-d'\n}), React.createElement(\"circle\", {\n fill: '#FFCD6B',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-e)',\n cx: 13.886,\n cy: 15.12,\n r: 18.823\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-e)',\n cx: 23.4,\n cy: 29.057,\n r: 1\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-e)',\n cx: 30.343,\n cy: 29.829,\n r: 1\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-e)',\n cx: 18.771,\n cy: 32.657,\n r: 1.286\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-e)',\n cx: 29.571,\n cy: 25.971,\n r: 1.286\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-e)',\n cx: 19.286,\n cy: 7.971,\n r: 1.286\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-e)',\n cx: 26.486,\n cy: 5.914,\n r: 1.286\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-e)',\n cx: 11.057,\n cy: 6.943,\n r: 1\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-e)',\n cx: 30.086,\n cy: 15.686,\n r: 1.286\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-e)',\n cx: 22.886,\n cy: 14.657,\n r: 1\n})), React.createElement(\"path\", {\n d: 'm87.429 135.123 6.591-9.378v-.08h-5.99v-2.559h10.038v1.787l-6.44 9.254v.082h6.56v2.557h-10.76v-1.663Zm12.185-5.889 4.948-7.047v-.056h-4.498v-1.917h7.536v1.34l-4.849 6.942v.059h4.923v1.92h-8.06v-1.24Zm10.345.702 3.708-5.274v-.045h-3.372v-1.437h5.648v1.003l-3.628 5.206v.045H116v1.438h-6.041v-.936Z',\n fill: '#FFF',\n fillRule: 'nonzero'\n})));","import { createErrorBlock } from './create-error-block';\nimport { busyImage, defaultImage, disconnectedImage, emptyImage } from './images';\nconst imageRecord = {\n 'default': defaultImage,\n 'disconnected': disconnectedImage,\n 'empty': emptyImage,\n 'busy': busyImage\n};\nexport const ErrorBlock = createErrorBlock(imageRecord);","import React from 'react';\nexport const disconnectedImage = React.createElement(\"svg\", {\n viewBox: '0 0 400 400',\n xmlns: 'http://www.w3.org/2000/svg',\n xmlnsXlink: 'http://www.w3.org/1999/xlink'\n}, React.createElement(\"title\", null, '@\\u53CD\\u9988/\\u5F02\\u5E38/\\u7F51\\u7EDC\\u670D\\u52A1\\u5F02\\u5E38'), React.createElement(\"defs\", null, React.createElement(\"linearGradient\", {\n x1: '50%',\n y1: '-116.862%',\n x2: '50%',\n y2: '90.764%',\n id: 'error-block-image-disconnected-c'\n}, React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0.207,\n offset: '0%'\n}), React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0.115,\n offset: '80.072%'\n}), React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0,\n offset: '100%'\n})), React.createElement(\"circle\", {\n id: 'error-block-image-disconnected-d',\n cx: 22.309,\n cy: 22.309,\n r: 22.309\n}), React.createElement(\"path\", {\n id: 'error-block-image-disconnected-a',\n d: 'M0 0h400v400H0z'\n})), React.createElement(\"g\", {\n fill: 'none',\n fillRule: 'evenodd'\n}, React.createElement(\"mask\", {\n id: 'error-block-image-disconnected-b',\n fill: '#fff'\n}, React.createElement(\"use\", {\n xlinkHref: '#error-block-image-disconnected-a'\n})), React.createElement(\"g\", {\n mask: 'url(#error-block-image-disconnected-b)',\n fill: 'url(#error-block-image-disconnected-c)'\n}, React.createElement(\"path\", {\n d: 'M151.686 45.58c38.869-.623 77.391 34.03 103.046 70.573 17.416-21.644 34.253-32.465 50.51-32.465 26.666 0 56.701 28.548 90.105 85.643 3.539 6.05-7.164 14.87-32.107 26.462l-82.643 2.741c-14.686 11.745-62.45 1.252-138.305 2.467-55.58.89-91.518-2.468-107.816-10.074-23.505-3.07-33.154-7.983-28.946-14.74C59.313 89.813 108.03 46.278 151.686 45.58Zm186.195 99.06-.127.003-.126.01a2.32 2.32 0 0 0-.465.103l-.032.01-.031.01a2.364 2.364 0 0 0-.181.071 2.52 2.52 0 0 0-.116.054l-.133.067-.042.024-.036.02a2.946 2.946 0 0 0-.133.08l-.048.03a3.052 3.052 0 0 0-.126.087l-.047.033a3.274 3.274 0 0 0-.128.097c-.01.008-.02.017-.031.024a4.906 4.906 0 0 0-.31.27l-.036.032a6.654 6.654 0 0 0-.46.484l-.045.05c-3.344 3.91-5.755 14.083-5.755 17.908 0 4.547 3.409 8.275 7.74 8.625l.108.008v7.608c0 .779.502 1.41 1.121 1.41.62 0 1.121-.632 1.121-1.41v-7.762c3.838-.802 6.727-4.293 6.727-8.48 0-4.778-3.765-19.467-8.409-19.467Zm-200-10-.127.003-.126.01a2.32 2.32 0 0 0-.368.073l-.049.014-.048.016-.032.01-.031.01a2.364 2.364 0 0 0-.181.071l-.058.026-.058.028-.133.067-.042.024-.036.02-.066.039-.067.041-.048.03a3.052 3.052 0 0 0-.126.087l-.047.033a3.274 3.274 0 0 0-.128.097c-.01.008-.02.017-.031.024l-.156.13-.154.14-.036.032a6.654 6.654 0 0 0-.46.484l-.045.05c-3.344 3.91-5.755 14.083-5.755 17.908 0 4.547 3.409 8.275 7.74 8.625l.054.004.054.004v7.608c0 .779.502 1.41 1.121 1.41.58 0 1.058-.556 1.115-1.266l.006-.144v-7.762c3.838-.802 6.727-4.293 6.727-8.48 0-4.778-3.765-19.467-8.409-19.467Zm-28.029-12.373-.107.002-.106.006a2.978 2.978 0 0 0-.551.095 3.444 3.444 0 0 0-.323.104 3.962 3.962 0 0 0-.61.297c-.076.045-.15.092-.226.141-4.964 3.312-8.728 18.445-8.728 23.77 0 5.434 3.922 9.935 9.04 10.726l.28.04v9.236c0 .886.532 1.614 1.21 1.692l.121.007.122-.007c.638-.074 1.147-.723 1.204-1.538l.006-.155v-9.235c5.254-.668 9.32-5.234 9.32-10.767 0-5.993-4.77-24.414-10.652-24.414Z'\n})), React.createElement(\"g\", {\n mask: 'url(#error-block-image-disconnected-b)'\n}, React.createElement(\"g\", {\n transform: 'translate(85.858 150.644)'\n}, React.createElement(\"path\", {\n d: 'M116.26 28.467c1.352 0 2.703.018 4.054.054 3.923.385 10.188 4.248 9.267 11.061-.878 6.496-5.836 9.089-8.962 9.529a130.762 130.762 0 0 0-4.36-.072c-28.567 0-60.654 10.149-96.22 30.676l-2.227 1.297c-.744.437-1.49.878-2.236 1.323-4.878 2.911-11.193 1.316-14.103-3.562C-1.438 73.894.157 67.58 5.035 64.67 45.34 40.62 82.4 28.467 116.26 28.467Zm22 11.63c1.03-5.942 6.376-8.618 11.084-8.08C172.14 36.91 194.83 46.86 217.37 61.794c4.735 3.138 6.03 9.52 2.893 14.255-3.138 4.736-9.52 6.031-14.256 2.893-20.111-13.325-40.075-22.165-59.935-26.584a9.974 9.974 0 0 0-.325-.088c-3.987-1.015-8.602-5.738-7.487-12.175ZM116.26 77.418c22.777 0 45.4 7.057 67.73 20.988 4.82 3.007 6.289 9.351 3.282 14.17-3.007 4.82-9.351 6.29-14.17 3.283-19.194-11.974-38.095-17.87-56.842-17.87s-37.648 5.896-56.842 17.87c-4.82 3.007-11.164 1.537-14.17-3.282-3.007-4.82-1.538-11.164 3.282-14.171 22.33-13.931 44.953-20.988 67.73-20.988ZM117.974 124.67c9.85 0 17.303 1.69 25.687 5.082l.82.337 2.9 1.231 3.008 1.252.77.305.107.04c5.326 1.976 8.042 7.895 6.066 13.221-1.976 5.326-7.895 8.042-13.221 6.067l-.713-.27-.726-.285-.763-.31-1.263-.527-2.944-1.26-1.125-.473c-6.393-2.648-11.433-3.838-18.603-3.838-8.223 0-16.532 2.126-25.028 6.475-5.056 2.588-11.254.587-13.842-4.47-2.589-5.056-.588-11.253 4.47-13.842 11.313-5.791 22.814-8.735 34.4-8.735ZM118.235 197.047c7.15 0 13.77-.897 19.841-2.721 5.44-1.635 8.526-7.37 6.892-12.81-1.635-5.44-7.37-8.526-12.81-6.892-4.072 1.224-8.707 1.851-13.923 1.851-4.36 0-8.79-1.045-13.373-3.21l-.626-.301c-5.095-2.512-11.262-.418-13.773 4.678-2.512 5.095-.418 11.261 4.678 13.773 7.559 3.727 15.288 5.632 23.094 5.632Z',\n fill: '#377EFF',\n fillRule: 'nonzero'\n}), React.createElement(\"path\", {\n d: 'M198.35 62.413c2.755-4.967 9.016-6.76 13.984-4.004 13.068 7.25 19.124 18.535 17.615 30.952-1.157 9.515-6.83 18.757-14.096 24.352-13.364 10.29-34.915 9.401-49.363-1.91-4.472-3.502-5.26-9.967-1.758-14.44 3.436-4.388 9.724-5.229 14.185-1.952l.255.194c7.283 5.702 18.475 6.164 24.13 1.809 3.072-2.366 5.766-6.754 6.226-10.536.467-3.844-1.21-7.07-6.796-10.267l-.378-.213c-4.967-2.756-6.76-9.017-4.004-13.985ZM61.35 103.092c-2.84-4.92-9.13-6.607-14.05-3.768-20.662 11.922-21.772 35.751-6.018 51.69 13.752 13.914 33.192 13.447 50.507 1.158 4.633-3.288 5.723-9.708 2.436-14.34-3.288-4.633-9.709-5.724-14.341-2.436-9.763 6.928-18.07 7.128-23.97 1.158-6.761-6.84-6.498-14.501 1.35-19.225l.317-.187c4.92-2.84 6.608-9.13 3.769-14.05ZM129.103 135.702c1.688-5.424 7.454-8.453 12.878-6.764 14.776 4.599 23.437 13.727 25.259 25.58 1.316 8.561-1.228 17.533-5.58 24.052-3.132 4.688-7.388 8.287-12.504 11.112-3.03 1.673-5.75 2.811-9.37 4.066l-1.4.477c-5.387 1.806-11.217-1.097-13.022-6.484-1.805-5.386 1.098-11.216 6.484-13.02l1.09-.374c6.032-2.112 9.602-4.19 11.613-7.201 1.693-2.535 2.818-6.502 2.356-9.503-.564-3.673-3.432-6.696-11.04-9.063-5.424-1.689-8.452-7.454-6.764-12.878Z',\n fill: '#377EFF',\n fillRule: 'nonzero'\n}), React.createElement(\"path\", {\n d: 'M148.072 181.58c3.718-7.98 4.172-14.9 1.36-20.76-2.81-5.86-6.236-9.096-10.275-9.707',\n stroke: '#FFF',\n strokeWidth: 0.571,\n strokeLinecap: 'round'\n}), React.createElement(\"ellipse\", {\n fill: '#7EACFF',\n transform: 'rotate(10 147 41.933)',\n cx: 147,\n cy: 41.933,\n rx: 9.143,\n ry: 10.286\n}), React.createElement(\"path\", {\n d: 'M210.422 107.472c3.718-7.98 4.172-14.9 1.36-20.76-2.81-5.86-6.668-9.883-11.572-12.067M51.604 131.769c-3.15-6.8-3.537-12.694-1.161-17.685 2.376-4.99 5.57-8.136 9.583-9.438',\n stroke: '#003CFF',\n strokeWidth: 0.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n}), React.createElement(\"path\", {\n d: 'M21.53 64.408c4.946-3.389 9.817-6.026 14.612-7.912',\n stroke: '#FFF',\n strokeWidth: 0.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n}), React.createElement(\"path\", {\n d: 'm113.243 15.444 9.588 8.314M144.31 9.405l-5.775 11.3m18.389-1.246-11.907 4.643M127.64 5.66l2.77 14.255',\n stroke: '#4486FE',\n strokeWidth: 0.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n}))), React.createElement(\"g\", {\n mask: 'url(#error-block-image-disconnected-b)'\n}, React.createElement(\"g\", {\n transform: 'translate(275.143 302.571)'\n}, React.createElement(\"mask\", {\n id: 'error-block-image-disconnected-e',\n fill: '#fff'\n}, React.createElement(\"use\", {\n xlinkHref: '#error-block-image-disconnected-d'\n})), React.createElement(\"use\", {\n fill: '#FBBE47',\n fillRule: 'nonzero',\n xlinkHref: '#error-block-image-disconnected-d'\n}), React.createElement(\"circle\", {\n fill: '#FFCD6B',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-disconnected-e)',\n cx: 16.457,\n cy: 17.92,\n r: 22.309\n}), React.createElement(\"circle\", {\n fill: '#FFF',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-disconnected-e)',\n cx: 14.263,\n cy: 12.069,\n r: 2.194\n}))), React.createElement(\"g\", {\n mask: 'url(#error-block-image-disconnected-b)',\n fill: '#FBBE47',\n fillRule: 'nonzero'\n}, React.createElement(\"circle\", {\n cx: 12,\n cy: 12,\n r: 12,\n transform: 'translate(84 297.714)'\n}))));","import React from 'react';\nexport const emptyImage = React.createElement(\"svg\", {\n viewBox: '0 0 400 400',\n xmlns: 'http://www.w3.org/2000/svg',\n xmlnsXlink: 'http://www.w3.org/1999/xlink'\n}, React.createElement(\"defs\", null, React.createElement(\"linearGradient\", {\n x1: '50%',\n y1: '-116.862%',\n x2: '50%',\n y2: '90.764%',\n id: 'error-block-image-empty-a'\n}, React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0.207,\n offset: '0%'\n}), React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0.115,\n offset: '80.072%'\n}), React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0,\n offset: '100%'\n})), React.createElement(\"path\", {\n d: 'M146.183 18.461c31.705 23.336 33.349 71.85 4.93 96.614-.252.22 6.172 5.602 13.577 11.414l.686.537.69.54.695.54.348.27.698.54a341.27 341.27 0 0 0 8.806 6.596c1.114.802 4.643-.853 10.587-4.965l-.532 12.218a1.2 1.2 0 0 1-.481.91l-10.868 8.111c-1.405 1.048-3.32 1.185-4.854.072l-35.578-25.834c-33.414 17.333-79.913 15-109.804-7-33.444-24.616-33.444-75.95 0-100.563 33.443-24.615 87.657-24.615 121.1 0Zm-60.469 7.653C51.63 26.114 24 44.534 24 67.257S51.63 108.4 85.714 108.4s61.715-18.42 61.715-41.143c0-22.722-27.63-41.143-61.715-41.143Z',\n id: 'error-block-image-empty-b'\n})), React.createElement(\"g\", {\n fill: 'none',\n fillRule: 'evenodd'\n}, React.createElement(\"path\", {\n d: 'M157.964 244.661H0L3.806 100.13a4.572 4.572 0 0 1 4.353-4.446l.217-.006h45.588V68.2a4.572 4.572 0 0 1 4.356-4.567l.216-.005h65.498l2.554-58.689a4.571 4.571 0 0 1 4.779-4.367l.214.015 87.79 8.222a4.572 4.572 0 0 1 4.126 4.133l.015.212 3.146 69.652L301.634 64.9a4.571 4.571 0 0 1 5.628 4.231l.005.215v43.955l56.162.001v130.264h-56.163v.001h-82.383v-.004h-66.919v1.098ZM89.503 160.03h-9.968v8.436h9.968v-8.436Zm0-14.507h-9.968v8.435h9.968v-8.435Zm197.985-5.15h-9.967v8.432h9.967v-8.431Zm-197.985-8.806h-9.968v8.436h9.968v-8.436Zm197.985-5.153h-9.967v8.432h9.967v-8.432Zm0-14.503h-9.967v8.432h9.967v-8.432Zm-84.643-.777h-30.8v8.436h30.8v-8.436Zm84.643-13.186h-9.967v8.436h9.967v-8.436Zm-84.643-3.29h-30.8v8.436h30.8v-8.436Zm0-15.912h-30.8v8.436h30.8v-8.436Z',\n transform: 'translate(18.286 50.286)',\n fill: 'url(#error-block-image-empty-a)'\n}), React.createElement(\"g\", {\n transform: 'translate(108.571 189.886)'\n}, React.createElement(\"mask\", {\n id: 'error-block-image-empty-c',\n fill: '#fff'\n}, React.createElement(\"use\", {\n xlinkHref: '#error-block-image-empty-b'\n})), React.createElement(\"use\", {\n fill: '#377EFF',\n xlinkHref: '#error-block-image-empty-b'\n}), React.createElement(\"path\", {\n d: 'M131.429 134.686a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm5.714 0a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285ZM128 133.543a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-5.714 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm21.143-1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm-9.143-1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm12-1.143a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-6.857 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286ZM120 128.971a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm5.714 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm16-1.142.125.006a1.143 1.143 0 1 1-.125-.006Zm11.429 0a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm-22.857 0a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm17.143-1.143a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285ZM136 125.543a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-13.143 1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm4.572-1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm18.857-2.286a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-16-1.143.124.007a1.143 1.143 0 1 1-.124-.007Zm11.428 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-22.857 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm36.572 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-5.715 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-37.143 1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm13.715-1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm9.714-1.143a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm18.286-3.428a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-11.429 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-28 1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm5.714-1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm17.715-1.143a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-5.715 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-6.857 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm17.143-4.571a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm-11.428 0a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm-5.143 1.142a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm-8-1.142a.571.571 0 1 1 0 1.142.571.571 0 0 1 0-1.142Zm-9.143 0a.571.571 0 1 1 0 1.142.571.571 0 0 1 0-1.142Zm30.286-3.429a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286ZM124 109.543a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm5.714 0a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm5.715-4.572a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm-22.858-1.142a.571.571 0 1 1 0 1.142.571.571 0 0 1 0-1.142Zm-11.428-3.429a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143ZM124 99.257a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143ZM49.143 55.829a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm5.714 0a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm-9.143-1.143a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm-5.714 0a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm21.143-1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143ZM52 52.4a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm12-1.143a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-6.857 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-19.429-1.143a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm5.715 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm16-1.143.124.007a1.143 1.143 0 1 1-.124-.007Zm11.428 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-22.857 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm17.143-1.142a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm-11.429-1.143a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm-13.143 1.143a.571.571 0 1 1 0 1.142.571.571 0 0 1 0-1.142Zm4.572-1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143ZM64 44.4a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-16-1.143.125.007a1.143 1.143 0 1 1-.125-.007Zm11.429 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-22.858 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm36.572 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-5.714 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286ZM30.286 44.4a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143ZM44 43.257a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm9.714-1.143a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286ZM72 38.686a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm-11.429 0a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm-28 1.143a.571.571 0 1 1 0 1.142.571.571 0 0 1 0-1.142Zm5.715-1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143ZM56 37.543a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-5.714 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-6.857 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286ZM60.57 32.97a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-11.428 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286ZM44 34.114a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm-8-1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm-9.143 0a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm30.286-3.428a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-15.429 1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm5.715 0a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm5.714-4.572a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm-22.857-1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm-11.429-3.428a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143ZM41.714 20.4a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Z',\n fill: '#003CFF',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-empty-c)'\n})), React.createElement(\"path\", {\n d: 'M295.213 319.24c.744.546.745 1.433.002 1.98l-11.806 8.81c-1.069.799-3.326.474-4.853-.609l-35.622-25.241c-33.375 17.037-79.545 14.615-109.28-7.271-33.443-24.615-33.443-64.521 0-89.133 33.443-24.616 87.657-24.616 121.1 0 31.706 23.336 33.35 60.42 4.931 85.185-.543.473 35.528 26.278 35.528 26.278ZM148.06 220.015c-25.44 17.853-25.44 46.8 0 64.652 25.44 17.85 66.689 17.85 92.129 0 25.436-17.853 25.436-46.799 0-64.652-25.44-17.853-66.688-17.853-92.129 0Z',\n fill: '#5D96FE'\n}), React.createElement(\"path\", {\n d: 'M123.514 233.021c2.185-5.241 5.67-9.735 10.453-13.482M264.967 271.54c-2.185 5.24-5.67 9.734-10.453 13.481',\n stroke: '#FFF',\n strokeWidth: 0.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n}), React.createElement(\"path\", {\n d: 'M81.143 252.571c7.574 0 13.714 23.88 13.714 31.649 0 6.97-4.942 12.755-11.429 13.871v11.672c0 1.235-.767 2.237-1.713 2.237-.904 0-1.644-.912-1.71-2.07l-.005-.167v-11.526c-7.04-.595-12.571-6.644-12.571-14.017 0-7.024 5.02-27.222 11.581-31.027l.096-.053c.027-.016.055-.03.082-.045l.067-.035.066-.033.1-.05.094-.041a3.34 3.34 0 0 1 .224-.093l.11-.042.097-.032c.038-.013.077-.025.115-.036l.053-.016.053-.014a3.351 3.351 0 0 1 .23-.055l.085-.016a3.95 3.95 0 0 1 .441-.054l.11-.005.11-.002Z',\n fill: '#FFCD6B',\n fillRule: 'nonzero'\n}), React.createElement(\"g\", {\n transform: 'translate(283.429 177.143)',\n fillRule: 'nonzero'\n}, React.createElement(\"path\", {\n d: 'M22.475.847c12.34 0 22.345 37.935 22.345 50.276 0 11.395-8.53 20.798-19.552 22.172v19.019c0 1.932-1.25 3.5-2.792 3.5-1.49 0-2.707-1.46-2.79-3.301l-.004-.2-.001-19.018C8.659 71.92.13 62.518.13 51.123.13 40.071 8.154 8.49 18.694 2.015l.054-.031a5.94 5.94 0 0 1 .214-.128l.088-.048c.213-.12.427-.228.642-.326l.135-.06.18-.075.135-.053a5.796 5.796 0 0 1 .464-.16 4.44 4.44 0 0 1 .33-.092l.124-.03a7.122 7.122 0 0 1 .31-.065l.018-.003a6.305 6.305 0 0 1 .756-.088l.165-.007.166-.002Z',\n fill: '#FFCD6B'\n}), React.createElement(\"path\", {\n d: 'M22.475.847c12.34 0 22.345 37.935 22.345 50.276 0 11.395-8.53 20.798-19.552 22.172v19.019c0 1.932-1.25 3.5-2.792 3.5-1.543 0-2.794-1.566-2.794-3.5V73.295C8.659 71.921.13 62.518.13 51.123.13 38.783 10.134.847 22.475.847Z',\n fill: '#FFCD6B'\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n cx: 26.4,\n cy: 56.869,\n r: 1.45\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n cx: 39.453,\n cy: 58.319,\n r: 1\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n cx: 17.698,\n cy: 63.637,\n r: 2.417\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n cx: 38.002,\n cy: 51.068,\n r: 2.417\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n cx: 18.665,\n cy: 17.228,\n r: 2.417\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n cx: 32.201,\n cy: 13.36,\n r: 2.417\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n cx: 26.83,\n cy: 20.666,\n r: 1.45\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n cx: 38.969,\n cy: 31.731,\n r: 2.417\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n cx: 25.433,\n cy: 29.797,\n r: 1.45\n}), React.createElement(\"path\", {\n d: 'M34.197 53.033c0 9.825-6.934 18.017-16.172 19.987a22.44 22.44 0 0 0 4.45.448c12.34 0 22.344-10.004 22.344-22.345C44.82 38.783 34.815.847 22.475.847c8.947 14.03 11.722 40.891 11.722 52.186Z',\n fill: '#FBBE47'\n}))));","import React from 'react';\nexport const busyImage = React.createElement(\"svg\", {\n viewBox: '0 0 400 400',\n xmlns: 'http://www.w3.org/2000/svg',\n xmlnsXlink: 'http://www.w3.org/1999/xlink'\n}, React.createElement(\"defs\", null, React.createElement(\"linearGradient\", {\n x1: '50%',\n y1: '-116.862%',\n x2: '50%',\n y2: '90.764%',\n id: 'error-block-image-busy-a'\n}, React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0.207,\n offset: '0%'\n}), React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0.115,\n offset: '80.072%'\n}), React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0,\n offset: '100%'\n})), React.createElement(\"circle\", {\n id: 'error-block-image-busy-b',\n cx: 34.857,\n cy: 34.857,\n r: 34.857\n})), React.createElement(\"g\", {\n fill: 'none',\n fillRule: 'evenodd'\n}, React.createElement(\"path\", {\n d: 'M157.964 243.667H0L3.806 99.134a4.572 4.572 0 0 1 4.353-4.446l.217-.005h45.588V67.205a4.572 4.572 0 0 1 4.356-4.566l.216-.005 65.498-.001 2.554-58.688a4.571 4.571 0 0 1 4.779-4.368l.214.015 87.79 8.222a4.572 4.572 0 0 1 4.126 4.133l.015.213 3.146 69.652 74.976-17.906a4.571 4.571 0 0 1 5.628 4.23l.005.216v43.955h56.162v130.265l-56.163-.001v.002h-82.383v-.004h-66.919v1.098Zm-68.461-84.631h-9.968v8.435h9.968v-8.435Zm0-14.508h-9.968v8.436h9.968v-8.436Zm197.985-5.149h-9.967v8.432h9.967v-8.432Zm-197.985-8.806h-9.968v8.436h9.968v-8.436Zm197.985-5.153h-9.967v8.432h9.967v-8.432Zm0-14.503h-9.967v8.432h9.967v-8.432Zm-84.643-.777h-30.8v8.436h30.8v-8.436Zm84.643-13.186h-9.967v8.435h9.967v-8.435Zm-84.643-3.29h-30.8v8.435h30.8v-8.435Zm0-15.912h-30.8v8.436h30.8v-8.436Z',\n transform: 'translate(18.286 51.286)',\n fill: 'url(#error-block-image-busy-a)'\n}), React.createElement(\"path\", {\n d: 'm250.934 176.555-101.963 1.038c-5.276.054-9.51 4.374-9.455 9.65.054 5.274 4.374 9.507 9.649 9.454l.958-.01c-.376 7.363 3.679 59.93 34.894 62.659 4.203.367 7.432.39 7.475 4.609.042 4.218-3.176 4.307-7.37 4.76-34.593 3.737-34.136 56.004-33.61 63.357l-.957.01c-5.276.053-9.51 4.373-9.455 9.649.053 5.275 4.374 9.508 9.649 9.454l101.963-1.039c5.275-.054 9.508-4.374 9.455-9.648-.055-5.276-4.374-9.51-9.65-9.455l-.958.01c.377-7.363-.729-59.672-34.894-62.66-4.202-.367-7.432-.39-7.474-4.608-.043-4.219 3.175-4.308 7.369-4.76 31.276-3.377 34.136-56.004 33.61-63.357l.958-.01c5.276-.053 9.508-4.373 9.455-9.649-.055-5.276-4.374-9.509-9.65-9.454Z',\n fill: '#377EFF'\n}), React.createElement(\"path\", {\n d: 'M233.524 314.422c.108.684.772 1.148 1.483 1.035.711-.112 1.2-.758 1.091-1.443-.108-.684-.772-1.147-1.483-1.035-.711.113-1.2.759-1.091 1.443Zm-.894-5.644c.108.684.772 1.148 1.483 1.035.711-.112 1.2-.758 1.091-1.443-.108-.684-.772-1.147-1.483-1.035-.711.113-1.2.759-1.091 1.443Zm-.149 17.865c.108.684.773 1.147 1.483 1.035.711-.113 1.2-.759 1.091-1.443-.108-.684-.772-1.148-1.483-1.035-.71.112-1.2.758-1.09 1.443Zm-2.144-8.182c.109.684.773 1.148 1.484 1.035.71-.113 1.199-.759 1.09-1.443-.108-.684-.772-1.148-1.483-1.035-.71.113-1.2.759-1.09 1.443Zm-1.586-4.694c.108.684.772 1.148 1.483 1.035.711-.113 1.2-.759 1.091-1.443-.108-.684-.772-1.147-1.483-1.035-.711.113-1.2.759-1.091 1.443Zm-1.013-5.88c.109.685.773 1.148 1.484 1.036.71-.113 1.2-.759 1.09-1.443-.107-.684-.772-1.148-1.483-1.035-.71.113-1.199.759-1.09 1.443Zm.236 15.575c.108.685.772 1.148 1.483 1.035.71-.112 1.2-.758 1.09-1.442-.107-.685-.772-1.148-1.483-1.035-.71.112-1.199.758-1.09 1.442Zm-.4 4.494c.108.684.772 1.147 1.483 1.035.71-.113 1.2-.759 1.091-1.443-.108-.684-.773-1.148-1.483-1.035-.711.113-1.2.759-1.091 1.443Zm-3.88-8.601c.108.684.772 1.147 1.483 1.035.71-.113 1.199-.759 1.09-1.443-.108-.684-.772-1.148-1.483-1.035-.71.113-1.2.759-1.09 1.443Zm-.524-7.186c.065.41.463.688.89.62.426-.067.72-.454.654-.865-.065-.41-.463-.688-.89-.62-.426.067-.72.454-.654.865Zm-2.265-4.102c.109.684.773 1.148 1.484 1.035.71-.113 1.2-.759 1.09-1.443-.108-.684-.772-1.147-1.483-1.035-.71.113-1.199.759-1.09 1.443Zm-.545-6.518c.065.41.464.689.89.621.427-.067.72-.455.655-.865-.065-.41-.464-.689-.89-.621-.427.067-.72.455-.655.865Zm2.098 23.629c.109.684.773 1.147 1.484 1.035.71-.113 1.2-.759 1.09-1.443-.108-.684-.772-1.148-1.483-1.035-.71.112-1.199.758-1.09 1.443Zm-.756-9.65c.043.274.309.46.593.414a.512.512 0 0 0 .437-.577.512.512 0 0 0-.594-.414.512.512 0 0 0-.436.577Zm-.808 20.96c.109.684.773 1.147 1.484 1.034.71-.112 1.2-.758 1.09-1.442-.108-.685-.772-1.148-1.483-1.036-.71.113-1.199.759-1.09 1.443Zm-4.691-31.966c.065.41.463.689.89.621.426-.068.72-.455.654-.866-.065-.41-.463-.688-.89-.62-.426.067-.72.454-.654.865Zm2.098 23.628c.108.684.772 1.148 1.483 1.035.711-.112 1.2-.758 1.091-1.443-.108-.684-.772-1.147-1.483-1.035-.711.113-1.2.759-1.091 1.443Zm-1.967-12.416c.109.684.773 1.147 1.484 1.035.71-.113 1.199-.759 1.09-1.443-.108-.684-.772-1.148-1.483-1.035-.71.112-1.2.758-1.09 1.443Zm1.073 6.772c.108.685.772 1.148 1.483 1.035.711-.112 1.2-.758 1.091-1.442-.108-.685-.772-1.148-1.483-1.036-.711.113-1.2.759-1.091 1.443Zm-.009-3.131c.065.41.464.689.89.621.427-.068.72-.455.655-.866-.065-.41-.464-.688-.89-.62-.427.067-.72.454-.655.865Zm-1.43-9.03c.065.41.463.688.89.62.426-.067.72-.454.655-.865-.065-.41-.464-.689-.89-.62-.427.067-.72.454-.655.865ZM214.5 333.38c.108.685.772 1.148 1.483 1.036.711-.113 1.2-.759 1.091-1.443-.108-.684-.772-1.148-1.483-1.035-.711.112-1.2.758-1.091 1.442Zm-.156-7.178c.065.41.464.689.89.621.427-.067.72-.455.655-.865-.065-.41-.464-.689-.89-.621-.427.067-.72.455-.655.865Zm-1.871-4.72c.108.684.773 1.147 1.483 1.034.711-.112 1.2-.758 1.091-1.442-.108-.685-.772-1.148-1.483-1.035-.71.112-1.2.758-1.091 1.442Zm-1.614-6.857c.065.41.464.689.89.621.427-.068.72-.455.655-.866-.065-.41-.464-.688-.89-.62-.427.067-.72.454-.655.865Zm-.894-5.644c.065.41.464.689.89.621.427-.067.72-.455.655-.866-.065-.41-.463-.688-.89-.62-.427.067-.72.455-.655.865Zm-1.43-9.03c.065.41.464.688.89.62.427-.067.72-.454.655-.865-.065-.41-.464-.688-.89-.62-.427.067-.72.454-.655.865Zm-1.958 14.225c.065.41.463.689.89.62.426-.067.72-.454.654-.865-.065-.41-.463-.688-.89-.62-.426.067-.72.454-.654.865Zm-.703 12.81c.065.41.464.688.89.62.427-.067.72-.455.655-.865-.065-.41-.463-.689-.89-.621-.427.067-.72.455-.655.866Zm-4.543-22.536c.065.41.463.689.89.621.426-.067.72-.455.654-.865-.065-.41-.463-.689-.89-.621-.426.067-.72.455-.654.865Zm2.806 30.138c.065.41.463.689.89.621.426-.067.72-.455.654-.865-.065-.41-.463-.689-.89-.621-.426.067-.72.455-.654.865Zm-5.694-17.996c.065.41.463.688.89.62.426-.067.72-.455.654-.865-.065-.41-.463-.689-.89-.621-.426.067-.72.455-.654.866Zm-2.935-13.343c.066.41.464.688.89.62.427-.067.72-.454.655-.865-.065-.41-.463-.689-.89-.621-.426.068-.72.455-.655.866Z',\n fill: '#003CFF',\n fillRule: 'nonzero'\n}), React.createElement(\"path\", {\n d: 'm250.934 176.555-101.963 1.038c-5.276.054-9.51 4.374-9.455 9.65.054 5.274 4.374 9.507 9.649 9.454l101.963-1.04c5.276-.052 9.508-4.372 9.455-9.648-.055-5.276-4.374-9.509-9.65-9.454ZM252.64 331.241l-101.964 1.038c-5.275.054-9.508 4.374-9.454 9.65.054 5.275 4.374 9.508 9.649 9.454l101.963-1.039c5.275-.053 9.507-4.373 9.454-9.649-.054-5.275-4.374-9.508-9.649-9.454Z',\n fill: '#7EACFF'\n}), React.createElement(\"path\", {\n stroke: '#003CFF',\n strokeWidth: 0.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n d: 'm196.824 197.298 52.216-.506M193.329 330.5h52.215'\n}), React.createElement(\"path\", {\n d: 'M167.367 228.041c-4.091-10.787-6.086-20.934-5.985-30.44',\n stroke: '#FFF',\n strokeWidth: 0.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n}), React.createElement(\"circle\", {\n cx: 14.857,\n cy: 14.857,\n r: 14.857,\n transform: 'translate(106.857 248.571)',\n fill: '#FFCD6B',\n fillRule: 'nonzero'\n}), React.createElement(\"g\", {\n transform: 'translate(236.571 284.571)'\n}, React.createElement(\"mask\", {\n id: 'error-block-image-busy-c',\n fill: '#fff'\n}, React.createElement(\"use\", {\n xlinkHref: '#error-block-image-busy-b'\n})), React.createElement(\"use\", {\n fill: '#FBBE47',\n fillRule: 'nonzero',\n xlinkHref: '#error-block-image-busy-b'\n}), React.createElement(\"circle\", {\n fill: '#FFCD6B',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-busy-c)',\n cx: 25.714,\n cy: 28,\n r: 34.857\n}), React.createElement(\"circle\", {\n fill: '#FFF',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-busy-c)',\n cx: 22.286,\n cy: 18.857,\n r: 3.429\n}))));","import React, { forwardRef, useImperativeHandle, useRef, useState } from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { useDrag } from '@use-gesture/react';\nimport { useSpring, animated } from '@react-spring/web';\nimport { supportsPassive } from '../../utils/supports-passive';\nimport { nearest } from '../../utils/nearest';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { useLockScroll } from '../../utils/use-lock-scroll';\nimport { useMemoizedFn } from 'ahooks';\nconst classPrefix = 'adm-floating-panel';\nconst defaultProps = {\n handleDraggingOfContent: true\n};\nexport const FloatingPanel = forwardRef((p, ref) => {\n var _a, _b;\n const props = mergeProps(defaultProps, p);\n const {\n anchors\n } = props;\n const maxHeight = (_a = anchors[anchors.length - 1]) !== null && _a !== void 0 ? _a : window.innerHeight;\n const possibles = anchors.map(x => -x);\n const elementRef = useRef(null);\n const headerRef = useRef(null);\n const contentRef = useRef(null);\n const [pulling, setPulling] = useState(false);\n const pullingRef = useRef(false);\n const bounds = {\n top: possibles[possibles.length - 1],\n bottom: possibles[0]\n };\n const onHeightChange = useMemoizedFn((_b = props.onHeightChange) !== null && _b !== void 0 ? _b : () => {});\n const [{\n y\n }, api] = useSpring(() => ({\n y: bounds.bottom,\n config: {\n tension: 300\n },\n onChange: result => {\n onHeightChange(-result.value.y, y.isAnimating);\n }\n }));\n useDrag(state => {\n const [, offsetY] = state.offset;\n if (state.first) {\n const target = state.event.target;\n const header = headerRef.current;\n if (header === target || (header === null || header === void 0 ? void 0 : header.contains(target))) {\n pullingRef.current = true;\n } else {\n if (!props.handleDraggingOfContent) return;\n const reachedTop = y.goal <= bounds.top;\n const content = contentRef.current;\n if (!content) return;\n if (reachedTop) {\n if (content.scrollTop <= 0 && state.direction[1] > 0) {\n pullingRef.current = true;\n }\n } else {\n pullingRef.current = true;\n }\n }\n }\n setPulling(pullingRef.current);\n if (!pullingRef.current) return;\n const {\n event\n } = state;\n if (event.cancelable && supportsPassive) {\n event.preventDefault();\n }\n event.stopPropagation();\n let nextY = offsetY;\n if (state.last) {\n pullingRef.current = false;\n setPulling(false);\n nextY = nearest(possibles, offsetY);\n }\n api.start({\n y: nextY\n });\n }, {\n axis: 'y',\n bounds,\n rubberband: true,\n from: () => [0, y.get()],\n pointer: {\n touch: true\n },\n target: elementRef,\n eventOptions: supportsPassive ? {\n passive: false\n } : undefined\n });\n useImperativeHandle(ref, () => ({\n setHeight: (height, options) => {\n api.start({\n y: -height,\n immediate: options === null || options === void 0 ? void 0 : options.immediate\n });\n }\n }), [api]);\n useLockScroll(elementRef, true);\n return withNativeProps(props, React.createElement(animated.div, {\n ref: elementRef,\n className: classPrefix,\n style: {\n height: Math.round(maxHeight),\n translateY: y.to(y => `calc(100% + (${Math.round(y)}px))`)\n }\n }, React.createElement(\"div\", {\n className: `${classPrefix}-mask`,\n style: {\n display: pulling ? 'block' : 'none'\n }\n }), React.createElement(\"div\", {\n className: `${classPrefix}-header`,\n ref: headerRef\n }, React.createElement(\"div\", {\n className: `${classPrefix}-bar`\n })), React.createElement(\"div\", {\n className: `${classPrefix}-content`,\n ref: contentRef\n }, props.children)));\n});","export function nearest(arr, target) {\n return arr.reduce((pre, cur) => {\n return Math.abs(pre - target) < Math.abs(cur - target) ? pre : cur;\n });\n}","import { canUseDom } from './can-use-dom';\nimport { isDev } from './is-dev';\nimport { devError } from './dev-log';\nlet tenPxTester = null;\nlet tester = null;\nif (canUseDom) {\n tenPxTester = document.createElement('div');\n tenPxTester.className = 'adm-px-tester';\n tenPxTester.style.setProperty('--size', '10');\n document.body.appendChild(tenPxTester);\n tester = document.createElement('div');\n tester.className = 'adm-px-tester';\n document.body.appendChild(tester);\n if (isDev) {\n if (window.getComputedStyle(tester).position !== 'fixed') {\n devError('Global', 'The px tester is not rendering properly. Please make sure you have imported `antd-mobile/es/global`.');\n }\n }\n}\nexport function convertPx(px) {\n if (tenPxTester === null || tester === null) return px;\n if (tenPxTester.getBoundingClientRect().height === 10) {\n return px;\n }\n tester.style.setProperty('--size', px.toString());\n return tester.getBoundingClientRect().height;\n}","import { mergeProps } from '../../utils/with-default-props';\nimport React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { toCSSLength } from '../../utils/to-css-length';\nconst classPrefix = `adm-grid`;\nexport const Grid = props => {\n const style = {\n '--columns': props.columns.toString()\n };\n const {\n gap\n } = props;\n if (gap !== undefined) {\n if (Array.isArray(gap)) {\n style['--gap-horizontal'] = toCSSLength(gap[0]);\n style['--gap-vertical'] = toCSSLength(gap[1]);\n } else {\n style['--gap'] = toCSSLength(gap);\n }\n }\n return withNativeProps(props, React.createElement(\"div\", {\n className: classPrefix,\n style: style\n }, props.children));\n};\nexport const GridItem = p => {\n const props = mergeProps({\n span: 1\n }, p);\n const itemStyle = {\n '--item-span': props.span\n };\n return withNativeProps(props, React.createElement(\"div\", {\n className: `${classPrefix}-item`,\n style: itemStyle,\n onClick: props.onClick\n }, props.children));\n};","import \"./grid.css\";\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { Grid, GridItem } from './grid';\nexport default attachPropertiesToComponent(Grid, {\n Item: GridItem\n});","import { createUseGesture, dragAction, pinchAction } from '@use-gesture/react';\nexport const useDragAndPinch = createUseGesture([dragAction, pinchAction]);","export const create = () => {\n return [1, 0, 0, 1, 0, 0];\n};\nexport const getTranslateX = m => {\n return m[4];\n};\nexport const getTranslateY = m => {\n return m[5];\n};\nexport const getScaleX = m => {\n return m[0];\n};\nexport const getScaleY = m => {\n return m[3];\n};\nexport const translate = (m, x, y) => {\n return multiply([1, 0, 0, 1, x, y], m);\n};\nexport const scale = (m, scaleX, scaleY = scaleX) => {\n return multiply([scaleX, 0, 0, scaleY, 0, 0], m);\n};\nexport const apply = (m, [ox, oy]) => {\n return [m[0] * ox + m[2] * oy + m[4], m[1] * ox + m[3] * oy + m[5]];\n};\nexport const multiply = (m1, m2) => {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n};","import React, { useRef } from 'react';\nimport { useSpring, animated } from '@react-spring/web';\nimport { useSize } from 'ahooks';\nimport { rubberbandIfOutOfBounds } from '../../utils/rubberband';\nimport { useDragAndPinch } from '../../utils/use-drag-and-pinch';\nimport { bound } from '../../utils/bound';\nimport * as mat from '../../utils/matrix';\nconst classPrefix = `adm-image-viewer`;\nexport const Slide = props => {\n const {\n dragLockRef,\n maxZoom\n } = props;\n const initialMartix = useRef([]);\n const controlRef = useRef(null);\n const imgRef = useRef(null);\n const [{\n matrix\n }, api] = useSpring(() => ({\n matrix: mat.create(),\n config: {\n tension: 200\n }\n }));\n const controlSize = useSize(controlRef);\n const imgSize = useSize(imgRef);\n const pinchLockRef = useRef(false);\n /**\n * Calculate the min and max value of x and y\n */\n const getMinAndMax = nextMatrix => {\n if (!controlSize || !imgSize) return {\n x: {\n position: 0,\n minX: 0,\n maxX: 0\n },\n y: {\n position: 0,\n minY: 0,\n maxY: 0\n }\n };\n const controlLeft = -controlSize.width / 2;\n const controlTop = -controlSize.height / 2;\n const imgLeft = -imgSize.width / 2;\n const imgTop = -imgSize.height / 2;\n const zoom = mat.getScaleX(nextMatrix);\n const scaledImgWidth = zoom * imgSize.width;\n const scaledImgHeight = zoom * imgSize.height;\n const minX = controlLeft - (scaledImgWidth - controlSize.width);\n const maxX = controlLeft;\n const minY = controlTop - (scaledImgHeight - controlSize.height);\n const maxY = controlTop;\n const [x, y] = mat.apply(nextMatrix, [imgLeft, imgTop]);\n return {\n x: {\n position: x,\n minX,\n maxX\n },\n y: {\n position: y,\n minY,\n maxY\n }\n };\n };\n /**\n * Check if is reach the bound\n */\n const getReachBound = (position, min, max, buffer = 0) => {\n return [position <= min - buffer, position >= max + buffer];\n };\n /**\n * Limit the matrix in the bound\n */\n const boundMatrix = (nextMatrix, type, last = false) => {\n if (!controlSize || !imgSize) return nextMatrix;\n const zoom = mat.getScaleX(nextMatrix);\n const scaledImgWidth = zoom * imgSize.width;\n const scaledImgHeight = zoom * imgSize.height;\n const {\n x: {\n position: x,\n minX,\n maxX\n },\n y: {\n position: y,\n minY,\n maxY\n }\n } = getMinAndMax(nextMatrix);\n if (type === 'translate') {\n let boundedX = x;\n let boundedY = y;\n if (scaledImgWidth > controlSize.width) {\n boundedX = last ? bound(x, minX, maxX) : rubberbandIfOutOfBounds(x, minX, maxX, zoom * 50);\n } else {\n boundedX = -scaledImgWidth / 2;\n }\n if (scaledImgHeight > controlSize.height) {\n boundedY = last ? bound(y, minY, maxY) : rubberbandIfOutOfBounds(y, minY, maxY, zoom * 50);\n } else {\n boundedY = -scaledImgHeight / 2;\n }\n return mat.translate(nextMatrix, boundedX - x, boundedY - y);\n }\n if (type === 'scale' && last) {\n const [boundedX, boundedY] = [scaledImgWidth > controlSize.width ? bound(x, minX, maxX) : -scaledImgWidth / 2, scaledImgHeight > controlSize.height ? bound(y, minY, maxY) : -scaledImgHeight / 2];\n return mat.translate(nextMatrix, boundedX - x, boundedY - y);\n }\n return nextMatrix;\n };\n useDragAndPinch({\n onDrag: state => {\n var _a;\n if (state.first) {\n const {\n x: {\n position: x,\n minX,\n maxX\n }\n } = getMinAndMax(matrix.get());\n initialMartix.current = getReachBound(x, minX, maxX);\n return;\n }\n if (state.pinching) return state.cancel();\n if (state.tap && state.elapsedTime > 0 && state.elapsedTime < 1000) {\n // 判断点击时间>0是为了过滤掉非正常操作,例如用户长按选择图片之后的取消操作(也是一次点击)\n (_a = props.onTap) === null || _a === void 0 ? void 0 : _a.call(props);\n return;\n }\n const currentZoom = mat.getScaleX(matrix.get());\n if (dragLockRef) {\n dragLockRef.current = currentZoom !== 1;\n }\n if (!pinchLockRef.current && currentZoom <= 1) {\n api.start({\n matrix: mat.create()\n });\n } else {\n const currentMatrix = matrix.get();\n const offset = [state.offset[0] - mat.getTranslateX(currentMatrix), state.offset[1] - mat.getTranslateY(currentMatrix)];\n const nextMatrix = mat.translate(currentMatrix, ...(state.last ? [offset[0] + state.velocity[0] * state.direction[0] * 200, offset[1] + state.velocity[1] * state.direction[1] * 200] : offset));\n api.start({\n matrix: boundMatrix(nextMatrix, 'translate', state.last),\n immediate: !state.last\n });\n const {\n x: {\n position: x,\n minX,\n maxX\n }\n } = getMinAndMax(nextMatrix);\n if (state.last && initialMartix.current.some(i => i) && getReachBound(x, minX, maxX).some(i => i)) {\n if (dragLockRef) {\n dragLockRef.current = false;\n }\n api.start({\n matrix: mat.create()\n });\n }\n }\n },\n onPinch: state => {\n var _a;\n pinchLockRef.current = !state.last;\n const [d] = state.offset;\n if (d < 0) return;\n let mergedMaxZoom;\n if (maxZoom === 'auto') {\n mergedMaxZoom = controlSize && imgSize ? Math.max(controlSize.height / imgSize.height, controlSize.width / imgSize.width) : 1;\n } else {\n mergedMaxZoom = maxZoom;\n }\n const nextZoom = state.last ? bound(d, 1, mergedMaxZoom) : d;\n (_a = props.onZoomChange) === null || _a === void 0 ? void 0 : _a.call(props, nextZoom);\n if (state.last && nextZoom <= 1) {\n api.start({\n matrix: mat.create()\n });\n if (dragLockRef) {\n dragLockRef.current = false;\n }\n } else {\n if (!controlSize) return;\n const currentMatrix = matrix.get();\n const currentZoom = mat.getScaleX(currentMatrix);\n const originOffsetX = state.origin[0] - controlSize.width / 2;\n const originOffsetY = state.origin[1] - controlSize.height / 2;\n let nextMatrix = mat.translate(currentMatrix, -originOffsetX, -originOffsetY);\n nextMatrix = mat.scale(nextMatrix, nextZoom / currentZoom);\n nextMatrix = mat.translate(nextMatrix, originOffsetX, originOffsetY);\n api.start({\n matrix: boundMatrix(nextMatrix, 'scale', state.last),\n immediate: !state.last\n });\n if (dragLockRef) {\n dragLockRef.current = true;\n }\n }\n }\n }, {\n target: controlRef,\n drag: {\n from: () => [mat.getTranslateX(matrix.get()), mat.getTranslateY(matrix.get())],\n pointer: {\n touch: true\n }\n },\n pinch: {\n from: () => [mat.getScaleX(matrix.get()), 0],\n pointer: {\n touch: true\n }\n }\n });\n return React.createElement(\"div\", {\n className: `${classPrefix}-slide`\n }, React.createElement(\"div\", {\n className: `${classPrefix}-control`,\n ref: controlRef\n }, React.createElement(animated.div, {\n className: `${classPrefix}-image-wrapper`,\n style: {\n matrix\n }\n }, React.createElement(\"img\", {\n ref: imgRef,\n src: props.image,\n draggable: false,\n alt: props.image\n }))));\n};","import React, { forwardRef, useImperativeHandle, useRef } from 'react';\nimport { useDrag } from '@use-gesture/react';\nimport { useSpring, animated } from '@react-spring/web';\nimport { Slide } from './slide';\nimport { convertPx } from '../../utils/convert-px';\nimport { bound } from '../../utils/bound';\nconst classPrefix = `adm-image-viewer`;\nexport const Slides = forwardRef((props, ref) => {\n const slideWidth = window.innerWidth + convertPx(16);\n const [{\n x\n }, api] = useSpring(() => ({\n x: props.defaultIndex * slideWidth,\n config: {\n tension: 250,\n clamp: true\n }\n }));\n const count = props.images.length;\n function swipeTo(index, immediate = false) {\n var _a;\n const i = bound(index, 0, count - 1);\n (_a = props.onIndexChange) === null || _a === void 0 ? void 0 : _a.call(props, i);\n api.start({\n x: i * slideWidth,\n immediate\n });\n }\n useImperativeHandle(ref, () => ({\n swipeTo\n }));\n const dragLockRef = useRef(false);\n const bind = useDrag(state => {\n if (dragLockRef.current) return;\n const [offsetX] = state.offset;\n if (state.last) {\n const minIndex = Math.floor(offsetX / slideWidth);\n const maxIndex = minIndex + 1;\n const velocityOffset = Math.min(state.velocity[0] * 2000, slideWidth) * state.direction[0];\n swipeTo(bound(Math.round((offsetX + velocityOffset) / slideWidth), minIndex, maxIndex));\n } else {\n api.start({\n x: offsetX,\n immediate: true\n });\n }\n }, {\n transform: ([x, y]) => [-x, y],\n from: () => [x.get(), 0],\n bounds: () => ({\n left: 0,\n right: (count - 1) * slideWidth\n }),\n rubberband: true,\n axis: 'x',\n pointer: {\n touch: true\n }\n });\n return React.createElement(\"div\", Object.assign({\n className: `${classPrefix}-slides`\n }, bind()), React.createElement(animated.div, {\n className: `${classPrefix}-indicator`\n }, x.to(v => {\n const index = bound(Math.round(v / slideWidth), 0, count - 1);\n return `${index + 1} / ${count}`;\n })), React.createElement(animated.div, {\n className: `${classPrefix}-slides-inner`,\n style: {\n x: x.to(x => -x)\n }\n }, props.images.map((image, index) => React.createElement(Slide, {\n key: index,\n image: image,\n onTap: props.onTap,\n maxZoom: props.maxZoom,\n onZoomChange: zoom => {\n if (zoom !== 1) {\n const index = Math.round(x.get() / slideWidth);\n api.start({\n x: index * slideWidth\n });\n }\n },\n dragLockRef: dragLockRef\n }))));\n});","import React, { forwardRef, useImperativeHandle, useRef, useState, useCallback } from 'react';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { renderToContainer } from '../../utils/render-to-container';\nimport Mask from '../mask';\nimport SafeArea from '../safe-area';\nimport { Slide } from './slide';\nimport { Slides } from './slides';\nimport classNames from 'classnames';\nconst classPrefix = `adm-image-viewer`;\nconst defaultProps = {\n maxZoom: 3,\n getContainer: null,\n visible: false\n};\nexport const ImageViewer = p => {\n var _a, _b, _c;\n const props = mergeProps(defaultProps, p);\n const node = React.createElement(Mask, {\n visible: props.visible,\n disableBodyScroll: false,\n opacity: 'thick',\n afterClose: props.afterClose,\n destroyOnClose: true,\n className: (_a = props === null || props === void 0 ? void 0 : props.classNames) === null || _a === void 0 ? void 0 : _a.mask\n }, React.createElement(\"div\", {\n className: classNames(`${classPrefix}-content`, (_b = props === null || props === void 0 ? void 0 : props.classNames) === null || _b === void 0 ? void 0 : _b.body)\n }, props.image && React.createElement(Slide, {\n image: props.image,\n onTap: props.onClose,\n maxZoom: props.maxZoom\n })), props.image && React.createElement(\"div\", {\n className: `${classPrefix}-footer`\n }, (_c = props.renderFooter) === null || _c === void 0 ? void 0 : _c.call(props, props.image), React.createElement(SafeArea, {\n position: 'bottom'\n })));\n return renderToContainer(props.getContainer, node);\n};\nconst multiDefaultProps = Object.assign(Object.assign({}, defaultProps), {\n defaultIndex: 0\n});\nexport const MultiImageViewer = forwardRef((p, ref) => {\n var _a, _b, _c;\n const props = mergeProps(multiDefaultProps, p);\n const [index, setIndex] = useState(props.defaultIndex);\n const slidesRef = useRef(null);\n useImperativeHandle(ref, () => ({\n swipeTo: (index, immediate) => {\n var _a;\n setIndex(index);\n (_a = slidesRef.current) === null || _a === void 0 ? void 0 : _a.swipeTo(index, immediate);\n }\n }));\n const onSlideChange = useCallback(newIndex => {\n var _a;\n if (newIndex === index) return;\n setIndex(newIndex);\n (_a = props.onIndexChange) === null || _a === void 0 ? void 0 : _a.call(props, newIndex);\n }, [props.onIndexChange, index]);\n const node = React.createElement(Mask, {\n visible: props.visible,\n disableBodyScroll: false,\n opacity: 'thick',\n afterClose: props.afterClose,\n destroyOnClose: true,\n className: (_a = props === null || props === void 0 ? void 0 : props.classNames) === null || _a === void 0 ? void 0 : _a.mask\n }, React.createElement(\"div\", {\n className: classNames(`${classPrefix}-content`, (_b = props === null || props === void 0 ? void 0 : props.classNames) === null || _b === void 0 ? void 0 : _b.body)\n }, props.images && React.createElement(Slides, {\n ref: slidesRef,\n defaultIndex: index,\n onIndexChange: onSlideChange,\n images: props.images,\n onTap: props.onClose,\n maxZoom: props.maxZoom\n })), props.images && React.createElement(\"div\", {\n className: `${classPrefix}-footer`\n }, (_c = props.renderFooter) === null || _c === void 0 ? void 0 : _c.call(props, props.images[index], index), React.createElement(SafeArea, {\n position: 'bottom'\n })));\n return renderToContainer(props.getContainer, node);\n});","import React from 'react';\nimport { ImageViewer, MultiImageViewer } from './image-viewer';\nimport { renderImperatively } from '../../utils/render-imperatively';\nconst handlerSet = new Set();\nexport function showImageViewer(props) {\n clearImageViewer();\n const handler = renderImperatively(React.createElement(ImageViewer, Object.assign({}, props, {\n afterClose: () => {\n var _a;\n handlerSet.delete(handler);\n (_a = props.afterClose) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n })));\n handlerSet.add(handler);\n return handler;\n}\nexport function showMultiImageViewer(props) {\n clearImageViewer();\n const handler = renderImperatively(React.createElement(MultiImageViewer, Object.assign({}, props, {\n afterClose: () => {\n var _a;\n handlerSet.delete(handler);\n (_a = props.afterClose) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n })));\n handlerSet.add(handler);\n return handler;\n}\nexport function clearImageViewer() {\n handlerSet.forEach(handler => {\n handler.close();\n });\n handlerSet.clear();\n}","import \"./image-viewer.css\";\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { ImageViewer, MultiImageViewer } from './image-viewer';\nimport { showMultiImageViewer, showImageViewer, clearImageViewer } from './methods';\nconst Multi = attachPropertiesToComponent(MultiImageViewer, {\n show: showMultiImageViewer\n});\nexport default attachPropertiesToComponent(ImageViewer, {\n Multi,\n show: showImageViewer,\n clear: clearImageViewer\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};","export const Panel = () => null;","import React, { useState } from 'react';\nimport classNames from 'classnames';\nconst classPrefix = `adm-index-bar`;\nexport const Sidebar = props => {\n const [interacting, setInteracting] = useState(false);\n return React.createElement(\"div\", {\n className: classNames(`${classPrefix}-sidebar`, {\n [`${classPrefix}-sidebar-interacting`]: interacting\n }),\n onMouseDown: () => {\n setInteracting(true);\n },\n onMouseUp: () => {\n setInteracting(false);\n },\n onTouchStart: () => {\n setInteracting(true);\n },\n onTouchEnd: () => {\n setInteracting(false);\n },\n onTouchMove: e => {\n if (!interacting) return;\n const {\n clientX,\n clientY\n } = e.touches[0];\n const target = document.elementFromPoint(clientX, clientY);\n if (!target) return;\n const index = target.dataset['index'];\n if (index) {\n props.onActive(index);\n }\n }\n }, props.indexItems.map(({\n index,\n brief\n }) => {\n const active = index === props.activeIndex;\n return React.createElement(\"div\", {\n className: `${classPrefix}-sidebar-row`,\n onMouseDown: () => {\n props.onActive(index);\n },\n onTouchStart: () => {\n props.onActive(index);\n },\n onMouseEnter: () => {\n if (interacting) {\n props.onActive(index);\n }\n },\n \"data-index\": index,\n key: index\n }, interacting && active && React.createElement(\"div\", {\n className: `${classPrefix}-sidebar-bubble`\n }, brief), React.createElement(\"div\", {\n className: classNames(`${classPrefix}-sidebar-item`, {\n [`${classPrefix}-sidebar-item-active`]: active\n }),\n \"data-index\": index\n }, React.createElement(\"div\", null, brief)));\n }));\n};","import React, { forwardRef, useRef, useState, useImperativeHandle } from 'react';\nimport classNames from 'classnames';\nimport { withNativeProps } from '../../utils/native-props';\nimport { useThrottleFn } from 'ahooks';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { Sidebar } from './sidebar';\nimport { convertPx } from '../../utils/convert-px';\nimport { Panel } from './panel';\nimport { devWarning } from '../../utils/dev-log';\nimport { traverseReactNode } from '../../utils/traverse-react-node';\nconst classPrefix = `adm-index-bar`;\nconst defaultProps = {\n sticky: true\n};\nexport const IndexBar = forwardRef((p, ref) => {\n const props = mergeProps(defaultProps, p);\n const titleHeight = convertPx(35);\n const bodyRef = useRef(null);\n const indexItems = [];\n const panels = [];\n traverseReactNode(props.children, child => {\n var _a;\n if (!React.isValidElement(child)) return;\n if (child.type !== Panel) {\n devWarning('IndexBar', 'The children of `IndexBar` must be `IndexBar.Panel` components.');\n return;\n }\n indexItems.push({\n index: child.props.index,\n brief: (_a = child.props.brief) !== null && _a !== void 0 ? _a : child.props.index.charAt(0)\n });\n panels.push(withNativeProps(child.props, React.createElement(\"div\", {\n key: child.props.index,\n \"data-index\": child.props.index,\n className: `${classPrefix}-anchor`\n }, React.createElement(\"div\", {\n className: `${classPrefix}-anchor-title`\n }, child.props.title || child.props.index), child.props.children)));\n });\n const [activeIndex, setActiveIndex] = useState(() => {\n const firstItem = indexItems[0];\n return firstItem ? firstItem.index : null;\n });\n useImperativeHandle(ref, () => ({\n scrollTo\n }));\n function scrollTo(index) {\n var _a;\n const body = bodyRef.current;\n if (!body) return;\n const children = body.children;\n for (let i = 0; i < children.length; i++) {\n const panel = children.item(i);\n if (!panel) continue;\n const panelIndex = panel.dataset['index'];\n if (panelIndex === index) {\n body.scrollTop = panel.offsetTop;\n setActiveIndex(index);\n activeIndex !== index && ((_a = props.onIndexChange) === null || _a === void 0 ? void 0 : _a.call(props, index));\n return;\n }\n }\n }\n const {\n run: checkActiveIndex\n } = useThrottleFn(() => {\n var _a;\n const body = bodyRef.current;\n if (!body) return;\n const scrollTop = body.scrollTop;\n const elements = body.getElementsByClassName(`${classPrefix}-anchor`);\n for (let i = 0; i < elements.length; i++) {\n const panel = elements.item(i);\n if (!panel) continue;\n const panelIndex = panel.dataset['index'];\n if (!panelIndex) continue;\n if (panel.offsetTop + panel.clientHeight - titleHeight > scrollTop) {\n setActiveIndex(panelIndex);\n activeIndex !== panelIndex && ((_a = props.onIndexChange) === null || _a === void 0 ? void 0 : _a.call(props, panelIndex));\n return;\n }\n }\n }, {\n wait: 50,\n trailing: true,\n leading: true\n });\n return withNativeProps(props, React.createElement(\"div\", {\n className: classNames(`${classPrefix}`, {\n [`${classPrefix}-sticky`]: props.sticky\n })\n }, React.createElement(Sidebar, {\n indexItems: indexItems,\n activeIndex: activeIndex,\n onActive: index => {\n scrollTo(index);\n }\n }), React.createElement(\"div\", {\n className: `${classPrefix}-body`,\n ref: bodyRef,\n onScroll: checkActiveIndex\n }, panels)));\n});","import \"./index-bar.css\";\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { Panel } from './panel';\nimport { IndexBar } from './index-bar';\nexport default attachPropertiesToComponent(IndexBar, {\n Panel\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 React, { isValidElement, useRef } from 'react';\nimport classNames from 'classnames';\nimport { animated } from '@react-spring/web';\nimport { withNativeProps } from '../../utils/native-props';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport { useResizeEffect } from '../../utils/use-resize-effect';\nimport { useTabListScroll } from '../../utils/use-tab-list-scroll';\nimport ScrollMask from '../scroll-mask';\nimport { ShouldRender } from '../../utils/should-render';\nimport { traverseReactNode } from '../../utils/traverse-react-node';\nconst classPrefix = `adm-jumbo-tabs`;\nexport const JumboTab = () => {\n return null;\n};\nexport const JumboTabs = props => {\n var _a;\n const tabListContainerRef = useRef(null);\n const rootRef = useRef(null);\n const keyToIndexRecord = {};\n let firstActiveKey = null;\n const panes = [];\n traverseReactNode(props.children, (child, index) => {\n if (!isValidElement(child)) return;\n const key = child.key;\n if (typeof key !== 'string') return;\n if (index === 0) {\n firstActiveKey = key;\n }\n const length = panes.push(child);\n keyToIndexRecord[key] = length - 1;\n });\n const [activeKey, setActiveKey] = usePropsValue({\n value: props.activeKey,\n defaultValue: (_a = props.defaultActiveKey) !== null && _a !== void 0 ? _a : firstActiveKey,\n onChange: v => {\n var _a;\n if (v === null) return;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, v);\n }\n });\n const {\n scrollLeft,\n animate\n } = useTabListScroll(tabListContainerRef, keyToIndexRecord[activeKey]);\n useResizeEffect(() => {\n animate(true);\n }, rootRef);\n return withNativeProps(props, React.createElement(\"div\", {\n className: classPrefix,\n ref: rootRef\n }, React.createElement(\"div\", {\n className: `${classPrefix}-header`\n }, React.createElement(ScrollMask, {\n scrollTrackRef: tabListContainerRef\n }), React.createElement(animated.div, {\n className: `${classPrefix}-tab-list`,\n ref: tabListContainerRef,\n scrollLeft: scrollLeft\n }, panes.map(pane => withNativeProps(pane.props, React.createElement(\"div\", {\n key: pane.key,\n className: `${classPrefix}-tab-wrapper`\n }, React.createElement(\"div\", {\n onClick: () => {\n const {\n key\n } = pane;\n if (pane.props.disabled) return;\n if (key === undefined || key === null) {\n return;\n }\n setActiveKey(key.toString());\n },\n className: classNames(`${classPrefix}-tab`, {\n [`${classPrefix}-tab-active`]: pane.key === activeKey,\n [`${classPrefix}-tab-disabled`]: pane.props.disabled\n })\n }, React.createElement(\"div\", {\n className: `${classPrefix}-tab-title`\n }, pane.props.title), React.createElement(\"div\", {\n className: `${classPrefix}-tab-description`\n }, pane.props.description))))))), panes.map(pane => {\n if (pane.props.children === undefined) {\n return null;\n }\n const active = pane.key === activeKey;\n return React.createElement(ShouldRender, {\n key: pane.key,\n active: active,\n forceRender: pane.props.forceRender,\n destroyOnClose: pane.props.destroyOnClose\n }, React.createElement(\"div\", {\n className: `${classPrefix}-content`,\n style: {\n display: active ? 'block' : 'none'\n }\n }, pane.props.children));\n })));\n};","import \"./jumbo-tabs.css\";\nimport { JumboTab, JumboTabs } from './jumbo-tabs';\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nexport default attachPropertiesToComponent(JumboTabs, {\n Tab: JumboTab\n});","import { LeftOutline } from 'antd-mobile-icons';\nimport classNames from 'classnames';\nimport React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProp, mergeProps } from '../../utils/with-default-props';\nimport { useConfig } from '../config-provider';\nconst classPrefix = `adm-nav-bar`;\nconst defaultBackIcon = React.createElement(LeftOutline, null);\nexport const NavBar = props => {\n const {\n navBar: componentConfig = {}\n } = useConfig();\n const mergedProps = mergeProps(componentConfig, props);\n const {\n back,\n backIcon,\n backArrow\n } = mergedProps;\n const mergedDefaultBackIcon = componentConfig.backIcon || defaultBackIcon;\n const mergedBackIcon = mergeProp(defaultBackIcon, componentConfig.backIcon, backArrow === true ? mergedDefaultBackIcon : backArrow, backIcon === true ? mergedDefaultBackIcon : backIcon);\n return withNativeProps(mergedProps, React.createElement(\"div\", {\n className: classNames(classPrefix)\n }, React.createElement(\"div\", {\n className: `${classPrefix}-left`,\n role: 'button'\n }, back !== null && React.createElement(\"div\", {\n className: `${classPrefix}-back`,\n onClick: mergedProps.onBack\n }, mergedBackIcon && React.createElement(\"span\", {\n className: `${classPrefix}-back-arrow`\n }, mergedBackIcon), React.createElement(\"span\", {\n \"aria-hidden\": 'true'\n }, back)), mergedProps.left), React.createElement(\"div\", {\n className: `${classPrefix}-title`\n }, mergedProps.children), React.createElement(\"div\", {\n className: `${classPrefix}-right`\n }, mergedProps.right)));\n};","import * as React from \"react\";\n\nfunction LeftOutline(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: \"LeftOutline-LeftOutline\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"LeftOutline-\\u7F16\\u7EC4\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"LeftOutline-\\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: \"M31.7053818,5.11219264 L13.5234393,22.6612572 L13.5234393,22.6612572 C12.969699,23.2125856 12.9371261,24.0863155 13.4257204,24.6755735 L13.5234393,24.7825775 L31.7045714,42.8834676 C31.7795345,42.9580998 31.8810078,43 31.9867879,43 L35.1135102,43 C35.3344241,43 35.5135102,42.8209139 35.5135102,42.6 C35.5135102,42.4936115 35.4711279,42.391606 35.3957362,42.316542 L16.7799842,23.7816937 L16.7799842,23.7816937 L35.3764658,5.6866816 C35.5347957,5.53262122 35.5382568,5.27937888 35.3841964,5.121049 C35.3088921,5.04365775 35.205497,5 35.0975148,5 L31.9831711,5 C31.8795372,5 31.7799483,5.04022164 31.7053818,5.11219264 Z\",\n id: \"LeftOutline-\\u8DEF\\u5F84\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }))));\n}\n\nexport default LeftOutline;","import React, { memo } from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport classNames from 'classnames';\nimport { mergeProps } from '../../utils/with-default-props';\nconst classPrefix = `adm-page-indicator`;\nconst defaultProps = {\n color: 'primary',\n direction: 'horizontal'\n};\nexport const PageIndicator = memo(p => {\n const props = mergeProps(defaultProps, p);\n const dots = [];\n for (let i = 0; i < props.total; i++) {\n dots.push(React.createElement(\"div\", {\n key: i,\n className: classNames(`${classPrefix}-dot`, {\n [`${classPrefix}-dot-active`]: props.current === i\n })\n }));\n }\n return withNativeProps(props, React.createElement(\"div\", {\n className: classNames(classPrefix, `${classPrefix}-${props.direction}`, `${classPrefix}-color-${props.color}`)\n }, dots));\n});","import React, { memo } from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nexport const Corner = memo(props => withNativeProps(props, React.createElement(\"svg\", {\n viewBox: '0 0 30 30'\n}, React.createElement(\"g\", {\n stroke: 'none',\n strokeWidth: '1',\n fill: 'none',\n fillRule: 'evenodd'\n}, React.createElement(\"path\", {\n d: 'M30,0 C13.4314575,3.04359188e-15 -2.02906125e-15,13.4314575 0,30 L0,30 L0,0 Z',\n fill: 'var(--adm-color-background)',\n transform: 'translate(15.000000, 15.000000) scale(-1, -1) translate(-15.000000, -15.000000) '\n})))));","import React, { isValidElement } from 'react';\nimport classNames from 'classnames';\nimport Badge from '../badge';\nimport { withNativeProps } from '../../utils/native-props';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport { Corner } from './corner';\nimport { traverseReactNode } from '../../utils/traverse-react-node';\nconst classPrefix = `adm-side-bar`;\n/* istanbul ignore next */\nexport const SideBarItem = () => {\n return null;\n};\nexport const SideBar = props => {\n var _a;\n let firstActiveKey = null;\n const items = [];\n traverseReactNode(props.children, (child, index) => {\n if (!isValidElement(child)) return;\n const key = child.key;\n if (typeof key !== 'string') return;\n if (index === 0) {\n firstActiveKey = key;\n }\n items.push(child);\n });\n const [activeKey, setActiveKey] = usePropsValue({\n value: props.activeKey,\n defaultValue: (_a = props.defaultActiveKey) !== null && _a !== void 0 ? _a : firstActiveKey,\n onChange: v => {\n var _a;\n if (v === null) return;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, v);\n }\n });\n const lastItem = items[items.length - 1];\n const isLastItemActive = lastItem && lastItem.key === activeKey;\n return withNativeProps(props, React.createElement(\"div\", {\n className: classPrefix\n }, React.createElement(\"div\", {\n className: `${classPrefix}-items`\n }, items.map((item, index) => {\n const active = item.key === activeKey;\n const isActiveNextSibling = items[index - 1] && items[index - 1].key === activeKey;\n const isActivePreviousSibling = items[index + 1] && items[index + 1].key === activeKey;\n return withNativeProps(item.props, React.createElement(\"div\", {\n key: item.key,\n onClick: () => {\n const {\n key\n } = item;\n if (key === undefined || key === null || item.props.disabled) return;\n setActiveKey(key.toString());\n },\n className: classNames(`${classPrefix}-item`, {\n [`${classPrefix}-item-active`]: active,\n [`${classPrefix}-item-disabled`]: item.props.disabled\n })\n }, React.createElement(React.Fragment, null, isActiveNextSibling && React.createElement(Corner, {\n className: `${classPrefix}-item-corner ${classPrefix}-item-corner-top`\n }), isActivePreviousSibling && React.createElement(Corner, {\n className: `${classPrefix}-item-corner ${classPrefix}-item-corner-bottom`\n })), React.createElement(Badge, {\n content: item.props.badge,\n className: `${classPrefix}-badge`\n }, React.createElement(\"div\", {\n className: `${classPrefix}-item-title`\n }, active && React.createElement(\"div\", {\n className: `${classPrefix}-item-highlight`\n }), item.props.title))));\n })), React.createElement(\"div\", {\n className: classNames(`${classPrefix}-extra-space`, isLastItemActive && `${classPrefix}-item-active-next-sibling`)\n }, isLastItemActive && React.createElement(Corner, {\n className: `${classPrefix}-item-corner ${classPrefix}-item-corner-top`\n }))));\n};","import \"./side-bar.css\";\nimport { SideBar, SideBarItem } from './side-bar';\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nexport default attachPropertiesToComponent(SideBar, {\n Item: SideBarItem\n});","import React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nexport const SwiperItem = props => {\n return withNativeProps(props, React.createElement(\"div\", {\n className: 'adm-swiper-item',\n onClick: props.onClick\n }, props.children));\n};","import React, { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nimport classNames from 'classnames';\nimport { SwiperItem } from './swiper-item';\nimport { devWarning } from '../../utils/dev-log';\nimport { useSpring, animated } from '@react-spring/web';\nimport { useDrag } from '@use-gesture/react';\nimport PageIndicator from '../page-indicator';\nimport { staged } from 'staged-components';\nimport { useRefState } from '../../utils/use-ref-state';\nimport { bound } from '../../utils/bound';\nimport { useIsomorphicLayoutEffect, useGetState } from 'ahooks';\nimport { mergeFuncProps } from '../../utils/with-func-props';\nconst classPrefix = `adm-swiper`;\nconst eventToPropRecord = {\n 'mousedown': 'onMouseDown',\n 'mousemove': 'onMouseMove',\n 'mouseup': 'onMouseUp'\n};\nconst defaultProps = {\n defaultIndex: 0,\n allowTouchMove: true,\n autoplay: false,\n autoplayInterval: 3000,\n loop: false,\n direction: 'horizontal',\n slideSize: 100,\n trackOffset: 0,\n stuckAtBoundary: true,\n rubberband: true,\n stopPropagation: []\n};\nlet currentUid;\nexport const Swiper = forwardRef(staged((p, ref) => {\n const props = mergeProps(defaultProps, p);\n const {\n direction,\n total,\n children,\n indicator\n } = props;\n const [uid] = useState({});\n const timeoutRef = useRef(null);\n const isVertical = direction === 'vertical';\n const slideRatio = props.slideSize / 100;\n const offsetRatio = props.trackOffset / 100;\n const {\n validChildren,\n count,\n renderChildren\n } = useMemo(() => {\n let count = 0;\n let renderChildren = undefined;\n let validChildren = undefined;\n if (typeof children === 'function') {\n renderChildren = children;\n } else {\n validChildren = React.Children.map(children, child => {\n if (!React.isValidElement(child)) return null;\n if (child.type !== SwiperItem) {\n devWarning('Swiper', 'The children of `Swiper` must be `Swiper.Item` components.');\n return null;\n }\n count++;\n return child;\n });\n }\n return {\n renderChildren,\n validChildren,\n count\n };\n }, [children]);\n const mergedTotal = total !== null && total !== void 0 ? total : count;\n if (mergedTotal === 0 || !validChildren && !renderChildren) {\n devWarning('Swiper', '`Swiper` needs at least one child.');\n return null;\n }\n return () => {\n let loop = props.loop;\n if (slideRatio * (mergedTotal - 1) < 1) {\n loop = false;\n }\n const trackRef = useRef(null);\n function getSlidePixels() {\n const track = trackRef.current;\n if (!track) return 0;\n const trackPixels = isVertical ? track.offsetHeight : track.offsetWidth;\n return trackPixels * props.slideSize / 100;\n }\n const [current, setCurrent, getCurrent] = useGetState(props.defaultIndex);\n const [dragging, setDragging, draggingRef] = useRefState(false);\n function boundIndex(current) {\n let min = 0;\n let max = mergedTotal - 1;\n if (props.stuckAtBoundary) {\n min += offsetRatio / slideRatio;\n max -= (1 - slideRatio - offsetRatio) / slideRatio;\n }\n return bound(current, min, max);\n }\n const [{\n position\n }, api] = useSpring(() => ({\n position: boundIndex(current) * 100,\n config: {\n tension: 200,\n friction: 30\n },\n onRest: () => {\n if (draggingRef.current) return;\n if (!loop) return;\n const rawX = position.get();\n const totalWidth = 100 * mergedTotal;\n const standardPosition = modulus(rawX, totalWidth);\n if (standardPosition === rawX) return;\n api.start({\n position: standardPosition,\n immediate: true\n });\n }\n }), [mergedTotal]);\n const dragCancelRef = useRef(null);\n function forceCancelDrag() {\n var _a;\n (_a = dragCancelRef.current) === null || _a === void 0 ? void 0 : _a.call(dragCancelRef);\n draggingRef.current = false;\n }\n const bind = useDrag(state => {\n dragCancelRef.current = state.cancel;\n if (!state.intentional) return;\n if (state.first && !currentUid) {\n currentUid = uid;\n }\n if (currentUid !== uid) return;\n currentUid = state.last ? undefined : uid;\n const slidePixels = getSlidePixels();\n if (!slidePixels) return;\n const paramIndex = isVertical ? 1 : 0;\n const offset = state.offset[paramIndex];\n const direction = state.direction[paramIndex];\n const velocity = state.velocity[paramIndex];\n setDragging(true);\n if (!state.last) {\n api.start({\n position: offset * 100 / slidePixels,\n immediate: true\n });\n } else {\n const minIndex = Math.floor(offset / slidePixels);\n const maxIndex = minIndex + 1;\n const index = Math.round((offset + velocity * 2000 * direction) / slidePixels);\n swipeTo(bound(index, minIndex, maxIndex));\n window.setTimeout(() => {\n setDragging(false);\n });\n }\n }, {\n transform: ([x, y]) => [-x, -y],\n from: () => {\n const slidePixels = getSlidePixels();\n return [position.get() / 100 * slidePixels, position.get() / 100 * slidePixels];\n },\n triggerAllEvents: true,\n bounds: () => {\n if (loop) return {};\n const slidePixels = getSlidePixels();\n const lowerBound = boundIndex(0) * slidePixels;\n const upperBound = boundIndex(mergedTotal - 1) * slidePixels;\n return isVertical ? {\n top: lowerBound,\n bottom: upperBound\n } : {\n left: lowerBound,\n right: upperBound\n };\n },\n rubberband: props.rubberband,\n axis: isVertical ? 'y' : 'x',\n preventScroll: !isVertical,\n pointer: {\n touch: true\n }\n });\n function swipeTo(index, immediate = false) {\n var _a;\n const roundedIndex = Math.round(index);\n const targetIndex = loop ? modulus(roundedIndex, mergedTotal) : bound(roundedIndex, 0, mergedTotal - 1);\n if (targetIndex !== getCurrent()) {\n (_a = props.onIndexChange) === null || _a === void 0 ? void 0 : _a.call(props, targetIndex);\n }\n setCurrent(targetIndex);\n api.start({\n position: (loop ? roundedIndex : boundIndex(roundedIndex)) * 100,\n immediate\n });\n }\n function swipeNext() {\n swipeTo(Math.round(position.get() / 100) + 1);\n }\n function swipePrev() {\n swipeTo(Math.round(position.get() / 100) - 1);\n }\n useImperativeHandle(ref, () => ({\n swipeTo,\n swipeNext,\n swipePrev\n }));\n useIsomorphicLayoutEffect(() => {\n const maxIndex = mergedTotal - 1;\n if (current > maxIndex) {\n swipeTo(maxIndex, true);\n }\n });\n const {\n autoplay,\n autoplayInterval\n } = props;\n const runTimeSwiper = () => {\n timeoutRef.current = window.setTimeout(() => {\n if (autoplay === 'reverse') {\n swipePrev();\n } else {\n swipeNext();\n }\n runTimeSwiper();\n }, autoplayInterval);\n };\n useEffect(() => {\n if (!autoplay || dragging) return;\n runTimeSwiper();\n return () => {\n if (timeoutRef.current) window.clearTimeout(timeoutRef.current);\n };\n }, [autoplay, autoplayInterval, dragging, mergedTotal]);\n // ============================== Render ==============================\n // Render Item\n function renderItem(index, child) {\n let itemStyle = {};\n if (loop) {\n itemStyle = {\n [isVertical ? 'y' : 'x']: position.to(position => {\n let finalPosition = -position + index * 100;\n const totalWidth = mergedTotal * 100;\n const flagWidth = totalWidth / 2;\n finalPosition = modulus(finalPosition + flagWidth, totalWidth) - flagWidth;\n return `${finalPosition}%`;\n }),\n [isVertical ? 'top' : 'left']: `-${index * 100}%`\n };\n }\n return React.createElement(animated.div, {\n className: classNames(`${classPrefix}-slide`, {\n [`${classPrefix}-slide-active`]: current === index\n }),\n style: itemStyle,\n key: index\n }, child);\n }\n function renderItems() {\n if (renderChildren && total) {\n const offsetCount = 2;\n const startIndex = Math.max(current - offsetCount, 0);\n const endIndex = Math.min(current + offsetCount, total - 1);\n const items = [];\n for (let index = startIndex; index <= endIndex; index += 1) {\n items.push(renderItem(index, renderChildren(index)));\n }\n return React.createElement(React.Fragment, null, React.createElement(\"div\", {\n className: `${classPrefix}-slide-placeholder`,\n style: {\n width: `${startIndex * 100}%`\n }\n }), items);\n }\n return React.Children.map(validChildren, (child, index) => {\n return renderItem(index, child);\n });\n }\n // Render Track Inner\n function renderTrackInner() {\n if (loop) {\n return React.createElement(\"div\", {\n className: `${classPrefix}-track-inner`\n }, renderItems());\n } else {\n return React.createElement(animated.div, {\n className: `${classPrefix}-track-inner`,\n style: {\n [isVertical ? 'y' : 'x']: position.to(position => `${-position}%`)\n }\n }, renderItems());\n }\n }\n // Render\n const style = {\n '--slide-size': `${props.slideSize}%`,\n '--track-offset': `${props.trackOffset}%`\n };\n const dragProps = Object.assign({}, props.allowTouchMove ? bind() : {});\n const stopPropagationProps = {};\n for (const key of props.stopPropagation) {\n const prop = eventToPropRecord[key];\n stopPropagationProps[prop] = function (e) {\n e.stopPropagation();\n };\n }\n const mergedProps = mergeFuncProps(dragProps, stopPropagationProps);\n let indicatorNode = null;\n if (typeof indicator === 'function') {\n indicatorNode = indicator(mergedTotal, current);\n } else if (indicator !== false) {\n indicatorNode = React.createElement(\"div\", {\n className: `${classPrefix}-indicator`\n }, React.createElement(PageIndicator, Object.assign({}, props.indicatorProps, {\n total: mergedTotal,\n current: current,\n direction: direction\n })));\n }\n return withNativeProps(props, React.createElement(\"div\", {\n className: classNames(classPrefix, `${classPrefix}-${direction}`),\n style: style\n }, React.createElement(\"div\", Object.assign({\n ref: trackRef,\n className: classNames(`${classPrefix}-track`, {\n [`${classPrefix}-track-allow-touch-move`]: props.allowTouchMove\n }),\n onClickCapture: e => {\n if (draggingRef.current) {\n e.stopPropagation();\n }\n forceCancelDrag();\n }\n }, mergedProps), renderTrackInner()), indicatorNode));\n };\n}));\nfunction modulus(value, division) {\n const remainder = value % division;\n return remainder < 0 ? remainder + division : remainder;\n}","import { __read } from \"tslib\";\nimport { useState, useCallback } from 'react';\nimport useLatest from '../useLatest';\nfunction useGetState(initialState) {\n var _a = __read(useState(initialState), 2),\n state = _a[0],\n setState = _a[1];\n var stateRef = useLatest(state);\n var getState = useCallback(function () {\n return stateRef.current;\n }, []);\n return [state, setState, getState];\n}\nexport default useGetState;","import { useEffect, useRef, useState } from 'react';\nexport function useRefState(initialState) {\n const [state, setState] = useState(initialState);\n const ref = useRef(state);\n useEffect(() => {\n ref.current = state;\n }, [state]);\n return [state, setState, ref];\n}","export function mergeFuncProps(p1, p2) {\n const p1Keys = Object.keys(p1);\n const p2Keys = Object.keys(p2);\n const keys = new Set([...p1Keys, ...p2Keys]);\n const res = {};\n keys.forEach(key => {\n const p1Value = p1[key];\n const p2Value = p2[key];\n if (typeof p1Value === 'function' && typeof p2Value === 'function') {\n res[key] = function (...args) {\n p1Value(...args);\n p2Value(...args);\n };\n } else {\n res[key] = p1Value || p2Value;\n }\n });\n return res;\n}","import \"./swiper.css\";\nimport { Swiper } from './swiper';\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { SwiperItem } from './swiper-item';\nexport default attachPropertiesToComponent(Swiper, {\n Item: SwiperItem\n});","import React, { isValidElement } from 'react';\nimport classNames from 'classnames';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nimport Badge from '../badge';\nimport SafeArea from '../safe-area';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport { traverseReactNode } from '../../utils/traverse-react-node';\n/* istanbul ignore next */\nexport const TabBarItem = () => {\n return null;\n};\nconst classPrefix = `adm-tab-bar`;\nconst defaultProps = {\n safeArea: false\n};\nexport const TabBar = p => {\n var _a;\n const props = mergeProps(defaultProps, p);\n let firstActiveKey = null;\n const items = [];\n traverseReactNode(props.children, (child, index) => {\n if (!isValidElement(child)) return;\n const key = child.key;\n if (typeof key !== 'string') return;\n if (index === 0) {\n firstActiveKey = key;\n }\n items.push(child);\n });\n const [activeKey, setActiveKey] = usePropsValue({\n value: props.activeKey,\n defaultValue: (_a = props.defaultActiveKey) !== null && _a !== void 0 ? _a : firstActiveKey,\n onChange: v => {\n var _a;\n if (v === null) return;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, v);\n }\n });\n return withNativeProps(props, React.createElement(\"div\", {\n className: classPrefix\n }, React.createElement(\"div\", {\n className: `${classPrefix}-wrap`\n }, items.map(item => {\n const active = item.key === activeKey;\n function renderContent() {\n const iconElement = item.props.icon && React.createElement(\"div\", {\n className: `${classPrefix}-item-icon`\n }, typeof item.props.icon === 'function' ? item.props.icon(active) : item.props.icon);\n const titleElement = item.props.title && React.createElement(\"div\", {\n className: classNames(`${classPrefix}-item-title`, Boolean(iconElement) && `${classPrefix}-item-title-with-icon`)\n }, typeof item.props.title === 'function' ? item.props.title(active) : item.props.title);\n if (iconElement) {\n return React.createElement(React.Fragment, null, React.createElement(Badge, {\n content: item.props.badge,\n className: `${classPrefix}-icon-badge`\n }, iconElement), titleElement);\n } else if (titleElement) {\n return React.createElement(Badge, {\n content: item.props.badge,\n className: `${classPrefix}-title-badge`\n }, titleElement);\n }\n return null;\n }\n return withNativeProps(item.props, React.createElement(\"div\", {\n key: item.key,\n onClick: () => {\n var _a, _b;\n const {\n key\n } = item;\n if (key === undefined || key === null) return;\n setActiveKey(key.toString());\n (_b = (_a = item.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a);\n },\n className: classNames(`${classPrefix}-item`, {\n [`${classPrefix}-item-active`]: active\n })\n }, renderContent()));\n })), props.safeArea && React.createElement(SafeArea, {\n position: 'bottom'\n })));\n};","import \"./tab-bar.css\";\nimport { TabBar, TabBarItem } from './tab-bar';\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nexport default attachPropertiesToComponent(TabBar, {\n Item: TabBarItem\n});","import { CheckOutline, CloseOutline } from 'antd-mobile-icons';\nimport classNames from 'classnames';\nimport React, { useMemo } from 'react';\nimport { mergeProps } from '../../utils/with-default-props';\nimport AutoCenter from '../auto-center';\nimport Mask from '../mask';\nimport SpinLoading from '../spin-loading';\nconst classPrefix = `adm-toast`;\nconst defaultProps = {\n maskClickable: true,\n stopPropagation: ['click']\n};\nexport const InternalToast = p => {\n const props = mergeProps(defaultProps, p);\n const {\n maskClickable,\n content,\n icon,\n position\n } = props;\n const iconElement = useMemo(() => {\n if (icon === null || icon === undefined) return null;\n switch (icon) {\n case 'success':\n return React.createElement(CheckOutline, {\n className: `${classPrefix}-icon-success`\n });\n case 'fail':\n return React.createElement(CloseOutline, {\n className: `${classPrefix}-icon-fail`\n });\n case 'loading':\n return React.createElement(SpinLoading, {\n color: 'white',\n className: `${classPrefix}-loading`\n });\n default:\n return icon;\n }\n }, [icon]);\n const top = useMemo(() => {\n switch (position) {\n case 'top':\n return '20%';\n case 'bottom':\n return '80%';\n default:\n return '50%';\n }\n }, [position]);\n return React.createElement(Mask, {\n visible: props.visible,\n destroyOnClose: true,\n opacity: 0,\n disableBodyScroll: !maskClickable,\n getContainer: props.getContainer,\n afterClose: props.afterClose,\n style: Object.assign({\n pointerEvents: maskClickable ? 'none' : 'auto'\n }, props.maskStyle),\n className: classNames(`${classPrefix}-mask`, props.maskClassName),\n stopPropagation: props.stopPropagation\n }, React.createElement(\"div\", {\n className: classNames(`${classPrefix}-wrap`)\n }, React.createElement(\"div\", {\n style: {\n top\n },\n className: classNames(`${classPrefix}-main`, icon ? `${classPrefix}-main-icon` : `${classPrefix}-main-text`)\n }, iconElement && React.createElement(\"div\", {\n className: `${classPrefix}-icon`\n }, iconElement), React.createElement(AutoCenter, null, content))));\n};","import React from 'react';\nimport { renderImperatively } from '../../utils/render-imperatively';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { InternalToast } from './toast';\nlet currentHandler = null;\nlet currentTimeout = null;\nconst defaultProps = {\n duration: 2000,\n position: 'center',\n maskClickable: true\n};\nconst ToastInner = props => React.createElement(InternalToast, Object.assign({}, props));\nexport function show(p) {\n var _a;\n const props = mergeProps(defaultProps, typeof p === 'string' ? {\n content: p\n } : p);\n const element = React.createElement(ToastInner, Object.assign({}, props, {\n onClose: () => {\n currentHandler = null;\n }\n }));\n if (currentHandler) {\n if ((_a = currentHandler.isRendered) === null || _a === void 0 ? void 0 : _a.call(currentHandler)) {\n currentHandler.replace(element);\n } else {\n currentHandler.close();\n currentHandler = renderImperatively(element);\n }\n } else {\n currentHandler = renderImperatively(element);\n }\n if (currentTimeout) {\n window.clearTimeout(currentTimeout);\n }\n if (props.duration !== 0) {\n currentTimeout = window.setTimeout(() => {\n clear();\n }, props.duration);\n }\n return currentHandler;\n}\nexport function clear() {\n currentHandler === null || currentHandler === void 0 ? void 0 : currentHandler.close();\n currentHandler = null;\n}\nexport function config(val) {\n if (val.duration !== undefined) {\n defaultProps.duration = val.duration;\n }\n if (val.position !== undefined) {\n defaultProps.position = val.position;\n }\n if (val.maskClickable !== undefined) {\n defaultProps.maskClickable = val.maskClickable;\n }\n}","import \"./toast.css\";\nimport { clear, show, config } from './methods';\nconst Toast = {\n show,\n clear,\n config\n};\nexport default Toast;","import {\n Avatar as AntdAvatar,\n type AvatarProps as AntdAvatarProps,\n} from \"antd-mobile\";\n\nexport interface AvatarProps extends AntdAvatarProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const Avatar: React.FC<AvatarProps> = (props) => {\n return <AntdAvatar {...props} />;\n};\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\nexport interface 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\nexport interface 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\nexport interface 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","import {\n Badge as AntdBadge,\n type BadgeProps as AntdBadgeProps,\n} from \"antd-mobile\";\nimport React from \"react\";\n\nexport interface BadgeProps extends AntdBadgeProps {\n /** An optional prop */\n optional?: string;\n}\n\nconst BaseBadge: React.FC<BadgeProps> = (props) => {\n return <AntdBadge {...props} />;\n};\n\nexport const Badge = BaseBadge as React.FC<BadgeProps> & {\n dot: typeof AntdBadge.dot;\n};\n\nBadge.dot = AntdBadge.dot;\n","// Libraries\nimport {\n CapsuleTabs as AntdCapsuleTabs,\n CapsuleTabsProps as AntdCapsuleTabsProps,\n} from \"antd-mobile\";\nimport React from \"react\";\n\nexport interface CapsuleTabsProps extends AntdCapsuleTabsProps {}\n\nconst BaseCapsuleTabs: React.FC<CapsuleTabsProps> = (props) => {\n return <AntdCapsuleTabs {...props} />;\n};\n\nexport const CapsuleTabs = BaseCapsuleTabs as React.FC<CapsuleTabsProps> & {\n Tab: typeof AntdCapsuleTabs.Tab;\n};\n\nCapsuleTabs.Tab = AntdCapsuleTabs.Tab;\n","import { Card as AntdCard, type CardProps as AntdCardProps } from \"antd-mobile\";\n\nexport interface CardProps extends AntdCardProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const Card: React.FC<CardProps> = (props) => {\n return <AntdCard {...props} />;\n};\n","// Libraries\nimport {\n Collapse as AntdCollapse,\n type CollapseProps as AntdCollapseProps,\n} from \"antd-mobile\";\n\nexport type CollapseProps = AntdCollapseProps & {\n /** Optional */\n optional?: boolean;\n};\n\nconst BaseCollapse: React.FC<CollapseProps> = (props) => {\n return <AntdCollapse {...props} />;\n};\n\nexport const Collapse = BaseCollapse as React.FC<CollapseProps> & {\n Panel: typeof AntdCollapse.Panel;\n};\n\nCollapse.Panel = AntdCollapse.Panel;\n","import {\n Ellipsis as AntdEllipsis,\n type EllipsisProps as AntdEllipsisProps,\n} from \"antd-mobile\";\n\nexport interface EllipsisProps extends AntdEllipsisProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const Ellipsis: React.FC<EllipsisProps> = (props) => {\n return <AntdEllipsis {...props} />;\n};\n","import {\n FloatingPanel as AntdFloatingPanel,\n type FloatingPanelProps as AntdFloatingPanelProps,\n} from \"antd-mobile\";\n\nexport interface FloatingPanelProps extends AntdFloatingPanelProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const FloatingPanel: React.FC<FloatingPanelProps> = (props) => {\n return <AntdFloatingPanel {...props} />;\n};\n","import { Grid as AntdGrid, type GridProps as AntdGridProps } from \"antd-mobile\";\nimport React from \"react\";\n\nexport interface GridProps extends AntdGridProps {\n /** An optional prop */\n optional?: string;\n}\n\nconst BaseGrid: React.FC<GridProps> = (props) => {\n return <AntdGrid {...props} />;\n};\n\nexport const Grid = BaseGrid as React.FC<GridProps> & {\n Item: typeof AntdGrid.Item;\n};\n\nGrid.Item = AntdGrid.Item;\n","import {\n Image as AntdImage,\n type ImageProps as AntdImageProps,\n} from \"antd-mobile\";\n\nexport interface ImageProps extends AntdImageProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const Image: React.FC<ImageProps> = (props) => {\n return <AntdImage {...props} />;\n};\n","import {\n ImageViewer as AntdImageViewer,\n type ImageViewerProps as AntdImageViewerProps,\n} from \"antd-mobile\";\n\nexport interface ImageViewerProps extends AntdImageViewerProps {\n /** An optional prop */\n optional?: string;\n}\n\nconst BaseImageViewer: React.FC<ImageViewerProps> = (props) => {\n return <AntdImageViewer {...props} />;\n};\n\nexport const ImageViewer = BaseImageViewer as React.FC<ImageViewerProps> & {\n Multi: typeof AntdImageViewer.Multi;\n};\n\nImageViewer.Multi = AntdImageViewer.Multi;\n","import {\n IndexBar as AntdIndexBar,\n type IndexBarProps as AntdIndexBarProps,\n type IndexBarRef as AntdIndexBarRef,\n} from \"antd-mobile\";\nimport { forwardRef } from \"react\";\n\nexport interface IndexBarProps extends AntdIndexBarProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport type IndexBarRef = AntdIndexBarRef;\n\nconst BaseIndexBar = forwardRef<IndexBarRef, IndexBarProps>((props, ref) => {\n return <AntdIndexBar ref={ref} {...props} />;\n});\n\nexport const IndexBar = BaseIndexBar as unknown as typeof BaseIndexBar & {\n Panel: typeof AntdIndexBar.Panel;\n};\n\nIndexBar.Panel = AntdIndexBar.Panel;\n","// Libraries\nimport {\n JumboTabs as AntdJumboTabs,\n type JumboTabsProps as AntdJumboTabsProps,\n} from \"antd-mobile\";\n\nexport interface JumboTabsProps extends AntdJumboTabsProps {\n /** Optional */\n optional?: boolean;\n}\n\nconst BaseJumboTabs: React.FC<JumboTabsProps> = (props) => {\n return <AntdJumboTabs {...props} />;\n};\n\nexport const JumboTabs = BaseJumboTabs as React.FC<JumboTabsProps> & {\n Tab: typeof AntdJumboTabs.Tab;\n};\n\nJumboTabs.Tab = AntdJumboTabs.Tab;\n","import {\n NavBar as AntdNavBar,\n type NavBarProps as AntdNavBarProps,\n} from \"antd-mobile\";\nimport React from \"react\";\n\nexport interface NavBarProps extends AntdNavBarProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const NavBar: React.FC<NavBarProps> = (props) => {\n return <AntdNavBar {...props} />;\n};\n","import {\n SafeArea as AntdSafeArea,\n type SafeAreaProps as AntdSafeAreaProps,\n} from \"antd-mobile\";\nimport React from \"react\";\n\nexport interface SafeAreaProps extends AntdSafeAreaProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const SafeArea: React.FC<SafeAreaProps> = (props) => {\n return <AntdSafeArea {...props} />;\n};\n","// Libraries\nimport {\n SideBar as AntdSideBar,\n type SideBarProps as AntdSideBarProps,\n} from \"antd-mobile\";\n\nexport interface SideBarProps extends AntdSideBarProps {\n /** Optional */\n optional?: boolean;\n}\n\nconst BaseSideBar: React.FC<SideBarProps> = (props) => {\n return <AntdSideBar {...props} />;\n};\n\nexport const SideBar = BaseSideBar as React.FC<SideBarProps> & {\n Item: typeof AntdSideBar.Item;\n};\n\nSideBar.Item = AntdSideBar.Item;\n","// Libraries\nimport {\n TabBar as AntdTabBar,\n type TabBarProps as AntdTabBarProps,\n} from \"antd-mobile\";\n\nexport interface TabBarProps extends AntdTabBarProps {\n /** Optional */\n optional?: boolean;\n}\n\nconst BaseTabBar: React.FC<TabBarProps> = (props) => {\n return <AntdTabBar {...props} />;\n};\n\nexport const TabBar = BaseTabBar as React.FC<TabBarProps> & {\n Item: typeof AntdTabBar.Item;\n};\n\nTabBar.Item = AntdTabBar.Item;\n","// Libraries\nimport { Tabs as AntdTabs, type TabsProps as AntdTabsProps } from \"antd-mobile\";\n\nexport interface TabsProps extends AntdTabsProps {\n /** Optional */\n optional?: boolean;\n}\n\nconst BaseTabs: React.FC<TabsProps> = (props) => {\n return <AntdTabs {...props} />;\n};\n\nexport const Tabs = BaseTabs as React.FC<TabsProps> & {\n Tab: typeof AntdTabs.Tab;\n};\n\nTabs.Tab = AntdTabs.Tab;\n","/**\n * @license lucide-react v0.475.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nconst toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst mergeClasses = (...classes) => classes.filter((className, index, array) => {\n return Boolean(className) && className.trim() !== \"\" && array.indexOf(className) === index;\n}).join(\" \").trim();\n\nexport { mergeClasses, toKebabCase };\n//# sourceMappingURL=utils.js.map\n","/**\n * @license lucide-react v0.475.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nvar defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n};\n\nexport { defaultAttributes as default };\n//# sourceMappingURL=defaultAttributes.js.map\n","/**\n * @license lucide-react v0.475.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport defaultAttributes from './defaultAttributes.js';\nimport { mergeClasses } from './shared/src/utils.js';\n\nconst Icon = forwardRef(\n ({\n color = \"currentColor\",\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = \"\",\n children,\n iconNode,\n ...rest\n }, ref) => {\n return createElement(\n \"svg\",\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,\n className: mergeClasses(\"lucide\", className),\n ...rest\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...Array.isArray(children) ? children : [children]\n ]\n );\n }\n);\n\nexport { Icon as default };\n//# sourceMappingURL=Icon.js.map\n","/**\n * @license lucide-react v0.475.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"polyline\", { points: \"22 12 16 12 14 15 10 15 8 12 2 12\", key: \"o97t9d\" }],\n [\n \"path\",\n {\n d: \"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z\",\n key: \"oot6mr\"\n }\n ]\n];\nconst Inbox = createLucideIcon(\"Inbox\", __iconNode);\n\nexport { __iconNode, Inbox as default };\n//# sourceMappingURL=inbox.js.map\n","/**\n * @license lucide-react v0.475.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport { mergeClasses, toKebabCase } from './shared/src/utils.js';\nimport Icon from './Icon.js';\n\nconst createLucideIcon = (iconName, iconNode) => {\n const Component = forwardRef(\n ({ className, ...props }, ref) => createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className),\n ...props\n })\n );\n Component.displayName = `${iconName}`;\n return Component;\n};\n\nexport { createLucideIcon as default };\n//# sourceMappingURL=createLucideIcon.js.map\n","// Libraries\nimport {\n ErrorBlock as AntdErrorBlock,\n type ErrorBlockProps as AntdErrorBlockProps,\n} from \"antd-mobile\";\nimport { InboxIcon } from \"lucide-react\";\nimport { useMemo } from \"react\";\n\nexport interface ErrorBlockProps extends AntdErrorBlockProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const ErrorBlock: React.FC<ErrorBlockProps> = (props) => {\n // Memos\n const image = useMemo(() => {\n switch (props.status) {\n case \"empty\":\n return (\n <InboxIcon\n size={90}\n style={{\n color: \"var(--adm-color-primary)\",\n }}\n />\n );\n\n default:\n return undefined;\n }\n }, [props.status]);\n\n return <AntdErrorBlock image={image} {...props} />;\n};\n","// Libraries\nimport {\n Swiper as AntdSwiper,\n type SwiperProps as AntdSwiperProps,\n} from \"antd-mobile\";\n\nexport interface SwiperProps extends AntdSwiperProps {}\n\nconst BaseSwiper: React.FC<SwiperProps> = (props) => {\n return <AntdSwiper {...props} />;\n};\n\nexport const Swiper = BaseSwiper as React.FC<SwiperProps> & {\n Item: typeof AntdSwiper.Item;\n};\n\nSwiper.Item = AntdSwiper.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 ErrorBlock: {\n ...viVN.ErrorBlock,\n empty: {\n title: \"Không có dữ liệu\",\n description: \"Hiện tại không có dữ liệu, xin vui lòng thử lại sau.\",\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","addEventListener","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","__read","o","m","Symbol","iterator","r","ar","push","error","__spreadArray","to","from","pack","l","Array","slice","concat","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","parentConfig","useConfig","Provider","_a","useContext","attachPropertiesToComponent","component","properties","ret","key","hasOwn","classNames","classes","arg","appendClass","parseValue","isArray","toString","includes","newClass","module","exports","withNativeProps","element","className","style","tabIndex","startsWith","cloneElement","mergeProps","items","forEach","item","keys","mergeProp","defaultProp","propList","createUpdateEffect","hook","effect","deps","isMounted","useRef","isFunction","isDev","process","env","NODE_ENV","useMemoizedFn","fn","console","fnRef","useMemo","memoizedFn","args","_i","useUpdateEffect","useEffect","depsAreSame","oldDeps","is","useLatest","ref","useUnmount","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","replace","_Symbol","objectProto","nativeObjectToString","symToStringTag","toStringTag","_getRawTag","isOwn","tag","undefined","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","debounce","throttle_1","getTargetElement","target","defaultElement","createEffectWithTarget","useEffectType","hasInitRef","lastElementRef","lastDepsRef","unLoadRef","els","map","useEffectWithTarget","u","a","c","f","h","d","$","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","useDebounceEffect","useState","flag","setFlag","run","hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","equal","constructor","it","size","entries","has","RegExp","source","flags","$$typeof","reactFastCompare","message","warn","useInViewport","callback","option","_b","state","setState","_c","ratio","setRatio","filter","Boolean","observer","IntersectionObserver","e_1","entries_1","entries_1_1","entry","intersectionRatio","isIntersecting","e_1_1","return","el","observe","disconnect","useIsomorphicLayoutEffect","useLayoutEffect","useUnmountedRef","unmountedRef","MapShim","getIndex","arr","some","class_1","__entries__","defineProperty","enumerable","configurable","delete","splice","ctx","global$1","requestAnimationFrame$1","requestAnimationFrame","bind","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","delay","leadingCall","trailingCall","resolvePending","proxy","timeoutCallback","timeStamp","addObserver","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","attributes","childList","characterData","subtree","removeEventListener","propertyName","getInstance","instance_","defineConfigurable","writable","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","styles","positions","reduce","position","getHTMLElementContentRect","clientWidth","clientHeight","getComputedStyle","paddings","positions_1","horizPad","left","right","vertPad","top","bottom","width","height","boxSizing","documentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","Constr","contentRect","DOMRectReadOnly","create","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","unobserve","clearActive","_this","observation","WeakMap","ResizeObserver","useIsomorphicLayoutEffectWithTarget","useLayoutEffectWithTarget","useSize","initialState","setRafState","useCallback","cancelAnimationFrame","resizeObserver","useThrottleFn","throttled","throttle","defaultRoot","overflowStylePatterns","isElement","node","nodeType","supportsPassive","opts","totalLockCount","BODY_LOCK_CLASS","useLockScroll","rootRef","shouldLock","touch","startX","startY","deltaX","deltaY","offsetX","offsetY","direction","reset","move","event","touches","clientX","clientY","isVertical","isHorizontal","onTouchMove","body","overflowY","scrollHeight","parentNode","scrollableParent","parentElement","preventDefault","offsetHeight","scrollTop","getBoundingClientRect","status","cancelable","passive","classList","remove","updateQueue","makeQueue","raf","schedule","writeQueue","write","onStartQueue","onStart","onFrameQueue","onFrame","onFinishQueue","onFinish","timeouts","handler","findIndex","pendingCount","timeout","findTimeout","sync","batchedUpdates","queuedFn","nativeRaf","use","impl","performance","catch","frameLoop","advance","update","ts","queue","loop","prevTs","count","eachSafely","values","each","noop","obj","fun","str","num","und","isEqual","eachProp","toArray","flushCalls","isSSR","navigator","userAgent","createStringInterpolator$1","colors$1","skipAnimation","willAdvance","globals","freeze","__proto__","colors","createStringInterpolator","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","parse1","parsePercentage","colorToRgba","input","int32Color","color","exec","createInterpolator","output","extrapolate","outputRange","inputRange","extrapolateLeft","extrapolateRight","easing","inputMin","inputMax","outputMin","outputMax","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","$get","for","$observers","hasFluidValue","getFluidValue","getFluidObservers","callFluidObservers","eventObserved","FluidValue","Error","setFluidGetter","setHidden","addFluidObserver","observerAdded","removeFluidObserver","observerRemoved","numberRegex","colorRegex","unitRegex","rgbaRegex","cssVariableRegex","variableToRgba","token","fallback","parseCSSVariable","getPropertyValue","trim","_value","namedColorRegex","rgbaRound","p1","p2","p3","p4","keyframes","outputRanges","interpolators","_output$find","missingUnit","find","prefix","once","called","warnInterpolate","warnDirectCall","isAnimatedString","useForceUpdate","random","useOnce","emptyDeps","usePrev","prevRef","$node","getAnimated","owner","setAnimated","defineHidden","getPayload","Animated","payload","AnimatedValue","super","elapsedTime","lastPosition","lastVelocity","v0","durationProgress","AnimatedString","_string","_toString","getValue","setValue","goal","TreeContext","dependencies","AnimatedObject","animated","_makePayload","_addToPayload","AnimatedArray","makeAnimated","getAnimatedType","withAnimated","Component","host","hasInstance","isReactComponent","forwardRef","givenProps","givenRef","instanceRef","createAnimatedStyle","forceUpdate","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","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","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","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","useCache","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","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","names","hasAttribute","textContent","setProperty","renderToContainer","getContainer","container","createPortal","ShouldRender","useShouldRender","forceRender","destroyOnClose","initialized","check","initializedRef","eventToPropRecord","click","touchstart","withStopPropagation","events","stopPropagation","classPrefix","opacityRecord","thin","thick","colorRecord","visible","disableBodyScroll","background","setActive","afterShow","afterClose","div","display","onClick","currentTarget","onMaskClick","role","CheckOutline","xmlns","xmlnsXlink","verticalAlign","stroke","fill","fillRule","CloseOutline","DownOutline","RightOutline","defaultPopupBaseProps","closeOnMaskClick","closeIcon","mask","showCloseButton","V","toVector","v1","v2","sub","rubberband","distance","dimension","constant","rubberbandIfOutOfBounds","_toPropertyKey","hint","prim","toPrimitive","res","_defineProperty","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","distanceAngle","P1","P2","dx","dy","cx","cy","hypot","angle","atan2","origin","_unused","touchIds","_event$currentTarget","_event$currentTarget$","contains","identifier","touchDistanceAngle","ids","pointerId","valueEvent","pointerValues","wheelValues","deltaMode","chain","fns","assignDefault","Engine","computeValues","computeInitial","shared","gestureEventStores","gestureTimeoutStores","sharedConfig","handlers","ingKey","_blocked","_force","_step","intentional","_movement","_distance","_direction","_delta","_bounds","axis","memo","timeDelta","overflow","_movementBound","movement","delta","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","timeoutStore","CoordinatesEngine","axisThreshold","absDx","absDy","lockDirection","commonConfigResolver","enabled","eventOptions","_k","originalTransform","isFinite","coordinatesConfigResolver","_v","HTMLElement","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","swipe","keyboardDisplacement","clampStateInternalMovementToBounds","dirx","diry","pinchConfigResolver","scaleBounds","angleBounds","_scaleBounds","_angleBounds","A","modifierKey","pinchOnWheel","mouseOnly","wheelConfigResolver","EngineMap","ConfigResolverMap","registerAction","engine","resolver","dragAction","_pointerId","_pointerActive","_keyboardActive","_preventScroll","_delayed","tap","canceled","boundRect","targetRect","compute","emit","pointerClean","ctrlIds","setEventIds","pointerCapture","setPointerCapture","setupPointer","preventScrollAxis","setupScrollPrevention","setupDelayTrigger","startPointerDrag","movementX","movementY","hasPointerCapture","releasePointerCapture","_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","pinchAction","_pointerEvents","_touchIds","turns","axisMovementDifference","ctrlTouchIds","pinchStart","ctrlPointerIds","pinchMove","prev_a","delta_a","delta_turns","scale","rotation","_previousMovement","wheelChange","wheelStart","wheelEnd","defaultPrevented","wheel","wheelAction","_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","RE_NOT_NATIVE","registerGesture","handlerKey","startKey","endKey","parseMergedHandlers","mergedHandlers","mergedConfig","_handlers","native","lastMatch","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","renderImperatively","Wrapper","setVisible","closedRef","elementToRender","setElementToRender","keyRef","useImperativeHandle","wrapperRef","createRef","isRendered","AutoCenter","Fallback","points","xlinkHref","__importDefault","mod","__esModule","stagedComponents","staged","react_1","processNext","Stage","stage","toCSSLength","LazyDetector","inViewport","onActive","useIsomorphicUpdateLayoutEffect","fit","lazy","draggable","Image","loaded","setLoaded","failed","setFailed","imgRef","src","srcSet","setInitialized","onContainerClick","Fragment","img","alt","onLoad","onError","objectFit","crossOrigin","decoding","referrerPolicy","sizes","useMap","Avatar","dot","AntdBadge","content","isDot","badgeClass","bordered","wrapperClassName","wrapperStyle","primary","DotLoading","rx","attributeName","dur","begin","repeatCount","keyTimes","block","loadingIcon","shape","Button","innerLoading","setInnerLoading","nativeButtonRef","disabled","onMouseDown","onMouseUp","onTouchStart","onTouchEnd","loadingText","isoWeekday","isoWeekYear","isoWeek","day","usePropsValue","defaultValue","useUpdate","stateRef","forceTrigger","nextValue","devWarning","devError","reactIs_production_min","ContextConsumer","ForwardRef","Lazy","Memo","Portal","Profiler","Suspense","SuspenseList","isAsyncMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isMemo","isPortal","isStrictMode","isSuspense","isSuspenseList","isValidElementType","getModuleId","typeOf","REACT_MODULE_REFERENCE","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_SERVER_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_OFFSCREEN_TYPE","$$typeofType","ContextProvider","StrictMode","hasWarnedAboutDeprecatedIsAsyncMode","hasWarnedAboutDeprecatedIsConcurrentMode","reactIs_development","isConcurrentMode","isProfiler","reactIsModule","contentPosition","Divider","useResizeEffect","targetRef","animationFrame","useMutationEffect","bound","useTabListScroll","activeIndex","api","activeTab","activeTabLeft","offsetLeft","activeTabWidth","offsetWidth","containerWidth","containerScrollWidth","scrollWidth","containerScrollLeft","nextScrollLeft","ScrollMask","maskRef","leftMaskOpacity","rightMaskOpacity","updateMask","scrollEl","scrollTrackRef","showLeftMask","showRightMask","traverseReactNode","handle","Children","child","AntdCapsuleTabs","tabListContainerRef","keyToIndexRecord","firstActiveKey","panes","isValidElement","activeKey","setActiveKey","defaultActiveKey","pane","Tab","Card","extra","headerClassName","headerStyle","onHeaderClick","icon","onBodyClick","Wheel","column","renderLabel","onSelect","draggingRef","itemHeightMeasureRef","itemHeight","scrollSelect","finalPosition","itemHeightMeasure","raw","withUnit","endsWith","fontSize","innerWidth","targetIndex","handleGestureState","boundNum","whellDir","scrollY","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","loadingContent","PickerView","innerValue","setInnerValue","handleSelect","Picker","confirmText","cancelText","toggle","open","onConfirm","ext","pickerElement","onCancel","popupElement","popupStyle","popupClassName","prompt","activeLineMode","stretch","AntdTabs","activeLineRef","isRTL","inkApi","scrollApi","maskApi","fromMutation","activeLine","activeTabWrapper","activeTabWrapperLeft","activeTabWrapperWidth","activeLineWidth","maxScrollDistance","autoScroll","onScroll","mode","List","nativeElementRef","nativeElement","header","isNodeWithContent","AntdList","Item","arrow","arrowIcon","list","clickable","showArrow","mergedArrowIcon","CollapsePanelContent","innerRef","shouldRender","inner","lastMotionId","cancelObserve","handleMotion","motionId","AntdCollapse","collapse","mergedProps","panels","accordion","initValue","activeKeyList","panel","Panel","isoWeeksInYear","isLeapYear","TILL_NOW","dayjs","precisionRankRecord","hour","minute","second","convertStringArrayToDate","_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","HIGH_SURROGATE_START","HIGH_SURROGATE_END","LOW_SURROGATE_START","REGIONAL_INDICATOR_START","REGIONAL_INDICATOR_END","FITZPATRICK_MODIFIER_START","FITZPATRICK_MODIFIER_END","VARIATION_MODIFIER_START","VARIATION_MODIFIER_END","DIACRITICAL_MARKS_START","DIACRITICAL_MARKS_END","SUBDIVISION_INDICATOR_START","TAGS_START","TAGS_END","ZWJ","nextUnits","betweenInclusive","charCodeAt","isRegionalIndicator","codePointFromSurrogatePair","codePointAt","fromCodePoint","isVariationSelector","isDiacriticalMark","isGrapheme","isZeroWidthJoiner","unit_1","unit_2","unit_4","ELLIPSIS_TEXT","measureStyle","visibility","whiteSpace","useMeasure","containerRef","rows","expandNode","collapseNode","contentChars","maxHeight","setMaxHeight","walkingIndexes","setWalkingIndexes","midIndex","setStatus","singleRowMeasureRef","fullMeasureRef","midMeasureRef","startMeasure","memoFn","_fnRef$current","_len","_key","fullMeasureHeight","rowMeasureHeight","midHeight","renderContent","prefixContent","suffixContent","finalContent","expandText","collapseText","stopPropagationForActionButtons","onContentClick","defaultExpanded","Ellipsis","setExpanded","measureNodes","forceResize","imageRecord","contentPack","desc","image","imageNode","fullPage","x2","y2","stopColor","strokeLinejoin","ry","handleDraggingOfContent","FloatingPanel","anchors","innerHeight","possibles","elementRef","headerRef","contentRef","setPulling","pullingRef","onHeightChange","reachedTop","nextY","pre","cur","setHeight","tenPxTester","tester","convertPx","px","AntdGrid","gap","span","itemStyle","useDragAndPinch","getTranslateX","getTranslateY","getScaleX","translate","multiply","m1","m2","Slide","dragLockRef","maxZoom","initialMartix","controlRef","matrix","controlSize","imgSize","pinchLockRef","getMinAndMax","nextMatrix","minX","maxX","minY","maxY","controlLeft","controlTop","imgLeft","imgTop","mat.getScaleX","scaledImgWidth","scaledImgHeight","getReachBound","buffer","boundMatrix","boundedX","boundedY","mat.translate","onDrag","pinching","onTap","currentZoom","currentMatrix","mat.getTranslateX","mat.getTranslateY","onPinch","mergedMaxZoom","nextZoom","onZoomChange","originOffsetX","originOffsetY","scaleX","scaleY","Slides","slideWidth","defaultIndex","images","swipeTo","onIndexChange","minIndex","maxIndex","velocityOffset","ImageViewer","renderFooter","multiDefaultProps","MultiImageViewer","setIndex","slidesRef","onSlideChange","newIndex","handlerSet","clearImageViewer","Multi","show","AntdImageViewer","Space","wrap","align","justify","Sidebar","interacting","setInteracting","elementFromPoint","dataset","indexItems","brief","onMouseEnter","sticky","IndexBar","titleHeight","bodyRef","setActiveIndex","firstItem","scrollTo","offsetTop","checkActiveIndex","elements","getElementsByClassName","panelIndex","AntdIndexBar","clearIcon","onlyShowClearWhenFocus","hasFocus","setHasFocus","compositionStartRef","nativeInputRef","handleKeydown","onEnterPress","onKeyDown","enterKeyHint","ele","removeAttribute","code","keyCode","focus","blur","shouldShowClear","clearable","readOnly","onFocus","onBlur","boundValue","checkValue","onPaste","maxLength","minLength","autoComplete","autoFocus","inputMode","autoCapitalize","autoCorrect","onKeyUp","onCompositionStart","onCompositionEnd","onClear","AntdJumboTabs","defaultBackIcon","NavBar","navBar","back","backIcon","backArrow","mergedDefaultBackIcon","mergedBackIcon","onBack","PageIndicator","dots","total","Corner","AntdSideBar","lastItem","isLastItemActive","isActiveNextSibling","isActivePreviousSibling","Badge","badge","SwiperItem","mousedown","mousemove","mouseup","allowTouchMove","autoplay","autoplayInterval","slideSize","trackOffset","stuckAtBoundary","currentUid","Swiper","indicator","uid","timeoutRef","slideRatio","offsetRatio","validChildren","renderChildren","mergedTotal","trackRef","getSlidePixels","track","setCurrent","getCurrent","dragging","setDragging","useRefState","boundIndex","rawX","standardPosition","modulus","dragCancelRef","slidePixels","paramIndex","lowerBound","upperBound","roundedIndex","swipeNext","swipePrev","runTimeSwiper","renderItem","totalWidth","flagWidth","renderItems","offsetCount","dragProps","stopPropagationProps","p1Keys","p2Keys","p1Value","p2Value","indicatorNode","indicatorProps","onClickCapture","division","remainder","AntdSwiper","safeArea","AntdTabBar","iconElement","titleElement","maskClickable","InternalToast","currentHandler","currentTimeout","ToastInner","Toast","jsx","AntdAvatar","iconPosition","restOfProps","renderButtonContent","nodeItems","unshift","AntdButton","AntdSpace","AntdDivider","labelRender","AntdInput","CapsuleTabs","AntdCard","Collapse","AntdEllipsis","AntdFloatingPanel","Grid","AntdImage","JumboTabs","AntdNavBar","AntdSafeArea","SideBar","TabBar","Tabs","mergeClasses","defaultAttributes","Icon","absoluteStrokeWidth","iconNode","attrs","Inbox","iconName","InboxIcon","AntdErrorBlock","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,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,221,222,223,224,225,228,229,230]}
|
|
1
|
+
{"version":3,"file":"ama-ui.es.js","sources":["../node_modules/antd-mobile/es/utils/can-use-dom.js","../node_modules/antd-mobile/es/global/index.js","../node_modules/tslib/tslib.es6.mjs","../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/utils/depsAreSame.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/lodash/throttle.js","../node_modules/ahooks/es/utils/domTarget.js","../node_modules/ahooks/es/utils/createEffectWithTarget.js","../node_modules/ahooks/es/utils/useEffectWithTarget.js","../node_modules/dayjs/dayjs.min.js","../node_modules/ahooks/es/utils/lodash-polyfill.js","../node_modules/ahooks/es/useDebounceEffect/index.js","../node_modules/ahooks/es/useDebounceFn/index.js","../node_modules/react-fast-compare/index.js","../node_modules/ahooks/es/useInViewport/index.js","../node_modules/ahooks/es/useIsomorphicLayoutEffect/index.js","../node_modules/ahooks/es/useUnmountedRef/index.js","../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../node_modules/ahooks/es/utils/useLayoutEffectWithTarget.js","../node_modules/ahooks/es/utils/useIsomorphicLayoutEffectWithTarget.js","../node_modules/ahooks/es/useSize/index.js","../node_modules/ahooks/es/useRafState/index.js","../node_modules/ahooks/es/useThrottleFn/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/CheckOutline.js","../node_modules/antd-mobile-icons/es/CloseOutline.js","../node_modules/antd-mobile-icons/es/DownOutline.js","../node_modules/antd-mobile-icons/es/RightOutline.js","../node_modules/antd-mobile/es/components/popup/popup-base-props.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/utils/render-imperatively.js","../node_modules/antd-mobile/es/components/action-sheet/action-sheet.js","../node_modules/antd-mobile/es/components/action-sheet/index.js","../node_modules/antd-mobile/es/components/auto-center/auto-center.js","../node_modules/antd-mobile/es/components/avatar/fallback.js","../node_modules/staged-components/index.js","../node_modules/antd-mobile/es/utils/to-css-length.js","../node_modules/antd-mobile/es/components/image/lazy-detector.js","../node_modules/antd-mobile/es/utils/use-isomorphic-update-layout-effect.js","../node_modules/antd-mobile/es/components/image/image.js","../node_modules/antd-mobile/es/components/image/image-icon.js","../node_modules/antd-mobile/es/components/image/broken-image-icon.js","../node_modules/antd-mobile/es/components/avatar/avatar.js","../node_modules/antd-mobile/es/components/badge/badge.js","../node_modules/antd-mobile/es/components/badge/index.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/react-is/cjs/react-is.production.min.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/antd-mobile/es/components/divider/divider.js","../node_modules/antd-mobile/es/utils/use-resize-effect.js","../node_modules/antd-mobile/es/utils/use-mutation-effect.js","../node_modules/antd-mobile/es/utils/bound.js","../node_modules/antd-mobile/es/utils/use-tab-list-scroll.js","../node_modules/antd-mobile/es/components/scroll-mask/scroll-mask.js","../node_modules/antd-mobile/es/utils/traverse-react-node.js","../node_modules/antd-mobile/es/components/capsule-tabs/capsule-tabs.js","../node_modules/antd-mobile/es/components/capsule-tabs/index.js","../node_modules/antd-mobile/es/components/card/card.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/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/tabs/tabs.js","../node_modules/antd-mobile/es/components/tabs/index.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/antd-mobile/es/components/collapse/collapse.js","../node_modules/ahooks/es/useMount/index.js","../node_modules/antd-mobile/es/components/collapse/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/runes2/dist/index.esm.mjs","../node_modules/antd-mobile/es/components/ellipsis/useMeasure.js","../node_modules/rc-util/es/hooks/useEvent.js","../node_modules/antd-mobile/es/components/ellipsis/ellipsis.js","../node_modules/antd-mobile/es/components/error-block/create-error-block.js","../node_modules/antd-mobile/es/components/error-block/images/default.js","../node_modules/antd-mobile/es/components/error-block/error-block.js","../node_modules/antd-mobile/es/components/error-block/images/disconnected.js","../node_modules/antd-mobile/es/components/error-block/images/empty.js","../node_modules/antd-mobile/es/components/error-block/images/busy.js","../node_modules/antd-mobile/es/components/floating-panel/floating-panel.js","../node_modules/antd-mobile/es/utils/nearest.js","../node_modules/antd-mobile/es/utils/convert-px.js","../node_modules/antd-mobile/es/components/grid/grid.js","../node_modules/antd-mobile/es/components/grid/index.js","../node_modules/antd-mobile/es/utils/use-drag-and-pinch.js","../node_modules/antd-mobile/es/utils/matrix.js","../node_modules/antd-mobile/es/components/image-viewer/slide.js","../node_modules/antd-mobile/es/components/image-viewer/slides.js","../node_modules/antd-mobile/es/components/image-viewer/image-viewer.js","../node_modules/antd-mobile/es/components/image-viewer/methods.js","../node_modules/antd-mobile/es/components/image-viewer/index.js","../node_modules/antd-mobile/es/components/space/space.js","../node_modules/antd-mobile/es/components/index-bar/panel.js","../node_modules/antd-mobile/es/components/index-bar/sidebar.js","../node_modules/antd-mobile/es/components/index-bar/index-bar.js","../node_modules/antd-mobile/es/components/index-bar/index.js","../node_modules/antd-mobile/es/components/infinite-scroll/infinite-scroll.js","../node_modules/ahooks/es/useLockFn/index.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","../node_modules/antd-mobile/es/components/jumbo-tabs/jumbo-tabs.js","../node_modules/antd-mobile/es/components/jumbo-tabs/index.js","../node_modules/antd-mobile/es/components/nav-bar/nav-bar.js","../node_modules/antd-mobile-icons/es/LeftOutline.js","../node_modules/antd-mobile/es/components/page-indicator/page-indicator.js","../node_modules/antd-mobile/es/components/pull-to-refresh/pull-to-refresh.js","../node_modules/antd-mobile/es/utils/sleep.js","../node_modules/antd-mobile/es/components/side-bar/corner.js","../node_modules/antd-mobile/es/components/side-bar/side-bar.js","../node_modules/antd-mobile/es/components/side-bar/index.js","../node_modules/antd-mobile/es/components/swiper/swiper-item.js","../node_modules/antd-mobile/es/components/swiper/swiper.js","../node_modules/ahooks/es/useGetState/index.js","../node_modules/antd-mobile/es/utils/use-ref-state.js","../node_modules/antd-mobile/es/utils/with-func-props.js","../node_modules/antd-mobile/es/components/swiper/index.js","../node_modules/antd-mobile/es/components/tab-bar/tab-bar.js","../node_modules/antd-mobile/es/components/tab-bar/index.js","../node_modules/antd-mobile/es/components/toast/toast.js","../node_modules/antd-mobile/es/components/toast/methods.js","../node_modules/antd-mobile/es/components/toast/index.js","../src/components/ui/Avatar/Avatar.tsx","../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","../src/components/ui/Badge/Badge.tsx","../src/components/ui/CapsuleTabs/CapsuleTabs.tsx","../src/components/ui/Card/Card.tsx","../src/components/ui/Collapse/Collapse.tsx","../src/components/ui/Ellipsis/Ellipsis.tsx","../src/components/ui/FloatingPanel/FloatingPanel.tsx","../src/components/ui/Grid/Grid.tsx","../src/components/ui/Image/Image.tsx","../src/components/ui/ImageViewer/ImageViewer.tsx","../src/components/ui/IndexBar/IndexBar.tsx","../src/components/ui/JumboTabs/JumboTabs.tsx","../src/components/ui/NavBar/NavBar.tsx","../src/components/ui/SafeArea/SaveArea.tsx","../src/components/ui/SideBar/SideBar.tsx","../src/components/ui/TabBar/TabBar.tsx","../src/components/ui/Tabs/Tabs.tsx","../node_modules/lucide-react/dist/esm/shared/src/utils.js","../node_modules/lucide-react/dist/esm/defaultAttributes.js","../node_modules/lucide-react/dist/esm/Icon.js","../node_modules/lucide-react/dist/esm/icons/inbox.js","../node_modules/lucide-react/dist/esm/createLucideIcon.js","../src/components/ui/ErrorBlock/ErrorBlock.tsx","../src/components/ui/Swiper/Swiper.tsx","../src/components/ui/InfiniteScroll/InfiniteScroll.tsx","../src/components/ui/ActionSheet/ActionSheet.tsx","../src/components/ui/PullToRefresh/PullToRefresh.tsx","../src/components/ui/Loading/DotLoading.tsx","../src/components/ui/Loading/SpinLoading.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);","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'","/******************************************************************************\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","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);","export default function depsAreSame(oldDeps, deps) {\n if (oldDeps === deps) return true;\n for (var i = 0; i < oldDeps.length; i++) {\n if (!Object.is(oldDeps[i], deps[i])) return false;\n }\n return true;\n}","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;","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` 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 throttled 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 `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","import { isFunction } from './index';\nimport isBrowser from './isBrowser';\nexport function getTargetElement(target, defaultElement) {\n if (!isBrowser) {\n return undefined;\n }\n if (!target) {\n return defaultElement;\n }\n var targetElement;\n if (isFunction(target)) {\n targetElement = target();\n } else if ('current' in target) {\n targetElement = target.current;\n } else {\n targetElement = target;\n }\n return targetElement;\n}","import { useRef } from 'react';\nimport useUnmount from '../useUnmount';\nimport depsAreSame from './depsAreSame';\nimport { getTargetElement } from './domTarget';\nvar createEffectWithTarget = function (useEffectType) {\n /**\n *\n * @param effect\n * @param deps\n * @param target target should compare ref.current vs ref.current, dom vs dom, ()=>dom vs ()=>dom\n */\n var useEffectWithTarget = function (effect, deps, target) {\n var hasInitRef = useRef(false);\n var lastElementRef = useRef([]);\n var lastDepsRef = useRef([]);\n var unLoadRef = useRef();\n useEffectType(function () {\n var _a;\n var targets = Array.isArray(target) ? target : [target];\n var els = targets.map(function (item) {\n return getTargetElement(item);\n });\n // init run\n if (!hasInitRef.current) {\n hasInitRef.current = true;\n lastElementRef.current = els;\n lastDepsRef.current = deps;\n unLoadRef.current = effect();\n return;\n }\n if (els.length !== lastElementRef.current.length || !depsAreSame(lastElementRef.current, els) || !depsAreSame(lastDepsRef.current, deps)) {\n (_a = unLoadRef.current) === null || _a === void 0 ? void 0 : _a.call(unLoadRef);\n lastElementRef.current = els;\n lastDepsRef.current = deps;\n unLoadRef.current = effect();\n }\n });\n useUnmount(function () {\n var _a;\n (_a = unLoadRef.current) === null || _a === void 0 ? void 0 : _a.call(unLoadRef);\n // for react-refresh\n hasInitRef.current = false;\n });\n };\n return useEffectWithTarget;\n};\nexport default createEffectWithTarget;","import { useEffect } from 'react';\nimport createEffectWithTarget from './createEffectWithTarget';\nvar useEffectWithTarget = createEffectWithTarget(useEffect);\nexport default useEffectWithTarget;","!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 } 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 { __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 { __assign, __read, __rest, __values } from \"tslib\";\nimport 'intersection-observer';\nimport { useState } from 'react';\nimport { getTargetElement } from '../utils/domTarget';\nimport useEffectWithTarget from '../utils/useEffectWithTarget';\nfunction useInViewport(target, options) {\n var _a = options || {},\n callback = _a.callback,\n option = __rest(_a, [\"callback\"]);\n var _b = __read(useState(), 2),\n state = _b[0],\n setState = _b[1];\n var _c = __read(useState(), 2),\n ratio = _c[0],\n setRatio = _c[1];\n useEffectWithTarget(function () {\n var targets = Array.isArray(target) ? target : [target];\n var els = targets.map(function (element) {\n return getTargetElement(element);\n }).filter(Boolean);\n if (!els.length) {\n return;\n }\n var observer = new IntersectionObserver(function (entries) {\n var e_1, _a;\n try {\n for (var entries_1 = __values(entries), entries_1_1 = entries_1.next(); !entries_1_1.done; entries_1_1 = entries_1.next()) {\n var entry = entries_1_1.value;\n setRatio(entry.intersectionRatio);\n setState(entry.isIntersecting);\n callback === null || callback === void 0 ? void 0 : callback(entry);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (entries_1_1 && !entries_1_1.done && (_a = entries_1.return)) _a.call(entries_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n }, __assign(__assign({}, option), {\n root: getTargetElement(options === null || options === void 0 ? void 0 : options.root)\n }));\n els.forEach(function (el) {\n return observer.observe(el);\n });\n return function () {\n observer.disconnect();\n };\n }, [options === null || options === void 0 ? void 0 : options.rootMargin, options === null || options === void 0 ? void 0 : options.threshold, callback], target);\n return [state, ratio];\n}\nexport default useInViewport;","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;","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array<Array>} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array<ResizeObserverSPI>}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the <html> itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array<ResizeObservation>}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map<Element, ResizeObservation>}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","import { useLayoutEffect } from 'react';\nimport createEffectWithTarget from './createEffectWithTarget';\nvar useEffectWithTarget = createEffectWithTarget(useLayoutEffect);\nexport default useEffectWithTarget;","import isBrowser from './isBrowser';\nimport useEffectWithTarget from './useEffectWithTarget';\nimport useLayoutEffectWithTarget from './useLayoutEffectWithTarget';\nvar useIsomorphicLayoutEffectWithTarget = isBrowser ? useLayoutEffectWithTarget : useEffectWithTarget;\nexport default useIsomorphicLayoutEffectWithTarget;","import { __read } from \"tslib\";\nimport ResizeObserver from 'resize-observer-polyfill';\nimport useRafState from '../useRafState';\nimport { getTargetElement } from '../utils/domTarget';\nimport useIsomorphicLayoutEffectWithTarget from '../utils/useIsomorphicLayoutEffectWithTarget';\nfunction useSize(target) {\n var _a = __read(useRafState(function () {\n var el = getTargetElement(target);\n return el ? {\n width: el.clientWidth,\n height: el.clientHeight\n } : undefined;\n }), 2),\n state = _a[0],\n setState = _a[1];\n useIsomorphicLayoutEffectWithTarget(function () {\n var el = getTargetElement(target);\n if (!el) {\n return;\n }\n var resizeObserver = new ResizeObserver(function (entries) {\n entries.forEach(function (entry) {\n var _a = entry.target,\n clientWidth = _a.clientWidth,\n clientHeight = _a.clientHeight;\n setState({\n width: clientWidth,\n height: clientHeight\n });\n });\n });\n resizeObserver.observe(el);\n return function () {\n resizeObserver.disconnect();\n };\n }, [], target);\n return state;\n}\nexport default useSize;","import { __read } from \"tslib\";\nimport { useCallback, useRef, useState } from 'react';\nimport useUnmount from '../useUnmount';\nfunction useRafState(initialState) {\n var ref = useRef(0);\n var _a = __read(useState(initialState), 2),\n state = _a[0],\n setState = _a[1];\n var setRafState = useCallback(function (value) {\n cancelAnimationFrame(ref.current);\n ref.current = requestAnimationFrame(function () {\n setState(value);\n });\n }, []);\n useUnmount(function () {\n cancelAnimationFrame(ref.current);\n });\n return [state, setRafState];\n}\nexport default useRafState;","import { __read, __spreadArray } from \"tslib\";\nimport throttle from 'lodash/throttle';\nimport { useMemo } from 'react';\nimport useLatest from '../useLatest';\nimport useUnmount from '../useUnmount';\nimport { isFunction } from '../utils';\nimport isDev from '../utils/isDev';\nfunction useThrottleFn(fn, options) {\n var _a;\n if (isDev) {\n if (!isFunction(fn)) {\n console.error(\"useThrottleFn 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 throttled = useMemo(function () {\n return throttle(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 throttled.cancel();\n });\n return {\n run: throttled,\n cancel: throttled.cancel,\n flush: throttled.flush\n };\n}\nexport default useThrottleFn;","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 CheckOutline(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: \"CheckOutline-CheckOutline\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"CheckOutline-\\u7F16\\u7EC4\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"CheckOutline-\\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: \"M44.309608,12.6841286 L21.2180499,35.5661955 L21.2180499,35.5661955 C20.6343343,36.1446015 19.6879443,36.1446015 19.1042286,35.5661955 C19.0538201,35.5162456 19.0077648,35.4636155 18.9660627,35.4087682 C18.9113105,35.368106 18.8584669,35.3226694 18.808302,35.2729607 L3.6903839,20.2920499 C3.53346476,20.1365529 3.53231192,19.8832895 3.68780898,19.7263704 C3.7629255,19.6505669 3.86521855,19.6079227 3.97193622,19.6079227 L7.06238923,19.6079227 C7.16784214,19.6079227 7.26902895,19.6495648 7.34393561,19.7237896 L20.160443,32.4236157 L20.160443,32.4236157 L40.656066,12.115858 C40.7309719,12.0416387 40.8321549,12 40.9376034,12 L44.0280571,12 C44.248971,12 44.4280571,12.1790861 44.4280571,12.4 C44.4280571,12.5067183 44.3854124,12.609012 44.309608,12.6841286 Z\",\n id: \"CheckOutline-\\u8DEF\\u5F84\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }))));\n}\n\nexport default CheckOutline;","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;","import * as React from \"react\";\n\nfunction DownOutline(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: \"DownOutline-DownOutline\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"DownOutline-\\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: \"M5.11219264,16.3947957 L22.6612572,34.5767382 L22.6612572,34.5767382 C23.2125856,35.1304785 24.0863155,35.1630514 24.6755735,34.6744571 L24.7825775,34.5767382 L42.8834676,16.3956061 C42.9580998,16.320643 43,16.2191697 43,16.1133896 L43,12.9866673 C43,12.7657534 42.8209139,12.5866673 42.6,12.5866673 C42.4936115,12.5866673 42.391606,12.6290496 42.316542,12.7044413 L23.7816937,31.3201933 L23.7816937,31.3201933 L5.6866816,12.7237117 C5.53262122,12.5653818 5.27937888,12.5619207 5.121049,12.7159811 C5.04365775,12.7912854 5,12.8946805 5,13.0026627 L5,16.1170064 C5,16.2206403 5.04022164,16.3202292 5.11219264,16.3947957 Z\",\n id: \"DownOutline-down\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }))));\n}\n\nexport default DownOutline;","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};","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 { __awaiter } from \"tslib\";\nimport React, { useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { renderToBody } from './render-to-body';\nexport function renderImperatively(element) {\n const Wrapper = React.forwardRef((_, ref) => {\n const [visible, setVisible] = useState(false);\n const closedRef = useRef(false);\n const [elementToRender, setElementToRender] = useState(element);\n const keyRef = useRef(0);\n useEffect(() => {\n if (!closedRef.current) {\n setVisible(true);\n } else {\n afterClose();\n }\n }, []);\n function onClose() {\n var _a, _b;\n closedRef.current = true;\n setVisible(false);\n (_b = (_a = elementToRender.props).onClose) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n function afterClose() {\n var _a, _b;\n unmount();\n (_b = (_a = elementToRender.props).afterClose) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n useImperativeHandle(ref, () => ({\n close: onClose,\n replace: element => {\n var _a, _b;\n keyRef.current++;\n (_b = (_a = elementToRender.props).afterClose) === null || _b === void 0 ? void 0 : _b.call(_a);\n setElementToRender(element);\n }\n }));\n return React.cloneElement(elementToRender, Object.assign(Object.assign({}, elementToRender.props), {\n key: keyRef.current,\n visible,\n onClose,\n afterClose\n }));\n });\n const wrapperRef = React.createRef();\n const unmount = renderToBody(React.createElement(Wrapper, {\n ref: wrapperRef\n }));\n return {\n close: () => __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c;\n if (!wrapperRef.current) {\n // it means the wrapper is not mounted yet, call `unmount` directly\n unmount();\n // call `afterClose` to make sure the callback is called\n (_b = (_a = element.props).afterClose) === null || _b === void 0 ? void 0 : _b.call(_a);\n } else {\n (_c = wrapperRef.current) === null || _c === void 0 ? void 0 : _c.close();\n }\n }),\n replace: element => {\n var _a;\n (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.replace(element);\n },\n isRendered: () => !!wrapperRef.current\n };\n}","import React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nimport classNames from 'classnames';\nimport Popup from '../popup';\nimport SafeArea from '../safe-area';\nimport { renderImperatively } from '../../utils/render-imperatively';\nconst classPrefix = `adm-action-sheet`;\nconst defaultProps = {\n visible: false,\n actions: [],\n cancelText: '',\n closeOnAction: false,\n closeOnMaskClick: true,\n safeArea: true,\n destroyOnClose: false,\n forceRender: false\n};\nexport const ActionSheet = p => {\n const props = mergeProps(defaultProps, p);\n const {\n styles\n } = props;\n return React.createElement(Popup, {\n visible: props.visible,\n onMaskClick: () => {\n var _a, _b;\n (_a = props.onMaskClick) === null || _a === void 0 ? void 0 : _a.call(props);\n if (props.closeOnMaskClick) {\n (_b = props.onClose) === null || _b === void 0 ? void 0 : _b.call(props);\n }\n },\n afterClose: props.afterClose,\n className: classNames(`${classPrefix}-popup`, props.popupClassName),\n style: props.popupStyle,\n getContainer: props.getContainer,\n destroyOnClose: props.destroyOnClose,\n forceRender: props.forceRender,\n bodyStyle: styles === null || styles === void 0 ? void 0 : styles.body,\n maskStyle: styles === null || styles === void 0 ? void 0 : styles.mask\n }, withNativeProps(props, React.createElement(\"div\", {\n className: classPrefix\n }, props.extra && React.createElement(\"div\", {\n className: `${classPrefix}-extra`\n }, props.extra), React.createElement(\"div\", {\n className: `${classPrefix}-button-list`\n }, props.actions.map((action, index) => React.createElement(\"div\", {\n key: action.key,\n className: `${classPrefix}-button-item-wrapper`\n }, React.createElement(\"a\", {\n className: classNames('adm-plain-anchor', `${classPrefix}-button-item`, {\n [`${classPrefix}-button-item-danger`]: action.danger,\n [`${classPrefix}-button-item-disabled`]: action.disabled,\n [`${classPrefix}-button-item-bold`]: action.bold\n }),\n onClick: () => {\n var _a, _b, _c;\n (_a = action.onClick) === null || _a === void 0 ? void 0 : _a.call(action);\n (_b = props.onAction) === null || _b === void 0 ? void 0 : _b.call(props, action, index);\n if (props.closeOnAction) {\n (_c = props.onClose) === null || _c === void 0 ? void 0 : _c.call(props);\n }\n },\n role: 'option',\n \"aria-disabled\": action.disabled\n }, React.createElement(\"div\", {\n className: `${classPrefix}-button-item-name`\n }, action.text), action.description && React.createElement(\"div\", {\n className: `${classPrefix}-button-item-description`\n }, action.description))))), props.cancelText && React.createElement(\"div\", {\n className: `${classPrefix}-cancel`,\n role: 'option',\n \"aria-label\": props.cancelText\n }, React.createElement(\"div\", {\n className: `${classPrefix}-button-item-wrapper`\n }, React.createElement(\"a\", {\n className: classNames('adm-plain-anchor', `${classPrefix}-button-item`),\n onClick: props.onClose\n }, React.createElement(\"div\", {\n className: `${classPrefix}-button-item-name`\n }, props.cancelText)))), props.safeArea && React.createElement(SafeArea, {\n position: 'bottom'\n }))));\n};\nexport function showActionSheet(props) {\n return renderImperatively(React.createElement(ActionSheet, Object.assign({}, props)));\n}","import \"./action-sheet.css\";\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { ActionSheet, showActionSheet } from './action-sheet';\nexport default attachPropertiesToComponent(ActionSheet, {\n show: showActionSheet\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';\nexport const Fallback = memo(() => React.createElement(\"svg\", {\n className: 'adm-avatar-fallback',\n width: '88px',\n height: '88px',\n viewBox: '0 0 88 88',\n version: '1.1'\n}, React.createElement(\"title\", null, \"\\u7F16\\u7EC4 3\"), React.createElement(\"defs\", null, React.createElement(\"polygon\", {\n id: 'path-1',\n points: '0 0 88 0 88 88 0 88'\n})), React.createElement(\"g\", {\n id: '\\u9875\\u9762-1',\n stroke: 'none',\n strokeWidth: '1',\n fill: 'none',\n fillRule: 'evenodd'\n}, React.createElement(\"g\", {\n id: '\\u8BED\\u96C0',\n transform: 'translate(-495.000000, -71.000000)'\n}, React.createElement(\"g\", {\n id: '\\u7F16\\u7EC4-3',\n transform: 'translate(495.000000, 71.000000)'\n}, React.createElement(\"mask\", {\n id: 'mask-2',\n fill: 'white'\n}, React.createElement(\"use\", {\n xlinkHref: '#path-1'\n})), React.createElement(\"use\", {\n id: 'Mask',\n fill: '#EEEEEE',\n fillRule: 'nonzero',\n xlinkHref: '#path-1'\n}), React.createElement(\"path\", {\n d: 'M44.5707528,16 L43.4292117,16 L42.9575197,16.0086403 L42.9575195,16.0086403 C36.5215787,16.2615464 31.4341803,21.5678078 31.4344832,28.0273864 L31.4344832,34.7776551 L31.4495601,35.3716788 L31.4495593,35.3716628 C31.599687,38.5368723 32.9422041,41.5269327 35.2058513,43.7376716 L38.2147759,46.6775505 L38.4086219,46.8913989 C38.7747759,47.3385365 38.9750835,47.9001589 38.9750835,48.4833848 L38.9750835,48.8938006 L38.9556989,49.1897326 L38.9556989,49.1897325 C38.8577746,49.9812662 38.3754713,50.67284 37.667703,51.036605 L18.7375269,60.7440265 L18.4101421,60.9276334 L18.4101423,60.9276333 C16.9141658,61.8418636 16.0009389,63.4714674 16,65.2283758 L16,66.070809 L16.0129231,66.3948217 C16.1766149,68.4123376 17.860922,70 19.91569,70 L68.0843101,70 L68.08431,70 C70.2460467,70 71.9988087,68.243122 72,66.0751224 L72,65.2326893 C72,63.3382982 70.9446194,61.6037466 69.2624598,60.7440295 L50.3322837,51.036608 L50.3322835,51.0366079 C49.5291218,50.6249082 49.0240448,49.7962466 49.024903,48.8916436 L49.024903,48.4812278 C49.024903,47.8029608 49.3005955,47.1527756 49.7852106,46.6775603 L52.7941352,43.7376813 L52.7941354,43.7376811 C55.204308,41.3832325 56.5636029,38.151975 56.5633606,34.7776456 L56.5633606,28.0273769 L56.5633606,28.0273774 C56.5633606,21.3848531 51.1940878,16 44.5707524,16 L44.5707528,16 Z',\n id: '\\u5F62\\u72B6',\n fill: '#CCCCCC',\n fillRule: 'nonzero',\n mask: 'url(#mask-2)'\n}))))));","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.staged = void 0;\nconst react_1 = __importDefault(require(\"react\"));\nfunction processNext(next) {\n if (typeof next === 'function') {\n return (react_1.default.createElement(Stage, { stage: next }));\n }\n else {\n return next;\n }\n}\nfunction Stage(props) {\n const next = props.stage();\n return processNext(next);\n}\nfunction staged(stage) {\n return function Staged(props, ref) {\n const next = stage(props, ref);\n return processNext(next);\n };\n}\nexports.staged = staged;\n","export function toCSSLength(val) {\n return typeof val === 'number' ? `${val}px` : val;\n}","import React, { useEffect, useRef } from 'react';\nimport { useInViewport } from 'ahooks';\nexport const LazyDetector = props => {\n const ref = useRef(null);\n const [inViewport] = useInViewport(ref);\n useEffect(() => {\n if (inViewport) {\n props.onActive();\n }\n }, [inViewport]);\n return React.createElement(\"div\", {\n ref: ref\n });\n};","import { createUpdateEffect, useIsomorphicLayoutEffect } from 'ahooks';\nexport const useIsomorphicUpdateLayoutEffect = createUpdateEffect(useIsomorphicLayoutEffect);","import { mergeProps } from '../../utils/with-default-props';\nimport React, { useState, useRef, useEffect } from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { staged } from 'staged-components';\nimport { toCSSLength } from '../../utils/to-css-length';\nimport { LazyDetector } from './lazy-detector';\nimport { useIsomorphicUpdateLayoutEffect } from '../../utils/use-isomorphic-update-layout-effect';\nimport { ImageIcon } from './image-icon';\nimport { BrokenImageIcon } from './broken-image-icon';\nconst classPrefix = `adm-image`;\nconst defaultProps = {\n fit: 'fill',\n placeholder: React.createElement(\"div\", {\n className: `${classPrefix}-tip`\n }, React.createElement(ImageIcon, null)),\n fallback: React.createElement(\"div\", {\n className: `${classPrefix}-tip`\n }, React.createElement(BrokenImageIcon, null)),\n lazy: false,\n draggable: false\n};\nexport const Image = staged(p => {\n const props = mergeProps(defaultProps, p);\n const [loaded, setLoaded] = useState(false);\n const [failed, setFailed] = useState(false);\n const ref = useRef(null);\n const imgRef = useRef(null);\n let src = props.src;\n let srcSet = props.srcSet;\n const [initialized, setInitialized] = useState(!props.lazy);\n src = initialized ? props.src : undefined;\n srcSet = initialized ? props.srcSet : undefined;\n useIsomorphicUpdateLayoutEffect(() => {\n setLoaded(false);\n setFailed(false);\n }, [src]);\n useEffect(() => {\n var _a;\n // for nextjs ssr\n if ((_a = imgRef.current) === null || _a === void 0 ? void 0 : _a.complete) {\n setLoaded(true);\n }\n }, []);\n function renderInner() {\n if (failed) {\n return React.createElement(React.Fragment, null, props.fallback);\n }\n const img = React.createElement(\"img\", {\n ref: imgRef,\n id: props.id,\n className: `${classPrefix}-img`,\n src: src,\n alt: props.alt,\n onClick: props.onClick,\n onLoad: e => {\n var _a;\n setLoaded(true);\n (_a = props.onLoad) === null || _a === void 0 ? void 0 : _a.call(props, e);\n },\n onError: e => {\n var _a;\n setFailed(true);\n (_a = props.onError) === null || _a === void 0 ? void 0 : _a.call(props, e);\n },\n style: {\n objectFit: props.fit,\n display: loaded ? 'block' : 'none'\n },\n crossOrigin: props.crossOrigin,\n decoding: props.decoding,\n loading: props.loading,\n referrerPolicy: props.referrerPolicy,\n sizes: props.sizes,\n srcSet: srcSet,\n useMap: props.useMap,\n draggable: props.draggable\n });\n return React.createElement(React.Fragment, null, !loaded && props.placeholder, img);\n }\n const style = {};\n if (props.width) {\n style['--width'] = toCSSLength(props.width);\n style['width'] = toCSSLength(props.width);\n }\n if (props.height) {\n style['--height'] = toCSSLength(props.height);\n style['height'] = toCSSLength(props.height);\n }\n return withNativeProps(props, React.createElement(\"div\", {\n ref: ref,\n className: classPrefix,\n style: style,\n onClick: props.onContainerClick\n }, props.lazy && !initialized && React.createElement(LazyDetector, {\n onActive: () => {\n setInitialized(true);\n }\n }), renderInner()));\n});","import React from 'react';\nexport const ImageIcon = () => React.createElement(\"svg\", {\n viewBox: '0 0 48 48',\n xmlns: 'http://www.w3.org/2000/svg'\n}, React.createElement(\"path\", {\n d: 'M41.396 6.234c1.923 0 3.487 1.574 3.487 3.505v29.14c0 1.937-1.568 3.51-3.491 3.51H6.604c-1.923 0-3.487-1.573-3.487-3.51V9.745c0-1.936 1.564-3.51 3.487-3.51Zm0 2.847H6.604c-.355 0-.654.3-.654.658V34.9l5.989-8.707a2.373 2.373 0 0 1 1.801-1.005 2.405 2.405 0 0 1 1.933.752l4.182 4.525 7.58-11.005a2.374 2.374 0 0 1 1.96-1.01c.79 0 1.532.38 1.966 1.01L42.05 34.89V9.74a.664.664 0 0 0-.654-.658Zm-28.305 2.763a3.119 3.119 0 0 1 3.117 3.117 3.119 3.119 0 0 1-3.117 3.117 3.122 3.122 0 0 1-3.117-3.117 3.119 3.119 0 0 1 3.117-3.117Z',\n fill: '#DBDBDB',\n fillRule: 'nonzero'\n}));","import React from 'react';\nexport const BrokenImageIcon = () => React.createElement(\"svg\", {\n viewBox: '0 0 48 48',\n xmlns: 'http://www.w3.org/2000/svg'\n}, React.createElement(\"path\", {\n d: 'M19.233 6.233 17.42 9.08l-10.817.001a.665.665 0 0 0-.647.562l-.007.096V34.9l5.989-8.707a2.373 2.373 0 0 1 1.801-1.005 2.415 2.415 0 0 1 1.807.625l.126.127 4.182 4.525 2.267-3.292 5.461 7.841-4.065 7.375H6.604c-1.86 0-3.382-1.47-3.482-3.317l-.005-.192V9.744c0-1.872 1.461-3.405 3.296-3.505l.19-.005h12.63Zm22.163 0c1.86 0 3.382 1.472 3.482 3.314l.005.192v29.14a3.507 3.507 0 0 1-3.3 3.505l-.191.006H27.789l3.63-6.587.06-.119a1.87 1.87 0 0 0-.163-1.853l-6.928-9.949 3.047-4.422a2.374 2.374 0 0 1 1.96-1.01 2.4 2.4 0 0 1 1.86.87l.106.14L42.05 34.89V9.74a.664.664 0 0 0-.654-.658H21.855l1.812-2.848h17.73Zm-28.305 5.611c.794 0 1.52.298 2.07.788l-.843 1.325-.067.114a1.87 1.87 0 0 0 .11 1.959l.848 1.217c-.556.515-1.3.83-2.118.83a3.122 3.122 0 0 1-3.117-3.116 3.119 3.119 0 0 1 3.117-3.117Z',\n fill: '#DBDBDB',\n fillRule: 'nonzero'\n}));","import React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { Fallback } from './fallback';\nimport Image from '../image';\nconst classPrefix = 'adm-avatar';\nconst defaultProps = {\n fallback: React.createElement(Fallback, null),\n fit: 'cover'\n};\nexport const Avatar = p => {\n const props = mergeProps(defaultProps, p);\n return withNativeProps(props, React.createElement(Image, {\n className: classPrefix,\n src: props.src,\n fallback: props.fallback,\n placeholder: props.fallback,\n alt: props.alt,\n lazy: props.lazy,\n fit: props.fit,\n onClick: props.onClick,\n onError: props.onError,\n onLoad: props.onLoad\n }));\n};","import classNames from 'classnames';\nimport React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nconst classPrefix = `adm-badge`;\nexport const dot = React.createElement(React.Fragment, null);\nexport const Badge = props => {\n const {\n content,\n color,\n children\n } = props;\n const isDot = content === dot;\n const badgeClass = classNames(classPrefix, {\n [`${classPrefix}-fixed`]: !!children,\n [`${classPrefix}-dot`]: isDot,\n [`${classPrefix}-bordered`]: props.bordered\n });\n const element = content || content === 0 ? withNativeProps(props, React.createElement(\"div\", {\n className: badgeClass,\n style: {\n '--color': color\n }\n }, !isDot && React.createElement(\"div\", {\n className: `${classPrefix}-content`\n }, content))) : null;\n return children ? React.createElement(\"div\", {\n className: classNames(`${classPrefix}-wrapper`, props.wrapperClassName),\n style: props.wrapperStyle\n }, children, element) : element;\n};","import \"./badge.css\";\nimport { Badge, dot } from './badge';\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nexport default attachPropertiesToComponent(Badge, {\n dot\n});","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}","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its 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'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","/**\n * @license React\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its 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\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_SERVER_CONTEXT_TYPE:\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar SuspenseList = REACT_SUSPENSE_LIST_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\nvar hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isConcurrentMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsConcurrentMode) {\n hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\nfunction isSuspenseList(object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n}\n\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.SuspenseList = SuspenseList;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isSuspenseList = isSuspenseList;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\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};","import { useIsomorphicLayoutEffect, useMemoizedFn } from 'ahooks';\nexport function useResizeEffect(effect, targetRef) {\n const fn = useMemoizedFn(effect);\n useIsomorphicLayoutEffect(() => {\n const target = targetRef.current;\n if (!target) return;\n if (window.ResizeObserver) {\n let animationFrame;\n const observer = new ResizeObserver(() => {\n animationFrame = window.requestAnimationFrame(() => fn(target));\n });\n observer.observe(target);\n return () => {\n window.cancelAnimationFrame(animationFrame);\n observer.disconnect();\n };\n } else {\n fn(target);\n }\n }, [targetRef]);\n}","import { useMemoizedFn } from 'ahooks';\nimport { useEffect } from 'react';\nexport function observe(element, options, callback) {\n if (element && typeof MutationObserver !== 'undefined') {\n let observer = new MutationObserver(() => {\n callback();\n });\n observer.observe(element, options);\n // Return cleanup function\n return () => {\n if (observer) {\n observer.disconnect();\n observer = null;\n }\n };\n }\n return () => {};\n}\nexport function useMutationEffect(effect, targetRef, options) {\n const fn = useMemoizedFn(effect);\n useEffect(() => {\n const cleanup = observe(targetRef.current, options, fn);\n return cleanup;\n }, [targetRef]);\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 { useSpring } from '@react-spring/web';\nimport { useMutationEffect } from './use-mutation-effect';\nimport { bound } from './bound';\nimport { useIsomorphicLayoutEffect } from 'ahooks';\nimport { useIsomorphicUpdateLayoutEffect } from './use-isomorphic-update-layout-effect';\nexport const useTabListScroll = (targetRef, activeIndex) => {\n const [{\n scrollLeft\n }, api] = useSpring(() => ({\n scrollLeft: 0,\n config: {\n tension: 300,\n clamp: true\n }\n }));\n function animate(immediate = false) {\n const container = targetRef.current;\n if (!container) return;\n if (activeIndex === undefined) return;\n const activeTabWrapper = container.children.item(activeIndex);\n const activeTab = activeTabWrapper.children.item(0);\n const activeTabLeft = activeTab.offsetLeft;\n const activeTabWidth = activeTab.offsetWidth;\n const containerWidth = container.offsetWidth;\n const containerScrollWidth = container.scrollWidth;\n const containerScrollLeft = container.scrollLeft;\n const maxScrollDistance = containerScrollWidth - containerWidth;\n if (maxScrollDistance <= 0) return;\n const nextScrollLeft = bound(activeTabLeft - (containerWidth - activeTabWidth) / 2, 0, containerScrollWidth - containerWidth);\n api.start({\n scrollLeft: nextScrollLeft,\n from: {\n scrollLeft: containerScrollLeft\n },\n immediate: immediate && !scrollLeft.isAnimating\n });\n }\n useIsomorphicLayoutEffect(() => {\n animate(true);\n }, []);\n useIsomorphicUpdateLayoutEffect(() => {\n animate();\n }, [activeIndex]);\n useMutationEffect(() => {\n animate(true);\n }, targetRef, {\n subtree: true,\n childList: true,\n characterData: true\n });\n return {\n scrollLeft,\n animate\n };\n};","import React, { useRef, useEffect } from 'react';\nimport classNames from 'classnames';\nimport { animated, useSpring } from '@react-spring/web';\nimport { useThrottleFn } from 'ahooks';\nconst classPrefix = `adm-scroll-mask`;\nexport const ScrollMask = props => {\n const maskRef = useRef(null);\n const [{\n leftMaskOpacity,\n rightMaskOpacity\n }, api] = useSpring(() => ({\n leftMaskOpacity: 0,\n rightMaskOpacity: 0,\n config: {\n clamp: true\n }\n }));\n const {\n run: updateMask\n } = useThrottleFn((immediate = false) => {\n const mask = maskRef.current;\n if (!mask) return;\n const scrollEl = props.scrollTrackRef.current;\n if (!scrollEl) return;\n const scrollLeft = scrollEl.scrollLeft;\n const showLeftMask = scrollLeft > 0;\n const showRightMask = scrollLeft + scrollEl.offsetWidth < scrollEl.scrollWidth;\n api.start({\n leftMaskOpacity: showLeftMask ? 1 : 0,\n rightMaskOpacity: showRightMask ? 1 : 0,\n immediate\n });\n }, {\n wait: 100,\n trailing: true,\n leading: true\n });\n useEffect(() => {\n updateMask(true);\n }, []);\n useEffect(() => {\n const scrollEl = props.scrollTrackRef.current;\n if (!scrollEl) return;\n scrollEl.addEventListener('scroll', updateMask);\n return () => scrollEl.removeEventListener('scroll', updateMask);\n }, []);\n return React.createElement(React.Fragment, null, React.createElement(animated.div, {\n ref: maskRef,\n className: classNames(classPrefix, `${classPrefix}-left`),\n style: {\n opacity: leftMaskOpacity\n }\n }), React.createElement(animated.div, {\n className: classNames(classPrefix, `${classPrefix}-right`),\n style: {\n opacity: rightMaskOpacity\n }\n }));\n};","import React from 'react';\nimport { isFragment } from 'react-is';\nexport function traverseReactNode(children, fn) {\n let i = 0;\n function handle(target) {\n React.Children.forEach(target, child => {\n if (!isFragment(child)) {\n fn(child, i);\n i += 1;\n } else {\n handle(child.props.children);\n }\n });\n }\n handle(children);\n}","import React, { isValidElement, useRef } from 'react';\nimport classNames from 'classnames';\nimport { animated } from '@react-spring/web';\nimport { withNativeProps } from '../../utils/native-props';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport { useResizeEffect } from '../../utils/use-resize-effect';\nimport { useTabListScroll } from '../../utils/use-tab-list-scroll';\nimport ScrollMask from '../scroll-mask';\nimport { ShouldRender } from '../../utils/should-render';\nimport { traverseReactNode } from '../../utils/traverse-react-node';\nconst classPrefix = `adm-capsule-tabs`;\nexport const CapsuleTab = () => null;\nexport const CapsuleTabs = props => {\n var _a;\n const tabListContainerRef = useRef(null);\n const rootRef = useRef(null);\n const keyToIndexRecord = {};\n let firstActiveKey = null;\n const panes = [];\n traverseReactNode(props.children, (child, index) => {\n if (!isValidElement(child)) return;\n const key = child.key;\n if (typeof key !== 'string') return;\n if (index === 0) {\n firstActiveKey = key;\n }\n const length = panes.push(child);\n keyToIndexRecord[key] = length - 1;\n });\n const [activeKey, setActiveKey] = usePropsValue({\n value: props.activeKey,\n defaultValue: (_a = props.defaultActiveKey) !== null && _a !== void 0 ? _a : firstActiveKey,\n onChange: v => {\n var _a;\n if (v === null) return;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, v);\n }\n });\n const {\n scrollLeft,\n animate\n } = useTabListScroll(tabListContainerRef, keyToIndexRecord[activeKey]);\n useResizeEffect(() => {\n animate(true);\n }, rootRef);\n return withNativeProps(props, React.createElement(\"div\", {\n className: classPrefix,\n ref: rootRef\n }, React.createElement(\"div\", {\n className: `${classPrefix}-header`\n }, React.createElement(ScrollMask, {\n scrollTrackRef: tabListContainerRef\n }), React.createElement(animated.div, {\n className: `${classPrefix}-tab-list`,\n ref: tabListContainerRef,\n scrollLeft: scrollLeft\n }, panes.map(pane => withNativeProps(pane.props, React.createElement(\"div\", {\n key: pane.key,\n className: `${classPrefix}-tab-wrapper`\n }, React.createElement(\"div\", {\n onClick: () => {\n const {\n key\n } = pane;\n if (pane.props.disabled) return;\n if (key === undefined || key === null) {\n return;\n }\n setActiveKey(key.toString());\n },\n className: classNames(`${classPrefix}-tab`, {\n [`${classPrefix}-tab-active`]: pane.key === activeKey,\n [`${classPrefix}-tab-disabled`]: pane.props.disabled\n })\n }, pane.props.title)))))), panes.map(pane => {\n if (pane.props.children === undefined) {\n return null;\n }\n const active = pane.key === activeKey;\n return React.createElement(ShouldRender, {\n key: pane.key,\n active: active,\n forceRender: pane.props.forceRender,\n destroyOnClose: pane.props.destroyOnClose\n }, React.createElement(\"div\", {\n className: `${classPrefix}-content`,\n style: {\n display: active ? 'block' : 'none'\n }\n }, pane.props.children));\n })));\n};","import \"./capsule-tabs.css\";\nimport { CapsuleTab, CapsuleTabs } from './capsule-tabs';\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nexport default attachPropertiesToComponent(CapsuleTabs, {\n Tab: CapsuleTab\n});","import classNames from 'classnames';\nimport React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nconst classPrefix = `adm-card`;\nexport const Card = props => {\n const renderHeader = () => {\n if (!(props.title || props.extra)) {\n return null;\n }\n return React.createElement(\"div\", {\n className: classNames(`${classPrefix}-header`, props.headerClassName),\n style: props.headerStyle,\n onClick: props.onHeaderClick\n }, props.icon && React.createElement(\"div\", {\n className: `${classPrefix}-header-icon`\n }, props.icon), React.createElement(\"div\", {\n className: `${classPrefix}-header-title`\n }, props.title), props.extra && React.createElement(\"div\", {\n className: `${classPrefix}-header-extra`\n }, props.extra));\n };\n const renderBody = () => {\n if (!props.children) {\n return null;\n }\n return React.createElement(\"div\", {\n className: classNames(`${classPrefix}-body`, props.bodyClassName),\n style: props.bodyStyle,\n onClick: props.onBodyClick\n }, props.children);\n };\n return withNativeProps(props, React.createElement(\"div\", {\n className: classPrefix,\n onClick: props.onClick\n }, renderHeader(), renderBody()));\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 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, { isValidElement, useRef } from 'react';\nimport classNames from 'classnames';\nimport { useSpring, animated } from '@react-spring/web';\nimport { withNativeProps } from '../../utils/native-props';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport { bound } from '../../utils/bound';\nimport { useThrottleFn, useIsomorphicLayoutEffect } from 'ahooks';\nimport { useMutationEffect } from '../../utils/use-mutation-effect';\nimport { useResizeEffect } from '../../utils/use-resize-effect';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { useIsomorphicUpdateLayoutEffect } from '../../utils/use-isomorphic-update-layout-effect';\nimport { ShouldRender } from '../../utils/should-render';\nimport { traverseReactNode } from '../../utils/traverse-react-node';\nconst classPrefix = `adm-tabs`;\nexport const Tab = () => {\n return null;\n};\nconst defaultProps = {\n activeLineMode: 'auto',\n stretch: true,\n direction: 'ltr'\n};\nexport const Tabs = p => {\n var _a;\n const props = mergeProps(defaultProps, p);\n const tabListContainerRef = useRef(null);\n const activeLineRef = useRef(null);\n const keyToIndexRecord = {};\n let firstActiveKey = null;\n const panes = [];\n const isRTL = props.direction === 'rtl';\n traverseReactNode(props.children, (child, index) => {\n if (!isValidElement(child)) return;\n const key = child.key;\n if (typeof key !== 'string') return;\n if (index === 0) {\n firstActiveKey = key;\n }\n const length = panes.push(child);\n keyToIndexRecord[key] = length - 1;\n });\n const [activeKey, setActiveKey] = usePropsValue({\n value: props.activeKey,\n defaultValue: (_a = props.defaultActiveKey) !== null && _a !== void 0 ? _a : firstActiveKey,\n onChange: v => {\n var _a;\n if (v === null) return;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, v);\n }\n });\n const [{\n x,\n width\n }, inkApi] = useSpring(() => ({\n x: 0,\n width: 0,\n config: {\n tension: 300,\n clamp: true\n }\n }));\n const [{\n scrollLeft\n }, scrollApi] = useSpring(() => ({\n scrollLeft: 0,\n config: {\n tension: 300,\n clamp: true\n }\n }));\n const [{\n leftMaskOpacity,\n rightMaskOpacity\n }, maskApi] = useSpring(() => ({\n leftMaskOpacity: 0,\n rightMaskOpacity: 0,\n config: {\n clamp: true\n }\n }));\n function animate(immediate = false, fromMutation = false) {\n const container = tabListContainerRef.current;\n if (!container) return;\n const activeIndex = keyToIndexRecord[activeKey];\n if (activeIndex === undefined) {\n inkApi.start({\n x: 0,\n width: 0,\n immediate: true\n });\n return;\n }\n const activeLine = activeLineRef.current;\n if (!activeLine) return;\n const activeTabWrapper = container.children.item(activeIndex + 1);\n const activeTab = activeTabWrapper.children.item(0);\n const activeTabLeft = activeTab.offsetLeft;\n const activeTabWidth = activeTab.offsetWidth;\n const activeTabWrapperLeft = activeTabWrapper.offsetLeft;\n const activeTabWrapperWidth = activeTabWrapper.offsetWidth;\n const containerWidth = container.offsetWidth;\n const containerScrollWidth = container.scrollWidth;\n const containerScrollLeft = container.scrollLeft;\n const activeLineWidth = activeLine.offsetWidth;\n let x = 0;\n let width = 0;\n if (props.activeLineMode === 'auto') {\n x = activeTabLeft;\n width = activeTabWidth;\n } else if (props.activeLineMode === 'full') {\n x = activeTabWrapperLeft;\n width = activeTabWrapperWidth;\n } else {\n x = activeTabLeft + (activeTabWidth - activeLineWidth) / 2;\n }\n if (isRTL) {\n /**\n * In RTL mode, x equals the container width minus the x-coordinate of the current tab minus the width of the current tab.\n * https://github.com/Fog3211/reproduce-codesandbox/blob/f0a3396a114cc00e88a51a67d3be60a746519b30/assets/images/antd_mobile_tabs_rtl_x.jpg?raw=true\n */\n const w = ['auto', 'full'].includes(props.activeLineMode) ? width : activeLineWidth;\n x = -(containerWidth - x - w);\n }\n inkApi.start({\n x,\n width,\n immediate\n });\n const maxScrollDistance = containerScrollWidth - containerWidth;\n if (maxScrollDistance <= 0) return;\n let nextScrollLeft = 0;\n if (isRTL) {\n /**\n * 位移距离等于:activeTab的中心坐标距离容器中心坐标的距离,然后RTL取负数\n * containerWidth / 2 - (activeTabLeft + (activeTabWidth - activeLineWidth) / 2) - activeLineWidth / 2,\n */\n nextScrollLeft = -bound(containerWidth / 2 - activeTabLeft + activeTabWidth / 2 - activeLineWidth, 0, maxScrollDistance);\n } else {\n nextScrollLeft = bound(activeTabLeft - (containerWidth - activeTabWidth) / 2, 0, maxScrollDistance);\n }\n if (!fromMutation || props.autoScroll !== false) {\n scrollApi.start({\n scrollLeft: nextScrollLeft,\n from: {\n scrollLeft: containerScrollLeft\n },\n immediate\n });\n }\n }\n useIsomorphicLayoutEffect(() => {\n animate(!x.isAnimating);\n }, []);\n useIsomorphicUpdateLayoutEffect(() => {\n animate();\n }, [activeKey, isRTL, props.activeLineMode]);\n useResizeEffect(() => {\n animate(!x.isAnimating);\n }, tabListContainerRef);\n useMutationEffect(() => {\n animate(!x.isAnimating, true);\n }, tabListContainerRef, {\n subtree: true,\n childList: true,\n characterData: true\n });\n const {\n run: updateMask\n } = useThrottleFn((immediate = false) => {\n const container = tabListContainerRef.current;\n if (!container) return;\n const scrollLeft = container.scrollLeft;\n let showLeftMask = false;\n let showRightMask = false;\n if (isRTL) {\n /**\n * RTL模式下,只要滑动过,scrollLeft就再也回不到0(chrome是0.5)\n * 所以要加round才能终止触发条件\n * round(443.5) + 375 < 819\n */\n showLeftMask = Math.round(-scrollLeft) + container.offsetWidth < container.scrollWidth;\n showRightMask = scrollLeft < 0;\n } else {\n showLeftMask = scrollLeft > 0;\n showRightMask = scrollLeft + container.offsetWidth < container.scrollWidth;\n }\n maskApi.start({\n leftMaskOpacity: showLeftMask ? 1 : 0,\n rightMaskOpacity: showRightMask ? 1 : 0,\n immediate\n });\n }, {\n wait: 100,\n trailing: true,\n leading: true\n });\n useIsomorphicLayoutEffect(() => {\n updateMask(true);\n }, []);\n return withNativeProps(props, React.createElement(\"div\", {\n className: classPrefix,\n style: {\n direction: props.direction\n }\n }, React.createElement(\"div\", {\n className: `${classPrefix}-header`\n }, React.createElement(animated.div, {\n className: classNames(`${classPrefix}-header-mask`, `${classPrefix}-header-mask-left`),\n style: {\n opacity: leftMaskOpacity\n }\n }), React.createElement(animated.div, {\n className: classNames(`${classPrefix}-header-mask`, `${classPrefix}-header-mask-right`),\n style: {\n opacity: rightMaskOpacity\n }\n }), React.createElement(animated.div, {\n className: `${classPrefix}-tab-list`,\n ref: tabListContainerRef,\n scrollLeft: scrollLeft,\n onScroll: updateMask,\n role: 'tablist'\n }, React.createElement(animated.div, {\n ref: activeLineRef,\n className: `${classPrefix}-tab-line`,\n style: {\n width: props.activeLineMode === 'fixed' ? 'var(--fixed-active-line-width, 30px)' : width,\n x\n }\n }), panes.map(pane => withNativeProps(pane.props, React.createElement(\"div\", {\n key: pane.key,\n className: classNames(`${classPrefix}-tab-wrapper`, {\n [`${classPrefix}-tab-wrapper-stretch`]: props.stretch\n })\n }, React.createElement(\"div\", {\n onClick: () => {\n const {\n key\n } = pane;\n if (pane.props.disabled) return;\n if (key === undefined || key === null) {\n return;\n }\n setActiveKey(key.toString());\n },\n className: classNames(`${classPrefix}-tab`, {\n [`${classPrefix}-tab-active`]: pane.key === activeKey,\n [`${classPrefix}-tab-disabled`]: pane.props.disabled\n }),\n role: 'tab',\n \"aria-selected\": pane.key === activeKey\n }, pane.props.title)))))), panes.map(pane => {\n if (pane.props.children === undefined) {\n return null;\n }\n const active = pane.key === activeKey;\n return React.createElement(ShouldRender, {\n key: pane.key,\n active: active,\n forceRender: pane.props.forceRender,\n destroyOnClose: pane.props.destroyOnClose\n }, React.createElement(\"div\", {\n className: `${classPrefix}-content`,\n style: {\n display: active ? 'block' : 'none'\n }\n }, pane.props.children));\n })));\n};","import \"./tabs.css\";\nimport { Tab, Tabs } from './tabs';\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nexport default attachPropertiesToComponent(Tabs, {\n Tab\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});","import { animated, useSpring } from '@react-spring/web';\nimport { useMount } from 'ahooks';\nimport { DownOutline } from 'antd-mobile-icons';\nimport classNames from 'classnames';\nimport React, { isValidElement, useRef } from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { useShouldRender } from '../../utils/should-render';\nimport { traverseReactNode } from '../../utils/traverse-react-node';\nimport { useIsomorphicUpdateLayoutEffect } from '../../utils/use-isomorphic-update-layout-effect';\nimport { observe } from '../../utils/use-mutation-effect';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport { mergeProp, mergeProps } from '../../utils/with-default-props';\nimport { useConfig } from '../config-provider';\nimport List from '../list';\nconst classPrefix = `adm-collapse`;\nexport const CollapsePanel = () => {\n return null;\n};\nconst CollapsePanelContent = props => {\n const {\n visible\n } = props;\n const innerRef = useRef(null);\n const shouldRender = useShouldRender(visible, props.forceRender, props.destroyOnClose);\n const [{\n height\n }, api] = useSpring(() => ({\n from: {\n height: 0\n },\n config: {\n precision: 0.01,\n mass: 1,\n tension: 200,\n friction: 25,\n clamp: true\n }\n }));\n useMount(() => {\n if (!visible) return;\n const inner = innerRef.current;\n if (!inner) return;\n api.start({\n height: inner.offsetHeight,\n immediate: true\n });\n });\n useIsomorphicUpdateLayoutEffect(() => {\n const inner = innerRef.current;\n if (!inner) return;\n if (visible) {\n let lastMotionId = 0;\n let cancelObserve = () => {};\n const handleMotion = () => {\n lastMotionId += 1;\n const motionId = lastMotionId;\n api.start({\n height: inner.offsetHeight\n })[0].then(() => {\n if (motionId === lastMotionId) {\n cancelObserve();\n }\n });\n };\n cancelObserve = observe(inner, {\n childList: true,\n subtree: true\n }, handleMotion);\n handleMotion();\n return cancelObserve;\n } else {\n api.start({\n height: inner.offsetHeight,\n immediate: true\n });\n api.start({\n height: 0\n });\n }\n }, [visible]);\n return React.createElement(animated.div, {\n className: classNames(`${classPrefix}-panel-content`, {\n [`${classPrefix}-panel-content-active`]: visible\n }),\n style: {\n height: height.to(v => {\n if (height.idle && visible) {\n return 'auto';\n } else {\n return v;\n }\n })\n }\n }, React.createElement(\"div\", {\n className: `${classPrefix}-panel-content-inner`,\n ref: innerRef\n }, React.createElement(List.Item, null, shouldRender && props.children)));\n};\nexport const Collapse = props => {\n const {\n collapse: componentConfig = {}\n } = useConfig();\n const mergedProps = mergeProps(componentConfig, props);\n const panels = [];\n traverseReactNode(mergedProps.children, child => {\n if (!isValidElement(child)) return;\n const key = child.key;\n if (typeof key !== 'string') return;\n panels.push(child);\n });\n const handlePropsValue = () => {\n var _a;\n if (!mergedProps.accordion) {\n return {\n value: mergedProps.activeKey,\n defaultValue: (_a = mergedProps.defaultActiveKey) !== null && _a !== void 0 ? _a : [],\n onChange: mergedProps.onChange\n };\n }\n const initValue = {\n value: [],\n defaultValue: [],\n onChange: v => {\n var _a, _b;\n (_a = mergedProps.onChange) === null || _a === void 0 ? void 0 : _a.call(mergedProps, (_b = v[0]) !== null && _b !== void 0 ? _b : null);\n }\n };\n if (mergedProps.activeKey === undefined) {\n initValue.value = undefined;\n } else if (mergedProps.activeKey !== null) {\n initValue.value = [mergedProps.activeKey];\n }\n if (![null, undefined].includes(mergedProps.defaultActiveKey)) {\n initValue.defaultValue = [mergedProps.defaultActiveKey];\n }\n return initValue;\n };\n const [activeKey, setActiveKey] = usePropsValue(handlePropsValue());\n const activeKeyList = activeKey === null ? [] : Array.isArray(activeKey) ? activeKey : [activeKey];\n return withNativeProps(mergedProps, React.createElement(\"div\", {\n className: classPrefix\n }, React.createElement(List, null, panels.map(panel => {\n const key = panel.key;\n const active = activeKeyList.includes(key);\n function handleClick(event) {\n var _a, _b;\n if (mergedProps.accordion) {\n if (active) {\n setActiveKey([]);\n } else {\n setActiveKey([key]);\n }\n } else {\n if (active) {\n setActiveKey(activeKeyList.filter(v => v !== key));\n } else {\n setActiveKey([...activeKeyList, key]);\n }\n }\n (_b = (_a = panel.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a, event);\n }\n const arrow = mergeProp(React.createElement(DownOutline, null), mergedProps.arrow, mergedProps.arrowIcon, panel.props.arrow, panel.props.arrowIcon);\n const arrowIcon = typeof arrow === 'function' ? arrow(active) : React.createElement(\"div\", {\n className: classNames(`${classPrefix}-arrow`, {\n [`${classPrefix}-arrow-active`]: active\n })\n }, arrow);\n return React.createElement(React.Fragment, {\n key: key\n }, withNativeProps(panel.props, React.createElement(List.Item, {\n className: `${classPrefix}-panel-header`,\n onClick: handleClick,\n disabled: panel.props.disabled,\n arrowIcon: arrowIcon\n }, panel.props.title)), React.createElement(CollapsePanelContent, {\n visible: active,\n forceRender: !!panel.props.forceRender,\n destroyOnClose: !!panel.props.destroyOnClose\n }, panel.props.children));\n }))));\n};","import { useEffect } from 'react';\nimport { isFunction } from '../utils';\nimport isDev from '../utils/isDev';\nvar useMount = function (fn) {\n if (isDev) {\n if (!isFunction(fn)) {\n console.error(\"useMount: parameter `fn` expected to be a function, but got \\\"\".concat(typeof fn, \"\\\".\"));\n }\n }\n useEffect(function () {\n fn === null || fn === void 0 ? void 0 : fn();\n }, []);\n};\nexport default useMount;","import \"./collapse.css\";\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { Collapse, CollapsePanel } from './collapse';\nexport default attachPropertiesToComponent(Collapse, {\n Panel: CollapsePanel\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}","var i;\n\n!function(i) {\n i[i.HIGH_SURROGATE_START = 55296] = \"HIGH_SURROGATE_START\", i[i.HIGH_SURROGATE_END = 56319] = \"HIGH_SURROGATE_END\", \n i[i.LOW_SURROGATE_START = 56320] = \"LOW_SURROGATE_START\", i[i.REGIONAL_INDICATOR_START = 127462] = \"REGIONAL_INDICATOR_START\", \n i[i.REGIONAL_INDICATOR_END = 127487] = \"REGIONAL_INDICATOR_END\", i[i.FITZPATRICK_MODIFIER_START = 127995] = \"FITZPATRICK_MODIFIER_START\", \n i[i.FITZPATRICK_MODIFIER_END = 127999] = \"FITZPATRICK_MODIFIER_END\", i[i.VARIATION_MODIFIER_START = 65024] = \"VARIATION_MODIFIER_START\", \n i[i.VARIATION_MODIFIER_END = 65039] = \"VARIATION_MODIFIER_END\", i[i.DIACRITICAL_MARKS_START = 8400] = \"DIACRITICAL_MARKS_START\", \n i[i.DIACRITICAL_MARKS_END = 8447] = \"DIACRITICAL_MARKS_END\", i[i.SUBDIVISION_INDICATOR_START = 127988] = \"SUBDIVISION_INDICATOR_START\", \n i[i.TAGS_START = 917504] = \"TAGS_START\", i[i.TAGS_END = 917631] = \"TAGS_END\", i[i.ZWJ = 8205] = \"ZWJ\";\n}(i || (i = {}));\n\nconst e = Object.freeze([ 0x0308, 0x0937, 0x093F, 0x0BA8, 0x0BBF, 0x0BCD, 0x0E31, 0x0E33, 0x0E40, 0x0E49, 0x1100, 0x1161, 0x11A8 ]);\n\nvar n;\n\nfunction runes(i) {\n if (\"string\" != typeof i) throw new TypeError(\"string cannot be undefined or null\");\n const e = [];\n let n = 0, t = 0;\n for (;n < i.length; ) t += nextUnits(n + t, i), isGrapheme(i[n + t]) && t++, isVariationSelector(i[n + t]) && t++, \n isDiacriticalMark(i[n + t]) && t++, isZeroWidthJoiner(i[n + t]) ? t++ : (e.push(i.substring(n, n + t)), \n n += t, t = 0);\n return e;\n}\n\nfunction nextUnits(i, e) {\n const n = e[i];\n if (!isFirstOfSurrogatePair(n) || i === e.length - 1) return 1;\n const t = n + e[i + 1];\n let r = e.substring(i + 2, i + 5);\n return isRegionalIndicator(t) && isRegionalIndicator(r) ? 4 : isSubdivisionFlag(t) && isSupplementarySpecialpurposePlane(r) ? e.slice(i).indexOf(String.fromCodePoint(917631)) + 2 : isFitzpatrickModifier(r) ? 4 : 2;\n}\n\nfunction isFirstOfSurrogatePair(i) {\n return i && betweenInclusive(i[0].charCodeAt(0), 55296, 56319);\n}\n\nfunction isRegionalIndicator(i) {\n return betweenInclusive(codePointFromSurrogatePair(i), 127462, 127487);\n}\n\nfunction isSubdivisionFlag(i) {\n return betweenInclusive(codePointFromSurrogatePair(i), 127988, 127988);\n}\n\nfunction isFitzpatrickModifier(i) {\n return betweenInclusive(codePointFromSurrogatePair(i), 127995, 127999);\n}\n\nfunction isVariationSelector(i) {\n return \"string\" == typeof i && betweenInclusive(i.charCodeAt(0), 65024, 65039);\n}\n\nfunction isDiacriticalMark(i) {\n return \"string\" == typeof i && betweenInclusive(i.charCodeAt(0), 8400, 8447);\n}\n\nfunction isSupplementarySpecialpurposePlane(i) {\n const e = i.codePointAt(0);\n return \"string\" == typeof i && \"number\" == typeof e && betweenInclusive(e, 917504, 917631);\n}\n\nfunction isGrapheme(i) {\n return \"string\" == typeof i && e.includes(i.charCodeAt(0));\n}\n\nfunction isZeroWidthJoiner(i) {\n return \"string\" == typeof i && 8205 === i.charCodeAt(0);\n}\n\nfunction codePointFromSurrogatePair(i) {\n return (i.charCodeAt(0) - 55296 << 10) + (i.charCodeAt(1) - 56320) + 0x10000;\n}\n\nfunction betweenInclusive(i, e, n) {\n return i >= e && i <= n;\n}\n\nfunction substring(i, e, n) {\n const t = runes(i);\n if (void 0 === e) return i;\n if (e >= t.length) return \"\";\n const r = t.length - e;\n let o = e + (void 0 === n ? r : n);\n return o > e + r && (o = void 0), t.slice(e, o).join(\"\");\n}\n\n!function(i) {\n i[i.unit_1 = 1] = \"unit_1\", i[i.unit_2 = 2] = \"unit_2\", i[i.unit_4 = 4] = \"unit_4\";\n}(n || (n = {}));\n\nexport { n as EnumCodeUnits, i as EnumRunesCode, e as GRAPHEMES, betweenInclusive, codePointFromSurrogatePair, runes as default, isDiacriticalMark, isFirstOfSurrogatePair, isFitzpatrickModifier, isGrapheme, isRegionalIndicator, isSubdivisionFlag, isSupplementarySpecialpurposePlane, isVariationSelector, isZeroWidthJoiner, nextUnits, runes, substring as substr, substring };\n//# sourceMappingURL=index.esm.mjs.map\n","import { useEvent } from 'rc-util';\nimport React from 'react';\nimport runes from 'runes2';\nconst ELLIPSIS_TEXT = '...';\nconst measureStyle = {\n visibility: 'hidden',\n whiteSpace: 'inherit',\n lineHeight: 'inherit',\n fontSize: 'inherit'\n};\nexport default function useMeasure(containerRef, content, rows, direction, expanded, expandNode, collapseNode) {\n const contentChars = React.useMemo(() => runes(content), [content]);\n const [maxHeight, setMaxHeight] = React.useState(0);\n const [walkingIndexes, setWalkingIndexes] = React.useState([0, 0]);\n const midIndex = Math.ceil((walkingIndexes[0] + walkingIndexes[1]) / 2);\n const [status, setStatus] = React.useState(100 /* STABLE_NO_ELLIPSIS */);\n // ============================ Refs ============================\n const singleRowMeasureRef = React.useRef(null);\n const fullMeasureRef = React.useRef(null);\n const midMeasureRef = React.useRef(null);\n const startMeasure = useEvent(() => {\n setStatus(1 /* PREPARE */);\n setWalkingIndexes([0, direction === 'middle' ? Math.ceil(contentChars.length / 2) : contentChars.length]);\n });\n // Initialize\n React.useLayoutEffect(() => {\n startMeasure();\n }, [contentChars, rows]);\n // Measure element height\n React.useLayoutEffect(() => {\n var _a, _b;\n if (status === 1 /* PREPARE */) {\n const fullMeasureHeight = ((_a = fullMeasureRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0;\n const singleRowMeasureHeight = ((_b = singleRowMeasureRef.current) === null || _b === void 0 ? void 0 : _b.offsetHeight) || 0;\n const rowMeasureHeight = singleRowMeasureHeight * rows;\n if (fullMeasureHeight <= rowMeasureHeight) {\n setStatus(100 /* STABLE_NO_ELLIPSIS */);\n } else {\n setMaxHeight(rowMeasureHeight);\n setStatus(2 /* MEASURE_WALKING */);\n }\n }\n }, [status]);\n // Walking measure\n React.useLayoutEffect(() => {\n var _a;\n if (status === 2 /* MEASURE_WALKING */) {\n const diff = walkingIndexes[1] - walkingIndexes[0];\n const midHeight = ((_a = midMeasureRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0;\n if (diff > 1) {\n if (midHeight > maxHeight) {\n setWalkingIndexes([walkingIndexes[0], midIndex]);\n } else {\n setWalkingIndexes([midIndex, walkingIndexes[1]]);\n }\n } else {\n if (midHeight > maxHeight) {\n setWalkingIndexes([walkingIndexes[0], walkingIndexes[0]]);\n } else {\n setWalkingIndexes([walkingIndexes[1], walkingIndexes[1]]);\n }\n setStatus(99 /* STABLE_ELLIPSIS */);\n }\n }\n }, [status, walkingIndexes]);\n // =========================== Render ===========================\n /** Render by cut index */\n const renderContent = index => {\n const prefixContent = contentChars.slice(0, index);\n const suffixContent = contentChars.slice(contentChars.length - index);\n return React.createElement(React.Fragment, null, direction === 'start' && React.createElement(React.Fragment, null, expandNode, ELLIPSIS_TEXT), direction !== 'start' && prefixContent.join(''), direction === 'middle' && React.createElement(React.Fragment, null, ELLIPSIS_TEXT, expandNode, ELLIPSIS_TEXT), direction !== 'end' && suffixContent.join(''), direction === 'end' && React.createElement(React.Fragment, null, ELLIPSIS_TEXT, expandNode));\n };\n const finalContent = React.useMemo(() => {\n if (expanded || status === 100 /* STABLE_NO_ELLIPSIS */) {\n return React.createElement(React.Fragment, {\n key: 'display'\n }, content, status === 99 /* STABLE_ELLIPSIS */ && collapseNode);\n }\n if (status === 99 /* STABLE_ELLIPSIS */) {\n return renderContent(midIndex);\n }\n return null;\n }, [expanded, status, content, collapseNode, midIndex]);\n const allNodes = React.createElement(React.Fragment, null, status === 1 /* PREPARE */ && React.createElement(\"div\", {\n key: 'full',\n \"aria-hidden\": true,\n ref: fullMeasureRef,\n style: measureStyle\n }, content, expandNode), status === 1 /* PREPARE */ && React.createElement(\"div\", {\n key: 'stable',\n \"aria-hidden\": true,\n ref: singleRowMeasureRef,\n style: measureStyle\n }, '\\u00A0'), status === 2 /* MEASURE_WALKING */ && React.createElement(\"div\", {\n key: 'walking-mid',\n \"aria-hidden\": true,\n ref: midMeasureRef,\n style: measureStyle\n }, renderContent(midIndex)), finalContent);\n return [allNodes, startMeasure];\n}","import * as React from 'react';\nexport default function useEvent(callback) {\n var fnRef = React.useRef();\n fnRef.current = callback;\n var memoFn = React.useCallback(function () {\n var _fnRef$current;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return (_fnRef$current = fnRef.current) === null || _fnRef$current === void 0 ? void 0 : _fnRef$current.call.apply(_fnRef$current, [fnRef].concat(args));\n }, []);\n return memoFn;\n}","import React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { useResizeEffect } from '../../utils/use-resize-effect';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { withStopPropagation } from '../../utils/with-stop-propagation';\nimport useMeasure from './useMeasure';\nconst classPrefix = `adm-ellipsis`;\nconst defaultProps = {\n direction: 'end',\n rows: 1,\n expandText: '',\n content: '',\n collapseText: '',\n stopPropagationForActionButtons: [],\n onContentClick: () => {},\n defaultExpanded: false\n};\nexport const Ellipsis = p => {\n const props = mergeProps(defaultProps, p);\n const {\n content,\n direction,\n rows,\n expandText,\n collapseText,\n stopPropagationForActionButtons,\n onContentClick,\n defaultExpanded\n } = props;\n // ============================ Refs ============================\n const rootRef = React.useRef(null);\n // ========================== Expanded ==========================\n const [expanded, setExpanded] = React.useState(defaultExpanded);\n const expandNode = expandText ? withStopPropagation(stopPropagationForActionButtons, React.createElement(\"a\", {\n onClick: () => {\n setExpanded(true);\n }\n }, expandText)) : null;\n const collapseNode = collapseText ? withStopPropagation(stopPropagationForActionButtons, React.createElement(\"a\", {\n onClick: () => {\n setExpanded(false);\n }\n }, collapseText)) : null;\n // ========================== Ellipsis ==========================\n const [measureNodes, forceResize] = useMeasure(rootRef, content, rows, direction, expanded, expandNode, collapseNode);\n useResizeEffect(forceResize, rootRef);\n // =========================== Render ===========================\n return withNativeProps(props, React.createElement(\"div\", {\n ref: rootRef,\n className: classPrefix,\n onClick: e => {\n if (e.target === e.currentTarget) {\n onContentClick(e);\n }\n }\n }, measureNodes));\n};","import React from 'react';\nimport classNames from 'classnames';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { withNativeProps } from '../../utils/native-props';\nimport { useConfig } from '../config-provider';\nimport \"./error-block.css\";\nconst classPrefix = `adm-error-block`;\nconst defaultProps = {\n status: 'default'\n};\nexport function createErrorBlock(imageRecord) {\n const ErrorBlock = p => {\n var _a;\n const props = mergeProps(defaultProps, p);\n const {\n locale\n } = useConfig();\n const contentPack = locale.ErrorBlock[props.status];\n const desc = 'description' in props ? props.description : contentPack.description;\n const title = 'title' in props ? props.title : contentPack.title;\n const image = (_a = props.image) !== null && _a !== void 0 ? _a : imageRecord[props.status];\n const imageNode = typeof image === 'string' ? React.createElement(\"img\", {\n src: image,\n alt: 'error block image'\n }) : image;\n return withNativeProps(props, React.createElement(\"div\", {\n className: classNames(classPrefix, {\n [`${classPrefix}-full-page`]: props.fullPage\n })\n }, React.createElement(\"div\", {\n className: `${classPrefix}-image`\n }, imageNode), React.createElement(\"div\", {\n className: `${classPrefix}-description`\n }, ![undefined, null].includes(title) && React.createElement(\"div\", {\n className: `${classPrefix}-description-title`\n }, title), ![undefined, null].includes(desc) && React.createElement(\"div\", {\n className: `${classPrefix}-description-subtitle`\n }, desc)), props.children && React.createElement(\"div\", {\n className: `${classPrefix}-content`\n }, props.children)));\n };\n return ErrorBlock;\n}","import React from 'react';\nexport const defaultImage = React.createElement(\"svg\", {\n viewBox: '0 0 200 200',\n xmlns: 'http://www.w3.org/2000/svg',\n xmlnsXlink: 'http://www.w3.org/1999/xlink'\n}, React.createElement(\"defs\", null, React.createElement(\"linearGradient\", {\n x1: '50%',\n y1: '-116.862%',\n x2: '50%',\n y2: '90.764%',\n id: 'error-block-image-default-a'\n}, React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0.207,\n offset: '0%'\n}), React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0.115,\n offset: '80.072%'\n}), React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0,\n offset: '100%'\n})), React.createElement(\"circle\", {\n id: 'error-block-image-default-d',\n cx: 18.823,\n cy: 18.823,\n r: 18.823\n}), React.createElement(\"rect\", {\n id: 'error-block-image-default-b',\n x: 3.5,\n y: 9,\n width: 51.429,\n height: 88,\n rx: 4.571\n})), React.createElement(\"g\", {\n fill: 'none',\n fillRule: 'evenodd'\n}, React.createElement(\"path\", {\n d: 'M73.557.004c19.435-.311 38.696 17.016 51.523 35.287 8.708-10.822 17.127-16.233 25.255-16.233 13.333 0 28.35 14.274 45.053 42.822 1.769 3.024-3.582 7.435-16.054 13.231l-41.322 1.37c-7.343 5.872-31.225.626-69.152 1.234-27.79.445-45.759-1.234-53.908-5.037C3.2 71.143-1.625 68.686.48 65.308 27.371 22.12 51.73.353 73.557.003Zm93.098 49.53a1.125 1.125 0 0 0-.401.072l-.058.023-.07.03-.028.014-.02.01c-.03.015-.059.032-.088.049a2.543 2.543 0 0 0-.568.477l-.067.074c-1.686 1.931-2.904 7.062-2.904 8.985 0 2.283 1.719 4.153 3.898 4.314l.026.001v3.805c0 .39.25.705.56.705.31 0 .56-.316.56-.705l.001-3.88c1.92-.402 3.363-2.148 3.363-4.24 0-2.39-1.882-9.734-4.204-9.734Zm-100-5a1.125 1.125 0 0 0-.331.05l-.035.01-.035.012-.058.023-.07.03-.028.014-.02.01c-.03.015-.059.032-.088.049a2.543 2.543 0 0 0-.568.477l-.067.074c-1.686 1.931-2.904 7.062-2.904 8.985 0 2.212 1.613 4.036 3.695 4.294l.203.02.026.001v3.805c0 .39.25.705.56.705.282 0 .515-.26.555-.6l.006-.105v-3.88c1.92-.402 3.363-2.148 3.363-4.24 0-2.39-1.882-9.734-4.204-9.734ZM52.64 38.348l-.15.008-.149.023-.032.007-.032.008-.078.022-.045.015-.045.016-.06.023-.038.017-.038.017-.058.028-.022.011a2.201 2.201 0 0 0-.323.204l-.05.038-.05.04-.025.02-.025.021a3.742 3.742 0 0 0-.31.294l-.036.04c-.035.037-.07.076-.105.116-.01.012-.02.025-.031.036a3.275 3.275 0 0 0-.081.098l-.063.078c-2.031 2.583-3.48 8.692-3.48 11.027 0 2.636 1.846 4.832 4.292 5.323l.224.04-.064-.012.105.018.103.014v4.618c0 .47.299.85.667.85.337 0 .615-.32.659-.735l.006-.115v-4.618c.18-.023.355-.054.527-.094l.256-.067.196-.06c2.136-.706 3.68-2.75 3.68-5.162 0-2.996-2.383-12.207-5.325-12.207Z',\n transform: 'translate(2.286 22.286)',\n fill: 'url(#error-block-image-default-a)'\n}), React.createElement(\"g\", {\n transform: 'rotate(-90 102.429 55.357)'\n}, React.createElement(\"path\", {\n d: 'M6.857 0H52a6.857 6.857 0 0 1 6.857 6.857v92A6.857 6.857 0 0 1 52 105.714H6.857A6.857 6.857 0 0 1 0 98.857v-92A6.857 6.857 0 0 1 6.857 0Z',\n fill: '#7EACFF'\n}), React.createElement(\"mask\", {\n id: 'error-block-image-default-c',\n fill: '#fff'\n}, React.createElement(\"use\", {\n xlinkHref: '#error-block-image-default-b'\n})), React.createElement(\"use\", {\n fill: '#377EFF',\n xlinkHref: '#error-block-image-default-b'\n}), React.createElement(\"path\", {\n d: 'M11.838 91.8a.64.64 0 0 1 .627.652.64.64 0 0 1-.627.652.64.64 0 0 1-.628-.652c0-.36.281-.651.628-.651Zm-2.858 0a.64.64 0 0 1 .628.652.64.64 0 0 1-.628.652.64.64 0 0 1-.627-.652c0-.36.281-.651.627-.651Zm2.16-2.305a.64.64 0 0 1 .628.652.64.64 0 0 1-.627.651.64.64 0 0 1-.627-.651c0-.36.28-.652.627-.652Zm-2.982-.04a.64.64 0 0 1 .627.651.64.64 0 0 1-.627.652.64.64 0 0 1-.627-.652c0-.36.28-.651.627-.651Zm5.268-.531a.64.64 0 0 1 .628.651.64.64 0 0 1-.628.652.64.64 0 0 1-.627-.652c0-.36.281-.651.627-.651Zm2.858-1.143a.64.64 0 0 1 .627.651.64.64 0 0 1-.627.652.64.64 0 0 1-.628-.652c0-.36.281-.651.628-.651Zm-6.37-.917c.209 0 .377.175.377.39a.384.384 0 0 1-.376.392.384.384 0 0 1-.376-.391c0-.216.168-.391.376-.391Zm3.512-.798.093.007a.644.644 0 0 1 .535.645.64.64 0 0 1-.628.652.64.64 0 0 1-.627-.652c0-.36.281-.652.627-.652Zm5.715 0a.64.64 0 0 1 .627.652.64.64 0 0 1-.627.652.64.64 0 0 1-.627-.652c0-.36.28-.652.627-.652Zm-11.429 0a.64.64 0 0 1 .627.652.64.64 0 0 1-.627.652.64.64 0 0 1-.627-.652c0-.36.28-.652.627-.652Zm-3.261.241c.208 0 .376.175.376.39a.384.384 0 0 1-.376.392.384.384 0 0 1-.377-.391c0-.216.169-.391.377-.391Zm11.833-.812a.64.64 0 0 1 .627.652.64.64 0 0 1-.627.651.64.64 0 0 1-.628-.651c0-.36.281-.652.628-.652Zm-4.851.399c.208 0 .376.175.376.39a.384.384 0 0 1-.376.392.384.384 0 0 1-.377-.391c0-.216.169-.391.377-.391Zm10.313-2.056a.64.64 0 0 1 .628.652.64.64 0 0 1-.628.651.64.64 0 0 1-.627-.651c0-.36.281-.652.627-.652Zm-2.354-.128a.64.64 0 0 1 .627.652.64.64 0 0 1-.627.652.64.64 0 0 1-.628-.652c0-.36.281-.652.628-.652Zm-13.798.311c.207 0 .376.175.376.391a.384.384 0 0 1-.376.391.384.384 0 0 1-.377-.39c0-.217.169-.392.377-.392Zm11.832-.812a.64.64 0 0 1 .628.652.64.64 0 0 1-.628.651.64.64 0 0 1-.627-.651c0-.36.281-.652.627-.652Zm-6.285 0a.64.64 0 0 1 .627.652.64.64 0 0 1-.627.651.64.64 0 0 1-.627-.651c0-.36.28-.652.627-.652Zm3.428 0a.64.64 0 0 1 .627.652.64.64 0 0 1-.627.651.64.64 0 0 1-.627-.651c0-.36.28-.652.627-.652Zm-6.118.24c.208 0 .376.176.376.392a.384.384 0 0 1-.376.39.384.384 0 0 1-.377-.39c0-.216.169-.391.377-.391Zm11.261-2.525a.64.64 0 0 1 .627.651.64.64 0 0 1-.627.652.64.64 0 0 1-.627-.652c0-.36.28-.651.627-.651Zm-3.557.484c.208 0 .376.175.376.391a.384.384 0 0 1-.376.391.384.384 0 0 1-.376-.391c0-.216.168-.391.376-.391Zm-2.478-.555a.64.64 0 0 1 .627.652.64.64 0 0 1-.627.652.64.64 0 0 1-.627-.652c0-.36.28-.652.627-.652Zm-3.512-.26c.208 0 .376.175.376.39a.384.384 0 0 1-.376.392.384.384 0 0 1-.376-.391c0-.216.168-.391.376-.391Zm-2.857 0c.208 0 .376.175.376.39a.384.384 0 0 1-.376.392.384.384 0 0 1-.376-.391c0-.216.168-.391.376-.391Zm-4.571 0c.207 0 .376.175.376.39a.384.384 0 0 1-.376.392.384.384 0 0 1-.377-.391c0-.216.169-.391.377-.391Zm14.898-1.835a.64.64 0 0 1 .628.652.64.64 0 0 1-.628.651.64.64 0 0 1-.627-.651c0-.36.281-.652.627-.652Zm-8.027-.245c.208 0 .377.175.377.39a.384.384 0 0 1-.377.392.384.384 0 0 1-.376-.391c0-.216.169-.391.376-.391Zm6.271-1.349c.208 0 .377.175.377.391a.384.384 0 0 1-.377.391.384.384 0 0 1-.376-.39c0-.217.169-.392.376-.392Zm-11.484-.481c.208 0 .376.175.376.39a.384.384 0 0 1-.376.392.384.384 0 0 1-.376-.391c0-.216.168-.391.376-.391Zm15.103-.972c.208 0 .376.175.376.391a.384.384 0 0 1-.376.391.384.384 0 0 1-.376-.39c0-.217.168-.392.376-.392Zm-9.333-1.404c.208 0 .376.175.376.39a.384.384 0 0 1-.376.392.384.384 0 0 1-.376-.391c0-.216.168-.391.376-.391Zm-6.819-.405c.208 0 .377.175.377.39a.384.384 0 0 1-.377.392.384.384 0 0 1-.376-.391c0-.216.168-.391.376-.391Z',\n fill: '#003CFF',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-c)',\n transform: 'rotate(116 12.367 83.503)'\n}), React.createElement(\"path\", {\n stroke: '#FFF',\n strokeWidth: 0.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n d: 'M36.774 5.474H21.523'\n}), React.createElement(\"path\", {\n d: 'm67.818 94.025-4.996 3.913m4.996 11.91-4.996-3.912m-1.142 9.145-1.143-6.288m10.71-6.768h-7.262',\n stroke: '#4486FE',\n strokeWidth: 0.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n})), React.createElement(\"circle\", {\n cx: 8.571,\n cy: 8.571,\n r: 8.571,\n transform: 'translate(22.857 142)',\n fill: '#FFCD6B',\n fillRule: 'nonzero'\n}), React.createElement(\"g\", {\n transform: 'translate(132.857 124)'\n}, React.createElement(\"mask\", {\n id: 'error-block-image-default-e',\n fill: '#fff'\n}, React.createElement(\"use\", {\n xlinkHref: '#error-block-image-default-d'\n})), React.createElement(\"use\", {\n fill: '#FBBE47',\n fillRule: 'nonzero',\n xlinkHref: '#error-block-image-default-d'\n}), React.createElement(\"circle\", {\n fill: '#FFCD6B',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-e)',\n cx: 13.886,\n cy: 15.12,\n r: 18.823\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-e)',\n cx: 23.4,\n cy: 29.057,\n r: 1\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-e)',\n cx: 30.343,\n cy: 29.829,\n r: 1\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-e)',\n cx: 18.771,\n cy: 32.657,\n r: 1.286\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-e)',\n cx: 29.571,\n cy: 25.971,\n r: 1.286\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-e)',\n cx: 19.286,\n cy: 7.971,\n r: 1.286\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-e)',\n cx: 26.486,\n cy: 5.914,\n r: 1.286\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-e)',\n cx: 11.057,\n cy: 6.943,\n r: 1\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-e)',\n cx: 30.086,\n cy: 15.686,\n r: 1.286\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-default-e)',\n cx: 22.886,\n cy: 14.657,\n r: 1\n})), React.createElement(\"path\", {\n d: 'm87.429 135.123 6.591-9.378v-.08h-5.99v-2.559h10.038v1.787l-6.44 9.254v.082h6.56v2.557h-10.76v-1.663Zm12.185-5.889 4.948-7.047v-.056h-4.498v-1.917h7.536v1.34l-4.849 6.942v.059h4.923v1.92h-8.06v-1.24Zm10.345.702 3.708-5.274v-.045h-3.372v-1.437h5.648v1.003l-3.628 5.206v.045H116v1.438h-6.041v-.936Z',\n fill: '#FFF',\n fillRule: 'nonzero'\n})));","import { createErrorBlock } from './create-error-block';\nimport { busyImage, defaultImage, disconnectedImage, emptyImage } from './images';\nconst imageRecord = {\n 'default': defaultImage,\n 'disconnected': disconnectedImage,\n 'empty': emptyImage,\n 'busy': busyImage\n};\nexport const ErrorBlock = createErrorBlock(imageRecord);","import React from 'react';\nexport const disconnectedImage = React.createElement(\"svg\", {\n viewBox: '0 0 400 400',\n xmlns: 'http://www.w3.org/2000/svg',\n xmlnsXlink: 'http://www.w3.org/1999/xlink'\n}, React.createElement(\"title\", null, '@\\u53CD\\u9988/\\u5F02\\u5E38/\\u7F51\\u7EDC\\u670D\\u52A1\\u5F02\\u5E38'), React.createElement(\"defs\", null, React.createElement(\"linearGradient\", {\n x1: '50%',\n y1: '-116.862%',\n x2: '50%',\n y2: '90.764%',\n id: 'error-block-image-disconnected-c'\n}, React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0.207,\n offset: '0%'\n}), React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0.115,\n offset: '80.072%'\n}), React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0,\n offset: '100%'\n})), React.createElement(\"circle\", {\n id: 'error-block-image-disconnected-d',\n cx: 22.309,\n cy: 22.309,\n r: 22.309\n}), React.createElement(\"path\", {\n id: 'error-block-image-disconnected-a',\n d: 'M0 0h400v400H0z'\n})), React.createElement(\"g\", {\n fill: 'none',\n fillRule: 'evenodd'\n}, React.createElement(\"mask\", {\n id: 'error-block-image-disconnected-b',\n fill: '#fff'\n}, React.createElement(\"use\", {\n xlinkHref: '#error-block-image-disconnected-a'\n})), React.createElement(\"g\", {\n mask: 'url(#error-block-image-disconnected-b)',\n fill: 'url(#error-block-image-disconnected-c)'\n}, React.createElement(\"path\", {\n d: 'M151.686 45.58c38.869-.623 77.391 34.03 103.046 70.573 17.416-21.644 34.253-32.465 50.51-32.465 26.666 0 56.701 28.548 90.105 85.643 3.539 6.05-7.164 14.87-32.107 26.462l-82.643 2.741c-14.686 11.745-62.45 1.252-138.305 2.467-55.58.89-91.518-2.468-107.816-10.074-23.505-3.07-33.154-7.983-28.946-14.74C59.313 89.813 108.03 46.278 151.686 45.58Zm186.195 99.06-.127.003-.126.01a2.32 2.32 0 0 0-.465.103l-.032.01-.031.01a2.364 2.364 0 0 0-.181.071 2.52 2.52 0 0 0-.116.054l-.133.067-.042.024-.036.02a2.946 2.946 0 0 0-.133.08l-.048.03a3.052 3.052 0 0 0-.126.087l-.047.033a3.274 3.274 0 0 0-.128.097c-.01.008-.02.017-.031.024a4.906 4.906 0 0 0-.31.27l-.036.032a6.654 6.654 0 0 0-.46.484l-.045.05c-3.344 3.91-5.755 14.083-5.755 17.908 0 4.547 3.409 8.275 7.74 8.625l.108.008v7.608c0 .779.502 1.41 1.121 1.41.62 0 1.121-.632 1.121-1.41v-7.762c3.838-.802 6.727-4.293 6.727-8.48 0-4.778-3.765-19.467-8.409-19.467Zm-200-10-.127.003-.126.01a2.32 2.32 0 0 0-.368.073l-.049.014-.048.016-.032.01-.031.01a2.364 2.364 0 0 0-.181.071l-.058.026-.058.028-.133.067-.042.024-.036.02-.066.039-.067.041-.048.03a3.052 3.052 0 0 0-.126.087l-.047.033a3.274 3.274 0 0 0-.128.097c-.01.008-.02.017-.031.024l-.156.13-.154.14-.036.032a6.654 6.654 0 0 0-.46.484l-.045.05c-3.344 3.91-5.755 14.083-5.755 17.908 0 4.547 3.409 8.275 7.74 8.625l.054.004.054.004v7.608c0 .779.502 1.41 1.121 1.41.58 0 1.058-.556 1.115-1.266l.006-.144v-7.762c3.838-.802 6.727-4.293 6.727-8.48 0-4.778-3.765-19.467-8.409-19.467Zm-28.029-12.373-.107.002-.106.006a2.978 2.978 0 0 0-.551.095 3.444 3.444 0 0 0-.323.104 3.962 3.962 0 0 0-.61.297c-.076.045-.15.092-.226.141-4.964 3.312-8.728 18.445-8.728 23.77 0 5.434 3.922 9.935 9.04 10.726l.28.04v9.236c0 .886.532 1.614 1.21 1.692l.121.007.122-.007c.638-.074 1.147-.723 1.204-1.538l.006-.155v-9.235c5.254-.668 9.32-5.234 9.32-10.767 0-5.993-4.77-24.414-10.652-24.414Z'\n})), React.createElement(\"g\", {\n mask: 'url(#error-block-image-disconnected-b)'\n}, React.createElement(\"g\", {\n transform: 'translate(85.858 150.644)'\n}, React.createElement(\"path\", {\n d: 'M116.26 28.467c1.352 0 2.703.018 4.054.054 3.923.385 10.188 4.248 9.267 11.061-.878 6.496-5.836 9.089-8.962 9.529a130.762 130.762 0 0 0-4.36-.072c-28.567 0-60.654 10.149-96.22 30.676l-2.227 1.297c-.744.437-1.49.878-2.236 1.323-4.878 2.911-11.193 1.316-14.103-3.562C-1.438 73.894.157 67.58 5.035 64.67 45.34 40.62 82.4 28.467 116.26 28.467Zm22 11.63c1.03-5.942 6.376-8.618 11.084-8.08C172.14 36.91 194.83 46.86 217.37 61.794c4.735 3.138 6.03 9.52 2.893 14.255-3.138 4.736-9.52 6.031-14.256 2.893-20.111-13.325-40.075-22.165-59.935-26.584a9.974 9.974 0 0 0-.325-.088c-3.987-1.015-8.602-5.738-7.487-12.175ZM116.26 77.418c22.777 0 45.4 7.057 67.73 20.988 4.82 3.007 6.289 9.351 3.282 14.17-3.007 4.82-9.351 6.29-14.17 3.283-19.194-11.974-38.095-17.87-56.842-17.87s-37.648 5.896-56.842 17.87c-4.82 3.007-11.164 1.537-14.17-3.282-3.007-4.82-1.538-11.164 3.282-14.171 22.33-13.931 44.953-20.988 67.73-20.988ZM117.974 124.67c9.85 0 17.303 1.69 25.687 5.082l.82.337 2.9 1.231 3.008 1.252.77.305.107.04c5.326 1.976 8.042 7.895 6.066 13.221-1.976 5.326-7.895 8.042-13.221 6.067l-.713-.27-.726-.285-.763-.31-1.263-.527-2.944-1.26-1.125-.473c-6.393-2.648-11.433-3.838-18.603-3.838-8.223 0-16.532 2.126-25.028 6.475-5.056 2.588-11.254.587-13.842-4.47-2.589-5.056-.588-11.253 4.47-13.842 11.313-5.791 22.814-8.735 34.4-8.735ZM118.235 197.047c7.15 0 13.77-.897 19.841-2.721 5.44-1.635 8.526-7.37 6.892-12.81-1.635-5.44-7.37-8.526-12.81-6.892-4.072 1.224-8.707 1.851-13.923 1.851-4.36 0-8.79-1.045-13.373-3.21l-.626-.301c-5.095-2.512-11.262-.418-13.773 4.678-2.512 5.095-.418 11.261 4.678 13.773 7.559 3.727 15.288 5.632 23.094 5.632Z',\n fill: '#377EFF',\n fillRule: 'nonzero'\n}), React.createElement(\"path\", {\n d: 'M198.35 62.413c2.755-4.967 9.016-6.76 13.984-4.004 13.068 7.25 19.124 18.535 17.615 30.952-1.157 9.515-6.83 18.757-14.096 24.352-13.364 10.29-34.915 9.401-49.363-1.91-4.472-3.502-5.26-9.967-1.758-14.44 3.436-4.388 9.724-5.229 14.185-1.952l.255.194c7.283 5.702 18.475 6.164 24.13 1.809 3.072-2.366 5.766-6.754 6.226-10.536.467-3.844-1.21-7.07-6.796-10.267l-.378-.213c-4.967-2.756-6.76-9.017-4.004-13.985ZM61.35 103.092c-2.84-4.92-9.13-6.607-14.05-3.768-20.662 11.922-21.772 35.751-6.018 51.69 13.752 13.914 33.192 13.447 50.507 1.158 4.633-3.288 5.723-9.708 2.436-14.34-3.288-4.633-9.709-5.724-14.341-2.436-9.763 6.928-18.07 7.128-23.97 1.158-6.761-6.84-6.498-14.501 1.35-19.225l.317-.187c4.92-2.84 6.608-9.13 3.769-14.05ZM129.103 135.702c1.688-5.424 7.454-8.453 12.878-6.764 14.776 4.599 23.437 13.727 25.259 25.58 1.316 8.561-1.228 17.533-5.58 24.052-3.132 4.688-7.388 8.287-12.504 11.112-3.03 1.673-5.75 2.811-9.37 4.066l-1.4.477c-5.387 1.806-11.217-1.097-13.022-6.484-1.805-5.386 1.098-11.216 6.484-13.02l1.09-.374c6.032-2.112 9.602-4.19 11.613-7.201 1.693-2.535 2.818-6.502 2.356-9.503-.564-3.673-3.432-6.696-11.04-9.063-5.424-1.689-8.452-7.454-6.764-12.878Z',\n fill: '#377EFF',\n fillRule: 'nonzero'\n}), React.createElement(\"path\", {\n d: 'M148.072 181.58c3.718-7.98 4.172-14.9 1.36-20.76-2.81-5.86-6.236-9.096-10.275-9.707',\n stroke: '#FFF',\n strokeWidth: 0.571,\n strokeLinecap: 'round'\n}), React.createElement(\"ellipse\", {\n fill: '#7EACFF',\n transform: 'rotate(10 147 41.933)',\n cx: 147,\n cy: 41.933,\n rx: 9.143,\n ry: 10.286\n}), React.createElement(\"path\", {\n d: 'M210.422 107.472c3.718-7.98 4.172-14.9 1.36-20.76-2.81-5.86-6.668-9.883-11.572-12.067M51.604 131.769c-3.15-6.8-3.537-12.694-1.161-17.685 2.376-4.99 5.57-8.136 9.583-9.438',\n stroke: '#003CFF',\n strokeWidth: 0.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n}), React.createElement(\"path\", {\n d: 'M21.53 64.408c4.946-3.389 9.817-6.026 14.612-7.912',\n stroke: '#FFF',\n strokeWidth: 0.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n}), React.createElement(\"path\", {\n d: 'm113.243 15.444 9.588 8.314M144.31 9.405l-5.775 11.3m18.389-1.246-11.907 4.643M127.64 5.66l2.77 14.255',\n stroke: '#4486FE',\n strokeWidth: 0.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n}))), React.createElement(\"g\", {\n mask: 'url(#error-block-image-disconnected-b)'\n}, React.createElement(\"g\", {\n transform: 'translate(275.143 302.571)'\n}, React.createElement(\"mask\", {\n id: 'error-block-image-disconnected-e',\n fill: '#fff'\n}, React.createElement(\"use\", {\n xlinkHref: '#error-block-image-disconnected-d'\n})), React.createElement(\"use\", {\n fill: '#FBBE47',\n fillRule: 'nonzero',\n xlinkHref: '#error-block-image-disconnected-d'\n}), React.createElement(\"circle\", {\n fill: '#FFCD6B',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-disconnected-e)',\n cx: 16.457,\n cy: 17.92,\n r: 22.309\n}), React.createElement(\"circle\", {\n fill: '#FFF',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-disconnected-e)',\n cx: 14.263,\n cy: 12.069,\n r: 2.194\n}))), React.createElement(\"g\", {\n mask: 'url(#error-block-image-disconnected-b)',\n fill: '#FBBE47',\n fillRule: 'nonzero'\n}, React.createElement(\"circle\", {\n cx: 12,\n cy: 12,\n r: 12,\n transform: 'translate(84 297.714)'\n}))));","import React from 'react';\nexport const emptyImage = React.createElement(\"svg\", {\n viewBox: '0 0 400 400',\n xmlns: 'http://www.w3.org/2000/svg',\n xmlnsXlink: 'http://www.w3.org/1999/xlink'\n}, React.createElement(\"defs\", null, React.createElement(\"linearGradient\", {\n x1: '50%',\n y1: '-116.862%',\n x2: '50%',\n y2: '90.764%',\n id: 'error-block-image-empty-a'\n}, React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0.207,\n offset: '0%'\n}), React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0.115,\n offset: '80.072%'\n}), React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0,\n offset: '100%'\n})), React.createElement(\"path\", {\n d: 'M146.183 18.461c31.705 23.336 33.349 71.85 4.93 96.614-.252.22 6.172 5.602 13.577 11.414l.686.537.69.54.695.54.348.27.698.54a341.27 341.27 0 0 0 8.806 6.596c1.114.802 4.643-.853 10.587-4.965l-.532 12.218a1.2 1.2 0 0 1-.481.91l-10.868 8.111c-1.405 1.048-3.32 1.185-4.854.072l-35.578-25.834c-33.414 17.333-79.913 15-109.804-7-33.444-24.616-33.444-75.95 0-100.563 33.443-24.615 87.657-24.615 121.1 0Zm-60.469 7.653C51.63 26.114 24 44.534 24 67.257S51.63 108.4 85.714 108.4s61.715-18.42 61.715-41.143c0-22.722-27.63-41.143-61.715-41.143Z',\n id: 'error-block-image-empty-b'\n})), React.createElement(\"g\", {\n fill: 'none',\n fillRule: 'evenodd'\n}, React.createElement(\"path\", {\n d: 'M157.964 244.661H0L3.806 100.13a4.572 4.572 0 0 1 4.353-4.446l.217-.006h45.588V68.2a4.572 4.572 0 0 1 4.356-4.567l.216-.005h65.498l2.554-58.689a4.571 4.571 0 0 1 4.779-4.367l.214.015 87.79 8.222a4.572 4.572 0 0 1 4.126 4.133l.015.212 3.146 69.652L301.634 64.9a4.571 4.571 0 0 1 5.628 4.231l.005.215v43.955l56.162.001v130.264h-56.163v.001h-82.383v-.004h-66.919v1.098ZM89.503 160.03h-9.968v8.436h9.968v-8.436Zm0-14.507h-9.968v8.435h9.968v-8.435Zm197.985-5.15h-9.967v8.432h9.967v-8.431Zm-197.985-8.806h-9.968v8.436h9.968v-8.436Zm197.985-5.153h-9.967v8.432h9.967v-8.432Zm0-14.503h-9.967v8.432h9.967v-8.432Zm-84.643-.777h-30.8v8.436h30.8v-8.436Zm84.643-13.186h-9.967v8.436h9.967v-8.436Zm-84.643-3.29h-30.8v8.436h30.8v-8.436Zm0-15.912h-30.8v8.436h30.8v-8.436Z',\n transform: 'translate(18.286 50.286)',\n fill: 'url(#error-block-image-empty-a)'\n}), React.createElement(\"g\", {\n transform: 'translate(108.571 189.886)'\n}, React.createElement(\"mask\", {\n id: 'error-block-image-empty-c',\n fill: '#fff'\n}, React.createElement(\"use\", {\n xlinkHref: '#error-block-image-empty-b'\n})), React.createElement(\"use\", {\n fill: '#377EFF',\n xlinkHref: '#error-block-image-empty-b'\n}), React.createElement(\"path\", {\n d: 'M131.429 134.686a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm5.714 0a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285ZM128 133.543a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-5.714 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm21.143-1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm-9.143-1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm12-1.143a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-6.857 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286ZM120 128.971a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm5.714 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm16-1.142.125.006a1.143 1.143 0 1 1-.125-.006Zm11.429 0a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm-22.857 0a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm17.143-1.143a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285ZM136 125.543a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-13.143 1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm4.572-1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm18.857-2.286a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-16-1.143.124.007a1.143 1.143 0 1 1-.124-.007Zm11.428 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-22.857 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm36.572 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-5.715 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-37.143 1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm13.715-1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm9.714-1.143a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm18.286-3.428a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-11.429 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-28 1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm5.714-1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm17.715-1.143a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-5.715 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-6.857 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm17.143-4.571a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm-11.428 0a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm-5.143 1.142a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm-8-1.142a.571.571 0 1 1 0 1.142.571.571 0 0 1 0-1.142Zm-9.143 0a.571.571 0 1 1 0 1.142.571.571 0 0 1 0-1.142Zm30.286-3.429a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286ZM124 109.543a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm5.714 0a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm5.715-4.572a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm-22.858-1.142a.571.571 0 1 1 0 1.142.571.571 0 0 1 0-1.142Zm-11.428-3.429a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143ZM124 99.257a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143ZM49.143 55.829a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm5.714 0a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm-9.143-1.143a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm-5.714 0a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm21.143-1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143ZM52 52.4a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm12-1.143a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-6.857 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-19.429-1.143a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm5.715 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm16-1.143.124.007a1.143 1.143 0 1 1-.124-.007Zm11.428 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-22.857 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm17.143-1.142a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm-11.429-1.143a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm-13.143 1.143a.571.571 0 1 1 0 1.142.571.571 0 0 1 0-1.142Zm4.572-1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143ZM64 44.4a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-16-1.143.125.007a1.143 1.143 0 1 1-.125-.007Zm11.429 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-22.858 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm36.572 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-5.714 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286ZM30.286 44.4a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143ZM44 43.257a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm9.714-1.143a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286ZM72 38.686a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm-11.429 0a1.143 1.143 0 1 1 0 2.285 1.143 1.143 0 0 1 0-2.285Zm-28 1.143a.571.571 0 1 1 0 1.142.571.571 0 0 1 0-1.142Zm5.715-1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143ZM56 37.543a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-5.714 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-6.857 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286ZM60.57 32.97a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-11.428 0a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286ZM44 34.114a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm-8-1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm-9.143 0a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm30.286-3.428a1.143 1.143 0 1 1 0 2.286 1.143 1.143 0 0 1 0-2.286Zm-15.429 1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm5.715 0a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm5.714-4.572a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm-22.857-1.143a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Zm-11.429-3.428a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143ZM41.714 20.4a.571.571 0 1 1 0 1.143.571.571 0 0 1 0-1.143Z',\n fill: '#003CFF',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-empty-c)'\n})), React.createElement(\"path\", {\n d: 'M295.213 319.24c.744.546.745 1.433.002 1.98l-11.806 8.81c-1.069.799-3.326.474-4.853-.609l-35.622-25.241c-33.375 17.037-79.545 14.615-109.28-7.271-33.443-24.615-33.443-64.521 0-89.133 33.443-24.616 87.657-24.616 121.1 0 31.706 23.336 33.35 60.42 4.931 85.185-.543.473 35.528 26.278 35.528 26.278ZM148.06 220.015c-25.44 17.853-25.44 46.8 0 64.652 25.44 17.85 66.689 17.85 92.129 0 25.436-17.853 25.436-46.799 0-64.652-25.44-17.853-66.688-17.853-92.129 0Z',\n fill: '#5D96FE'\n}), React.createElement(\"path\", {\n d: 'M123.514 233.021c2.185-5.241 5.67-9.735 10.453-13.482M264.967 271.54c-2.185 5.24-5.67 9.734-10.453 13.481',\n stroke: '#FFF',\n strokeWidth: 0.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n}), React.createElement(\"path\", {\n d: 'M81.143 252.571c7.574 0 13.714 23.88 13.714 31.649 0 6.97-4.942 12.755-11.429 13.871v11.672c0 1.235-.767 2.237-1.713 2.237-.904 0-1.644-.912-1.71-2.07l-.005-.167v-11.526c-7.04-.595-12.571-6.644-12.571-14.017 0-7.024 5.02-27.222 11.581-31.027l.096-.053c.027-.016.055-.03.082-.045l.067-.035.066-.033.1-.05.094-.041a3.34 3.34 0 0 1 .224-.093l.11-.042.097-.032c.038-.013.077-.025.115-.036l.053-.016.053-.014a3.351 3.351 0 0 1 .23-.055l.085-.016a3.95 3.95 0 0 1 .441-.054l.11-.005.11-.002Z',\n fill: '#FFCD6B',\n fillRule: 'nonzero'\n}), React.createElement(\"g\", {\n transform: 'translate(283.429 177.143)',\n fillRule: 'nonzero'\n}, React.createElement(\"path\", {\n d: 'M22.475.847c12.34 0 22.345 37.935 22.345 50.276 0 11.395-8.53 20.798-19.552 22.172v19.019c0 1.932-1.25 3.5-2.792 3.5-1.49 0-2.707-1.46-2.79-3.301l-.004-.2-.001-19.018C8.659 71.92.13 62.518.13 51.123.13 40.071 8.154 8.49 18.694 2.015l.054-.031a5.94 5.94 0 0 1 .214-.128l.088-.048c.213-.12.427-.228.642-.326l.135-.06.18-.075.135-.053a5.796 5.796 0 0 1 .464-.16 4.44 4.44 0 0 1 .33-.092l.124-.03a7.122 7.122 0 0 1 .31-.065l.018-.003a6.305 6.305 0 0 1 .756-.088l.165-.007.166-.002Z',\n fill: '#FFCD6B'\n}), React.createElement(\"path\", {\n d: 'M22.475.847c12.34 0 22.345 37.935 22.345 50.276 0 11.395-8.53 20.798-19.552 22.172v19.019c0 1.932-1.25 3.5-2.792 3.5-1.543 0-2.794-1.566-2.794-3.5V73.295C8.659 71.921.13 62.518.13 51.123.13 38.783 10.134.847 22.475.847Z',\n fill: '#FFCD6B'\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n cx: 26.4,\n cy: 56.869,\n r: 1.45\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n cx: 39.453,\n cy: 58.319,\n r: 1\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n cx: 17.698,\n cy: 63.637,\n r: 2.417\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n cx: 38.002,\n cy: 51.068,\n r: 2.417\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n cx: 18.665,\n cy: 17.228,\n r: 2.417\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n cx: 32.201,\n cy: 13.36,\n r: 2.417\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n cx: 26.83,\n cy: 20.666,\n r: 1.45\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n cx: 38.969,\n cy: 31.731,\n r: 2.417\n}), React.createElement(\"circle\", {\n fill: '#FFB400',\n cx: 25.433,\n cy: 29.797,\n r: 1.45\n}), React.createElement(\"path\", {\n d: 'M34.197 53.033c0 9.825-6.934 18.017-16.172 19.987a22.44 22.44 0 0 0 4.45.448c12.34 0 22.344-10.004 22.344-22.345C44.82 38.783 34.815.847 22.475.847c8.947 14.03 11.722 40.891 11.722 52.186Z',\n fill: '#FBBE47'\n}))));","import React from 'react';\nexport const busyImage = React.createElement(\"svg\", {\n viewBox: '0 0 400 400',\n xmlns: 'http://www.w3.org/2000/svg',\n xmlnsXlink: 'http://www.w3.org/1999/xlink'\n}, React.createElement(\"defs\", null, React.createElement(\"linearGradient\", {\n x1: '50%',\n y1: '-116.862%',\n x2: '50%',\n y2: '90.764%',\n id: 'error-block-image-busy-a'\n}, React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0.207,\n offset: '0%'\n}), React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0.115,\n offset: '80.072%'\n}), React.createElement(\"stop\", {\n stopColor: '#72A7FD',\n stopOpacity: 0,\n offset: '100%'\n})), React.createElement(\"circle\", {\n id: 'error-block-image-busy-b',\n cx: 34.857,\n cy: 34.857,\n r: 34.857\n})), React.createElement(\"g\", {\n fill: 'none',\n fillRule: 'evenodd'\n}, React.createElement(\"path\", {\n d: 'M157.964 243.667H0L3.806 99.134a4.572 4.572 0 0 1 4.353-4.446l.217-.005h45.588V67.205a4.572 4.572 0 0 1 4.356-4.566l.216-.005 65.498-.001 2.554-58.688a4.571 4.571 0 0 1 4.779-4.368l.214.015 87.79 8.222a4.572 4.572 0 0 1 4.126 4.133l.015.213 3.146 69.652 74.976-17.906a4.571 4.571 0 0 1 5.628 4.23l.005.216v43.955h56.162v130.265l-56.163-.001v.002h-82.383v-.004h-66.919v1.098Zm-68.461-84.631h-9.968v8.435h9.968v-8.435Zm0-14.508h-9.968v8.436h9.968v-8.436Zm197.985-5.149h-9.967v8.432h9.967v-8.432Zm-197.985-8.806h-9.968v8.436h9.968v-8.436Zm197.985-5.153h-9.967v8.432h9.967v-8.432Zm0-14.503h-9.967v8.432h9.967v-8.432Zm-84.643-.777h-30.8v8.436h30.8v-8.436Zm84.643-13.186h-9.967v8.435h9.967v-8.435Zm-84.643-3.29h-30.8v8.435h30.8v-8.435Zm0-15.912h-30.8v8.436h30.8v-8.436Z',\n transform: 'translate(18.286 51.286)',\n fill: 'url(#error-block-image-busy-a)'\n}), React.createElement(\"path\", {\n d: 'm250.934 176.555-101.963 1.038c-5.276.054-9.51 4.374-9.455 9.65.054 5.274 4.374 9.507 9.649 9.454l.958-.01c-.376 7.363 3.679 59.93 34.894 62.659 4.203.367 7.432.39 7.475 4.609.042 4.218-3.176 4.307-7.37 4.76-34.593 3.737-34.136 56.004-33.61 63.357l-.957.01c-5.276.053-9.51 4.373-9.455 9.649.053 5.275 4.374 9.508 9.649 9.454l101.963-1.039c5.275-.054 9.508-4.374 9.455-9.648-.055-5.276-4.374-9.51-9.65-9.455l-.958.01c.377-7.363-.729-59.672-34.894-62.66-4.202-.367-7.432-.39-7.474-4.608-.043-4.219 3.175-4.308 7.369-4.76 31.276-3.377 34.136-56.004 33.61-63.357l.958-.01c5.276-.053 9.508-4.373 9.455-9.649-.055-5.276-4.374-9.509-9.65-9.454Z',\n fill: '#377EFF'\n}), React.createElement(\"path\", {\n d: 'M233.524 314.422c.108.684.772 1.148 1.483 1.035.711-.112 1.2-.758 1.091-1.443-.108-.684-.772-1.147-1.483-1.035-.711.113-1.2.759-1.091 1.443Zm-.894-5.644c.108.684.772 1.148 1.483 1.035.711-.112 1.2-.758 1.091-1.443-.108-.684-.772-1.147-1.483-1.035-.711.113-1.2.759-1.091 1.443Zm-.149 17.865c.108.684.773 1.147 1.483 1.035.711-.113 1.2-.759 1.091-1.443-.108-.684-.772-1.148-1.483-1.035-.71.112-1.2.758-1.09 1.443Zm-2.144-8.182c.109.684.773 1.148 1.484 1.035.71-.113 1.199-.759 1.09-1.443-.108-.684-.772-1.148-1.483-1.035-.71.113-1.2.759-1.09 1.443Zm-1.586-4.694c.108.684.772 1.148 1.483 1.035.711-.113 1.2-.759 1.091-1.443-.108-.684-.772-1.147-1.483-1.035-.711.113-1.2.759-1.091 1.443Zm-1.013-5.88c.109.685.773 1.148 1.484 1.036.71-.113 1.2-.759 1.09-1.443-.107-.684-.772-1.148-1.483-1.035-.71.113-1.199.759-1.09 1.443Zm.236 15.575c.108.685.772 1.148 1.483 1.035.71-.112 1.2-.758 1.09-1.442-.107-.685-.772-1.148-1.483-1.035-.71.112-1.199.758-1.09 1.442Zm-.4 4.494c.108.684.772 1.147 1.483 1.035.71-.113 1.2-.759 1.091-1.443-.108-.684-.773-1.148-1.483-1.035-.711.113-1.2.759-1.091 1.443Zm-3.88-8.601c.108.684.772 1.147 1.483 1.035.71-.113 1.199-.759 1.09-1.443-.108-.684-.772-1.148-1.483-1.035-.71.113-1.2.759-1.09 1.443Zm-.524-7.186c.065.41.463.688.89.62.426-.067.72-.454.654-.865-.065-.41-.463-.688-.89-.62-.426.067-.72.454-.654.865Zm-2.265-4.102c.109.684.773 1.148 1.484 1.035.71-.113 1.2-.759 1.09-1.443-.108-.684-.772-1.147-1.483-1.035-.71.113-1.199.759-1.09 1.443Zm-.545-6.518c.065.41.464.689.89.621.427-.067.72-.455.655-.865-.065-.41-.464-.689-.89-.621-.427.067-.72.455-.655.865Zm2.098 23.629c.109.684.773 1.147 1.484 1.035.71-.113 1.2-.759 1.09-1.443-.108-.684-.772-1.148-1.483-1.035-.71.112-1.199.758-1.09 1.443Zm-.756-9.65c.043.274.309.46.593.414a.512.512 0 0 0 .437-.577.512.512 0 0 0-.594-.414.512.512 0 0 0-.436.577Zm-.808 20.96c.109.684.773 1.147 1.484 1.034.71-.112 1.2-.758 1.09-1.442-.108-.685-.772-1.148-1.483-1.036-.71.113-1.199.759-1.09 1.443Zm-4.691-31.966c.065.41.463.689.89.621.426-.068.72-.455.654-.866-.065-.41-.463-.688-.89-.62-.426.067-.72.454-.654.865Zm2.098 23.628c.108.684.772 1.148 1.483 1.035.711-.112 1.2-.758 1.091-1.443-.108-.684-.772-1.147-1.483-1.035-.711.113-1.2.759-1.091 1.443Zm-1.967-12.416c.109.684.773 1.147 1.484 1.035.71-.113 1.199-.759 1.09-1.443-.108-.684-.772-1.148-1.483-1.035-.71.112-1.2.758-1.09 1.443Zm1.073 6.772c.108.685.772 1.148 1.483 1.035.711-.112 1.2-.758 1.091-1.442-.108-.685-.772-1.148-1.483-1.036-.711.113-1.2.759-1.091 1.443Zm-.009-3.131c.065.41.464.689.89.621.427-.068.72-.455.655-.866-.065-.41-.464-.688-.89-.62-.427.067-.72.454-.655.865Zm-1.43-9.03c.065.41.463.688.89.62.426-.067.72-.454.655-.865-.065-.41-.464-.689-.89-.62-.427.067-.72.454-.655.865ZM214.5 333.38c.108.685.772 1.148 1.483 1.036.711-.113 1.2-.759 1.091-1.443-.108-.684-.772-1.148-1.483-1.035-.711.112-1.2.758-1.091 1.442Zm-.156-7.178c.065.41.464.689.89.621.427-.067.72-.455.655-.865-.065-.41-.464-.689-.89-.621-.427.067-.72.455-.655.865Zm-1.871-4.72c.108.684.773 1.147 1.483 1.034.711-.112 1.2-.758 1.091-1.442-.108-.685-.772-1.148-1.483-1.035-.71.112-1.2.758-1.091 1.442Zm-1.614-6.857c.065.41.464.689.89.621.427-.068.72-.455.655-.866-.065-.41-.464-.688-.89-.62-.427.067-.72.454-.655.865Zm-.894-5.644c.065.41.464.689.89.621.427-.067.72-.455.655-.866-.065-.41-.463-.688-.89-.62-.427.067-.72.455-.655.865Zm-1.43-9.03c.065.41.464.688.89.62.427-.067.72-.454.655-.865-.065-.41-.464-.688-.89-.62-.427.067-.72.454-.655.865Zm-1.958 14.225c.065.41.463.689.89.62.426-.067.72-.454.654-.865-.065-.41-.463-.688-.89-.62-.426.067-.72.454-.654.865Zm-.703 12.81c.065.41.464.688.89.62.427-.067.72-.455.655-.865-.065-.41-.463-.689-.89-.621-.427.067-.72.455-.655.866Zm-4.543-22.536c.065.41.463.689.89.621.426-.067.72-.455.654-.865-.065-.41-.463-.689-.89-.621-.426.067-.72.455-.654.865Zm2.806 30.138c.065.41.463.689.89.621.426-.067.72-.455.654-.865-.065-.41-.463-.689-.89-.621-.426.067-.72.455-.654.865Zm-5.694-17.996c.065.41.463.688.89.62.426-.067.72-.455.654-.865-.065-.41-.463-.689-.89-.621-.426.067-.72.455-.654.866Zm-2.935-13.343c.066.41.464.688.89.62.427-.067.72-.454.655-.865-.065-.41-.463-.689-.89-.621-.426.068-.72.455-.655.866Z',\n fill: '#003CFF',\n fillRule: 'nonzero'\n}), React.createElement(\"path\", {\n d: 'm250.934 176.555-101.963 1.038c-5.276.054-9.51 4.374-9.455 9.65.054 5.274 4.374 9.507 9.649 9.454l101.963-1.04c5.276-.052 9.508-4.372 9.455-9.648-.055-5.276-4.374-9.509-9.65-9.454ZM252.64 331.241l-101.964 1.038c-5.275.054-9.508 4.374-9.454 9.65.054 5.275 4.374 9.508 9.649 9.454l101.963-1.039c5.275-.053 9.507-4.373 9.454-9.649-.054-5.275-4.374-9.508-9.649-9.454Z',\n fill: '#7EACFF'\n}), React.createElement(\"path\", {\n stroke: '#003CFF',\n strokeWidth: 0.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n d: 'm196.824 197.298 52.216-.506M193.329 330.5h52.215'\n}), React.createElement(\"path\", {\n d: 'M167.367 228.041c-4.091-10.787-6.086-20.934-5.985-30.44',\n stroke: '#FFF',\n strokeWidth: 0.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n}), React.createElement(\"circle\", {\n cx: 14.857,\n cy: 14.857,\n r: 14.857,\n transform: 'translate(106.857 248.571)',\n fill: '#FFCD6B',\n fillRule: 'nonzero'\n}), React.createElement(\"g\", {\n transform: 'translate(236.571 284.571)'\n}, React.createElement(\"mask\", {\n id: 'error-block-image-busy-c',\n fill: '#fff'\n}, React.createElement(\"use\", {\n xlinkHref: '#error-block-image-busy-b'\n})), React.createElement(\"use\", {\n fill: '#FBBE47',\n fillRule: 'nonzero',\n xlinkHref: '#error-block-image-busy-b'\n}), React.createElement(\"circle\", {\n fill: '#FFCD6B',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-busy-c)',\n cx: 25.714,\n cy: 28,\n r: 34.857\n}), React.createElement(\"circle\", {\n fill: '#FFF',\n fillRule: 'nonzero',\n mask: 'url(#error-block-image-busy-c)',\n cx: 22.286,\n cy: 18.857,\n r: 3.429\n}))));","import React, { forwardRef, useImperativeHandle, useRef, useState } from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { useDrag } from '@use-gesture/react';\nimport { useSpring, animated } from '@react-spring/web';\nimport { supportsPassive } from '../../utils/supports-passive';\nimport { nearest } from '../../utils/nearest';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { useLockScroll } from '../../utils/use-lock-scroll';\nimport { useMemoizedFn } from 'ahooks';\nconst classPrefix = 'adm-floating-panel';\nconst defaultProps = {\n handleDraggingOfContent: true\n};\nexport const FloatingPanel = forwardRef((p, ref) => {\n var _a, _b;\n const props = mergeProps(defaultProps, p);\n const {\n anchors\n } = props;\n const maxHeight = (_a = anchors[anchors.length - 1]) !== null && _a !== void 0 ? _a : window.innerHeight;\n const possibles = anchors.map(x => -x);\n const elementRef = useRef(null);\n const headerRef = useRef(null);\n const contentRef = useRef(null);\n const [pulling, setPulling] = useState(false);\n const pullingRef = useRef(false);\n const bounds = {\n top: possibles[possibles.length - 1],\n bottom: possibles[0]\n };\n const onHeightChange = useMemoizedFn((_b = props.onHeightChange) !== null && _b !== void 0 ? _b : () => {});\n const [{\n y\n }, api] = useSpring(() => ({\n y: bounds.bottom,\n config: {\n tension: 300\n },\n onChange: result => {\n onHeightChange(-result.value.y, y.isAnimating);\n }\n }));\n useDrag(state => {\n const [, offsetY] = state.offset;\n if (state.first) {\n const target = state.event.target;\n const header = headerRef.current;\n if (header === target || (header === null || header === void 0 ? void 0 : header.contains(target))) {\n pullingRef.current = true;\n } else {\n if (!props.handleDraggingOfContent) return;\n const reachedTop = y.goal <= bounds.top;\n const content = contentRef.current;\n if (!content) return;\n if (reachedTop) {\n if (content.scrollTop <= 0 && state.direction[1] > 0) {\n pullingRef.current = true;\n }\n } else {\n pullingRef.current = true;\n }\n }\n }\n setPulling(pullingRef.current);\n if (!pullingRef.current) return;\n const {\n event\n } = state;\n if (event.cancelable && supportsPassive) {\n event.preventDefault();\n }\n event.stopPropagation();\n let nextY = offsetY;\n if (state.last) {\n pullingRef.current = false;\n setPulling(false);\n nextY = nearest(possibles, offsetY);\n }\n api.start({\n y: nextY\n });\n }, {\n axis: 'y',\n bounds,\n rubberband: true,\n from: () => [0, y.get()],\n pointer: {\n touch: true\n },\n target: elementRef,\n eventOptions: supportsPassive ? {\n passive: false\n } : undefined\n });\n useImperativeHandle(ref, () => ({\n setHeight: (height, options) => {\n api.start({\n y: -height,\n immediate: options === null || options === void 0 ? void 0 : options.immediate\n });\n }\n }), [api]);\n useLockScroll(elementRef, true);\n return withNativeProps(props, React.createElement(animated.div, {\n ref: elementRef,\n className: classPrefix,\n style: {\n height: Math.round(maxHeight),\n translateY: y.to(y => `calc(100% + (${Math.round(y)}px))`)\n }\n }, React.createElement(\"div\", {\n className: `${classPrefix}-mask`,\n style: {\n display: pulling ? 'block' : 'none'\n }\n }), React.createElement(\"div\", {\n className: `${classPrefix}-header`,\n ref: headerRef\n }, React.createElement(\"div\", {\n className: `${classPrefix}-bar`\n })), React.createElement(\"div\", {\n className: `${classPrefix}-content`,\n ref: contentRef\n }, props.children)));\n});","export function nearest(arr, target) {\n return arr.reduce((pre, cur) => {\n return Math.abs(pre - target) < Math.abs(cur - target) ? pre : cur;\n });\n}","import { canUseDom } from './can-use-dom';\nimport { isDev } from './is-dev';\nimport { devError } from './dev-log';\nlet tenPxTester = null;\nlet tester = null;\nif (canUseDom) {\n tenPxTester = document.createElement('div');\n tenPxTester.className = 'adm-px-tester';\n tenPxTester.style.setProperty('--size', '10');\n document.body.appendChild(tenPxTester);\n tester = document.createElement('div');\n tester.className = 'adm-px-tester';\n document.body.appendChild(tester);\n if (isDev) {\n if (window.getComputedStyle(tester).position !== 'fixed') {\n devError('Global', 'The px tester is not rendering properly. Please make sure you have imported `antd-mobile/es/global`.');\n }\n }\n}\nexport function convertPx(px) {\n if (tenPxTester === null || tester === null) return px;\n if (tenPxTester.getBoundingClientRect().height === 10) {\n return px;\n }\n tester.style.setProperty('--size', px.toString());\n return tester.getBoundingClientRect().height;\n}","import { mergeProps } from '../../utils/with-default-props';\nimport React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { toCSSLength } from '../../utils/to-css-length';\nconst classPrefix = `adm-grid`;\nexport const Grid = props => {\n const style = {\n '--columns': props.columns.toString()\n };\n const {\n gap\n } = props;\n if (gap !== undefined) {\n if (Array.isArray(gap)) {\n style['--gap-horizontal'] = toCSSLength(gap[0]);\n style['--gap-vertical'] = toCSSLength(gap[1]);\n } else {\n style['--gap'] = toCSSLength(gap);\n }\n }\n return withNativeProps(props, React.createElement(\"div\", {\n className: classPrefix,\n style: style\n }, props.children));\n};\nexport const GridItem = p => {\n const props = mergeProps({\n span: 1\n }, p);\n const itemStyle = {\n '--item-span': props.span\n };\n return withNativeProps(props, React.createElement(\"div\", {\n className: `${classPrefix}-item`,\n style: itemStyle,\n onClick: props.onClick\n }, props.children));\n};","import \"./grid.css\";\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { Grid, GridItem } from './grid';\nexport default attachPropertiesToComponent(Grid, {\n Item: GridItem\n});","import { createUseGesture, dragAction, pinchAction } from '@use-gesture/react';\nexport const useDragAndPinch = createUseGesture([dragAction, pinchAction]);","export const create = () => {\n return [1, 0, 0, 1, 0, 0];\n};\nexport const getTranslateX = m => {\n return m[4];\n};\nexport const getTranslateY = m => {\n return m[5];\n};\nexport const getScaleX = m => {\n return m[0];\n};\nexport const getScaleY = m => {\n return m[3];\n};\nexport const translate = (m, x, y) => {\n return multiply([1, 0, 0, 1, x, y], m);\n};\nexport const scale = (m, scaleX, scaleY = scaleX) => {\n return multiply([scaleX, 0, 0, scaleY, 0, 0], m);\n};\nexport const apply = (m, [ox, oy]) => {\n return [m[0] * ox + m[2] * oy + m[4], m[1] * ox + m[3] * oy + m[5]];\n};\nexport const multiply = (m1, m2) => {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n};","import React, { useRef } from 'react';\nimport { useSpring, animated } from '@react-spring/web';\nimport { useSize } from 'ahooks';\nimport { rubberbandIfOutOfBounds } from '../../utils/rubberband';\nimport { useDragAndPinch } from '../../utils/use-drag-and-pinch';\nimport { bound } from '../../utils/bound';\nimport * as mat from '../../utils/matrix';\nconst classPrefix = `adm-image-viewer`;\nexport const Slide = props => {\n const {\n dragLockRef,\n maxZoom\n } = props;\n const initialMartix = useRef([]);\n const controlRef = useRef(null);\n const imgRef = useRef(null);\n const [{\n matrix\n }, api] = useSpring(() => ({\n matrix: mat.create(),\n config: {\n tension: 200\n }\n }));\n const controlSize = useSize(controlRef);\n const imgSize = useSize(imgRef);\n const pinchLockRef = useRef(false);\n /**\n * Calculate the min and max value of x and y\n */\n const getMinAndMax = nextMatrix => {\n if (!controlSize || !imgSize) return {\n x: {\n position: 0,\n minX: 0,\n maxX: 0\n },\n y: {\n position: 0,\n minY: 0,\n maxY: 0\n }\n };\n const controlLeft = -controlSize.width / 2;\n const controlTop = -controlSize.height / 2;\n const imgLeft = -imgSize.width / 2;\n const imgTop = -imgSize.height / 2;\n const zoom = mat.getScaleX(nextMatrix);\n const scaledImgWidth = zoom * imgSize.width;\n const scaledImgHeight = zoom * imgSize.height;\n const minX = controlLeft - (scaledImgWidth - controlSize.width);\n const maxX = controlLeft;\n const minY = controlTop - (scaledImgHeight - controlSize.height);\n const maxY = controlTop;\n const [x, y] = mat.apply(nextMatrix, [imgLeft, imgTop]);\n return {\n x: {\n position: x,\n minX,\n maxX\n },\n y: {\n position: y,\n minY,\n maxY\n }\n };\n };\n /**\n * Check if is reach the bound\n */\n const getReachBound = (position, min, max, buffer = 0) => {\n return [position <= min - buffer, position >= max + buffer];\n };\n /**\n * Limit the matrix in the bound\n */\n const boundMatrix = (nextMatrix, type, last = false) => {\n if (!controlSize || !imgSize) return nextMatrix;\n const zoom = mat.getScaleX(nextMatrix);\n const scaledImgWidth = zoom * imgSize.width;\n const scaledImgHeight = zoom * imgSize.height;\n const {\n x: {\n position: x,\n minX,\n maxX\n },\n y: {\n position: y,\n minY,\n maxY\n }\n } = getMinAndMax(nextMatrix);\n if (type === 'translate') {\n let boundedX = x;\n let boundedY = y;\n if (scaledImgWidth > controlSize.width) {\n boundedX = last ? bound(x, minX, maxX) : rubberbandIfOutOfBounds(x, minX, maxX, zoom * 50);\n } else {\n boundedX = -scaledImgWidth / 2;\n }\n if (scaledImgHeight > controlSize.height) {\n boundedY = last ? bound(y, minY, maxY) : rubberbandIfOutOfBounds(y, minY, maxY, zoom * 50);\n } else {\n boundedY = -scaledImgHeight / 2;\n }\n return mat.translate(nextMatrix, boundedX - x, boundedY - y);\n }\n if (type === 'scale' && last) {\n const [boundedX, boundedY] = [scaledImgWidth > controlSize.width ? bound(x, minX, maxX) : -scaledImgWidth / 2, scaledImgHeight > controlSize.height ? bound(y, minY, maxY) : -scaledImgHeight / 2];\n return mat.translate(nextMatrix, boundedX - x, boundedY - y);\n }\n return nextMatrix;\n };\n useDragAndPinch({\n onDrag: state => {\n var _a;\n if (state.first) {\n const {\n x: {\n position: x,\n minX,\n maxX\n }\n } = getMinAndMax(matrix.get());\n initialMartix.current = getReachBound(x, minX, maxX);\n return;\n }\n if (state.pinching) return state.cancel();\n if (state.tap && state.elapsedTime > 0 && state.elapsedTime < 1000) {\n // 判断点击时间>0是为了过滤掉非正常操作,例如用户长按选择图片之后的取消操作(也是一次点击)\n (_a = props.onTap) === null || _a === void 0 ? void 0 : _a.call(props);\n return;\n }\n const currentZoom = mat.getScaleX(matrix.get());\n if (dragLockRef) {\n dragLockRef.current = currentZoom !== 1;\n }\n if (!pinchLockRef.current && currentZoom <= 1) {\n api.start({\n matrix: mat.create()\n });\n } else {\n const currentMatrix = matrix.get();\n const offset = [state.offset[0] - mat.getTranslateX(currentMatrix), state.offset[1] - mat.getTranslateY(currentMatrix)];\n const nextMatrix = mat.translate(currentMatrix, ...(state.last ? [offset[0] + state.velocity[0] * state.direction[0] * 200, offset[1] + state.velocity[1] * state.direction[1] * 200] : offset));\n api.start({\n matrix: boundMatrix(nextMatrix, 'translate', state.last),\n immediate: !state.last\n });\n const {\n x: {\n position: x,\n minX,\n maxX\n }\n } = getMinAndMax(nextMatrix);\n if (state.last && initialMartix.current.some(i => i) && getReachBound(x, minX, maxX).some(i => i)) {\n if (dragLockRef) {\n dragLockRef.current = false;\n }\n api.start({\n matrix: mat.create()\n });\n }\n }\n },\n onPinch: state => {\n var _a;\n pinchLockRef.current = !state.last;\n const [d] = state.offset;\n if (d < 0) return;\n let mergedMaxZoom;\n if (maxZoom === 'auto') {\n mergedMaxZoom = controlSize && imgSize ? Math.max(controlSize.height / imgSize.height, controlSize.width / imgSize.width) : 1;\n } else {\n mergedMaxZoom = maxZoom;\n }\n const nextZoom = state.last ? bound(d, 1, mergedMaxZoom) : d;\n (_a = props.onZoomChange) === null || _a === void 0 ? void 0 : _a.call(props, nextZoom);\n if (state.last && nextZoom <= 1) {\n api.start({\n matrix: mat.create()\n });\n if (dragLockRef) {\n dragLockRef.current = false;\n }\n } else {\n if (!controlSize) return;\n const currentMatrix = matrix.get();\n const currentZoom = mat.getScaleX(currentMatrix);\n const originOffsetX = state.origin[0] - controlSize.width / 2;\n const originOffsetY = state.origin[1] - controlSize.height / 2;\n let nextMatrix = mat.translate(currentMatrix, -originOffsetX, -originOffsetY);\n nextMatrix = mat.scale(nextMatrix, nextZoom / currentZoom);\n nextMatrix = mat.translate(nextMatrix, originOffsetX, originOffsetY);\n api.start({\n matrix: boundMatrix(nextMatrix, 'scale', state.last),\n immediate: !state.last\n });\n if (dragLockRef) {\n dragLockRef.current = true;\n }\n }\n }\n }, {\n target: controlRef,\n drag: {\n from: () => [mat.getTranslateX(matrix.get()), mat.getTranslateY(matrix.get())],\n pointer: {\n touch: true\n }\n },\n pinch: {\n from: () => [mat.getScaleX(matrix.get()), 0],\n pointer: {\n touch: true\n }\n }\n });\n return React.createElement(\"div\", {\n className: `${classPrefix}-slide`\n }, React.createElement(\"div\", {\n className: `${classPrefix}-control`,\n ref: controlRef\n }, React.createElement(animated.div, {\n className: `${classPrefix}-image-wrapper`,\n style: {\n matrix\n }\n }, React.createElement(\"img\", {\n ref: imgRef,\n src: props.image,\n draggable: false,\n alt: props.image\n }))));\n};","import React, { forwardRef, useImperativeHandle, useRef } from 'react';\nimport { useDrag } from '@use-gesture/react';\nimport { useSpring, animated } from '@react-spring/web';\nimport { Slide } from './slide';\nimport { convertPx } from '../../utils/convert-px';\nimport { bound } from '../../utils/bound';\nconst classPrefix = `adm-image-viewer`;\nexport const Slides = forwardRef((props, ref) => {\n const slideWidth = window.innerWidth + convertPx(16);\n const [{\n x\n }, api] = useSpring(() => ({\n x: props.defaultIndex * slideWidth,\n config: {\n tension: 250,\n clamp: true\n }\n }));\n const count = props.images.length;\n function swipeTo(index, immediate = false) {\n var _a;\n const i = bound(index, 0, count - 1);\n (_a = props.onIndexChange) === null || _a === void 0 ? void 0 : _a.call(props, i);\n api.start({\n x: i * slideWidth,\n immediate\n });\n }\n useImperativeHandle(ref, () => ({\n swipeTo\n }));\n const dragLockRef = useRef(false);\n const bind = useDrag(state => {\n if (dragLockRef.current) return;\n const [offsetX] = state.offset;\n if (state.last) {\n const minIndex = Math.floor(offsetX / slideWidth);\n const maxIndex = minIndex + 1;\n const velocityOffset = Math.min(state.velocity[0] * 2000, slideWidth) * state.direction[0];\n swipeTo(bound(Math.round((offsetX + velocityOffset) / slideWidth), minIndex, maxIndex));\n } else {\n api.start({\n x: offsetX,\n immediate: true\n });\n }\n }, {\n transform: ([x, y]) => [-x, y],\n from: () => [x.get(), 0],\n bounds: () => ({\n left: 0,\n right: (count - 1) * slideWidth\n }),\n rubberband: true,\n axis: 'x',\n pointer: {\n touch: true\n }\n });\n return React.createElement(\"div\", Object.assign({\n className: `${classPrefix}-slides`\n }, bind()), React.createElement(animated.div, {\n className: `${classPrefix}-indicator`\n }, x.to(v => {\n const index = bound(Math.round(v / slideWidth), 0, count - 1);\n return `${index + 1} / ${count}`;\n })), React.createElement(animated.div, {\n className: `${classPrefix}-slides-inner`,\n style: {\n x: x.to(x => -x)\n }\n }, props.images.map((image, index) => React.createElement(Slide, {\n key: index,\n image: image,\n onTap: props.onTap,\n maxZoom: props.maxZoom,\n onZoomChange: zoom => {\n if (zoom !== 1) {\n const index = Math.round(x.get() / slideWidth);\n api.start({\n x: index * slideWidth\n });\n }\n },\n dragLockRef: dragLockRef\n }))));\n});","import React, { forwardRef, useImperativeHandle, useRef, useState, useCallback } from 'react';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { renderToContainer } from '../../utils/render-to-container';\nimport Mask from '../mask';\nimport SafeArea from '../safe-area';\nimport { Slide } from './slide';\nimport { Slides } from './slides';\nimport classNames from 'classnames';\nconst classPrefix = `adm-image-viewer`;\nconst defaultProps = {\n maxZoom: 3,\n getContainer: null,\n visible: false\n};\nexport const ImageViewer = p => {\n var _a, _b, _c;\n const props = mergeProps(defaultProps, p);\n const node = React.createElement(Mask, {\n visible: props.visible,\n disableBodyScroll: false,\n opacity: 'thick',\n afterClose: props.afterClose,\n destroyOnClose: true,\n className: (_a = props === null || props === void 0 ? void 0 : props.classNames) === null || _a === void 0 ? void 0 : _a.mask\n }, React.createElement(\"div\", {\n className: classNames(`${classPrefix}-content`, (_b = props === null || props === void 0 ? void 0 : props.classNames) === null || _b === void 0 ? void 0 : _b.body)\n }, props.image && React.createElement(Slide, {\n image: props.image,\n onTap: props.onClose,\n maxZoom: props.maxZoom\n })), props.image && React.createElement(\"div\", {\n className: `${classPrefix}-footer`\n }, (_c = props.renderFooter) === null || _c === void 0 ? void 0 : _c.call(props, props.image), React.createElement(SafeArea, {\n position: 'bottom'\n })));\n return renderToContainer(props.getContainer, node);\n};\nconst multiDefaultProps = Object.assign(Object.assign({}, defaultProps), {\n defaultIndex: 0\n});\nexport const MultiImageViewer = forwardRef((p, ref) => {\n var _a, _b, _c;\n const props = mergeProps(multiDefaultProps, p);\n const [index, setIndex] = useState(props.defaultIndex);\n const slidesRef = useRef(null);\n useImperativeHandle(ref, () => ({\n swipeTo: (index, immediate) => {\n var _a;\n setIndex(index);\n (_a = slidesRef.current) === null || _a === void 0 ? void 0 : _a.swipeTo(index, immediate);\n }\n }));\n const onSlideChange = useCallback(newIndex => {\n var _a;\n if (newIndex === index) return;\n setIndex(newIndex);\n (_a = props.onIndexChange) === null || _a === void 0 ? void 0 : _a.call(props, newIndex);\n }, [props.onIndexChange, index]);\n const node = React.createElement(Mask, {\n visible: props.visible,\n disableBodyScroll: false,\n opacity: 'thick',\n afterClose: props.afterClose,\n destroyOnClose: true,\n className: (_a = props === null || props === void 0 ? void 0 : props.classNames) === null || _a === void 0 ? void 0 : _a.mask\n }, React.createElement(\"div\", {\n className: classNames(`${classPrefix}-content`, (_b = props === null || props === void 0 ? void 0 : props.classNames) === null || _b === void 0 ? void 0 : _b.body)\n }, props.images && React.createElement(Slides, {\n ref: slidesRef,\n defaultIndex: index,\n onIndexChange: onSlideChange,\n images: props.images,\n onTap: props.onClose,\n maxZoom: props.maxZoom\n })), props.images && React.createElement(\"div\", {\n className: `${classPrefix}-footer`\n }, (_c = props.renderFooter) === null || _c === void 0 ? void 0 : _c.call(props, props.images[index], index), React.createElement(SafeArea, {\n position: 'bottom'\n })));\n return renderToContainer(props.getContainer, node);\n});","import React from 'react';\nimport { ImageViewer, MultiImageViewer } from './image-viewer';\nimport { renderImperatively } from '../../utils/render-imperatively';\nconst handlerSet = new Set();\nexport function showImageViewer(props) {\n clearImageViewer();\n const handler = renderImperatively(React.createElement(ImageViewer, Object.assign({}, props, {\n afterClose: () => {\n var _a;\n handlerSet.delete(handler);\n (_a = props.afterClose) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n })));\n handlerSet.add(handler);\n return handler;\n}\nexport function showMultiImageViewer(props) {\n clearImageViewer();\n const handler = renderImperatively(React.createElement(MultiImageViewer, Object.assign({}, props, {\n afterClose: () => {\n var _a;\n handlerSet.delete(handler);\n (_a = props.afterClose) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n })));\n handlerSet.add(handler);\n return handler;\n}\nexport function clearImageViewer() {\n handlerSet.forEach(handler => {\n handler.close();\n });\n handlerSet.clear();\n}","import \"./image-viewer.css\";\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { ImageViewer, MultiImageViewer } from './image-viewer';\nimport { showMultiImageViewer, showImageViewer, clearImageViewer } from './methods';\nconst Multi = attachPropertiesToComponent(MultiImageViewer, {\n show: showMultiImageViewer\n});\nexport default attachPropertiesToComponent(ImageViewer, {\n Multi,\n show: showImageViewer,\n clear: clearImageViewer\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};","export const Panel = () => null;","import React, { useState } from 'react';\nimport classNames from 'classnames';\nconst classPrefix = `adm-index-bar`;\nexport const Sidebar = props => {\n const [interacting, setInteracting] = useState(false);\n return React.createElement(\"div\", {\n className: classNames(`${classPrefix}-sidebar`, {\n [`${classPrefix}-sidebar-interacting`]: interacting\n }),\n onMouseDown: () => {\n setInteracting(true);\n },\n onMouseUp: () => {\n setInteracting(false);\n },\n onTouchStart: () => {\n setInteracting(true);\n },\n onTouchEnd: () => {\n setInteracting(false);\n },\n onTouchMove: e => {\n if (!interacting) return;\n const {\n clientX,\n clientY\n } = e.touches[0];\n const target = document.elementFromPoint(clientX, clientY);\n if (!target) return;\n const index = target.dataset['index'];\n if (index) {\n props.onActive(index);\n }\n }\n }, props.indexItems.map(({\n index,\n brief\n }) => {\n const active = index === props.activeIndex;\n return React.createElement(\"div\", {\n className: `${classPrefix}-sidebar-row`,\n onMouseDown: () => {\n props.onActive(index);\n },\n onTouchStart: () => {\n props.onActive(index);\n },\n onMouseEnter: () => {\n if (interacting) {\n props.onActive(index);\n }\n },\n \"data-index\": index,\n key: index\n }, interacting && active && React.createElement(\"div\", {\n className: `${classPrefix}-sidebar-bubble`\n }, brief), React.createElement(\"div\", {\n className: classNames(`${classPrefix}-sidebar-item`, {\n [`${classPrefix}-sidebar-item-active`]: active\n }),\n \"data-index\": index\n }, React.createElement(\"div\", null, brief)));\n }));\n};","import React, { forwardRef, useRef, useState, useImperativeHandle } from 'react';\nimport classNames from 'classnames';\nimport { withNativeProps } from '../../utils/native-props';\nimport { useThrottleFn } from 'ahooks';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { Sidebar } from './sidebar';\nimport { convertPx } from '../../utils/convert-px';\nimport { Panel } from './panel';\nimport { devWarning } from '../../utils/dev-log';\nimport { traverseReactNode } from '../../utils/traverse-react-node';\nconst classPrefix = `adm-index-bar`;\nconst defaultProps = {\n sticky: true\n};\nexport const IndexBar = forwardRef((p, ref) => {\n const props = mergeProps(defaultProps, p);\n const titleHeight = convertPx(35);\n const bodyRef = useRef(null);\n const indexItems = [];\n const panels = [];\n traverseReactNode(props.children, child => {\n var _a;\n if (!React.isValidElement(child)) return;\n if (child.type !== Panel) {\n devWarning('IndexBar', 'The children of `IndexBar` must be `IndexBar.Panel` components.');\n return;\n }\n indexItems.push({\n index: child.props.index,\n brief: (_a = child.props.brief) !== null && _a !== void 0 ? _a : child.props.index.charAt(0)\n });\n panels.push(withNativeProps(child.props, React.createElement(\"div\", {\n key: child.props.index,\n \"data-index\": child.props.index,\n className: `${classPrefix}-anchor`\n }, React.createElement(\"div\", {\n className: `${classPrefix}-anchor-title`\n }, child.props.title || child.props.index), child.props.children)));\n });\n const [activeIndex, setActiveIndex] = useState(() => {\n const firstItem = indexItems[0];\n return firstItem ? firstItem.index : null;\n });\n useImperativeHandle(ref, () => ({\n scrollTo\n }));\n function scrollTo(index) {\n var _a;\n const body = bodyRef.current;\n if (!body) return;\n const children = body.children;\n for (let i = 0; i < children.length; i++) {\n const panel = children.item(i);\n if (!panel) continue;\n const panelIndex = panel.dataset['index'];\n if (panelIndex === index) {\n body.scrollTop = panel.offsetTop;\n setActiveIndex(index);\n activeIndex !== index && ((_a = props.onIndexChange) === null || _a === void 0 ? void 0 : _a.call(props, index));\n return;\n }\n }\n }\n const {\n run: checkActiveIndex\n } = useThrottleFn(() => {\n var _a;\n const body = bodyRef.current;\n if (!body) return;\n const scrollTop = body.scrollTop;\n const elements = body.getElementsByClassName(`${classPrefix}-anchor`);\n for (let i = 0; i < elements.length; i++) {\n const panel = elements.item(i);\n if (!panel) continue;\n const panelIndex = panel.dataset['index'];\n if (!panelIndex) continue;\n if (panel.offsetTop + panel.clientHeight - titleHeight > scrollTop) {\n setActiveIndex(panelIndex);\n activeIndex !== panelIndex && ((_a = props.onIndexChange) === null || _a === void 0 ? void 0 : _a.call(props, panelIndex));\n return;\n }\n }\n }, {\n wait: 50,\n trailing: true,\n leading: true\n });\n return withNativeProps(props, React.createElement(\"div\", {\n className: classNames(`${classPrefix}`, {\n [`${classPrefix}-sticky`]: props.sticky\n })\n }, React.createElement(Sidebar, {\n indexItems: indexItems,\n activeIndex: activeIndex,\n onActive: index => {\n scrollTo(index);\n }\n }), React.createElement(\"div\", {\n className: `${classPrefix}-body`,\n ref: bodyRef,\n onScroll: checkActiveIndex\n }, panels)));\n});","import \"./index-bar.css\";\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { Panel } from './panel';\nimport { IndexBar } from './index-bar';\nexport default attachPropertiesToComponent(IndexBar, {\n Panel\n});","import { __awaiter } from \"tslib\";\nimport { mergeProps } from '../../utils/with-default-props';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useLockFn, useThrottleFn } from 'ahooks';\nimport { withNativeProps } from '../../utils/native-props';\nimport { getScrollParent } from '../../utils/get-scroll-parent';\nimport { useConfig } from '../config-provider';\nimport DotLoading from '../dot-loading';\nfunction isWindow(element) {\n return element === window;\n}\nconst classPrefix = `adm-infinite-scroll`;\nconst defaultProps = {\n threshold: 250,\n children: (hasMore, failed, retry) => React.createElement(InfiniteScrollContent, {\n hasMore: hasMore,\n failed: failed,\n retry: retry\n })\n};\nexport const InfiniteScroll = p => {\n const props = mergeProps(defaultProps, p);\n const [failed, setFailed] = useState(false);\n const doLoadMore = useLockFn(isRetry => __awaiter(void 0, void 0, void 0, function* () {\n try {\n yield props.loadMore(isRetry);\n } catch (e) {\n setFailed(true);\n throw e;\n }\n }));\n const elementRef = useRef(null);\n // Prevent duplicated trigger of `check` function\n const [flag, setFlag] = useState({});\n const nextFlagRef = useRef(flag);\n const [scrollParent, setScrollParent] = useState();\n const {\n run: check\n } = useThrottleFn(() => __awaiter(void 0, void 0, void 0, function* () {\n if (nextFlagRef.current !== flag) return;\n if (!props.hasMore) return;\n const element = elementRef.current;\n if (!element) return;\n if (!element.offsetParent) return;\n const parent = getScrollParent(element);\n setScrollParent(parent);\n if (!parent) return;\n const rect = element.getBoundingClientRect();\n const elementTop = rect.top;\n const current = isWindow(parent) ? window.innerHeight : parent.getBoundingClientRect().bottom;\n if (current >= elementTop - props.threshold) {\n const nextFlag = {};\n nextFlagRef.current = nextFlag;\n try {\n yield doLoadMore(false);\n setFlag(nextFlag);\n } catch (e) {}\n }\n }), {\n wait: 100,\n leading: true,\n trailing: true\n });\n // Make sure to trigger `loadMore` when content changes\n useEffect(() => {\n check();\n });\n useEffect(() => {\n const element = elementRef.current;\n if (!element) return;\n if (!scrollParent) return;\n function onScroll() {\n check();\n }\n scrollParent.addEventListener('scroll', onScroll);\n return () => {\n scrollParent.removeEventListener('scroll', onScroll);\n };\n }, [scrollParent]);\n function retry() {\n return __awaiter(this, void 0, void 0, function* () {\n setFailed(false);\n try {\n yield doLoadMore(true);\n setFlag(nextFlagRef.current);\n } catch (e) {}\n });\n }\n return withNativeProps(props, React.createElement(\"div\", {\n className: classPrefix,\n ref: elementRef\n }, typeof props.children === 'function' ? props.children(props.hasMore, failed, retry) : props.children));\n};\nconst InfiniteScrollContent = props => {\n const {\n locale\n } = useConfig();\n if (!props.hasMore) {\n return React.createElement(\"span\", null, locale.InfiniteScroll.noMore);\n }\n if (props.failed) {\n return React.createElement(\"span\", null, React.createElement(\"span\", {\n className: `${classPrefix}-failed-text`\n }, locale.InfiniteScroll.failedToLoad), React.createElement(\"a\", {\n onClick: () => {\n props.retry();\n }\n }, locale.InfiniteScroll.retry));\n }\n return React.createElement(React.Fragment, null, React.createElement(\"span\", null, locale.common.loading), React.createElement(DotLoading, null));\n};","import { __awaiter, __generator, __read, __spreadArray } from \"tslib\";\nimport { useRef, useCallback } from 'react';\nfunction useLockFn(fn) {\n var _this = this;\n var lockRef = useRef(false);\n return useCallback(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(_this, void 0, void 0, function () {\n var ret, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (lockRef.current) return [2 /*return*/];\n lockRef.current = true;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, 4, 5]);\n return [4 /*yield*/, fn.apply(void 0, __spreadArray([], __read(args), false))];\n case 2:\n ret = _a.sent();\n return [2 /*return*/, ret];\n case 3:\n e_1 = _a.sent();\n throw e_1;\n case 4:\n lockRef.current = false;\n return [7 /*endfinally*/];\n case 5:\n return [2 /*return*/];\n }\n });\n });\n }, [fn]);\n}\nexport default useLockFn;","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 React, { isValidElement, useRef } from 'react';\nimport classNames from 'classnames';\nimport { animated } from '@react-spring/web';\nimport { withNativeProps } from '../../utils/native-props';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport { useResizeEffect } from '../../utils/use-resize-effect';\nimport { useTabListScroll } from '../../utils/use-tab-list-scroll';\nimport ScrollMask from '../scroll-mask';\nimport { ShouldRender } from '../../utils/should-render';\nimport { traverseReactNode } from '../../utils/traverse-react-node';\nconst classPrefix = `adm-jumbo-tabs`;\nexport const JumboTab = () => {\n return null;\n};\nexport const JumboTabs = props => {\n var _a;\n const tabListContainerRef = useRef(null);\n const rootRef = useRef(null);\n const keyToIndexRecord = {};\n let firstActiveKey = null;\n const panes = [];\n traverseReactNode(props.children, (child, index) => {\n if (!isValidElement(child)) return;\n const key = child.key;\n if (typeof key !== 'string') return;\n if (index === 0) {\n firstActiveKey = key;\n }\n const length = panes.push(child);\n keyToIndexRecord[key] = length - 1;\n });\n const [activeKey, setActiveKey] = usePropsValue({\n value: props.activeKey,\n defaultValue: (_a = props.defaultActiveKey) !== null && _a !== void 0 ? _a : firstActiveKey,\n onChange: v => {\n var _a;\n if (v === null) return;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, v);\n }\n });\n const {\n scrollLeft,\n animate\n } = useTabListScroll(tabListContainerRef, keyToIndexRecord[activeKey]);\n useResizeEffect(() => {\n animate(true);\n }, rootRef);\n return withNativeProps(props, React.createElement(\"div\", {\n className: classPrefix,\n ref: rootRef\n }, React.createElement(\"div\", {\n className: `${classPrefix}-header`\n }, React.createElement(ScrollMask, {\n scrollTrackRef: tabListContainerRef\n }), React.createElement(animated.div, {\n className: `${classPrefix}-tab-list`,\n ref: tabListContainerRef,\n scrollLeft: scrollLeft\n }, panes.map(pane => withNativeProps(pane.props, React.createElement(\"div\", {\n key: pane.key,\n className: `${classPrefix}-tab-wrapper`\n }, React.createElement(\"div\", {\n onClick: () => {\n const {\n key\n } = pane;\n if (pane.props.disabled) return;\n if (key === undefined || key === null) {\n return;\n }\n setActiveKey(key.toString());\n },\n className: classNames(`${classPrefix}-tab`, {\n [`${classPrefix}-tab-active`]: pane.key === activeKey,\n [`${classPrefix}-tab-disabled`]: pane.props.disabled\n })\n }, React.createElement(\"div\", {\n className: `${classPrefix}-tab-title`\n }, pane.props.title), React.createElement(\"div\", {\n className: `${classPrefix}-tab-description`\n }, pane.props.description))))))), panes.map(pane => {\n if (pane.props.children === undefined) {\n return null;\n }\n const active = pane.key === activeKey;\n return React.createElement(ShouldRender, {\n key: pane.key,\n active: active,\n forceRender: pane.props.forceRender,\n destroyOnClose: pane.props.destroyOnClose\n }, React.createElement(\"div\", {\n className: `${classPrefix}-content`,\n style: {\n display: active ? 'block' : 'none'\n }\n }, pane.props.children));\n })));\n};","import \"./jumbo-tabs.css\";\nimport { JumboTab, JumboTabs } from './jumbo-tabs';\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nexport default attachPropertiesToComponent(JumboTabs, {\n Tab: JumboTab\n});","import { LeftOutline } from 'antd-mobile-icons';\nimport classNames from 'classnames';\nimport React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProp, mergeProps } from '../../utils/with-default-props';\nimport { useConfig } from '../config-provider';\nconst classPrefix = `adm-nav-bar`;\nconst defaultBackIcon = React.createElement(LeftOutline, null);\nexport const NavBar = props => {\n const {\n navBar: componentConfig = {}\n } = useConfig();\n const mergedProps = mergeProps(componentConfig, props);\n const {\n back,\n backIcon,\n backArrow\n } = mergedProps;\n const mergedDefaultBackIcon = componentConfig.backIcon || defaultBackIcon;\n const mergedBackIcon = mergeProp(defaultBackIcon, componentConfig.backIcon, backArrow === true ? mergedDefaultBackIcon : backArrow, backIcon === true ? mergedDefaultBackIcon : backIcon);\n return withNativeProps(mergedProps, React.createElement(\"div\", {\n className: classNames(classPrefix)\n }, React.createElement(\"div\", {\n className: `${classPrefix}-left`,\n role: 'button'\n }, back !== null && React.createElement(\"div\", {\n className: `${classPrefix}-back`,\n onClick: mergedProps.onBack\n }, mergedBackIcon && React.createElement(\"span\", {\n className: `${classPrefix}-back-arrow`\n }, mergedBackIcon), React.createElement(\"span\", {\n \"aria-hidden\": 'true'\n }, back)), mergedProps.left), React.createElement(\"div\", {\n className: `${classPrefix}-title`\n }, mergedProps.children), React.createElement(\"div\", {\n className: `${classPrefix}-right`\n }, mergedProps.right)));\n};","import * as React from \"react\";\n\nfunction LeftOutline(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: \"LeftOutline-LeftOutline\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"LeftOutline-\\u7F16\\u7EC4\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"LeftOutline-\\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: \"M31.7053818,5.11219264 L13.5234393,22.6612572 L13.5234393,22.6612572 C12.969699,23.2125856 12.9371261,24.0863155 13.4257204,24.6755735 L13.5234393,24.7825775 L31.7045714,42.8834676 C31.7795345,42.9580998 31.8810078,43 31.9867879,43 L35.1135102,43 C35.3344241,43 35.5135102,42.8209139 35.5135102,42.6 C35.5135102,42.4936115 35.4711279,42.391606 35.3957362,42.316542 L16.7799842,23.7816937 L16.7799842,23.7816937 L35.3764658,5.6866816 C35.5347957,5.53262122 35.5382568,5.27937888 35.3841964,5.121049 C35.3088921,5.04365775 35.205497,5 35.0975148,5 L31.9831711,5 C31.8795372,5 31.7799483,5.04022164 31.7053818,5.11219264 Z\",\n id: \"LeftOutline-\\u8DEF\\u5F84\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }))));\n}\n\nexport default LeftOutline;","import React, { memo } from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport classNames from 'classnames';\nimport { mergeProps } from '../../utils/with-default-props';\nconst classPrefix = `adm-page-indicator`;\nconst defaultProps = {\n color: 'primary',\n direction: 'horizontal'\n};\nexport const PageIndicator = memo(p => {\n const props = mergeProps(defaultProps, p);\n const dots = [];\n for (let i = 0; i < props.total; i++) {\n dots.push(React.createElement(\"div\", {\n key: i,\n className: classNames(`${classPrefix}-dot`, {\n [`${classPrefix}-dot-active`]: props.current === i\n })\n }));\n }\n return withNativeProps(props, React.createElement(\"div\", {\n className: classNames(classPrefix, `${classPrefix}-${props.direction}`, `${classPrefix}-color-${props.color}`)\n }, dots));\n});","import { __awaiter } from \"tslib\";\nimport React, { useEffect, useRef, useState } from 'react';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { animated, useSpring } from '@react-spring/web';\nimport { useDrag } from '@use-gesture/react';\nimport { getScrollParent } from '../../utils/get-scroll-parent';\nimport { supportsPassive } from '../../utils/supports-passive';\nimport { convertPx } from '../../utils/convert-px';\nimport { rubberbandIfOutOfBounds } from '../../utils/rubberband';\nimport { useConfig } from '../config-provider';\nimport { sleep } from '../../utils/sleep';\nconst classPrefix = `adm-pull-to-refresh`;\nexport const defaultProps = {\n pullingText: '下拉刷新',\n canReleaseText: '释放立即刷新',\n refreshingText: '加载中...',\n completeText: '刷新成功',\n completeDelay: 500,\n disabled: false,\n onRefresh: () => {}\n};\nexport const PullToRefresh = p => {\n var _a, _b;\n const {\n locale\n } = useConfig();\n const props = mergeProps(defaultProps, {\n refreshingText: `${locale.common.loading}...`,\n pullingText: locale.PullToRefresh.pulling,\n canReleaseText: locale.PullToRefresh.canRelease,\n completeText: locale.PullToRefresh.complete\n }, p);\n const headHeight = (_a = props.headHeight) !== null && _a !== void 0 ? _a : convertPx(40);\n const threshold = (_b = props.threshold) !== null && _b !== void 0 ? _b : convertPx(60);\n const [status, setStatus] = useState('pulling');\n const [springStyles, api] = useSpring(() => ({\n from: {\n height: 0\n },\n config: {\n tension: 300,\n friction: 30,\n round: true,\n clamp: true\n }\n }));\n const elementRef = useRef(null);\n const pullingRef = useRef(false);\n //防止下拉时抖动\n useEffect(() => {\n var _a;\n (_a = elementRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('touchmove', () => {});\n }, []);\n const reset = () => {\n return new Promise(resolve => {\n api.start({\n to: {\n height: 0\n },\n onResolve() {\n setStatus('pulling');\n resolve();\n }\n });\n });\n };\n function doRefresh() {\n return __awaiter(this, void 0, void 0, function* () {\n api.start({\n height: headHeight\n });\n setStatus('refreshing');\n try {\n yield props.onRefresh();\n setStatus('complete');\n } catch (e) {\n reset();\n throw e;\n }\n if (props.completeDelay > 0) {\n yield sleep(props.completeDelay);\n }\n reset();\n });\n }\n useDrag(state => {\n if (status === 'refreshing' || status === 'complete') return;\n const {\n event\n } = state;\n if (state.last) {\n pullingRef.current = false;\n if (status === 'canRelease') {\n doRefresh();\n } else {\n api.start({\n height: 0\n });\n }\n return;\n }\n const [, y] = state.movement;\n const parsedY = Math.ceil(y);\n if (state.first && parsedY > 0) {\n const target = state.event.target;\n if (!target || !(target instanceof Element)) return;\n let scrollParent = getScrollParent(target);\n while (true) {\n if (!scrollParent) return;\n const scrollTop = getScrollTop(scrollParent);\n if (scrollTop > 0) {\n return;\n }\n if (scrollParent instanceof Window) {\n break;\n }\n scrollParent = getScrollParent(scrollParent.parentNode);\n }\n pullingRef.current = true;\n function getScrollTop(element) {\n return 'scrollTop' in element ? element.scrollTop : element.scrollY;\n }\n }\n if (!pullingRef.current) return;\n if (event.cancelable) {\n event.preventDefault();\n }\n event.stopPropagation();\n const height = Math.max(rubberbandIfOutOfBounds(parsedY, 0, 0, headHeight * 5, 0.5), 0);\n api.start({\n height\n });\n setStatus(height > threshold ? 'canRelease' : 'pulling');\n }, {\n pointer: {\n touch: true\n },\n axis: 'y',\n target: elementRef,\n enabled: !props.disabled,\n eventOptions: supportsPassive ? {\n passive: false\n } : undefined\n });\n const renderStatusText = () => {\n var _a;\n if (props.renderText) {\n return (_a = props.renderText) === null || _a === void 0 ? void 0 : _a.call(props, status);\n }\n if (status === 'pulling') return props.pullingText;\n if (status === 'canRelease') return props.canReleaseText;\n if (status === 'refreshing') return props.refreshingText;\n if (status === 'complete') return props.completeText;\n };\n return React.createElement(animated.div, {\n ref: elementRef,\n className: classPrefix\n }, React.createElement(animated.div, {\n style: springStyles,\n className: `${classPrefix}-head`\n }, React.createElement(\"div\", {\n className: `${classPrefix}-head-content`,\n style: {\n height: headHeight\n }\n }, renderStatusText())), React.createElement(\"div\", {\n className: `${classPrefix}-content`\n }, props.children));\n};","export const sleep = time => new Promise(resolve => setTimeout(resolve, time));","import React, { memo } from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nexport const Corner = memo(props => withNativeProps(props, React.createElement(\"svg\", {\n viewBox: '0 0 30 30'\n}, React.createElement(\"g\", {\n stroke: 'none',\n strokeWidth: '1',\n fill: 'none',\n fillRule: 'evenodd'\n}, React.createElement(\"path\", {\n d: 'M30,0 C13.4314575,3.04359188e-15 -2.02906125e-15,13.4314575 0,30 L0,30 L0,0 Z',\n fill: 'var(--adm-color-background)',\n transform: 'translate(15.000000, 15.000000) scale(-1, -1) translate(-15.000000, -15.000000) '\n})))));","import React, { isValidElement } from 'react';\nimport classNames from 'classnames';\nimport Badge from '../badge';\nimport { withNativeProps } from '../../utils/native-props';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport { Corner } from './corner';\nimport { traverseReactNode } from '../../utils/traverse-react-node';\nconst classPrefix = `adm-side-bar`;\n/* istanbul ignore next */\nexport const SideBarItem = () => {\n return null;\n};\nexport const SideBar = props => {\n var _a;\n let firstActiveKey = null;\n const items = [];\n traverseReactNode(props.children, (child, index) => {\n if (!isValidElement(child)) return;\n const key = child.key;\n if (typeof key !== 'string') return;\n if (index === 0) {\n firstActiveKey = key;\n }\n items.push(child);\n });\n const [activeKey, setActiveKey] = usePropsValue({\n value: props.activeKey,\n defaultValue: (_a = props.defaultActiveKey) !== null && _a !== void 0 ? _a : firstActiveKey,\n onChange: v => {\n var _a;\n if (v === null) return;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, v);\n }\n });\n const lastItem = items[items.length - 1];\n const isLastItemActive = lastItem && lastItem.key === activeKey;\n return withNativeProps(props, React.createElement(\"div\", {\n className: classPrefix\n }, React.createElement(\"div\", {\n className: `${classPrefix}-items`\n }, items.map((item, index) => {\n const active = item.key === activeKey;\n const isActiveNextSibling = items[index - 1] && items[index - 1].key === activeKey;\n const isActivePreviousSibling = items[index + 1] && items[index + 1].key === activeKey;\n return withNativeProps(item.props, React.createElement(\"div\", {\n key: item.key,\n onClick: () => {\n const {\n key\n } = item;\n if (key === undefined || key === null || item.props.disabled) return;\n setActiveKey(key.toString());\n },\n className: classNames(`${classPrefix}-item`, {\n [`${classPrefix}-item-active`]: active,\n [`${classPrefix}-item-disabled`]: item.props.disabled\n })\n }, React.createElement(React.Fragment, null, isActiveNextSibling && React.createElement(Corner, {\n className: `${classPrefix}-item-corner ${classPrefix}-item-corner-top`\n }), isActivePreviousSibling && React.createElement(Corner, {\n className: `${classPrefix}-item-corner ${classPrefix}-item-corner-bottom`\n })), React.createElement(Badge, {\n content: item.props.badge,\n className: `${classPrefix}-badge`\n }, React.createElement(\"div\", {\n className: `${classPrefix}-item-title`\n }, active && React.createElement(\"div\", {\n className: `${classPrefix}-item-highlight`\n }), item.props.title))));\n })), React.createElement(\"div\", {\n className: classNames(`${classPrefix}-extra-space`, isLastItemActive && `${classPrefix}-item-active-next-sibling`)\n }, isLastItemActive && React.createElement(Corner, {\n className: `${classPrefix}-item-corner ${classPrefix}-item-corner-top`\n }))));\n};","import \"./side-bar.css\";\nimport { SideBar, SideBarItem } from './side-bar';\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nexport default attachPropertiesToComponent(SideBar, {\n Item: SideBarItem\n});","import React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nexport const SwiperItem = props => {\n return withNativeProps(props, React.createElement(\"div\", {\n className: 'adm-swiper-item',\n onClick: props.onClick\n }, props.children));\n};","import React, { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nimport classNames from 'classnames';\nimport { SwiperItem } from './swiper-item';\nimport { devWarning } from '../../utils/dev-log';\nimport { useSpring, animated } from '@react-spring/web';\nimport { useDrag } from '@use-gesture/react';\nimport PageIndicator from '../page-indicator';\nimport { staged } from 'staged-components';\nimport { useRefState } from '../../utils/use-ref-state';\nimport { bound } from '../../utils/bound';\nimport { useIsomorphicLayoutEffect, useGetState } from 'ahooks';\nimport { mergeFuncProps } from '../../utils/with-func-props';\nconst classPrefix = `adm-swiper`;\nconst eventToPropRecord = {\n 'mousedown': 'onMouseDown',\n 'mousemove': 'onMouseMove',\n 'mouseup': 'onMouseUp'\n};\nconst defaultProps = {\n defaultIndex: 0,\n allowTouchMove: true,\n autoplay: false,\n autoplayInterval: 3000,\n loop: false,\n direction: 'horizontal',\n slideSize: 100,\n trackOffset: 0,\n stuckAtBoundary: true,\n rubberband: true,\n stopPropagation: []\n};\nlet currentUid;\nexport const Swiper = forwardRef(staged((p, ref) => {\n const props = mergeProps(defaultProps, p);\n const {\n direction,\n total,\n children,\n indicator\n } = props;\n const [uid] = useState({});\n const timeoutRef = useRef(null);\n const isVertical = direction === 'vertical';\n const slideRatio = props.slideSize / 100;\n const offsetRatio = props.trackOffset / 100;\n const {\n validChildren,\n count,\n renderChildren\n } = useMemo(() => {\n let count = 0;\n let renderChildren = undefined;\n let validChildren = undefined;\n if (typeof children === 'function') {\n renderChildren = children;\n } else {\n validChildren = React.Children.map(children, child => {\n if (!React.isValidElement(child)) return null;\n if (child.type !== SwiperItem) {\n devWarning('Swiper', 'The children of `Swiper` must be `Swiper.Item` components.');\n return null;\n }\n count++;\n return child;\n });\n }\n return {\n renderChildren,\n validChildren,\n count\n };\n }, [children]);\n const mergedTotal = total !== null && total !== void 0 ? total : count;\n if (mergedTotal === 0 || !validChildren && !renderChildren) {\n devWarning('Swiper', '`Swiper` needs at least one child.');\n return null;\n }\n return () => {\n let loop = props.loop;\n if (slideRatio * (mergedTotal - 1) < 1) {\n loop = false;\n }\n const trackRef = useRef(null);\n function getSlidePixels() {\n const track = trackRef.current;\n if (!track) return 0;\n const trackPixels = isVertical ? track.offsetHeight : track.offsetWidth;\n return trackPixels * props.slideSize / 100;\n }\n const [current, setCurrent, getCurrent] = useGetState(props.defaultIndex);\n const [dragging, setDragging, draggingRef] = useRefState(false);\n function boundIndex(current) {\n let min = 0;\n let max = mergedTotal - 1;\n if (props.stuckAtBoundary) {\n min += offsetRatio / slideRatio;\n max -= (1 - slideRatio - offsetRatio) / slideRatio;\n }\n return bound(current, min, max);\n }\n const [{\n position\n }, api] = useSpring(() => ({\n position: boundIndex(current) * 100,\n config: {\n tension: 200,\n friction: 30\n },\n onRest: () => {\n if (draggingRef.current) return;\n if (!loop) return;\n const rawX = position.get();\n const totalWidth = 100 * mergedTotal;\n const standardPosition = modulus(rawX, totalWidth);\n if (standardPosition === rawX) return;\n api.start({\n position: standardPosition,\n immediate: true\n });\n }\n }), [mergedTotal]);\n const dragCancelRef = useRef(null);\n function forceCancelDrag() {\n var _a;\n (_a = dragCancelRef.current) === null || _a === void 0 ? void 0 : _a.call(dragCancelRef);\n draggingRef.current = false;\n }\n const bind = useDrag(state => {\n dragCancelRef.current = state.cancel;\n if (!state.intentional) return;\n if (state.first && !currentUid) {\n currentUid = uid;\n }\n if (currentUid !== uid) return;\n currentUid = state.last ? undefined : uid;\n const slidePixels = getSlidePixels();\n if (!slidePixels) return;\n const paramIndex = isVertical ? 1 : 0;\n const offset = state.offset[paramIndex];\n const direction = state.direction[paramIndex];\n const velocity = state.velocity[paramIndex];\n setDragging(true);\n if (!state.last) {\n api.start({\n position: offset * 100 / slidePixels,\n immediate: true\n });\n } else {\n const minIndex = Math.floor(offset / slidePixels);\n const maxIndex = minIndex + 1;\n const index = Math.round((offset + velocity * 2000 * direction) / slidePixels);\n swipeTo(bound(index, minIndex, maxIndex));\n window.setTimeout(() => {\n setDragging(false);\n });\n }\n }, {\n transform: ([x, y]) => [-x, -y],\n from: () => {\n const slidePixels = getSlidePixels();\n return [position.get() / 100 * slidePixels, position.get() / 100 * slidePixels];\n },\n triggerAllEvents: true,\n bounds: () => {\n if (loop) return {};\n const slidePixels = getSlidePixels();\n const lowerBound = boundIndex(0) * slidePixels;\n const upperBound = boundIndex(mergedTotal - 1) * slidePixels;\n return isVertical ? {\n top: lowerBound,\n bottom: upperBound\n } : {\n left: lowerBound,\n right: upperBound\n };\n },\n rubberband: props.rubberband,\n axis: isVertical ? 'y' : 'x',\n preventScroll: !isVertical,\n pointer: {\n touch: true\n }\n });\n function swipeTo(index, immediate = false) {\n var _a;\n const roundedIndex = Math.round(index);\n const targetIndex = loop ? modulus(roundedIndex, mergedTotal) : bound(roundedIndex, 0, mergedTotal - 1);\n if (targetIndex !== getCurrent()) {\n (_a = props.onIndexChange) === null || _a === void 0 ? void 0 : _a.call(props, targetIndex);\n }\n setCurrent(targetIndex);\n api.start({\n position: (loop ? roundedIndex : boundIndex(roundedIndex)) * 100,\n immediate\n });\n }\n function swipeNext() {\n swipeTo(Math.round(position.get() / 100) + 1);\n }\n function swipePrev() {\n swipeTo(Math.round(position.get() / 100) - 1);\n }\n useImperativeHandle(ref, () => ({\n swipeTo,\n swipeNext,\n swipePrev\n }));\n useIsomorphicLayoutEffect(() => {\n const maxIndex = mergedTotal - 1;\n if (current > maxIndex) {\n swipeTo(maxIndex, true);\n }\n });\n const {\n autoplay,\n autoplayInterval\n } = props;\n const runTimeSwiper = () => {\n timeoutRef.current = window.setTimeout(() => {\n if (autoplay === 'reverse') {\n swipePrev();\n } else {\n swipeNext();\n }\n runTimeSwiper();\n }, autoplayInterval);\n };\n useEffect(() => {\n if (!autoplay || dragging) return;\n runTimeSwiper();\n return () => {\n if (timeoutRef.current) window.clearTimeout(timeoutRef.current);\n };\n }, [autoplay, autoplayInterval, dragging, mergedTotal]);\n // ============================== Render ==============================\n // Render Item\n function renderItem(index, child) {\n let itemStyle = {};\n if (loop) {\n itemStyle = {\n [isVertical ? 'y' : 'x']: position.to(position => {\n let finalPosition = -position + index * 100;\n const totalWidth = mergedTotal * 100;\n const flagWidth = totalWidth / 2;\n finalPosition = modulus(finalPosition + flagWidth, totalWidth) - flagWidth;\n return `${finalPosition}%`;\n }),\n [isVertical ? 'top' : 'left']: `-${index * 100}%`\n };\n }\n return React.createElement(animated.div, {\n className: classNames(`${classPrefix}-slide`, {\n [`${classPrefix}-slide-active`]: current === index\n }),\n style: itemStyle,\n key: index\n }, child);\n }\n function renderItems() {\n if (renderChildren && total) {\n const offsetCount = 2;\n const startIndex = Math.max(current - offsetCount, 0);\n const endIndex = Math.min(current + offsetCount, total - 1);\n const items = [];\n for (let index = startIndex; index <= endIndex; index += 1) {\n items.push(renderItem(index, renderChildren(index)));\n }\n return React.createElement(React.Fragment, null, React.createElement(\"div\", {\n className: `${classPrefix}-slide-placeholder`,\n style: {\n width: `${startIndex * 100}%`\n }\n }), items);\n }\n return React.Children.map(validChildren, (child, index) => {\n return renderItem(index, child);\n });\n }\n // Render Track Inner\n function renderTrackInner() {\n if (loop) {\n return React.createElement(\"div\", {\n className: `${classPrefix}-track-inner`\n }, renderItems());\n } else {\n return React.createElement(animated.div, {\n className: `${classPrefix}-track-inner`,\n style: {\n [isVertical ? 'y' : 'x']: position.to(position => `${-position}%`)\n }\n }, renderItems());\n }\n }\n // Render\n const style = {\n '--slide-size': `${props.slideSize}%`,\n '--track-offset': `${props.trackOffset}%`\n };\n const dragProps = Object.assign({}, props.allowTouchMove ? bind() : {});\n const stopPropagationProps = {};\n for (const key of props.stopPropagation) {\n const prop = eventToPropRecord[key];\n stopPropagationProps[prop] = function (e) {\n e.stopPropagation();\n };\n }\n const mergedProps = mergeFuncProps(dragProps, stopPropagationProps);\n let indicatorNode = null;\n if (typeof indicator === 'function') {\n indicatorNode = indicator(mergedTotal, current);\n } else if (indicator !== false) {\n indicatorNode = React.createElement(\"div\", {\n className: `${classPrefix}-indicator`\n }, React.createElement(PageIndicator, Object.assign({}, props.indicatorProps, {\n total: mergedTotal,\n current: current,\n direction: direction\n })));\n }\n return withNativeProps(props, React.createElement(\"div\", {\n className: classNames(classPrefix, `${classPrefix}-${direction}`),\n style: style\n }, React.createElement(\"div\", Object.assign({\n ref: trackRef,\n className: classNames(`${classPrefix}-track`, {\n [`${classPrefix}-track-allow-touch-move`]: props.allowTouchMove\n }),\n onClickCapture: e => {\n if (draggingRef.current) {\n e.stopPropagation();\n }\n forceCancelDrag();\n }\n }, mergedProps), renderTrackInner()), indicatorNode));\n };\n}));\nfunction modulus(value, division) {\n const remainder = value % division;\n return remainder < 0 ? remainder + division : remainder;\n}","import { __read } from \"tslib\";\nimport { useState, useCallback } from 'react';\nimport useLatest from '../useLatest';\nfunction useGetState(initialState) {\n var _a = __read(useState(initialState), 2),\n state = _a[0],\n setState = _a[1];\n var stateRef = useLatest(state);\n var getState = useCallback(function () {\n return stateRef.current;\n }, []);\n return [state, setState, getState];\n}\nexport default useGetState;","import { useEffect, useRef, useState } from 'react';\nexport function useRefState(initialState) {\n const [state, setState] = useState(initialState);\n const ref = useRef(state);\n useEffect(() => {\n ref.current = state;\n }, [state]);\n return [state, setState, ref];\n}","export function mergeFuncProps(p1, p2) {\n const p1Keys = Object.keys(p1);\n const p2Keys = Object.keys(p2);\n const keys = new Set([...p1Keys, ...p2Keys]);\n const res = {};\n keys.forEach(key => {\n const p1Value = p1[key];\n const p2Value = p2[key];\n if (typeof p1Value === 'function' && typeof p2Value === 'function') {\n res[key] = function (...args) {\n p1Value(...args);\n p2Value(...args);\n };\n } else {\n res[key] = p1Value || p2Value;\n }\n });\n return res;\n}","import \"./swiper.css\";\nimport { Swiper } from './swiper';\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { SwiperItem } from './swiper-item';\nexport default attachPropertiesToComponent(Swiper, {\n Item: SwiperItem\n});","import React, { isValidElement } from 'react';\nimport classNames from 'classnames';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nimport Badge from '../badge';\nimport SafeArea from '../safe-area';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport { traverseReactNode } from '../../utils/traverse-react-node';\n/* istanbul ignore next */\nexport const TabBarItem = () => {\n return null;\n};\nconst classPrefix = `adm-tab-bar`;\nconst defaultProps = {\n safeArea: false\n};\nexport const TabBar = p => {\n var _a;\n const props = mergeProps(defaultProps, p);\n let firstActiveKey = null;\n const items = [];\n traverseReactNode(props.children, (child, index) => {\n if (!isValidElement(child)) return;\n const key = child.key;\n if (typeof key !== 'string') return;\n if (index === 0) {\n firstActiveKey = key;\n }\n items.push(child);\n });\n const [activeKey, setActiveKey] = usePropsValue({\n value: props.activeKey,\n defaultValue: (_a = props.defaultActiveKey) !== null && _a !== void 0 ? _a : firstActiveKey,\n onChange: v => {\n var _a;\n if (v === null) return;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, v);\n }\n });\n return withNativeProps(props, React.createElement(\"div\", {\n className: classPrefix\n }, React.createElement(\"div\", {\n className: `${classPrefix}-wrap`\n }, items.map(item => {\n const active = item.key === activeKey;\n function renderContent() {\n const iconElement = item.props.icon && React.createElement(\"div\", {\n className: `${classPrefix}-item-icon`\n }, typeof item.props.icon === 'function' ? item.props.icon(active) : item.props.icon);\n const titleElement = item.props.title && React.createElement(\"div\", {\n className: classNames(`${classPrefix}-item-title`, Boolean(iconElement) && `${classPrefix}-item-title-with-icon`)\n }, typeof item.props.title === 'function' ? item.props.title(active) : item.props.title);\n if (iconElement) {\n return React.createElement(React.Fragment, null, React.createElement(Badge, {\n content: item.props.badge,\n className: `${classPrefix}-icon-badge`\n }, iconElement), titleElement);\n } else if (titleElement) {\n return React.createElement(Badge, {\n content: item.props.badge,\n className: `${classPrefix}-title-badge`\n }, titleElement);\n }\n return null;\n }\n return withNativeProps(item.props, React.createElement(\"div\", {\n key: item.key,\n onClick: () => {\n var _a, _b;\n const {\n key\n } = item;\n if (key === undefined || key === null) return;\n setActiveKey(key.toString());\n (_b = (_a = item.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a);\n },\n className: classNames(`${classPrefix}-item`, {\n [`${classPrefix}-item-active`]: active\n })\n }, renderContent()));\n })), props.safeArea && React.createElement(SafeArea, {\n position: 'bottom'\n })));\n};","import \"./tab-bar.css\";\nimport { TabBar, TabBarItem } from './tab-bar';\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nexport default attachPropertiesToComponent(TabBar, {\n Item: TabBarItem\n});","import { CheckOutline, CloseOutline } from 'antd-mobile-icons';\nimport classNames from 'classnames';\nimport React, { useMemo } from 'react';\nimport { mergeProps } from '../../utils/with-default-props';\nimport AutoCenter from '../auto-center';\nimport Mask from '../mask';\nimport SpinLoading from '../spin-loading';\nconst classPrefix = `adm-toast`;\nconst defaultProps = {\n maskClickable: true,\n stopPropagation: ['click']\n};\nexport const InternalToast = p => {\n const props = mergeProps(defaultProps, p);\n const {\n maskClickable,\n content,\n icon,\n position\n } = props;\n const iconElement = useMemo(() => {\n if (icon === null || icon === undefined) return null;\n switch (icon) {\n case 'success':\n return React.createElement(CheckOutline, {\n className: `${classPrefix}-icon-success`\n });\n case 'fail':\n return React.createElement(CloseOutline, {\n className: `${classPrefix}-icon-fail`\n });\n case 'loading':\n return React.createElement(SpinLoading, {\n color: 'white',\n className: `${classPrefix}-loading`\n });\n default:\n return icon;\n }\n }, [icon]);\n const top = useMemo(() => {\n switch (position) {\n case 'top':\n return '20%';\n case 'bottom':\n return '80%';\n default:\n return '50%';\n }\n }, [position]);\n return React.createElement(Mask, {\n visible: props.visible,\n destroyOnClose: true,\n opacity: 0,\n disableBodyScroll: !maskClickable,\n getContainer: props.getContainer,\n afterClose: props.afterClose,\n style: Object.assign({\n pointerEvents: maskClickable ? 'none' : 'auto'\n }, props.maskStyle),\n className: classNames(`${classPrefix}-mask`, props.maskClassName),\n stopPropagation: props.stopPropagation\n }, React.createElement(\"div\", {\n className: classNames(`${classPrefix}-wrap`)\n }, React.createElement(\"div\", {\n style: {\n top\n },\n className: classNames(`${classPrefix}-main`, icon ? `${classPrefix}-main-icon` : `${classPrefix}-main-text`)\n }, iconElement && React.createElement(\"div\", {\n className: `${classPrefix}-icon`\n }, iconElement), React.createElement(AutoCenter, null, content))));\n};","import React from 'react';\nimport { renderImperatively } from '../../utils/render-imperatively';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { InternalToast } from './toast';\nlet currentHandler = null;\nlet currentTimeout = null;\nconst defaultProps = {\n duration: 2000,\n position: 'center',\n maskClickable: true\n};\nconst ToastInner = props => React.createElement(InternalToast, Object.assign({}, props));\nexport function show(p) {\n var _a;\n const props = mergeProps(defaultProps, typeof p === 'string' ? {\n content: p\n } : p);\n const element = React.createElement(ToastInner, Object.assign({}, props, {\n onClose: () => {\n currentHandler = null;\n }\n }));\n if (currentHandler) {\n if ((_a = currentHandler.isRendered) === null || _a === void 0 ? void 0 : _a.call(currentHandler)) {\n currentHandler.replace(element);\n } else {\n currentHandler.close();\n currentHandler = renderImperatively(element);\n }\n } else {\n currentHandler = renderImperatively(element);\n }\n if (currentTimeout) {\n window.clearTimeout(currentTimeout);\n }\n if (props.duration !== 0) {\n currentTimeout = window.setTimeout(() => {\n clear();\n }, props.duration);\n }\n return currentHandler;\n}\nexport function clear() {\n currentHandler === null || currentHandler === void 0 ? void 0 : currentHandler.close();\n currentHandler = null;\n}\nexport function config(val) {\n if (val.duration !== undefined) {\n defaultProps.duration = val.duration;\n }\n if (val.position !== undefined) {\n defaultProps.position = val.position;\n }\n if (val.maskClickable !== undefined) {\n defaultProps.maskClickable = val.maskClickable;\n }\n}","import \"./toast.css\";\nimport { clear, show, config } from './methods';\nconst Toast = {\n show,\n clear,\n config\n};\nexport default Toast;","import {\n Avatar as AntdAvatar,\n type AvatarProps as AntdAvatarProps,\n} from \"antd-mobile\";\n\nexport interface AvatarProps extends AntdAvatarProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const Avatar: React.FC<AvatarProps> = (props) => {\n return <AntdAvatar {...props} />;\n};\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\nexport interface 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\nexport interface 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\nexport interface 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","import {\n Badge as AntdBadge,\n type BadgeProps as AntdBadgeProps,\n} from \"antd-mobile\";\nimport React from \"react\";\n\nexport interface BadgeProps extends AntdBadgeProps {\n /** An optional prop */\n optional?: string;\n}\n\nconst BaseBadge: React.FC<BadgeProps> = (props) => {\n return <AntdBadge {...props} />;\n};\n\nexport const Badge = BaseBadge as React.FC<BadgeProps> & {\n dot: typeof AntdBadge.dot;\n};\n\nBadge.dot = AntdBadge.dot;\n","// Libraries\nimport {\n CapsuleTabs as AntdCapsuleTabs,\n CapsuleTabsProps as AntdCapsuleTabsProps,\n} from \"antd-mobile\";\nimport React from \"react\";\n\nexport interface CapsuleTabsProps extends AntdCapsuleTabsProps {}\n\nconst BaseCapsuleTabs: React.FC<CapsuleTabsProps> = (props) => {\n return <AntdCapsuleTabs {...props} />;\n};\n\nexport const CapsuleTabs = BaseCapsuleTabs as React.FC<CapsuleTabsProps> & {\n Tab: typeof AntdCapsuleTabs.Tab;\n};\n\nCapsuleTabs.Tab = AntdCapsuleTabs.Tab;\n","import { Card as AntdCard, type CardProps as AntdCardProps } from \"antd-mobile\";\n\nexport interface CardProps extends AntdCardProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const Card: React.FC<CardProps> = (props) => {\n return <AntdCard {...props} />;\n};\n","// Libraries\nimport {\n Collapse as AntdCollapse,\n type CollapseProps as AntdCollapseProps,\n} from \"antd-mobile\";\n\nexport type CollapseProps = AntdCollapseProps & {\n /** Optional */\n optional?: boolean;\n};\n\nconst BaseCollapse: React.FC<CollapseProps> = (props) => {\n return <AntdCollapse {...props} />;\n};\n\nexport const Collapse = BaseCollapse as React.FC<CollapseProps> & {\n Panel: typeof AntdCollapse.Panel;\n};\n\nCollapse.Panel = AntdCollapse.Panel;\n","import {\n Ellipsis as AntdEllipsis,\n type EllipsisProps as AntdEllipsisProps,\n} from \"antd-mobile\";\n\nexport interface EllipsisProps extends AntdEllipsisProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const Ellipsis: React.FC<EllipsisProps> = (props) => {\n return <AntdEllipsis {...props} />;\n};\n","import {\n FloatingPanel as AntdFloatingPanel,\n type FloatingPanelProps as AntdFloatingPanelProps,\n} from \"antd-mobile\";\n\nexport interface FloatingPanelProps extends AntdFloatingPanelProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const FloatingPanel: React.FC<FloatingPanelProps> = (props) => {\n return <AntdFloatingPanel {...props} />;\n};\n","import { Grid as AntdGrid, type GridProps as AntdGridProps } from \"antd-mobile\";\nimport React from \"react\";\n\nexport interface GridProps extends AntdGridProps {\n /** An optional prop */\n optional?: string;\n}\n\nconst BaseGrid: React.FC<GridProps> = (props) => {\n return <AntdGrid {...props} />;\n};\n\nexport const Grid = BaseGrid as React.FC<GridProps> & {\n Item: typeof AntdGrid.Item;\n};\n\nGrid.Item = AntdGrid.Item;\n","import {\n Image as AntdImage,\n type ImageProps as AntdImageProps,\n} from \"antd-mobile\";\n\nexport interface ImageProps extends AntdImageProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const Image: React.FC<ImageProps> = (props) => {\n return <AntdImage {...props} />;\n};\n","import {\n ImageViewer as AntdImageViewer,\n type ImageViewerProps as AntdImageViewerProps,\n} from \"antd-mobile\";\n\nexport interface ImageViewerProps extends AntdImageViewerProps {\n /** An optional prop */\n optional?: string;\n}\n\nconst BaseImageViewer: React.FC<ImageViewerProps> = (props) => {\n return <AntdImageViewer {...props} />;\n};\n\nexport const ImageViewer = BaseImageViewer as React.FC<ImageViewerProps> & {\n Multi: typeof AntdImageViewer.Multi;\n};\n\nImageViewer.Multi = AntdImageViewer.Multi;\n","import {\n IndexBar as AntdIndexBar,\n type IndexBarProps as AntdIndexBarProps,\n type IndexBarRef as AntdIndexBarRef,\n} from \"antd-mobile\";\nimport { forwardRef } from \"react\";\n\nexport interface IndexBarProps extends AntdIndexBarProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport type IndexBarRef = AntdIndexBarRef;\n\nconst BaseIndexBar = forwardRef<IndexBarRef, IndexBarProps>((props, ref) => {\n return <AntdIndexBar ref={ref} {...props} />;\n});\n\nexport const IndexBar = BaseIndexBar as unknown as typeof BaseIndexBar & {\n Panel: typeof AntdIndexBar.Panel;\n};\n\nIndexBar.Panel = AntdIndexBar.Panel;\n","// Libraries\nimport {\n JumboTabs as AntdJumboTabs,\n type JumboTabsProps as AntdJumboTabsProps,\n} from \"antd-mobile\";\n\nexport interface JumboTabsProps extends AntdJumboTabsProps {\n /** Optional */\n optional?: boolean;\n}\n\nconst BaseJumboTabs: React.FC<JumboTabsProps> = (props) => {\n return <AntdJumboTabs {...props} />;\n};\n\nexport const JumboTabs = BaseJumboTabs as React.FC<JumboTabsProps> & {\n Tab: typeof AntdJumboTabs.Tab;\n};\n\nJumboTabs.Tab = AntdJumboTabs.Tab;\n","import {\n NavBar as AntdNavBar,\n type NavBarProps as AntdNavBarProps,\n} from \"antd-mobile\";\nimport React from \"react\";\n\nexport interface NavBarProps extends AntdNavBarProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const NavBar: React.FC<NavBarProps> = (props) => {\n return <AntdNavBar {...props} />;\n};\n","import {\n SafeArea as AntdSafeArea,\n type SafeAreaProps as AntdSafeAreaProps,\n} from \"antd-mobile\";\nimport React from \"react\";\n\nexport interface SafeAreaProps extends AntdSafeAreaProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const SafeArea: React.FC<SafeAreaProps> = (props) => {\n return <AntdSafeArea {...props} />;\n};\n","// Libraries\nimport {\n SideBar as AntdSideBar,\n type SideBarProps as AntdSideBarProps,\n} from \"antd-mobile\";\n\nexport interface SideBarProps extends AntdSideBarProps {\n /** Optional */\n optional?: boolean;\n}\n\nconst BaseSideBar: React.FC<SideBarProps> = (props) => {\n return <AntdSideBar {...props} />;\n};\n\nexport const SideBar = BaseSideBar as React.FC<SideBarProps> & {\n Item: typeof AntdSideBar.Item;\n};\n\nSideBar.Item = AntdSideBar.Item;\n","// Libraries\nimport {\n TabBar as AntdTabBar,\n type TabBarProps as AntdTabBarProps,\n} from \"antd-mobile\";\n\nexport interface TabBarProps extends AntdTabBarProps {\n /** Optional */\n optional?: boolean;\n}\n\nconst BaseTabBar: React.FC<TabBarProps> = (props) => {\n return <AntdTabBar {...props} />;\n};\n\nexport const TabBar = BaseTabBar as React.FC<TabBarProps> & {\n Item: typeof AntdTabBar.Item;\n};\n\nTabBar.Item = AntdTabBar.Item;\n","// Libraries\nimport { Tabs as AntdTabs, type TabsProps as AntdTabsProps } from \"antd-mobile\";\n\nexport interface TabsProps extends AntdTabsProps {\n /** Optional */\n optional?: boolean;\n}\n\nconst BaseTabs: React.FC<TabsProps> = (props) => {\n return <AntdTabs {...props} />;\n};\n\nexport const Tabs = BaseTabs as React.FC<TabsProps> & {\n Tab: typeof AntdTabs.Tab;\n};\n\nTabs.Tab = AntdTabs.Tab;\n","/**\n * @license lucide-react v0.475.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nconst toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst mergeClasses = (...classes) => classes.filter((className, index, array) => {\n return Boolean(className) && className.trim() !== \"\" && array.indexOf(className) === index;\n}).join(\" \").trim();\n\nexport { mergeClasses, toKebabCase };\n//# sourceMappingURL=utils.js.map\n","/**\n * @license lucide-react v0.475.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nvar defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n};\n\nexport { defaultAttributes as default };\n//# sourceMappingURL=defaultAttributes.js.map\n","/**\n * @license lucide-react v0.475.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport defaultAttributes from './defaultAttributes.js';\nimport { mergeClasses } from './shared/src/utils.js';\n\nconst Icon = forwardRef(\n ({\n color = \"currentColor\",\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = \"\",\n children,\n iconNode,\n ...rest\n }, ref) => {\n return createElement(\n \"svg\",\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,\n className: mergeClasses(\"lucide\", className),\n ...rest\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...Array.isArray(children) ? children : [children]\n ]\n );\n }\n);\n\nexport { Icon as default };\n//# sourceMappingURL=Icon.js.map\n","/**\n * @license lucide-react v0.475.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"polyline\", { points: \"22 12 16 12 14 15 10 15 8 12 2 12\", key: \"o97t9d\" }],\n [\n \"path\",\n {\n d: \"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z\",\n key: \"oot6mr\"\n }\n ]\n];\nconst Inbox = createLucideIcon(\"Inbox\", __iconNode);\n\nexport { __iconNode, Inbox as default };\n//# sourceMappingURL=inbox.js.map\n","/**\n * @license lucide-react v0.475.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport { mergeClasses, toKebabCase } from './shared/src/utils.js';\nimport Icon from './Icon.js';\n\nconst createLucideIcon = (iconName, iconNode) => {\n const Component = forwardRef(\n ({ className, ...props }, ref) => createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className),\n ...props\n })\n );\n Component.displayName = `${iconName}`;\n return Component;\n};\n\nexport { createLucideIcon as default };\n//# sourceMappingURL=createLucideIcon.js.map\n","// Libraries\nimport {\n ErrorBlock as AntdErrorBlock,\n type ErrorBlockProps as AntdErrorBlockProps,\n} from \"antd-mobile\";\nimport { InboxIcon } from \"lucide-react\";\nimport { useMemo } from \"react\";\n\nexport interface ErrorBlockProps extends AntdErrorBlockProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const ErrorBlock: React.FC<ErrorBlockProps> = (props) => {\n // Memos\n const image = useMemo(() => {\n switch (props.status) {\n case \"empty\":\n return (\n <InboxIcon\n size={90}\n style={{\n color: \"var(--adm-color-primary)\",\n }}\n />\n );\n\n default:\n return undefined;\n }\n }, [props.status]);\n\n return <AntdErrorBlock image={image} {...props} />;\n};\n","// Libraries\nimport {\n Swiper as AntdSwiper,\n type SwiperProps as AntdSwiperProps,\n} from \"antd-mobile\";\n\nexport interface SwiperProps extends AntdSwiperProps {}\n\nconst BaseSwiper: React.FC<SwiperProps> = (props) => {\n return <AntdSwiper {...props} />;\n};\n\nexport const Swiper = BaseSwiper as React.FC<SwiperProps> & {\n Item: typeof AntdSwiper.Item;\n};\n\nSwiper.Item = AntdSwiper.Item;\n","import {\n InfiniteScroll as AntdInfiniteScroll,\n type InfiniteScrollProps as AntdInfiniteScrollProps,\n} from \"antd-mobile\";\nimport React from \"react\";\n\nexport interface InfiniteScrollProps extends AntdInfiniteScrollProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const InfiniteScroll: React.FC<InfiniteScrollProps> = (props) => {\n return <AntdInfiniteScroll {...props} />;\n};\n","import {\n ActionSheet as AntdActionSheet,\n type ActionSheetProps as AntdActionSheetProps,\n} from \"antd-mobile\";\nimport type {\n Action as ActionAntd,\n ActionSheetShowHandler as ActionSheetShowHandlerAntd,\n} from \"antd-mobile/es/components/action-sheet\";\n\nexport interface ActionSheetProps extends AntdActionSheetProps {\n /** An optional prop */\n optional?: string;\n}\n\ntype ActionSheetType = React.FC<ActionSheetProps> & {\n show: typeof AntdActionSheet.show;\n};\n\n// const ActionSheet: React.FC<AntdActionSheetProps> = (props) => {\n// return <AntdActionSheet {...props} />;\n// };\n\nconst ActionSheet: ActionSheetType = ((props) => {\n return <AntdActionSheet {...props} />;\n}) as ActionSheetType;\n\nActionSheet.show = AntdActionSheet.show;\n\nexport {\n ActionSheet,\n type ActionSheetShowHandlerAntd as ActionSheetShowHandler,\n type ActionAntd as Action,\n};\n","import {\n PullToRefresh as AntdPullToRefresh,\n type PullToRefreshProps as AntdPullToRefreshProps,\n} from \"antd-mobile\";\nimport React from \"react\";\n\nexport interface PullToRefreshProps extends AntdPullToRefreshProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const PullToRefresh: React.FC<PullToRefreshProps> = (props) => {\n return <AntdPullToRefresh {...props} />;\n};\n","import {\n DotLoading as AntdDotLoading,\n type DotLoadingProps as AntdDotLoadingProps,\n} from \"antd-mobile\";\nimport React from \"react\";\n\nexport interface DotLoadingProps extends AntdDotLoadingProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const DotLoading: React.FC<DotLoadingProps> = (props) => {\n return <AntdDotLoading {...props} />;\n};\n","import {\n SpinLoading as AntdSpinLoading,\n type SpinLoadingProps as AntdSpinLoadingProps,\n} from \"antd-mobile\";\nimport React from \"react\";\n\nexport interface SpinLoadingProps extends AntdSpinLoadingProps {\n /** An optional prop */\n optional?: string;\n}\n\nexport const SpinLoading: React.FC<SpinLoadingProps> = (props) => {\n return <AntdSpinLoading {...props} />;\n};\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 ErrorBlock: {\n ...viVN.ErrorBlock,\n empty: {\n title: \"Không có dữ liệu\",\n description: \"Hiện tại không có dữ liệu, xin vui lòng thử lại sau.\",\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","addEventListener","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","__generator","body","f","y","_","label","sent","trys","ops","g","create","Iterator","verb","Symbol","iterator","v","op","TypeError","pop","push","__read","o","m","r","ar","error","__spreadArray","to","from","pack","l","Array","slice","concat","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","parentConfig","useConfig","Provider","_a","useContext","undefined","attachPropertiesToComponent","component","properties","ret","key","hasOwn","classNames","classes","arg","appendClass","parseValue","isArray","toString","includes","newClass","module","exports","withNativeProps","element","className","style","tabIndex","startsWith","cloneElement","mergeProps","items","forEach","item","keys","mergeProp","defaultProp","propList","createUpdateEffect","hook","effect","deps","isMounted","useRef","isFunction","isDev","process","env","NODE_ENV","useMemoizedFn","fn","console","fnRef","useMemo","memoizedFn","args","_i","useUpdateEffect","useEffect","depsAreSame","oldDeps","is","useLatest","ref","useUnmount","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","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","invokeFunc","time","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","timeWaiting","debounced","isInvoking","clearTimeout","flush","isBrowser","debounce","throttle_1","getTargetElement","target","defaultElement","createEffectWithTarget","useEffectType","hasInitRef","lastElementRef","lastDepsRef","unLoadRef","els","map","useEffectWithTarget","u","a","c","h","d","$","M","weekdays","split","months","ordinal","String","join","z","utcOffset","abs","floor","year","month","clone","add","ceil","w","D","ms","Q","toLowerCase","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","useDebounceEffect","useState","flag","setFlag","run","hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","equal","constructor","it","size","entries","has","RegExp","source","flags","$$typeof","reactFastCompare","message","warn","useInViewport","callback","option","_b","state","setState","_c","ratio","setRatio","filter","Boolean","observer","IntersectionObserver","e_1","entries_1","entries_1_1","entry","intersectionRatio","isIntersecting","e_1_1","return","el","observe","disconnect","useIsomorphicLayoutEffect","useLayoutEffect","useUnmountedRef","unmountedRef","MapShim","getIndex","arr","some","class_1","__entries__","defineProperty","enumerable","configurable","delete","splice","ctx","global$1","requestAnimationFrame$1","requestAnimationFrame","bind","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","delay","leadingCall","trailingCall","resolvePending","proxy","timeoutCallback","timeStamp","addObserver","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","attributes","childList","characterData","subtree","removeEventListener","propertyName","getInstance","instance_","defineConfigurable","writable","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","styles","positions","reduce","position","getHTMLElementContentRect","clientWidth","clientHeight","getComputedStyle","paddings","positions_1","horizPad","left","right","vertPad","top","bottom","width","height","boxSizing","documentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","Constr","contentRect","DOMRectReadOnly","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","unobserve","clearActive","_this","observation","WeakMap","ResizeObserver","useIsomorphicLayoutEffectWithTarget","useLayoutEffectWithTarget","useSize","initialState","setRafState","useCallback","cancelAnimationFrame","resizeObserver","useThrottleFn","throttled","throttle","defaultRoot","overflowStylePatterns","isElement","node","nodeType","getScrollParent","overflowY","scrollHeight","parentNode","supportsPassive","opts","totalLockCount","BODY_LOCK_CLASS","useLockScroll","rootRef","shouldLock","touch","startX","startY","deltaX","deltaY","offsetX","offsetY","direction","reset","move","event","touches","clientX","clientY","isVertical","isHorizontal","onTouchMove","scrollableParent","parentElement","preventDefault","offsetHeight","scrollTop","getBoundingClientRect","status","cancelable","passive","classList","remove","updateQueue","makeQueue","raf","schedule","writeQueue","write","onStartQueue","onStart","onFrameQueue","onFrame","onFinishQueue","onFinish","timeouts","handler","findIndex","pendingCount","timeout","findTimeout","sync","batchedUpdates","queuedFn","nativeRaf","use","impl","performance","catch","frameLoop","advance","update","ts","queue","loop","prevTs","count","eachSafely","values","each","noop","obj","fun","str","num","und","isEqual","eachProp","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","parse1","parsePercentage","colorToRgba","input","int32Color","color","exec","createInterpolator","output","extrapolate","outputRange","inputRange","extrapolateLeft","extrapolateRight","easing","inputMin","inputMax","outputMin","outputMax","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","$get","for","$observers","hasFluidValue","getFluidValue","getFluidObservers","callFluidObservers","eventObserved","FluidValue","Error","setFluidGetter","setHidden","addFluidObserver","observerAdded","removeFluidObserver","observerRemoved","numberRegex","colorRegex","unitRegex","rgbaRegex","cssVariableRegex","variableToRgba","token","fallback","parseCSSVariable","getPropertyValue","trim","_value","namedColorRegex","rgbaRound","p1","p2","p3","p4","keyframes","outputRanges","interpolators","_output$find","missingUnit","find","prefix","once","called","warnInterpolate","warnDirectCall","isAnimatedString","useForceUpdate","random","useOnce","emptyDeps","usePrev","prevRef","$node","getAnimated","owner","setAnimated","defineHidden","getPayload","Animated","payload","AnimatedValue","super","elapsedTime","lastPosition","lastVelocity","v0","durationProgress","AnimatedString","_string","_toString","setValue","goal","getValue","TreeContext","dependencies","AnimatedObject","animated","_makePayload","_addToPayload","AnimatedArray","makeAnimated","getAnimatedType","withAnimated","Component","host","hasInstance","isReactComponent","forwardRef","givenProps","givenRef","instanceRef","createAnimatedStyle","forceUpdate","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","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","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","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","useCache","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","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","names","hasAttribute","textContent","setProperty","renderToContainer","getContainer","container","createPortal","ShouldRender","useShouldRender","forceRender","destroyOnClose","initialized","check","initializedRef","eventToPropRecord","click","touchstart","withStopPropagation","events","stopPropagation","classPrefix","opacityRecord","thin","thick","colorRecord","visible","disableBodyScroll","background","setActive","afterShow","afterClose","div","display","onClick","currentTarget","onMaskClick","role","CheckOutline","xmlns","xmlnsXlink","verticalAlign","stroke","fill","fillRule","CloseOutline","DownOutline","RightOutline","defaultPopupBaseProps","closeOnMaskClick","closeIcon","mask","showCloseButton","V","toVector","v1","v2","sub","rubberband","distance","dimension","constant","rubberbandIfOutOfBounds","_toPropertyKey","hint","prim","toPrimitive","res","_defineProperty","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","distanceAngle","P1","P2","dx","dy","cx","cy","hypot","angle","atan2","origin","_unused","touchIds","_event$currentTarget","_event$currentTarget$","contains","identifier","touchDistanceAngle","ids","pointerId","valueEvent","pointerValues","wheelValues","deltaMode","chain","fns","assignDefault","Engine","computeValues","computeInitial","shared","gestureEventStores","gestureTimeoutStores","handlers","ingKey","_blocked","_force","_step","intentional","_movement","_distance","_direction","_delta","_bounds","axis","memo","timeDelta","overflow","_movementBound","movement","delta","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","emit","clean","triggerAllEvents","aliasKey","eventStore","timeoutStore","CoordinatesEngine","axisThreshold","absDx","absDy","lockDirection","commonConfigResolver","enabled","eventOptions","_k","originalTransform","isFinite","coordinatesConfigResolver","_v","HTMLElement","KEYS_DELTA_MAP","ArrowRight","displacement","factor","ArrowLeft","ArrowUp","ArrowDown","supportsTouchEvents","SUPPORT","GestureEvent","supportsGestureEvents","touchscreen","maxTouchPoints","pointerLock","DEFAULT_DRAG_AXIS_THRESHOLD","pen","dragConfigResolver","lock","preventScroll","preventScrollDelay","pointerButtons","filterTaps","tapsThreshold","keyboardDisplacement","clampStateInternalMovementToBounds","dirx","diry","pinchConfigResolver","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","pointerClean","ctrlIds","setEventIds","pointerCapture","setPointerCapture","setupPointer","preventScrollAxis","setupScrollPrevention","setupDelayTrigger","startPointerDrag","movementX","movementY","hasPointerCapture","releasePointerCapture","_dx","_dy","_mx","_my","svx","svy","sx","sy","sdt","_vx","_vy","detail","sourceEvent","touchAction","_unused2","requestPointerLock","sharedConfig","pointerMove","pointerUp","exitPointerLock","persist","deltaFn","bindFunction","pointerDown","keyDown","keyUp","pointerClick","pinchAction","_pointerEvents","_touchIds","turns","axisMovementDifference","ctrlTouchIds","pinchStart","ctrlPointerIds","pinchMove","prev_a","delta_a","delta_turns","scale","rotation","_previousMovement","wheelChange","wheelStart","wheelEnd","defaultPrevented","wheel","wheelAction","_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","RE_NOT_NATIVE","registerGesture","handlerKey","startKey","endKey","parseMergedHandlers","mergedHandlers","mergedConfig","_handlers","native","lastMatch","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","renderImperatively","Wrapper","setVisible","closedRef","elementToRender","setElementToRender","keyRef","useImperativeHandle","wrapperRef","createRef","isRendered","cancelText","closeOnAction","safeArea","ActionSheet","popupClassName","popupStyle","extra","danger","disabled","bold","onAction","text","AntdActionSheet","show","AutoCenter","Fallback","points","xlinkHref","__importDefault","mod","__esModule","stagedComponents","staged","react_1","processNext","Stage","stage","toCSSLength","LazyDetector","inViewport","onActive","useIsomorphicUpdateLayoutEffect","fit","lazy","draggable","Image","loaded","setLoaded","failed","setFailed","imgRef","src","srcSet","setInitialized","onContainerClick","Fragment","img","alt","onLoad","onError","objectFit","crossOrigin","decoding","referrerPolicy","sizes","useMap","Avatar","dot","AntdBadge","content","isDot","badgeClass","bordered","wrapperClassName","wrapperStyle","primary","DotLoading","rx","attributeName","dur","begin","repeatCount","keyTimes","block","loadingIcon","shape","Button","innerLoading","setInnerLoading","nativeButtonRef","onMouseDown","onMouseUp","onTouchStart","onTouchEnd","loadingText","isoWeekday","isoWeekYear","isoWeek","day","usePropsValue","defaultValue","useUpdate","stateRef","forceTrigger","nextValue","devWarning","devError","reactIs_production_min","ContextConsumer","ForwardRef","Lazy","Memo","Portal","Profiler","Suspense","SuspenseList","isAsyncMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isMemo","isPortal","isStrictMode","isSuspense","isSuspenseList","isValidElementType","getModuleId","typeOf","REACT_MODULE_REFERENCE","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_SERVER_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_OFFSCREEN_TYPE","$$typeofType","ContextProvider","StrictMode","hasWarnedAboutDeprecatedIsAsyncMode","hasWarnedAboutDeprecatedIsConcurrentMode","reactIs_development","isConcurrentMode","isProfiler","reactIsModule","contentPosition","Divider","useResizeEffect","targetRef","animationFrame","useMutationEffect","bound","useTabListScroll","activeIndex","api","activeTab","activeTabLeft","offsetLeft","activeTabWidth","offsetWidth","containerWidth","containerScrollWidth","scrollWidth","containerScrollLeft","nextScrollLeft","ScrollMask","maskRef","leftMaskOpacity","rightMaskOpacity","updateMask","scrollEl","scrollTrackRef","showLeftMask","showRightMask","traverseReactNode","handle","Children","child","AntdCapsuleTabs","tabListContainerRef","keyToIndexRecord","firstActiveKey","panes","isValidElement","activeKey","setActiveKey","defaultActiveKey","pane","Tab","Card","headerClassName","headerStyle","onHeaderClick","icon","onBodyClick","Wheel","column","renderLabel","onSelect","draggingRef","itemHeightMeasureRef","itemHeight","scrollSelect","finalPosition","itemHeightMeasure","raw","withUnit","endsWith","fontSize","innerWidth","targetIndex","handleGestureState","boundNum","whellDir","scrollY","mouseWheel","selectedIndex","translateY","selected","previousIndex","nextIndex","previous","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","loadingContent","PickerView","innerValue","setInnerValue","handleSelect","Picker","confirmText","toggle","open","onConfirm","ext","pickerElement","onCancel","popupElement","prompt","activeLineMode","stretch","AntdTabs","activeLineRef","isRTL","inkApi","scrollApi","maskApi","fromMutation","activeLine","activeTabWrapper","activeTabWrapperLeft","activeTabWrapperWidth","activeLineWidth","maxScrollDistance","autoScroll","onScroll","mode","List","nativeElementRef","header","isNodeWithContent","AntdList","Item","arrow","arrowIcon","list","clickable","showArrow","mergedArrowIcon","CollapsePanelContent","innerRef","shouldRender","inner","lastMotionId","cancelObserve","handleMotion","motionId","AntdCollapse","collapse","mergedProps","panels","accordion","initValue","handlePropsValue","activeKeyList","panel","Panel","isoWeeksInYear","isLeapYear","TILL_NOW","dayjs","precisionRankRecord","hour","minute","second","convertStringArrayToDate","_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","HIGH_SURROGATE_START","HIGH_SURROGATE_END","LOW_SURROGATE_START","REGIONAL_INDICATOR_START","REGIONAL_INDICATOR_END","FITZPATRICK_MODIFIER_START","FITZPATRICK_MODIFIER_END","VARIATION_MODIFIER_START","VARIATION_MODIFIER_END","DIACRITICAL_MARKS_START","DIACRITICAL_MARKS_END","SUBDIVISION_INDICATOR_START","TAGS_START","TAGS_END","ZWJ","nextUnits","betweenInclusive","charCodeAt","isRegionalIndicator","codePointFromSurrogatePair","codePointAt","fromCodePoint","isVariationSelector","isDiacriticalMark","isGrapheme","isZeroWidthJoiner","unit_1","unit_2","unit_4","ELLIPSIS_TEXT","measureStyle","visibility","whiteSpace","useMeasure","containerRef","rows","expandNode","collapseNode","contentChars","maxHeight","setMaxHeight","walkingIndexes","setWalkingIndexes","midIndex","setStatus","singleRowMeasureRef","fullMeasureRef","midMeasureRef","startMeasure","memoFn","_fnRef$current","_len","_key","fullMeasureHeight","rowMeasureHeight","midHeight","renderContent","prefixContent","suffixContent","finalContent","expandText","collapseText","stopPropagationForActionButtons","onContentClick","defaultExpanded","Ellipsis","setExpanded","measureNodes","forceResize","imageRecord","contentPack","desc","image","imageNode","fullPage","x2","y2","stopColor","strokeLinejoin","ry","handleDraggingOfContent","FloatingPanel","anchors","innerHeight","possibles","elementRef","headerRef","contentRef","setPulling","pullingRef","onHeightChange","reachedTop","nextY","pre","cur","setHeight","tenPxTester","tester","convertPx","px","AntdGrid","gap","span","itemStyle","useDragAndPinch","getTranslateX","getTranslateY","getScaleX","translate","multiply","m1","m2","Slide","dragLockRef","maxZoom","initialMartix","controlRef","matrix","controlSize","imgSize","pinchLockRef","getMinAndMax","nextMatrix","minX","maxX","minY","maxY","controlLeft","controlTop","imgLeft","imgTop","mat.getScaleX","scaledImgWidth","scaledImgHeight","getReachBound","buffer","boundMatrix","boundedX","boundedY","mat.translate","onDrag","pinching","onTap","currentZoom","currentMatrix","mat.getTranslateX","mat.getTranslateY","onPinch","mergedMaxZoom","nextZoom","onZoomChange","originOffsetX","originOffsetY","scaleX","scaleY","mat.scale","Slides","slideWidth","defaultIndex","images","swipeTo","onIndexChange","minIndex","maxIndex","velocityOffset","ImageViewer","renderFooter","multiDefaultProps","MultiImageViewer","setIndex","slidesRef","onSlideChange","newIndex","handlerSet","clearImageViewer","Multi","AntdImageViewer","Space","wrap","align","justify","Sidebar","interacting","setInteracting","elementFromPoint","dataset","indexItems","brief","onMouseEnter","sticky","IndexBar","titleHeight","bodyRef","setActiveIndex","firstItem","scrollTo","offsetTop","checkActiveIndex","elements","getElementsByClassName","panelIndex","AntdIndexBar","hasMore","InfiniteScrollContent","doLoadMore","lockRef","isRetry","loadMore","nextFlagRef","scrollParent","setScrollParent","offsetParent","elementTop","nextFlag","clearIcon","onlyShowClearWhenFocus","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","AntdJumboTabs","defaultBackIcon","NavBar","navBar","back","backIcon","backArrow","mergedDefaultBackIcon","mergedBackIcon","onBack","PageIndicator","dots","total","pullingText","canReleaseText","refreshingText","completeText","completeDelay","onRefresh","headHeight","springStyles","doRefresh","parsedY","Window","renderText","renderStatusText","Corner","AntdSideBar","lastItem","isLastItemActive","isActiveNextSibling","isActivePreviousSibling","Badge","badge","SwiperItem","mousedown","mousemove","mouseup","allowTouchMove","autoplay","autoplayInterval","slideSize","trackOffset","stuckAtBoundary","currentUid","Swiper","indicator","uid","timeoutRef","slideRatio","offsetRatio","validChildren","renderChildren","mergedTotal","trackRef","getSlidePixels","track","setCurrent","getCurrent","dragging","setDragging","useRefState","boundIndex","rawX","standardPosition","modulus","dragCancelRef","slidePixels","paramIndex","lowerBound","upperBound","roundedIndex","swipeNext","swipePrev","runTimeSwiper","renderItem","totalWidth","flagWidth","renderItems","offsetCount","dragProps","stopPropagationProps","p1Keys","p2Keys","p1Value","p2Value","indicatorNode","indicatorProps","onClickCapture","forceCancelDrag","division","remainder","AntdSwiper","AntdTabBar","iconElement","titleElement","maskClickable","InternalToast","currentHandler","currentTimeout","ToastInner","Toast","jsx","AntdAvatar","iconPosition","restOfProps","renderButtonContent","nodeItems","unshift","AntdButton","AntdSpace","AntdDivider","labelRender","AntdInput","CapsuleTabs","AntdCard","Collapse","AntdEllipsis","AntdFloatingPanel","Grid","AntdImage","JumboTabs","AntdNavBar","AntdSafeArea","SideBar","TabBar","Tabs","mergeClasses","defaultAttributes","Icon","absoluteStrokeWidth","iconNode","attrs","Inbox","iconName","InboxIcon","AntdErrorBlock","AntdInfiniteScroll","AntdPullToRefresh","AntdDotLoading","AntdSpinLoading","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,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,227,228,229,230,231,239,240,241]}
|