@sg-front-core/layout-v1 1.0.0
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/core-layout.js +3288 -0
- package/dist/core-layout.js.map +1 -0
- package/dist/core-layout.umd.cjs +4 -0
- package/dist/core-layout.umd.cjs.map +1 -0
- package/dist/types.d.ts +63 -0
- package/package.json +59 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-layout.umd.cjs","sources":["../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../src/menu/MenuStatusCrumb.tsx","../src/runtime.ts","../src/menu/transMenu.tsx","../src/modern/tabPanes/initPanes.ts","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/createUpdateEffect/index.js","../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/utils/index.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/utils/isDev.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useMemoizedFn/index.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useUpdateEffect/index.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useRequest/src/plugins/useAutoRunPlugin.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/utils/depsAreSame.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useCreation/index.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useLatest/index.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useUnmount/index.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useRequest/src/utils/cache.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useRequest/src/utils/cachePromise.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useRequest/src/utils/cacheSubscribe.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useRequest/src/plugins/useCachePlugin.js","../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isObject.js","../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_freeGlobal.js","../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_root.js","../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/now.js","../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_trimmedEndIndex.js","../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseTrim.js","../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_Symbol.js","../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_getRawTag.js","../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_objectToString.js","../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseGetTag.js","../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isObjectLike.js","../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isSymbol.js","../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/toNumber.js","../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/debounce.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useRequest/src/plugins/useDebouncePlugin.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useRequest/src/plugins/useLoadingDelayPlugin.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/utils/isBrowser.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useRequest/src/utils/isDocumentVisible.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useRequest/src/utils/subscribeReVisible.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useRequest/src/plugins/usePollingPlugin.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useRequest/src/utils/limit.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useRequest/src/utils/isOnline.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useRequest/src/utils/subscribeFocus.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useRequest/src/plugins/useRefreshOnWindowFocusPlugin.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useRequest/src/plugins/useRetryPlugin.js","../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/throttle.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useRequest/src/plugins/useThrottlePlugin.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useMount/index.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useUpdate/index.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useRequest/src/Fetch.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useRequest/src/useRequestImplement.js","../../../node_modules/.pnpm/ahooks@3.9.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/ahooks/es/useRequest/src/useRequest.js","../../../node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/extends.js","../../../node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../node_modules/.pnpm/@babel+runtime@7.29.2/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../../../node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js","../../../node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js","../../../node_modules/.pnpm/object-assign@4.1.1/node_modules/object-assign/index.js","../../../node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/has.js","../../../node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/checkPropTypes.js","../../../node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithTypeCheckers.js","../../../node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js","../../../node_modules/.pnpm/dom-helpers@5.2.1/node_modules/dom-helpers/esm/hasClass.js","../../../node_modules/.pnpm/dom-helpers@5.2.1/node_modules/dom-helpers/esm/addClass.js","../../../node_modules/.pnpm/dom-helpers@5.2.1/node_modules/dom-helpers/esm/removeClass.js","../../../node_modules/.pnpm/react-transition-group@4.4._ea827a607bbb9ce48eba17f05126488f/node_modules/react-transition-group/esm/config.js","../../../node_modules/.pnpm/react-transition-group@4.4._ea827a607bbb9ce48eba17f05126488f/node_modules/react-transition-group/esm/utils/PropTypes.js","../../../node_modules/.pnpm/react-transition-group@4.4._ea827a607bbb9ce48eba17f05126488f/node_modules/react-transition-group/esm/TransitionGroupContext.js","../../../node_modules/.pnpm/react-transition-group@4.4._ea827a607bbb9ce48eba17f05126488f/node_modules/react-transition-group/esm/utils/reflow.js","../../../node_modules/.pnpm/react-transition-group@4.4._ea827a607bbb9ce48eba17f05126488f/node_modules/react-transition-group/esm/Transition.js","../../../node_modules/.pnpm/react-transition-group@4.4._ea827a607bbb9ce48eba17f05126488f/node_modules/react-transition-group/esm/CSSTransition.js","../../../node_modules/.pnpm/react-transition-group@4.4._ea827a607bbb9ce48eba17f05126488f/node_modules/react-transition-group/esm/SwitchTransition.js","../src/main/aside/logo.tsx","../src/main/aside/tree/index.tsx","../../../node_modules/.pnpm/@icon-park+react@1.4.2_reac_675fccd734e74de0dca3eca99a1b1e24/node_modules/@icon-park/react/es/runtime/index.js","../../../node_modules/.pnpm/@icon-park+react@1.4.2_reac_675fccd734e74de0dca3eca99a1b1e24/node_modules/@icon-park/react/es/icons/GridThree.js","../../../node_modules/.pnpm/@icon-park+react@1.4.2_reac_675fccd734e74de0dca3eca99a1b1e24/node_modules/@icon-park/react/es/icons/Home.js","../../../node_modules/.pnpm/@icon-park+react@1.4.2_reac_675fccd734e74de0dca3eca99a1b1e24/node_modules/@icon-park/react/es/icons/Info.js","../../../node_modules/.pnpm/@icon-park+react@1.4.2_reac_675fccd734e74de0dca3eca99a1b1e24/node_modules/@icon-park/react/es/icons/LayoutOne.js","../../../node_modules/.pnpm/@icon-park+react@1.4.2_reac_675fccd734e74de0dca3eca99a1b1e24/node_modules/@icon-park/react/es/icons/Logout.js","../../../node_modules/.pnpm/@icon-park+react@1.4.2_reac_675fccd734e74de0dca3eca99a1b1e24/node_modules/@icon-park/react/es/icons/Right.js","../src/toggle/index.tsx","../src/main/aside/user.tsx","../src/main/aside/index.tsx","../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isFunction.js","../src/main/header/index.tsx","../src/main/index.tsx","../src/hooks/useTopLevel.ts","../src/utils/containsArray.ts","../src/modern/aside/tree/index.tsx","../src/modern/aside/index.tsx","../src/modern/header/user.tsx","../src/modern/header/index.tsx","../../../node_modules/.pnpm/react-sticky-box@2.0.5_react@18.3.1/node_modules/react-sticky-box/dist/index.js","../src/modern/tabPanes/index.tsx","../src/modern/index.tsx"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { Tooltip } from 'antd'\nimport clsx from 'clsx'\nimport React from 'react'\nimport { Iconfont } from '@sg-front-core/ui-v1'\n\nexport type MenuStatusCrumbProps = {\n status: boolean\n setStatus: React.Dispatch<React.SetStateAction<boolean>>\n closeIcon?: string\n openIcon?: string\n /** 图标颜色(默认适配浅色背景) */\n color?: string\n}\n\nexport function MenuStatusCrumb(props: MenuStatusCrumbProps) {\n const {\n status,\n setStatus,\n closeIcon = 'drawer-close',\n openIcon = 'drawer-open',\n color = 'rgba(0,0,0,.25)'\n } = props\n\n const className = clsx(\n 'fixed top-1/2 -translate-y-1/2 z-40',\n 'origin-center',\n 'cursor-pointer',\n 'opacity-30',\n 'hover:opacity-100',\n 'transition-all',\n 'duration-300'\n )\n\n return (\n <div>\n {status ? (\n <Tooltip title=\"收起侧边栏\" placement=\"right\">\n <Iconfont\n icon={closeIcon}\n className={`${className} left-[248px]`}\n size={30}\n color={color}\n onClick={() => setStatus(!status)}\n />\n </Tooltip>\n ) : (\n <Tooltip title=\"展开侧边栏\" placement=\"right\">\n <Iconfont\n icon={openIcon}\n className={`${className} left-0`}\n size={30}\n color={color}\n onClick={() => setStatus(!status)}\n />\n </Tooltip>\n )}\n </div>\n )\n}\n","export type LayoutLocalLike = {\n token?: { set?: (value: any) => void }\n user?: { set?: (value: any) => void }\n layout?: { set?: (value: any) => void }\n needCode?: { set?: (value: any) => void }\n}\n\nexport type RequestFn = <T = unknown>(config: {\n url: string\n method?: string\n headers?: Record<string, unknown> | undefined\n params?: unknown\n data?: unknown\n}) => Promise<T>\n\nexport type UseSystemStoreHook = () => any\n\nexport type SetupSgTemplateLayoutOptions = {\n useSystemStore: UseSystemStoreHook\n local: LayoutLocalLike\n request: RequestFn\n projectCName?: string\n isLegacyLayoutStyle?: (layoutStyle: any) => boolean\n}\n\ntype RuntimeState = {\n useSystemStore?: UseSystemStoreHook\n local?: LayoutLocalLike\n request?: RequestFn\n projectCName?: string\n isLegacyLayoutStyle?: (layoutStyle: any) => boolean\n}\n\nconst runtime: RuntimeState = {}\n\nexport function setupSgTemplateLayout(options: SetupSgTemplateLayoutOptions) {\n runtime.useSystemStore = options.useSystemStore\n runtime.local = options.local\n runtime.request = options.request\n runtime.projectCName = options.projectCName\n runtime.isLegacyLayoutStyle = options.isLegacyLayoutStyle\n}\n\nexport function useSgSystemStore<T = any>(): T {\n if (!runtime.useSystemStore) {\n throw new Error(\n '[@sg-front-core/layout-v1] missing setup: call setupSgTemplateLayout({ useSystemStore, local, request, ... }) before rendering layouts.'\n )\n }\n return runtime.useSystemStore() as T\n}\n\nexport function getSgTemplateLocal(): LayoutLocalLike {\n if (!runtime.local) {\n throw new Error(\n '[@sg-front-core/layout-v1] missing setup: call setupSgTemplateLayout({ local, ... }).'\n )\n }\n return runtime.local\n}\n\nexport function getSgTemplateRequest(): RequestFn {\n if (!runtime.request) {\n throw new Error(\n '[@sg-front-core/layout-v1] missing setup: call setupSgTemplateLayout({ request, ... }).'\n )\n }\n return runtime.request\n}\n\nexport function getProjectCName(): string {\n return runtime.projectCName ?? ''\n}\n\nexport function isLegacyLayoutStyle(layoutStyle: any): boolean {\n if (runtime.isLegacyLayoutStyle) return runtime.isLegacyLayoutStyle(layoutStyle)\n if (layoutStyle === 0) return true\n if (layoutStyle === 'legacy') return true\n if (layoutStyle === false) return true\n return false\n}\n\n","import { FolderOutlined, TagOutlined } from '@ant-design/icons'\nimport type { MenuProps } from 'antd'\nimport type { RouteObject } from 'react-router-dom'\nimport React from 'react'\n\nexport type MenuItem = Required<MenuProps>['items'][number]\n\nexport const transMenu = (routes: RouteObject[] | []): any[] => {\n const arr = routes.filter(_ => _.path != undefined)\n return arr.map(route => {\n if (route.handle?.hidden) {\n return null\n } else if (route.children && route.children.length > 0) {\n return {\n label: route.handle.title,\n key: route.path,\n icon: <FolderOutlined />,\n hidden: route.handle?.hidden || false,\n children: transMenu(route.children)\n }\n } else {\n return {\n label: route.handle?.title || route.path,\n key: route.path,\n hidden: route.handle?.hidden || false,\n link: route.handle?.link || null,\n frame: route.handle?.isFrame,\n processId: route.handle?.processId,\n query: route.handle?.query,\n icon: <TagOutlined />\n }\n }\n })\n}\n\n","import type { TabsProps } from 'antd'\nimport type React from 'react'\n\nexport function createInitPanes(home: React.ReactNode): TabsProps['items'] {\n return [\n {\n key: 'home',\n label: '首页',\n children: home,\n closable: false\n }\n ]\n}\n\n","import { useRef } from 'react';\nexport var createUpdateEffect = function (hook) { 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 }\n else {\n return effect();\n }\n }, deps);\n}; };\nexport default createUpdateEffect;\n","/******************************************************************************\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","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) { return typeof value === 'string'; };\nexport var isBoolean = function (value) { return typeof value === 'boolean'; };\nexport var isNumber = function (value) { return typeof value === 'number'; };\nexport var isUndef = function (value) { return typeof value === 'undefined'; };\n","var isDev = process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test';\nexport default isDev;\n","import { useMemo, useRef } from 'react';\nimport { isFunction } from '../utils';\nimport isDev from '../utils/isDev';\nvar useMemoizedFn = function (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 () { return fn; }, [fn]);\n var memoizedFn = useRef(undefined);\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;\n","import { useEffect } from 'react';\nimport { createUpdateEffect } from '../createUpdateEffect';\nexport default createUpdateEffect(useEffect);\n","import { __read, __spreadArray } from \"tslib\";\nimport { useRef } from 'react';\nimport useUpdateEffect from '../../../useUpdateEffect';\n// support refreshDeps & ready\nvar useAutoRunPlugin = function (fetchInstance, _a) {\n var manual = _a.manual, _b = _a.ready, ready = _b === void 0 ? true : _b, _c = _a.defaultParams, defaultParams = _c === void 0 ? [] : _c, _d = _a.refreshDeps, refreshDeps = _d === void 0 ? [] : _d, refreshDepsAction = _a.refreshDepsAction;\n var hasAutoRun = useRef(false);\n hasAutoRun.current = false;\n useUpdateEffect(function () {\n if (!manual && ready) {\n hasAutoRun.current = true;\n fetchInstance.run.apply(fetchInstance, __spreadArray([], __read(defaultParams), false));\n }\n }, [ready]);\n useUpdateEffect(function () {\n if (hasAutoRun.current) {\n return;\n }\n if (!manual) {\n hasAutoRun.current = true;\n if (refreshDepsAction) {\n refreshDepsAction();\n }\n else {\n fetchInstance.refresh();\n }\n }\n }, __spreadArray([], __read(refreshDeps), false));\n return {\n onBefore: function () {\n if (!ready) {\n return {\n stopNow: true,\n };\n }\n },\n };\n};\nuseAutoRunPlugin.onInit = function (_a) {\n var _b = _a.ready, ready = _b === void 0 ? true : _b, manual = _a.manual;\n return {\n loading: !manual && ready,\n };\n};\nexport default useAutoRunPlugin;\n","function depsAreSame(oldDeps, deps) {\n if (oldDeps === deps) {\n return true;\n }\n for (var i = 0; i < oldDeps.length; i++) {\n if (!Object.is(oldDeps[i], deps[i])) {\n return false;\n }\n }\n return true;\n}\nexport default depsAreSame;\n","import { useRef } from 'react';\nimport depsAreSame from '../utils/depsAreSame';\nvar useCreation = function (factory, deps) {\n var current = useRef({\n deps: deps,\n obj: undefined,\n initialized: false,\n }).current;\n if (current.initialized === false || !depsAreSame(current.deps, deps)) {\n current.deps = deps;\n current.obj = factory();\n current.initialized = true;\n }\n return current.obj;\n};\nexport default useCreation;\n","import { useRef } from 'react';\nfunction useLatest(value) {\n var ref = useRef(value);\n ref.current = value;\n return ref;\n}\nexport default useLatest;\n","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 () { return function () {\n fnRef.current();\n }; }, []);\n};\nexport default useUnmount;\n","import { __assign } from \"tslib\";\nvar cache = new Map();\nvar setCache = function (key, cacheTime, cachedData) {\n var currentCache = cache.get(key);\n if (currentCache === null || currentCache === void 0 ? void 0 : currentCache.timer) {\n clearTimeout(currentCache.timer);\n }\n var timer = undefined;\n if (cacheTime > -1) {\n // if cache out, clear it\n timer = setTimeout(function () {\n cache.delete(key);\n }, cacheTime);\n }\n cache.set(key, __assign(__assign({}, cachedData), { timer: timer }));\n};\nvar getCache = function (key) {\n return cache.get(key);\n};\nvar clearCache = function (key) {\n if (key) {\n var cacheKeys = Array.isArray(key) ? key : [key];\n cacheKeys.forEach(function (cacheKey) { return cache.delete(cacheKey); });\n }\n else {\n cache.clear();\n }\n};\nexport { getCache, setCache, clearCache };\n","var cachePromise = new Map();\nvar getCachePromise = function (cacheKey) {\n return cachePromise.get(cacheKey);\n};\nvar setCachePromise = function (cacheKey, promise) {\n // Should cache the same promise, cannot be promise.finally\n // Because the promise.finally will change the reference of the promise\n cachePromise.set(cacheKey, promise);\n // no use promise.finally for compatibility\n promise\n .then(function (res) {\n cachePromise.delete(cacheKey);\n return res;\n })\n .catch(function () {\n cachePromise.delete(cacheKey);\n });\n};\nexport { getCachePromise, setCachePromise };\n","var listeners = {};\nvar trigger = function (key, data) {\n if (listeners[key]) {\n listeners[key].forEach(function (item) { return item(data); });\n }\n};\nvar subscribe = function (key, listener) {\n if (!listeners[key]) {\n listeners[key] = [];\n }\n listeners[key].push(listener);\n return function unsubscribe() {\n var index = listeners[key].indexOf(listener);\n listeners[key].splice(index, 1);\n };\n};\nexport { trigger, subscribe };\n","import { __read, __spreadArray } from \"tslib\";\nimport { useRef } from 'react';\nimport useCreation from '../../../useCreation';\nimport useUnmount from '../../../useUnmount';\nimport { setCache, getCache } from '../utils/cache';\nimport { setCachePromise, getCachePromise } from '../utils/cachePromise';\nimport { trigger, subscribe } from '../utils/cacheSubscribe';\nvar useCachePlugin = function (fetchInstance, _a) {\n var cacheKey = _a.cacheKey, _b = _a.cacheTime, cacheTime = _b === void 0 ? 5 * 60 * 1000 : _b, _c = _a.staleTime, staleTime = _c === void 0 ? 0 : _c, customSetCache = _a.setCache, customGetCache = _a.getCache;\n var unSubscribeRef = useRef(undefined);\n var currentPromiseRef = useRef(undefined);\n var _setCache = function (key, cachedData) {\n if (customSetCache) {\n customSetCache(cachedData);\n }\n else {\n setCache(key, cacheTime, cachedData);\n }\n trigger(key, cachedData.data);\n };\n var _getCache = function (key, params) {\n if (params === void 0) { params = []; }\n if (customGetCache) {\n return customGetCache(params);\n }\n return getCache(key);\n };\n useCreation(function () {\n if (!cacheKey) {\n return;\n }\n // get data from cache when init\n var cacheData = _getCache(cacheKey);\n if (cacheData && Object.hasOwnProperty.call(cacheData, 'data')) {\n fetchInstance.state.data = cacheData.data;\n fetchInstance.state.params = cacheData.params;\n if (staleTime === -1 || Date.now() - cacheData.time <= staleTime) {\n fetchInstance.state.loading = false;\n }\n }\n // subscribe same cachekey update, trigger update\n unSubscribeRef.current = subscribe(cacheKey, function (data) {\n fetchInstance.setState({ data: data });\n });\n }, []);\n useUnmount(function () {\n var _a;\n (_a = unSubscribeRef.current) === null || _a === void 0 ? void 0 : _a.call(unSubscribeRef);\n });\n if (!cacheKey) {\n return {};\n }\n return {\n onBefore: function (params) {\n var cacheData = _getCache(cacheKey, params);\n if (!cacheData || !Object.hasOwnProperty.call(cacheData, 'data')) {\n return {};\n }\n // If the data is fresh, stop request\n if (staleTime === -1 || Date.now() - cacheData.time <= staleTime) {\n return {\n loading: false,\n data: cacheData === null || cacheData === void 0 ? void 0 : cacheData.data,\n error: undefined,\n returnNow: true,\n };\n }\n else {\n // If the data is stale, return data, and request continue\n return {\n data: cacheData === null || cacheData === void 0 ? void 0 : cacheData.data,\n error: undefined,\n };\n }\n },\n onRequest: function (service, args) {\n var servicePromise = getCachePromise(cacheKey);\n // If has servicePromise, and is not trigger by self, then use it\n if (servicePromise && servicePromise !== currentPromiseRef.current) {\n return { servicePromise: servicePromise };\n }\n servicePromise = service.apply(void 0, __spreadArray([], __read(args), false));\n currentPromiseRef.current = servicePromise;\n setCachePromise(cacheKey, servicePromise);\n return { servicePromise: servicePromise };\n },\n onSuccess: function (data, params) {\n var _a;\n if (cacheKey) {\n // cancel subscribe, avoid trgger self\n (_a = unSubscribeRef.current) === null || _a === void 0 ? void 0 : _a.call(unSubscribeRef);\n _setCache(cacheKey, {\n data: data,\n params: params,\n time: Date.now(),\n });\n // resubscribe\n unSubscribeRef.current = subscribe(cacheKey, function (d) {\n fetchInstance.setState({ data: d });\n });\n }\n },\n onMutate: function (data) {\n var _a;\n if (cacheKey) {\n // cancel subscribe, avoid trigger self\n (_a = unSubscribeRef.current) === null || _a === void 0 ? void 0 : _a.call(unSubscribeRef);\n _setCache(cacheKey, {\n data: data,\n params: fetchInstance.state.params,\n time: Date.now(),\n });\n // resubscribe\n unSubscribeRef.current = subscribe(cacheKey, function (d) {\n fetchInstance.setState({ data: d });\n });\n }\n },\n };\n};\nexport default useCachePlugin;\n","/**\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\nexport default isObject;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\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\nexport default root;\n","import root from './_root.js';\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\nexport default 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\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\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\nexport default baseTrim;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\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\nexport default 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\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\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\nexport default 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\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\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\nexport default isSymbol;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\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\nexport default toNumber;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\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\nexport default debounce;\n","import { __read, __spreadArray } from \"tslib\";\nimport debounce from 'lodash/debounce';\nimport { useEffect, useMemo, useRef } from 'react';\nvar useDebouncePlugin = function (fetchInstance, _a) {\n var debounceWait = _a.debounceWait, debounceLeading = _a.debounceLeading, debounceTrailing = _a.debounceTrailing, debounceMaxWait = _a.debounceMaxWait;\n var debouncedRef = useRef(undefined);\n var options = useMemo(function () {\n var ret = {};\n if (debounceLeading !== undefined) {\n ret.leading = debounceLeading;\n }\n if (debounceTrailing !== undefined) {\n ret.trailing = debounceTrailing;\n }\n if (debounceMaxWait !== undefined) {\n ret.maxWait = debounceMaxWait;\n }\n return ret;\n }, [debounceLeading, debounceTrailing, debounceMaxWait]);\n useEffect(function () {\n if (debounceWait) {\n var _originRunAsync_1 = fetchInstance.runAsync.bind(fetchInstance);\n debouncedRef.current = debounce(function (callback) {\n callback();\n }, debounceWait, options);\n // debounce runAsync should be promise\n // https://github.com/lodash/lodash/issues/4400#issuecomment-834800398\n fetchInstance.runAsync = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new Promise(function (resolve, reject) {\n var _a;\n (_a = debouncedRef.current) === null || _a === void 0 ? void 0 : _a.call(debouncedRef, function () {\n _originRunAsync_1.apply(void 0, __spreadArray([], __read(args), false)).then(resolve)\n .catch(reject);\n });\n });\n };\n return function () {\n var _a;\n (_a = debouncedRef.current) === null || _a === void 0 ? void 0 : _a.cancel();\n fetchInstance.runAsync = _originRunAsync_1;\n };\n }\n }, [debounceWait, options]);\n if (!debounceWait) {\n return {};\n }\n return {\n onCancel: function () {\n var _a;\n (_a = debouncedRef.current) === null || _a === void 0 ? void 0 : _a.cancel();\n },\n };\n};\nexport default useDebouncePlugin;\n","import { useRef } from 'react';\nvar useLoadingDelayPlugin = function (fetchInstance, _a) {\n var loadingDelay = _a.loadingDelay, ready = _a.ready;\n var timerRef = useRef(undefined);\n if (!loadingDelay) {\n return {};\n }\n var cancelTimeout = function () {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n }\n };\n return {\n onBefore: function () {\n cancelTimeout();\n // Two cases:\n // 1. ready === undefined\n // 2. ready === true\n if (ready !== false) {\n timerRef.current = setTimeout(function () {\n fetchInstance.setState({\n loading: true,\n });\n }, loadingDelay);\n }\n return {\n loading: false,\n };\n },\n onFinally: function () {\n cancelTimeout();\n },\n onCancel: function () {\n cancelTimeout();\n },\n };\n};\nexport default useLoadingDelayPlugin;\n","var isBrowser = !!(typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\nexport default isBrowser;\n","import isBrowser from '../../../utils/isBrowser';\nexport default function isDocumentVisible() {\n if (isBrowser) {\n return document.visibilityState !== 'hidden';\n }\n return true;\n}\n","import isBrowser from '../../../utils/isBrowser';\nimport isDocumentVisible from './isDocumentVisible';\nvar listeners = new Set();\nfunction subscribe(listener) {\n listeners.add(listener);\n return function unsubscribe() {\n listeners.has(listener) && listeners.delete(listener);\n };\n}\nif (isBrowser) {\n var revalidate = function () {\n if (!isDocumentVisible())\n return;\n listeners.forEach(function (listener) { return listener(); });\n };\n window.addEventListener('visibilitychange', revalidate, false);\n}\nexport default subscribe;\n","import { useRef } from 'react';\nimport useUpdateEffect from '../../../useUpdateEffect';\nimport isDocumentVisible from '../utils/isDocumentVisible';\nimport subscribeReVisible from '../utils/subscribeReVisible';\nvar usePollingPlugin = function (fetchInstance, _a) {\n var pollingInterval = _a.pollingInterval, _b = _a.pollingWhenHidden, pollingWhenHidden = _b === void 0 ? true : _b, _c = _a.pollingErrorRetryCount, pollingErrorRetryCount = _c === void 0 ? -1 : _c;\n var timerRef = useRef(undefined);\n var unsubscribeRef = useRef(undefined);\n var countRef = useRef(0);\n var stopPolling = function () {\n var _a;\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n }\n (_a = unsubscribeRef.current) === null || _a === void 0 ? void 0 : _a.call(unsubscribeRef);\n };\n useUpdateEffect(function () {\n if (!pollingInterval) {\n stopPolling();\n }\n }, [pollingInterval]);\n if (!pollingInterval) {\n return {};\n }\n return {\n onBefore: function () {\n stopPolling();\n },\n onError: function () {\n countRef.current += 1;\n },\n onSuccess: function () {\n countRef.current = 0;\n },\n onFinally: function () {\n if (pollingErrorRetryCount === -1 ||\n // When an error occurs, the request is not repeated after pollingErrorRetryCount retries\n (pollingErrorRetryCount !== -1 && countRef.current <= pollingErrorRetryCount)) {\n timerRef.current = setTimeout(function () {\n // if pollingWhenHidden = false && document is hidden, then stop polling and subscribe revisible\n if (!pollingWhenHidden && !isDocumentVisible()) {\n unsubscribeRef.current = subscribeReVisible(function () {\n fetchInstance.refresh();\n });\n }\n else {\n fetchInstance.refresh();\n }\n }, pollingInterval);\n }\n else {\n countRef.current = 0;\n }\n },\n onCancel: function () {\n stopPolling();\n },\n };\n};\nexport default usePollingPlugin;\n","import { __read, __spreadArray } from \"tslib\";\nexport default function limit(fn, timespan) {\n var pending = false;\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (pending)\n return;\n pending = true;\n fn.apply(void 0, __spreadArray([], __read(args), false));\n setTimeout(function () {\n pending = false;\n }, timespan);\n };\n}\n","import isBrowser from '../../../utils/isBrowser';\nvar isOnline = function () {\n if (isBrowser && typeof navigator.onLine !== 'undefined') {\n return navigator.onLine;\n }\n return true;\n};\nexport default isOnline;\n","// from swr\nimport isBrowser from '../../../utils/isBrowser';\nimport isDocumentVisible from './isDocumentVisible';\nimport isOnline from './isOnline';\nvar listeners = new Set();\nfunction subscribe(listener) {\n listeners.add(listener);\n return function unsubscribe() {\n listeners.has(listener) && listeners.delete(listener);\n };\n}\nif (isBrowser) {\n var revalidate = function () {\n if (!isDocumentVisible() || !isOnline())\n return;\n listeners.forEach(function (listener) { return listener(); });\n };\n window.addEventListener('visibilitychange', revalidate, false);\n window.addEventListener('focus', revalidate, false);\n}\nexport default subscribe;\n","import { useEffect, useRef } from 'react';\nimport useUnmount from '../../../useUnmount';\nimport limit from '../utils/limit';\nimport subscribeFocus from '../utils/subscribeFocus';\nvar useRefreshOnWindowFocusPlugin = function (fetchInstance, _a) {\n var refreshOnWindowFocus = _a.refreshOnWindowFocus, _b = _a.focusTimespan, focusTimespan = _b === void 0 ? 5000 : _b;\n var unsubscribeRef = useRef(undefined);\n var stopSubscribe = function () {\n var _a;\n (_a = unsubscribeRef.current) === null || _a === void 0 ? void 0 : _a.call(unsubscribeRef);\n };\n useEffect(function () {\n if (refreshOnWindowFocus) {\n var limitRefresh_1 = limit(fetchInstance.refresh.bind(fetchInstance), focusTimespan);\n unsubscribeRef.current = subscribeFocus(function () {\n limitRefresh_1();\n });\n }\n return function () {\n stopSubscribe();\n };\n }, [refreshOnWindowFocus, focusTimespan]);\n useUnmount(function () {\n stopSubscribe();\n });\n return {};\n};\nexport default useRefreshOnWindowFocusPlugin;\n","import { useRef } from 'react';\nvar useRetryPlugin = function (fetchInstance, _a) {\n var retryInterval = _a.retryInterval, retryCount = _a.retryCount;\n var timerRef = useRef(undefined);\n var countRef = useRef(0);\n var triggerByRetry = useRef(false);\n if (!retryCount) {\n return {};\n }\n return {\n onBefore: function () {\n if (!triggerByRetry.current) {\n countRef.current = 0;\n }\n triggerByRetry.current = false;\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n }\n },\n onSuccess: function () {\n countRef.current = 0;\n },\n onError: function () {\n countRef.current += 1;\n if (retryCount === -1 || countRef.current <= retryCount) {\n // Exponential backoff\n var timeout = retryInterval !== null && retryInterval !== void 0 ? retryInterval : Math.min(1000 * Math.pow(2, countRef.current), 30000);\n timerRef.current = setTimeout(function () {\n triggerByRetry.current = true;\n fetchInstance.refresh();\n }, timeout);\n }\n else {\n countRef.current = 0;\n }\n },\n onCancel: function () {\n countRef.current = 0;\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n }\n },\n };\n};\nexport default useRetryPlugin;\n","import debounce from './debounce.js';\nimport isObject from './isObject.js';\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\nexport default throttle;\n","import { __read, __spreadArray } from \"tslib\";\nimport throttle from 'lodash/throttle';\nimport { useEffect, useRef } from 'react';\nvar useThrottlePlugin = function (fetchInstance, _a) {\n var throttleWait = _a.throttleWait, throttleLeading = _a.throttleLeading, throttleTrailing = _a.throttleTrailing;\n var throttledRef = useRef(undefined);\n var options = {};\n if (throttleLeading !== undefined) {\n options.leading = throttleLeading;\n }\n if (throttleTrailing !== undefined) {\n options.trailing = throttleTrailing;\n }\n useEffect(function () {\n if (throttleWait) {\n var _originRunAsync_1 = fetchInstance.runAsync.bind(fetchInstance);\n throttledRef.current = throttle(function (callback) {\n callback();\n }, throttleWait, options);\n // throttle runAsync should be promise\n // https://github.com/lodash/lodash/issues/4400#issuecomment-834800398\n fetchInstance.runAsync = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new Promise(function (resolve, reject) {\n var _a;\n (_a = throttledRef.current) === null || _a === void 0 ? void 0 : _a.call(throttledRef, function () {\n _originRunAsync_1.apply(void 0, __spreadArray([], __read(args), false)).then(resolve)\n .catch(reject);\n });\n });\n };\n return function () {\n var _a;\n fetchInstance.runAsync = _originRunAsync_1;\n (_a = throttledRef.current) === null || _a === void 0 ? void 0 : _a.cancel();\n };\n }\n }, [throttleWait, throttleLeading, throttleTrailing]);\n if (!throttleWait) {\n return {};\n }\n return {\n onCancel: function () {\n var _a;\n (_a = throttledRef.current) === null || _a === void 0 ? void 0 : _a.cancel();\n },\n };\n};\nexport default useThrottlePlugin;\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 var result = fn === null || fn === void 0 ? void 0 : fn();\n // If fn returns a Promise, don't return it as cleanup function\n if (result && typeof result === 'object' && typeof result.then === 'function') {\n return;\n }\n return result;\n }, []);\n};\nexport default useMount;\n","import { __read } from \"tslib\";\nimport { useState } from 'react';\nimport useMemoizedFn from '../useMemoizedFn';\nvar useUpdate = function () {\n var _a = __read(useState({}), 2), setState = _a[1];\n return useMemoizedFn(function () { return setState({}); });\n};\nexport default useUpdate;\n","import { __assign, __awaiter, __generator, __read, __rest, __spreadArray } from \"tslib\";\nimport { isFunction } from '../../utils';\nvar Fetch = /** @class */ (function () {\n function Fetch(serviceRef, options, subscribe, initState) {\n if (initState === void 0) { initState = {}; }\n this.serviceRef = serviceRef;\n this.options = options;\n this.subscribe = subscribe;\n this.initState = initState;\n this.pluginImpls = [];\n this.count = 0;\n this.state = {\n loading: false,\n params: undefined,\n data: undefined,\n error: undefined,\n };\n this.state = __assign(__assign(__assign({}, this.state), { loading: !options.manual }), initState);\n }\n Fetch.prototype.setState = function (s) {\n if (s === void 0) { s = {}; }\n this.state = __assign(__assign({}, this.state), s);\n this.subscribe();\n };\n Fetch.prototype.runPluginHandler = function (event) {\n var rest = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n rest[_i - 1] = arguments[_i];\n }\n // @ts-ignore\n var r = this.pluginImpls.map(function (i) { var _a; return (_a = i[event]) === null || _a === void 0 ? void 0 : _a.call.apply(_a, __spreadArray([i], __read(rest), false)); }).filter(Boolean);\n return Object.assign.apply(Object, __spreadArray([{}], __read(r), false));\n };\n Fetch.prototype.runAsync = function () {\n var params = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n params[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var currentCount, _a, _b, stopNow, _c, returnNow, state, servicePromise, res, error_1;\n var _d;\n var _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;\n return __generator(this, function (_q) {\n switch (_q.label) {\n case 0:\n this.count += 1;\n currentCount = this.count;\n _a = this.runPluginHandler('onBefore', params), _b = _a.stopNow, stopNow = _b === void 0 ? false : _b, _c = _a.returnNow, returnNow = _c === void 0 ? false : _c, state = __rest(_a, [\"stopNow\", \"returnNow\"]);\n // stop request\n if (stopNow) {\n return [2 /*return*/, Promise.resolve(state.data)];\n }\n this.setState(__assign({ loading: true, params: params }, state));\n // return now\n if (returnNow) {\n return [2 /*return*/, Promise.resolve(state.data)];\n }\n (_f = (_e = this.options).onBefore) === null || _f === void 0 ? void 0 : _f.call(_e, params);\n _q.label = 1;\n case 1:\n _q.trys.push([1, 3, , 4]);\n servicePromise = this.runPluginHandler('onRequest', this.serviceRef.current, params).servicePromise;\n if (!servicePromise) {\n servicePromise = (_d = this.serviceRef).current.apply(_d, __spreadArray([], __read(params), false));\n }\n return [4 /*yield*/, servicePromise];\n case 2:\n res = _q.sent();\n if (currentCount !== this.count) {\n // prevent run.then when request is canceled\n return [2 /*return*/, new Promise(function () { })];\n }\n // const formattedResult = this.options.formatResultRef.current ? this.options.formatResultRef.current(res) : res;\n this.setState({\n data: res,\n error: undefined,\n loading: false,\n });\n (_h = (_g = this.options).onSuccess) === null || _h === void 0 ? void 0 : _h.call(_g, res, params);\n this.runPluginHandler('onSuccess', res, params);\n (_k = (_j = this.options).onFinally) === null || _k === void 0 ? void 0 : _k.call(_j, params, res, undefined);\n if (currentCount === this.count) {\n this.runPluginHandler('onFinally', params, res, undefined);\n }\n return [2 /*return*/, res];\n case 3:\n error_1 = _q.sent();\n if (currentCount !== this.count) {\n // prevent run.then when request is canceled\n return [2 /*return*/, new Promise(function () { })];\n }\n this.setState({\n error: error_1,\n loading: false,\n });\n (_m = (_l = this.options).onError) === null || _m === void 0 ? void 0 : _m.call(_l, error_1, params);\n this.runPluginHandler('onError', error_1, params);\n (_p = (_o = this.options).onFinally) === null || _p === void 0 ? void 0 : _p.call(_o, params, undefined, error_1);\n if (currentCount === this.count) {\n this.runPluginHandler('onFinally', params, undefined, error_1);\n }\n throw error_1;\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n Fetch.prototype.run = function () {\n var _this = this;\n var params = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n params[_i] = arguments[_i];\n }\n this.runAsync.apply(this, __spreadArray([], __read(params), false)).catch(function (error) {\n if (!_this.options.onError) {\n console.error(error);\n }\n });\n };\n Fetch.prototype.cancel = function () {\n this.count += 1;\n this.setState({\n loading: false,\n });\n this.runPluginHandler('onCancel');\n };\n Fetch.prototype.refresh = function () {\n // @ts-ignore\n this.run.apply(this, __spreadArray([], __read((this.state.params || [])), false));\n };\n Fetch.prototype.refreshAsync = function () {\n // @ts-ignore\n return this.runAsync.apply(this, __spreadArray([], __read((this.state.params || [])), false));\n };\n Fetch.prototype.mutate = function (data) {\n var targetData = isFunction(data) ? data(this.state.data) : data;\n this.runPluginHandler('onMutate', targetData);\n this.setState({\n data: targetData,\n });\n };\n return Fetch;\n}());\nexport default Fetch;\n","import { __assign, __read, __rest, __spreadArray } from \"tslib\";\nimport useCreation from '../../useCreation';\nimport useLatest from '../../useLatest';\nimport useMemoizedFn from '../../useMemoizedFn';\nimport useMount from '../../useMount';\nimport useUnmount from '../../useUnmount';\nimport useUpdate from '../../useUpdate';\nimport isDev from '../../utils/isDev';\nimport Fetch from './Fetch';\nfunction useRequestImplement(service, options, plugins) {\n if (options === void 0) { options = {}; }\n if (plugins === void 0) { plugins = []; }\n var _a = options.manual, manual = _a === void 0 ? false : _a, _b = options.ready, ready = _b === void 0 ? true : _b, rest = __rest(options, [\"manual\", \"ready\"]);\n if (isDev) {\n if (options.defaultParams && !Array.isArray(options.defaultParams)) {\n console.warn(\"expected defaultParams is array, got \".concat(typeof options.defaultParams));\n }\n }\n var fetchOptions = __assign({ manual: manual, ready: ready }, rest);\n var serviceRef = useLatest(service);\n var update = useUpdate();\n var fetchInstance = useCreation(function () {\n var initState = plugins.map(function (p) { var _a; return (_a = p === null || p === void 0 ? void 0 : p.onInit) === null || _a === void 0 ? void 0 : _a.call(p, fetchOptions); }).filter(Boolean);\n return new Fetch(serviceRef, fetchOptions, update, Object.assign.apply(Object, __spreadArray([{}], __read(initState), false)));\n }, []);\n fetchInstance.options = fetchOptions;\n // run all plugins hooks\n fetchInstance.pluginImpls = plugins.map(function (p) { return p(fetchInstance, fetchOptions); });\n useMount(function () {\n if (!manual && ready) {\n // useCachePlugin can set fetchInstance.state.params from cache when init\n var params = fetchInstance.state.params || options.defaultParams || [];\n // @ts-ignore\n fetchInstance.run.apply(fetchInstance, __spreadArray([], __read(params), false));\n }\n });\n useUnmount(function () {\n fetchInstance.cancel();\n });\n return {\n loading: fetchInstance.state.loading,\n data: fetchInstance.state.data,\n error: fetchInstance.state.error,\n params: fetchInstance.state.params || [],\n cancel: useMemoizedFn(fetchInstance.cancel.bind(fetchInstance)),\n refresh: useMemoizedFn(fetchInstance.refresh.bind(fetchInstance)),\n refreshAsync: useMemoizedFn(fetchInstance.refreshAsync.bind(fetchInstance)),\n run: useMemoizedFn(fetchInstance.run.bind(fetchInstance)),\n runAsync: useMemoizedFn(fetchInstance.runAsync.bind(fetchInstance)),\n mutate: useMemoizedFn(fetchInstance.mutate.bind(fetchInstance)),\n };\n}\nexport default useRequestImplement;\n","import { __read, __spreadArray } from \"tslib\";\nimport useAutoRunPlugin from './plugins/useAutoRunPlugin';\nimport useCachePlugin from './plugins/useCachePlugin';\nimport useDebouncePlugin from './plugins/useDebouncePlugin';\nimport useLoadingDelayPlugin from './plugins/useLoadingDelayPlugin';\nimport usePollingPlugin from './plugins/usePollingPlugin';\nimport useRefreshOnWindowFocusPlugin from './plugins/useRefreshOnWindowFocusPlugin';\nimport useRetryPlugin from './plugins/useRetryPlugin';\nimport useThrottlePlugin from './plugins/useThrottlePlugin';\nimport useRequestImplement from './useRequestImplement';\n// function useRequest<TData, TParams extends any[], TFormated, TTFormated extends TFormated = any>(\n// service: Service<TData, TParams>,\n// options: OptionsWithFormat<TData, TParams, TFormated, TTFormated>,\n// plugins?: Plugin<TData, TParams>[],\n// ): Result<TFormated, TParams>\n// function useRequest<TData, TParams extends any[]>(\n// service: Service<TData, TParams>,\n// options?: OptionsWithoutFormat<TData, TParams>,\n// plugins?: Plugin<TData, TParams>[],\n// ): Result<TData, TParams>\nfunction useRequest(service, options, plugins) {\n return useRequestImplement(service, options, __spreadArray(__spreadArray([], __read((plugins || [])), false), [\n useDebouncePlugin,\n useLoadingDelayPlugin,\n usePollingPlugin,\n useRefreshOnWindowFocusPlugin,\n useThrottlePlugin,\n useAutoRunPlugin,\n useCachePlugin,\n useRetryPlugin,\n ], false));\n}\nexport default useRequest;\n","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","/** @license React v16.13.1\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\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\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\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (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 || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\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_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\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} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\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 hasWarnedAboutDeprecatedIsAsyncMode = 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 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\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}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\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.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.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","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Checks if a given element has a CSS class.\n * \n * @param element the element\n * @param className the CSS class name\n */\nexport default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","import hasClass from './hasClass';\n/**\n * Adds a CSS class to a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\nexport default function addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","function replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n/**\n * Removes a CSS class from a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\n\nexport default function removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else if (typeof element.className === 'string') {\n element.className = replaceClassName(element.className, className);\n } else {\n element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n }\n}","export default {\n disabled: false\n};","import PropTypes from 'prop-types';\nexport var timeoutsShape = process.env.NODE_ENV !== 'production' ? PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n enter: PropTypes.number,\n exit: PropTypes.number,\n appear: PropTypes.number\n}).isRequired]) : null;\nexport var classNamesShape = process.env.NODE_ENV !== 'production' ? PropTypes.oneOfType([PropTypes.string, PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string,\n active: PropTypes.string\n}), PropTypes.shape({\n enter: PropTypes.string,\n enterDone: PropTypes.string,\n enterActive: PropTypes.string,\n exit: PropTypes.string,\n exitDone: PropTypes.string,\n exitActive: PropTypes.string\n})]) : null;","import React from 'react';\nexport default React.createContext(null);","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * <Transition in={inProp} timeout={duration}>\n * {state => (\n * <div style={{\n * ...defaultStyle,\n * ...transitionStyles[state]\n * }}>\n * I'm a fade Transition!\n * </div>\n * )}\n * </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <Transition in={inProp} timeout={500}>\n * {state => (\n * // ...\n * )}\n * </Transition>\n * <button onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * <Transition in={this.state.in} timeout={150}>\n * {state => (\n * <MyComponent className={`fade fade-${state}`} />\n * )}\n * </Transition>\n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `<CSSTransition>` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport addOneClass from 'dom-helpers/addClass';\nimport removeOneClass from 'dom-helpers/removeClass';\nimport React from 'react';\nimport Transition from './Transition';\nimport { classNamesShape } from './utils/PropTypes';\nimport { forceReflow } from './utils/reflow';\n\nvar _addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return addOneClass(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return removeOneClass(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](https://docs.angularjs.org/api/ngAnimate) library, you should\n * use it if you're using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <CSSTransition in={inProp} timeout={200} classNames=\"my-node\">\n * <div>\n * {\"I'll receive my-node-* classes\"}\n * </div>\n * </CSSTransition>\n * <button type=\"button\" onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**, so it's\n * important to add `transition` declaration only to them, otherwise transitions\n * might not behave as intended! This might not be obvious when the transitions\n * are symmetrical, i.e. when `*-enter-active` is the same as `*-exit`, like in\n * the example above (minus `transition`), but it becomes apparent in more\n * complex transitions.\n *\n * **Note**: If you're using the\n * [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)\n * prop, make sure to define styles for `.appear-*` classes as well.\n */\n\n\nvar CSSTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.appliedClasses = {\n appear: {},\n enter: {},\n exit: {}\n };\n\n _this.onEnter = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument[0],\n appearing = _this$resolveArgument[1];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, appearing ? 'appear' : 'enter', 'base');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntering = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument2 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument2[0],\n appearing = _this$resolveArgument2[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.addClass(node, type, 'active');\n\n if (_this.props.onEntering) {\n _this.props.onEntering(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntered = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument3 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument3[0],\n appearing = _this$resolveArgument3[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.removeClasses(node, type);\n\n _this.addClass(node, type, 'done');\n\n if (_this.props.onEntered) {\n _this.props.onEntered(maybeNode, maybeAppearing);\n }\n };\n\n _this.onExit = function (maybeNode) {\n var _this$resolveArgument4 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument4[0];\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n _this.addClass(node, 'exit', 'base');\n\n if (_this.props.onExit) {\n _this.props.onExit(maybeNode);\n }\n };\n\n _this.onExiting = function (maybeNode) {\n var _this$resolveArgument5 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument5[0];\n\n _this.addClass(node, 'exit', 'active');\n\n if (_this.props.onExiting) {\n _this.props.onExiting(maybeNode);\n }\n };\n\n _this.onExited = function (maybeNode) {\n var _this$resolveArgument6 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument6[0];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, 'exit', 'done');\n\n if (_this.props.onExited) {\n _this.props.onExited(maybeNode);\n }\n };\n\n _this.resolveArguments = function (maybeNode, maybeAppearing) {\n return _this.props.nodeRef ? [_this.props.nodeRef.current, maybeNode] // here `maybeNode` is actually `appearing`\n : [maybeNode, maybeAppearing];\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + \"-\" : '';\n var baseClassName = isStringClassNames ? \"\" + prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? baseClassName + \"-active\" : classNames[type + \"Active\"];\n var doneClassName = isStringClassNames ? baseClassName + \"-done\" : classNames[type + \"Done\"];\n return {\n baseClassName: baseClassName,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.addClass = function addClass(node, type, phase) {\n var className = this.getClassNames(type)[phase + \"ClassName\"];\n\n var _this$getClassNames = this.getClassNames('enter'),\n doneClassName = _this$getClassNames.doneClassName;\n\n if (type === 'appear' && phase === 'done' && doneClassName) {\n className += \" \" + doneClassName;\n } // This is to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n\n\n if (phase === 'active') {\n if (node) forceReflow(node);\n }\n\n if (className) {\n this.appliedClasses[type][phase] = className;\n\n _addClass(node, className);\n }\n };\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$appliedClasses$ = this.appliedClasses[type],\n baseClassName = _this$appliedClasses$.base,\n activeClassName = _this$appliedClasses$.active,\n doneClassName = _this$appliedClasses$.done;\n this.appliedClasses[type] = {};\n\n if (baseClassName) {\n removeClass(node, baseClassName);\n }\n\n if (activeClassName) {\n removeClass(node, activeClassName);\n }\n\n if (doneClassName) {\n removeClass(node, doneClassName);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n _ = _this$props.classNames,\n props = _objectWithoutPropertiesLoose(_this$props, [\"classNames\"]);\n\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(React.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, Transition.propTypes, {\n /**\n * The animation classNames applied to the component as it appears, enters,\n * exits or has finished the transition. A single name can be provided, which\n * will be suffixed for each stage, e.g. `classNames=\"fade\"` applies:\n *\n * - `fade-appear`, `fade-appear-active`, `fade-appear-done`\n * - `fade-enter`, `fade-enter-active`, `fade-enter-done`\n * - `fade-exit`, `fade-exit-active`, `fade-exit-done`\n *\n * A few details to note about how these classes are applied:\n *\n * 1. They are _joined_ with the ones that are already defined on the child\n * component, so if you want to add some base styles, you can use\n * `className` without worrying that it will be overridden.\n *\n * 2. If the transition component mounts with `in={false}`, no classes are\n * applied yet. You might be expecting `*-exit-done`, but if you think\n * about it, a component cannot finish exiting if it hasn't entered yet.\n *\n * 2. `fade-appear-done` and `fade-enter-done` will _both_ be applied. This\n * allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply\n * an epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: classNamesShape,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit-active' is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nexport default CSSTransition;","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\n\nvar _leaveRenders, _enterRenders;\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { ENTERED, ENTERING, EXITING } from './Transition';\nimport TransitionGroupContext from './TransitionGroupContext';\n\nfunction areChildrenDifferent(oldChildren, newChildren) {\n if (oldChildren === newChildren) return false;\n\n if (React.isValidElement(oldChildren) && React.isValidElement(newChildren) && oldChildren.key != null && oldChildren.key === newChildren.key) {\n return false;\n }\n\n return true;\n}\n/**\n * Enum of modes for SwitchTransition component\n * @enum { string }\n */\n\n\nexport var modes = {\n out: 'out-in',\n in: 'in-out'\n};\n\nvar callHook = function callHook(element, name, cb) {\n return function () {\n var _element$props;\n\n element.props[name] && (_element$props = element.props)[name].apply(_element$props, arguments);\n cb();\n };\n};\n\nvar leaveRenders = (_leaveRenders = {}, _leaveRenders[modes.out] = function (_ref) {\n var current = _ref.current,\n changeState = _ref.changeState;\n return React.cloneElement(current, {\n in: false,\n onExited: callHook(current, 'onExited', function () {\n changeState(ENTERING, null);\n })\n });\n}, _leaveRenders[modes.in] = function (_ref2) {\n var current = _ref2.current,\n changeState = _ref2.changeState,\n children = _ref2.children;\n return [current, React.cloneElement(children, {\n in: true,\n onEntered: callHook(children, 'onEntered', function () {\n changeState(ENTERING);\n })\n })];\n}, _leaveRenders);\nvar enterRenders = (_enterRenders = {}, _enterRenders[modes.out] = function (_ref3) {\n var children = _ref3.children,\n changeState = _ref3.changeState;\n return React.cloneElement(children, {\n in: true,\n onEntered: callHook(children, 'onEntered', function () {\n changeState(ENTERED, React.cloneElement(children, {\n in: true\n }));\n })\n });\n}, _enterRenders[modes.in] = function (_ref4) {\n var current = _ref4.current,\n children = _ref4.children,\n changeState = _ref4.changeState;\n return [React.cloneElement(current, {\n in: false,\n onExited: callHook(current, 'onExited', function () {\n changeState(ENTERED, React.cloneElement(children, {\n in: true\n }));\n })\n }), React.cloneElement(children, {\n in: true\n })];\n}, _enterRenders);\n/**\n * A transition component inspired by the [vue transition modes](https://vuejs.org/v2/guide/transitions.html#Transition-Modes).\n * You can use it when you want to control the render between state transitions.\n * Based on the selected mode and the child's key which is the `Transition` or `CSSTransition` component, the `SwitchTransition` makes a consistent transition between them.\n *\n * If the `out-in` mode is selected, the `SwitchTransition` waits until the old child leaves and then inserts a new child.\n * If the `in-out` mode is selected, the `SwitchTransition` inserts a new child first, waits for the new child to enter and then removes the old child.\n *\n * **Note**: If you want the animation to happen simultaneously\n * (that is, to have the old child removed and a new child inserted **at the same time**),\n * you should use\n * [`TransitionGroup`](https://reactcommunity.org/react-transition-group/transition-group)\n * instead.\n *\n * ```jsx\n * function App() {\n * const [state, setState] = useState(false);\n * return (\n * <SwitchTransition>\n * <CSSTransition\n * key={state ? \"Goodbye, world!\" : \"Hello, world!\"}\n * addEndListener={(node, done) => node.addEventListener(\"transitionend\", done, false)}\n * classNames='fade'\n * >\n * <button onClick={() => setState(state => !state)}>\n * {state ? \"Goodbye, world!\" : \"Hello, world!\"}\n * </button>\n * </CSSTransition>\n * </SwitchTransition>\n * );\n * }\n * ```\n *\n * ```css\n * .fade-enter{\n * opacity: 0;\n * }\n * .fade-exit{\n * opacity: 1;\n * }\n * .fade-enter-active{\n * opacity: 1;\n * }\n * .fade-exit-active{\n * opacity: 0;\n * }\n * .fade-enter-active,\n * .fade-exit-active{\n * transition: opacity 500ms;\n * }\n * ```\n */\n\nvar SwitchTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(SwitchTransition, _React$Component);\n\n function SwitchTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.state = {\n status: ENTERED,\n current: null\n };\n _this.appeared = false;\n\n _this.changeState = function (status, current) {\n if (current === void 0) {\n current = _this.state.current;\n }\n\n _this.setState({\n status: status,\n current: current\n });\n };\n\n return _this;\n }\n\n var _proto = SwitchTransition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.appeared = true;\n };\n\n SwitchTransition.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n if (props.children == null) {\n return {\n current: null\n };\n }\n\n if (state.status === ENTERING && props.mode === modes.in) {\n return {\n status: ENTERING\n };\n }\n\n if (state.current && areChildrenDifferent(state.current, props.children)) {\n return {\n status: EXITING\n };\n }\n\n return {\n current: React.cloneElement(props.children, {\n in: true\n })\n };\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n mode = _this$props.mode,\n _this$state = this.state,\n status = _this$state.status,\n current = _this$state.current;\n var data = {\n children: children,\n current: current,\n changeState: this.changeState,\n status: status\n };\n var component;\n\n switch (status) {\n case ENTERING:\n component = enterRenders[mode](data);\n break;\n\n case EXITING:\n component = leaveRenders[mode](data);\n break;\n\n case ENTERED:\n component = current;\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: {\n isMounting: !this.appeared\n }\n }, component);\n };\n\n return SwitchTransition;\n}(React.Component);\n\nSwitchTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * Transition modes.\n * `out-in`: Current element transitions out first, then when complete, the new element transitions in.\n * `in-out`: New element transitions in first, then when complete, the current element transitions out.\n *\n * @type {'out-in'|'in-out'}\n */\n mode: PropTypes.oneOf([modes.in, modes.out]),\n\n /**\n * Any `Transition` or `CSSTransition` component.\n */\n children: PropTypes.oneOfType([PropTypes.element.isRequired])\n} : {};\nSwitchTransition.defaultProps = {\n mode: modes.out\n};\nexport default SwitchTransition;","import { Tooltip } from 'antd'\nimport React from 'react'\nimport { getProjectCName } from '~/runtime'\n\nconst Logo = () => {\n const projectCName = getProjectCName()\n\n return (\n <section className=\"flex items-center justify-start border-slate-200 mx-4 text-center my-3\">\n <svg\n className=\"w-8 h-8 fill-red-500\"\n viewBox=\"0 0 400 400\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g>\n <ellipse cx=\"200.611\" cy=\"200.667\" rx=\"177.778\" ry=\"177.778\" />\n <path\n fill=\"#fff\"\n d=\"M28.944 221.778l197.5-194.445L367 254.556 227.556 374 28.944 221.778z\"\n />\n <path d=\"M78.431 253.29c15.953 45.715 69.05 64.287 135.717 66.43 166.908 12.62 192.836-144.553 36.578-120.73-64.853 10.321-82.784-8.213-85.598-36.225-2.813-28.012 30.315-52.258 67.58-53.362 37.264-1.103 54.208 22.032 48.86 41.818l-9.562 19.561c41.474-19.361 20.499-63.282-27.842-79.486-153.068-31.708-185.996 155.8-20.504 125.847 68.981-11.553 134.89 63.901 2.433 88.456-23.908 3.21-100.442 8.175-127.509-42.995l-20.153-9.314z\" />\n <ellipse cx=\"98.944\" cy=\"237.889\" rx=\"26.111\" ry=\"26.111\" />\n <ellipse cx=\"259.222\" cy=\"153.167\" rx=\"21.944\" ry=\"21.944\" />\n </g>\n </svg>\n <Tooltip title={projectCName}>\n <span className=\"text-lg font-bold ml-2 bg-gradient-to-r from-red-500 to-orange-500 bg-clip text-transparent custom-logo-text\">\n {projectCName.substring(0, 9)}\n </span>\n </Tooltip>\n </section>\n )\n}\n\nexport default Logo\n\n","import { Menu } from 'antd'\nimport type { MenuProps } from 'antd'\nimport React, { useEffect, useState } from 'react'\nimport { useLocation, useNavigate } from 'react-router-dom'\nimport { useSgSystemStore } from '~/runtime'\n\nconst Tree = () => {\n const { menus } = useSgSystemStore()\n\n const navigate = useNavigate()\n const location = useLocation()\n const [openKeys, setOpenKeys] = useState([''])\n const rootSubmenuKeys = menus.map((_: any) => _?.key)\n\n useEffect(() => {\n setOpenKeys(location.pathname.substring(1).split('/'))\n }, [location.pathname])\n\n const onOpenChange: MenuProps['onOpenChange'] = keys => {\n const latestOpenKey = keys.find(key => openKeys.indexOf(key) === -1)\n if (rootSubmenuKeys.indexOf(latestOpenKey!) === -1) {\n setOpenKeys(keys)\n } else {\n setOpenKeys(latestOpenKey ? [latestOpenKey] : [])\n }\n }\n\n const onClick: MenuProps['onClick'] = ({ keyPath, key, item }) => {\n if (key.indexOf('://') !== -1) {\n window.open(key)\n return\n }\n const query = (item as any).props?.query || ''\n const path = keyPath.reverse().join('/')\n navigate(`${path}${query ? '?' + query : ''}`)\n }\n\n return (\n <section className=\"flex-1 flex flex-col justify-between\">\n <Menu\n mode=\"inline\"\n openKeys={openKeys}\n onOpenChange={onOpenChange}\n onClick={onClick}\n selectedKeys={location.pathname.substring(1).split('/')}\n items={menus}\n style={{ borderInlineWidth: 0 }}\n className=\"border-t border-b border-slate-100\"\n />\n </section>\n )\n}\n\nexport default Tree\n\n","var _excluded = [\"size\", \"strokeWidth\", \"strokeLinecap\", \"strokeLinejoin\", \"theme\", \"fill\", \"className\", \"spin\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { createContext, useContext, useMemo } from 'react';\nexport var DEFAULT_ICON_CONFIGS = {\n size: '1em',\n strokeWidth: 4,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n rtl: false,\n theme: 'outline',\n colors: {\n outline: {\n fill: '#333',\n background: 'transparent'\n },\n filled: {\n fill: '#333',\n background: '#FFF'\n },\n twoTone: {\n fill: '#333',\n twoTone: '#2F88FF'\n },\n multiColor: {\n outStrokeColor: '#333',\n outFillColor: '#2F88FF',\n innerStrokeColor: '#FFF',\n innerFillColor: '#43CCF8'\n }\n },\n prefix: 'i'\n};\n\nfunction guid() {\n return 'icon-' + ((1 + Math.random()) * 0x100000000 | 0).toString(16).substring(1);\n}\n\nexport function IconConverter(id, icon, config) {\n var fill = typeof icon.fill === 'string' ? [icon.fill] : icon.fill || [];\n var colors = [];\n var theme = icon.theme || config.theme;\n\n switch (theme) {\n case 'outline':\n colors.push(typeof fill[0] === 'string' ? fill[0] : 'currentColor');\n colors.push('none');\n colors.push(typeof fill[0] === 'string' ? fill[0] : 'currentColor');\n colors.push('none');\n break;\n\n case 'filled':\n colors.push(typeof fill[0] === 'string' ? fill[0] : 'currentColor');\n colors.push(typeof fill[0] === 'string' ? fill[0] : 'currentColor');\n colors.push('#FFF');\n colors.push('#FFF');\n break;\n\n case 'two-tone':\n colors.push(typeof fill[0] === 'string' ? fill[0] : 'currentColor');\n colors.push(typeof fill[1] === 'string' ? fill[1] : config.colors.twoTone.twoTone);\n colors.push(typeof fill[0] === 'string' ? fill[0] : 'currentColor');\n colors.push(typeof fill[1] === 'string' ? fill[1] : config.colors.twoTone.twoTone);\n break;\n\n case 'multi-color':\n colors.push(typeof fill[0] === 'string' ? fill[0] : 'currentColor');\n colors.push(typeof fill[1] === 'string' ? fill[1] : config.colors.multiColor.outFillColor);\n colors.push(typeof fill[2] === 'string' ? fill[2] : config.colors.multiColor.innerStrokeColor);\n colors.push(typeof fill[3] === 'string' ? fill[3] : config.colors.multiColor.innerFillColor);\n break;\n }\n\n return {\n size: icon.size || config.size,\n strokeWidth: icon.strokeWidth || config.strokeWidth,\n strokeLinecap: icon.strokeLinecap || config.strokeLinecap,\n strokeLinejoin: icon.strokeLinejoin || config.strokeLinejoin,\n colors: colors,\n id: id\n };\n}\nvar IconContext = /*#__PURE__*/createContext(DEFAULT_ICON_CONFIGS);\nexport var IconProvider = IconContext.Provider;\nexport function IconWrapper(name, rtl, render) {\n return function (props) {\n var size = props.size,\n strokeWidth = props.strokeWidth,\n strokeLinecap = props.strokeLinecap,\n strokeLinejoin = props.strokeLinejoin,\n theme = props.theme,\n fill = props.fill,\n className = props.className,\n spin = props.spin,\n extra = _objectWithoutProperties(props, _excluded);\n\n var ICON_CONFIGS = useContext(IconContext);\n var id = useMemo(guid, []);\n var svgProps = IconConverter(id, {\n size: size,\n strokeWidth: strokeWidth,\n strokeLinecap: strokeLinecap,\n strokeLinejoin: strokeLinejoin,\n theme: theme,\n fill: fill\n }, ICON_CONFIGS);\n var cls = [ICON_CONFIGS.prefix + '-icon'];\n cls.push(ICON_CONFIGS.prefix + '-icon' + '-' + name);\n\n if (rtl && ICON_CONFIGS.rtl) {\n cls.push(ICON_CONFIGS.prefix + '-icon-rtl');\n }\n\n if (spin) {\n cls.push(ICON_CONFIGS.prefix + '-icon-spin');\n }\n\n if (className) {\n cls.push(className);\n }\n\n return /*#__PURE__*/React.createElement(\"span\", _objectSpread(_objectSpread({}, extra), {}, {\n className: cls.join(' ')\n }), render(svgProps));\n };\n}","import React from 'react';\nimport { IconWrapper } from '../runtime';\nexport default IconWrapper('grid-three', true, function (props) {\n return /*#__PURE__*/React.createElement(\"svg\", {\n width: props.size,\n height: props.size,\n viewBox: \"0 0 48 48\",\n fill: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.3 6H8.7C7.20883 6 6 7.20883 6 8.7V39.3C6 40.7912 7.20883 42 8.7 42H39.3C40.7912 42 42 40.7912 42 39.3V8.7C42 7.20883 40.7912 6 39.3 6Z\",\n stroke: props.colors[0],\n strokeWidth: props.strokeWidth\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15 6L15 42\",\n stroke: props.colors[0],\n strokeWidth: props.strokeWidth,\n strokeLinecap: props.strokeLinecap\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42 17H6\",\n stroke: props.colors[0],\n strokeWidth: props.strokeWidth,\n strokeLinecap: props.strokeLinecap\n }));\n});","import React from 'react';\nimport { IconWrapper } from '../runtime';\nexport default IconWrapper('home', false, function (props) {\n return /*#__PURE__*/React.createElement(\"svg\", {\n width: props.size,\n height: props.size,\n viewBox: \"0 0 48 48\",\n fill: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 18V42H39V18L24 6L9 18Z\",\n fill: props.colors[1],\n stroke: props.colors[0],\n strokeWidth: props.strokeWidth,\n strokeLinecap: props.strokeLinecap,\n strokeLinejoin: props.strokeLinejoin\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 29V42H29V29H19Z\",\n fill: props.colors[3],\n stroke: props.colors[2],\n strokeWidth: props.strokeWidth,\n strokeLinejoin: props.strokeLinejoin\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 42H39\",\n stroke: props.colors[0],\n strokeWidth: props.strokeWidth,\n strokeLinecap: props.strokeLinecap\n }));\n});","import React from 'react';\nimport { IconWrapper } from '../runtime';\nexport default IconWrapper('info', true, function (props) {\n return /*#__PURE__*/React.createElement(\"svg\", {\n width: props.size,\n height: props.size,\n viewBox: \"0 0 48 48\",\n fill: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24 44C29.5228 44 34.5228 41.7614 38.1421 38.1421C41.7614 34.5228 44 29.5228 44 24C44 18.4772 41.7614 13.4772 38.1421 9.85786C34.5228 6.23858 29.5228 4 24 4C18.4772 4 13.4772 6.23858 9.85786 9.85786C6.23858 13.4772 4 18.4772 4 24C4 29.5228 6.23858 34.5228 9.85786 38.1421C13.4772 41.7614 18.4772 44 24 44Z\",\n fill: props.colors[1],\n stroke: props.colors[0],\n strokeWidth: props.strokeWidth,\n strokeLinejoin: props.strokeLinejoin\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M24 11C25.3807 11 26.5 12.1193 26.5 13.5C26.5 14.8807 25.3807 16 24 16C22.6193 16 21.5 14.8807 21.5 13.5C21.5 12.1193 22.6193 11 24 11Z\",\n fill: props.colors[2]\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.5 34V20H23.5H22.5\",\n stroke: props.colors[2],\n strokeWidth: props.strokeWidth,\n strokeLinecap: props.strokeLinecap,\n strokeLinejoin: props.strokeLinejoin\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21 34H28\",\n stroke: props.colors[2],\n strokeWidth: props.strokeWidth,\n strokeLinecap: props.strokeLinecap,\n strokeLinejoin: props.strokeLinejoin\n }));\n});","import React from 'react';\nimport { IconWrapper } from '../runtime';\nexport default IconWrapper('layout-one', true, function (props) {\n return /*#__PURE__*/React.createElement(\"svg\", {\n width: props.size,\n height: props.size,\n viewBox: \"0 0 48 48\",\n fill: \"none\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: \"6\",\n y: \"6\",\n width: \"36\",\n height: \"36\",\n rx: \"3\",\n fill: props.colors[1],\n stroke: props.colors[0],\n strokeWidth: props.strokeWidth,\n strokeLinejoin: props.strokeLinejoin\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 16H42\",\n stroke: props.colors[2],\n strokeWidth: props.strokeWidth,\n strokeLinecap: props.strokeLinecap,\n strokeLinejoin: props.strokeLinejoin\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 13V19\",\n stroke: props.colors[0],\n strokeWidth: props.strokeWidth,\n strokeLinecap: props.strokeLinecap,\n strokeLinejoin: props.strokeLinejoin\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42 14V20\",\n stroke: props.colors[0],\n strokeWidth: props.strokeWidth,\n strokeLinecap: props.strokeLinecap,\n strokeLinejoin: props.strokeLinejoin\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32 16V42\",\n stroke: props.colors[2],\n strokeWidth: props.strokeWidth,\n strokeLinecap: props.strokeLinecap,\n strokeLinejoin: props.strokeLinejoin\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29 42H35\",\n stroke: props.colors[0],\n strokeWidth: props.strokeWidth,\n strokeLinecap: props.strokeLinecap,\n strokeLinejoin: props.strokeLinejoin\n }));\n});","import React from 'react';\nimport { IconWrapper } from '../runtime';\nexport default IconWrapper('logout', true, function (props) {\n return /*#__PURE__*/React.createElement(\"svg\", {\n width: props.size,\n height: props.size,\n viewBox: \"0 0 48 48\",\n fill: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.9917 6H6V42H24\",\n stroke: props.colors[0],\n strokeWidth: props.strokeWidth,\n strokeLinecap: props.strokeLinecap,\n strokeLinejoin: props.strokeLinejoin\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33 33L42 24L33 15\",\n stroke: props.colors[0],\n strokeWidth: props.strokeWidth,\n strokeLinecap: props.strokeLinecap,\n strokeLinejoin: props.strokeLinejoin\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 23.9917H42\",\n stroke: props.colors[0],\n strokeWidth: props.strokeWidth,\n strokeLinecap: props.strokeLinecap,\n strokeLinejoin: props.strokeLinejoin\n }));\n});","import React from 'react';\nimport { IconWrapper } from '../runtime';\nexport default IconWrapper('right', true, function (props) {\n return /*#__PURE__*/React.createElement(\"svg\", {\n width: props.size,\n height: props.size,\n viewBox: \"0 0 48 48\",\n fill: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 12L31 24L19 36\",\n stroke: props.colors[0],\n strokeWidth: props.strokeWidth,\n strokeLinecap: props.strokeLinecap,\n strokeLinejoin: props.strokeLinejoin\n }));\n});","import { GridThree, LayoutOne } from '@icon-park/react'\nimport { Button, Tooltip } from 'antd'\nimport React from 'react'\nimport { getSgTemplateLocal, useSgSystemStore } from '~/runtime'\n\nfunction nextLayoutStyleValue(current: any) {\n if (typeof current === 'number') return current === 0 ? 1 : 0\n if (current === 'legacy') return 'modern'\n if (current === 'modern') return 'legacy'\n return 0\n}\n\nexport default function ToggleLayoutButton() {\n const { layoutStyle, setLayoutStyle } = useSgSystemStore()\n const local = getSgTemplateLocal()\n\n const nextLayoutStyle = nextLayoutStyleValue(layoutStyle)\n const isLegacy = layoutStyle === 0 || layoutStyle === 'legacy'\n\n return (\n <Tooltip placement=\"top\" title={isLegacy ? '切换到顶部菜单' : '切换到左侧菜单'}>\n <Button\n type=\"text\"\n className=\"hover:bg-gray-100 rounded h-8 w-8 flex-center\"\n onClick={() => {\n local.layout?.set?.(nextLayoutStyle === 0 ? 'legacy' : 'modern')\n setLayoutStyle(nextLayoutStyle as any)\n }}\n >\n {isLegacy ? (\n <GridThree theme=\"outline\" size=\"16\" className=\"text-slate-500\" />\n ) : (\n <LayoutOne\n theme=\"outline\"\n size=\"16\"\n className=\"text-slate-500 -scale-x-100\"\n />\n )}\n </Button>\n </Tooltip>\n )\n}\n\n","import { Info, Logout } from '@icon-park/react'\nimport { useRequest } from 'ahooks'\nimport { Button } from 'antd'\nimport React from 'react'\nimport { Link, useNavigate } from 'react-router-dom'\nimport { PopConfirm } from '@sg-front-core/ui-v1'\nimport ToggleLayoutButton from '~/toggle'\nimport { getSgTemplateLocal, getSgTemplateRequest, useSgSystemStore } from '~/runtime'\n\nconst User = () => {\n const { user, recoverConfig } = useSgSystemStore()\n const navigate = useNavigate()\n const local = getSgTemplateLocal()\n const request = getSgTemplateRequest()\n\n const logoutReq = useRequest(\n () =>\n request({\n url: 'v1/system/logout',\n method: 'post'\n }),\n {\n manual: true\n }\n )\n\n return (\n <section className=\"bg-white mt-4 p-3 pr-2 flex items-center border border-slate-200 rounded-lg m-2\">\n <div className=\"ml-1 flex-1\">\n <div className=\"text-slate-600 font-bold\">{(user as any).userName}</div>\n <div className=\"text-slate-400 text-sm\">@{(user as any).roles}</div>\n </div>\n\n <Link to=\"userinfo\" className=\"hover:bg-gray-100 rounded h-8 w-8 flex-center\">\n <Info theme=\"outline\" size=\"16\" className=\"text-slate-500\" />\n </Link>\n\n <ToggleLayoutButton />\n\n <PopConfirm\n title=\"确认注销?\"\n onConfirm={() => {\n logoutReq.run()\n local.token?.set?.('')\n local.user?.set?.('' as any)\n recoverConfig()\n navigate('/login')\n }}\n >\n <Button type=\"text\" className=\"hover:bg-gray-100 rounded h-8 w-8 flex-center\">\n <Logout theme=\"outline\" size=\"16\" className=\"text-slate-500\" />\n </Button>\n </PopConfirm>\n </section>\n )\n}\n\nexport default User\n","import classNames from 'clsx'\nimport React, { Fragment } from 'react'\nimport Logo from './logo'\nimport Tree from './tree'\nimport User from './user'\n\ninterface Props {\n loading: boolean\n spin?: React.ReactNode\n cls?: string\n}\n\nconst Aside = (props: Props) => {\n const { cls } = props\n const className = classNames(\n 'aside_tree flex-shrink-0 flex flex-col overflow-auto h-screen sticky top-0 border-r border-r-slate-200 w-[248px] bg-slate-50 text-gray-700 text-sm',\n cls\n )\n\n return (\n <aside className={className}>\n <Logo />\n {props.loading ? (\n <Fragment>\n <Tree />\n <User />\n </Fragment>\n ) : (\n props.spin\n )}\n </aside>\n )\n}\n\nexport default Aside\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\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 a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","import { Home, Right } from '@icon-park/react'\nimport { isFunction } from 'lodash-es'\nimport React, { Fragment } from 'react'\nimport { Link, useMatches } from 'react-router-dom'\n\nconst Breadcrumb = () => {\n const matches = useMatches()\n const crumbs = matches\n .map(match => {\n const { getTitle, title } = (match.handle || {}) as Record<string, any>\n return {\n title: isFunction(getTitle) ? getTitle(match) : title,\n path: match.pathname\n }\n })\n .filter(v => Boolean(v.title))\n\n return (\n <header>\n <section className=\"my-3 flex items-center text-gray-500 text-sm\">\n <Link to=\"/home\">\n <Home theme=\"outline\" size=\"20\" />\n </Link>\n {crumbs.map(({ title, path }, i) => {\n return i > 0 ? (\n <Fragment key={i}>\n <Right theme=\"outline\" size=\"14\" className=\"text-gray-200 mx-2\" />\n <Link\n to={path}\n className={i === crumbs.length - 1 ? 'text-gray-500 font-bold' : ''}\n >\n {title}\n </Link>\n </Fragment>\n ) : (\n <Fragment key={i} />\n )\n })}\n </section>\n <section className=\"mt-8 mb-4 text-2xl font-bold\" />\n </header>\n )\n}\n\nexport default Breadcrumb\n","import { useMount } from 'ahooks'\nimport { Spin } from 'antd'\nimport clsx from 'clsx'\nimport React, { Fragment, useMemo, useRef, useState } from 'react'\nimport { Outlet, useLocation } from 'react-router-dom'\nimport { CSSTransition, SwitchTransition } from 'react-transition-group'\nimport { ErrorBoundary } from '@sg-front-core/ui-v1'\nimport { useSgSystemStore } from '~/runtime'\nimport Aside from './aside'\nimport MenuStatusCrumb from './crumb'\nimport Header from './header'\n\nconst Main = () => {\n const { userReq, menuReq } = useSgSystemStore()\n\n useMount(() => {\n !userReq.data && userReq.run()\n !menuReq.data && menuReq.run()\n })\n\n const [status, setStatus] = useState<boolean>(true)\n const location = useLocation()\n const nodeRef = useRef<HTMLDivElement>(null)\n\n const asideClass = clsx(\n !status ? '!w-0 opacity-0' : 'opacity-100 w-[248px]',\n 'transition-all duration-200'\n )\n\n const loadingJsx = useMemo(\n () => (\n <div className=\"p-4 pl-6\">\n <Spin />\n </div>\n ),\n []\n )\n\n return (\n <div className=\"sg-layout sg-layout--main flex overflow-hidden w-screen\">\n <Aside\n loading={Boolean(menuReq.data)}\n spin={loadingJsx}\n cls={asideClass}\n />\n <MenuStatusCrumb status={status} setStatus={setStatus} />\n {Boolean(menuReq.data) ? (\n <Fragment>\n <main className=\"flex flex-col flex-1 overflow-x-auto p-8 pt-2 h-screen\">\n <Header />\n <SwitchTransition>\n <CSSTransition\n key={location.pathname}\n timeout={100}\n classNames=\"fade\"\n appear={true}\n unmountOnExit={true}\n nodeRef={nodeRef}\n >\n <div ref={nodeRef}>\n <ErrorBoundary>\n <Outlet />\n </ErrorBoundary>\n </div>\n </CSSTransition>\n </SwitchTransition>\n </main>\n </Fragment>\n ) : (\n loadingJsx\n )}\n </div>\n )\n}\n\nexport default Main\n","import { useEffect } from 'react'\nimport { useLocation, useNavigate } from 'react-router-dom'\nimport { isLegacyLayoutStyle, useSgSystemStore } from '~/runtime'\n\nexport default function useTopLevel() {\n const location = useLocation()\n const navigate = useNavigate()\n const { setActiveTopLabel, layoutStyle } = useSgSystemStore()\n\n useEffect(() => {\n if (isLegacyLayoutStyle(layoutStyle)) return\n\n const currentRoutePath = location.pathname.substring(1)\n if (currentRoutePath === '') {\n navigate('/home', { replace: true })\n return\n }\n\n const topLabel =\n currentRoutePath.indexOf('/') === -1\n ? currentRoutePath\n : currentRoutePath.substring(0, currentRoutePath.indexOf('/'))\n setActiveTopLabel(topLabel)\n }, [layoutStyle, location.pathname, navigate, setActiveTopLabel])\n}\n\n","export const containsArray = (a: string[], b: string[]) => {\n return b.every(item => a.includes(item))\n}\n\n","import { Menu } from 'antd'\nimport type { MenuProps } from 'antd'\nimport React, { useEffect, useState } from 'react'\nimport { useLocation, useNavigate } from 'react-router-dom'\nimport { useSgSystemStore } from '~/runtime'\nimport { containsArray } from '~/utils/containsArray'\n\nconst Tree = () => {\n const { menus, activeTopLabel, activeLeftMenuChildren, flattenRoutes } =\n useSgSystemStore()\n\n const navigate = useNavigate()\n const location = useLocation()\n const [openKeys, setOpenKeys] = useState([''])\n const rootSubmenuKeys = menus.map((_: any) => _?.key)\n\n useEffect(() => {\n setOpenKeys(location.pathname.substring(1).split('/'))\n }, [location.pathname])\n\n const onOpenChange: MenuProps['onOpenChange'] = keys => {\n const latestOpenKey = keys.find(key => openKeys.indexOf(key) === -1)\n if (rootSubmenuKeys.indexOf(latestOpenKey!) === -1) {\n setOpenKeys(keys)\n } else {\n setOpenKeys(latestOpenKey ? [latestOpenKey] : [])\n }\n }\n\n const onClick: MenuProps['onClick'] = ({ keyPath, key }) => {\n if (key.indexOf('://') !== -1) {\n window.open(key)\n return\n }\n const path = keyPath.reverse().join('/')\n if (location.pathname.substring(1) !== key) {\n const items = `${activeTopLabel}/${path}`.split('/')\n const paneIndex = (flattenRoutes as any[]).findIndex(a =>\n containsArray(String(a.key).split('?')[0].split('/'), items)\n )\n if (paneIndex >= 0) navigate(`/${(flattenRoutes as any[])[paneIndex].key}`)\n }\n }\n\n return (\n <section className=\"flex-1 flex flex-col justify-between\">\n <Menu\n mode=\"inline\"\n openKeys={openKeys}\n onOpenChange={onOpenChange}\n onClick={onClick}\n selectedKeys={location.pathname.substring(1).split('/')}\n items={activeLeftMenuChildren}\n style={{ borderInlineWidth: 0 }}\n className=\"border-b border-slate-100\"\n />\n </section>\n )\n}\n\nexport default Tree\n\n","import classNames from 'clsx'\nimport React, { Fragment } from 'react'\nimport Tree from './tree'\n\ninterface Props {\n loading: boolean\n spin?: React.ReactNode\n cls?: string\n}\n\nconst Aside = (props: Props) => {\n const { cls } = props\n const className = classNames(\n 'aside_tree flex-shrink-0 flex flex-col overflow-auto h-full sticky top-0 border-r border-r-slate-200 w-[248px] bg-slate-50 text-gray-700 text-sm',\n cls\n )\n\n return (\n <aside className={className}>\n {props.loading ? (\n <Fragment>\n <Tree />\n </Fragment>\n ) : (\n props.spin\n )}\n </aside>\n )\n}\n\nexport default Aside\n","import { Info, Logout } from '@icon-park/react'\nimport { useRequest } from 'ahooks'\nimport { Avatar, Button, Dropdown, MenuProps, Modal, Space } from 'antd'\nimport React, { useState } from 'react'\nimport { useNavigate } from 'react-router-dom'\nimport { getSgTemplateLocal, getSgTemplateRequest, useSgSystemStore } from '~/runtime'\n\nconst User = () => {\n const { userReq, recoverConfig, resetTabs } = useSgSystemStore()\n const navigate = useNavigate()\n const [open, setOpen] = useState(false)\n const user = (userReq as any).data?.data?.user || {}\n const local = getSgTemplateLocal()\n const request = getSgTemplateRequest()\n\n const logoutReq = useRequest(\n () =>\n request({\n url: 'v1/system/logout',\n method: 'post'\n }),\n {\n manual: true\n }\n )\n\n const items: MenuProps['items'] = [\n {\n key: 'info',\n label: (\n <Space>\n <Info theme=\"outline\" size=\"14\" className=\"text-slate-500\" />\n <span className=\"text-slate-500\">个人信息</span>\n </Space>\n ),\n onClick: () => {\n navigate('/userinfo')\n }\n },\n {\n key: 'logout',\n label: (\n <Space>\n <Logout theme=\"outline\" size=\"14\" className=\"text-slate-500\" />\n <span className=\"text-slate-500\">退出</span>\n </Space>\n ),\n onClick: () => setOpen(true)\n }\n ]\n\n return (\n <>\n <section className=\"pr-2 flex items-center\">\n <Dropdown\n menu={{ items }}\n placement=\"topRight\"\n arrow={{ pointAtCenter: true }}\n >\n <Avatar className=\"mr-1\">{String(user?.nickName || '').substring(0, 1)}</Avatar>\n </Dropdown>\n </section>\n <Modal\n centered\n title={\n <span className=\"text-[20px] leading-[20px] font-[400] text-[#333]\">\n 您确定要退出吗?\n </span>\n }\n footer={\n <>\n <Button\n type=\"default\"\n onClick={() => {\n logoutReq.run()\n local.token?.set?.('')\n local.user?.set?.('')\n resetTabs()\n recoverConfig()\n navigate('/login')\n }}\n >\n 退出\n </Button>\n <Button type=\"primary\" onClick={() => setOpen(false)}>\n 保持登录\n </Button>\n </>\n }\n maskClosable={false}\n open={open}\n width={416}\n onCancel={() => setOpen(false)}\n onOk={() => setOpen(false)}\n transitionName=\"\"\n maskTransitionName=\"\"\n >\n <p className=\"text-[13px] mt-[16px] mb-[39px] text-[#626675] leading-[13px]\">\n 退出后,个人信息、部分缓存数据等功能可能无法使用。\n </p>\n </Modal>\n </>\n )\n}\n\nexport default User\n\n","import { LeftOutlined, RightOutlined } from '@ant-design/icons'\nimport { Button, Tooltip } from 'antd'\nimport clsx from 'clsx'\nimport React, { FC, useEffect, useMemo, useRef, useState } from 'react'\nimport { useNavigate } from 'react-router-dom'\nimport { getProjectCName, useSgSystemStore } from '~/runtime'\nimport './index.css'\nimport User from './user'\n\ninterface Props {\n className?: string\n}\n\nconst Header: FC<Props> = props => {\n const { className } = props\n const navigate = useNavigate()\n const { topRootMenus, setActiveTopLabel, activeTopLabel } = useSgSystemStore()\n const projectCName = getProjectCName()\n\n const menuRef = useRef<HTMLUListElement | null>(null)\n const [canScrollLeft, setCanScrollLeft] = useState(false)\n const [canScrollRight, setCanScrollRight] = useState(false)\n\n const updateScrollState = () => {\n const el = menuRef.current\n if (!el) return\n const maxLeft = el.scrollWidth - el.clientWidth\n setCanScrollLeft(el.scrollLeft > 0)\n setCanScrollRight(maxLeft > 0 && el.scrollLeft < maxLeft - 1)\n }\n\n useEffect(() => {\n updateScrollState()\n const el = menuRef.current\n if (!el) return\n\n const onScroll = () => updateScrollState()\n const onResize = () => updateScrollState()\n // Enable mouse wheel horizontal scrolling for the top menu:\n // - Mouse wheels usually emit vertical delta (deltaY) only.\n // - This container is horizontally scrollable, so we translate vertical wheel\n // into horizontal scroll and prevent the page from scrolling when it works.\n const onWheel = (e: WheelEvent) => {\n const maxLeft = el.scrollWidth - el.clientWidth\n if (maxLeft <= 0) return\n\n // Prefer native horizontal delta when present (touchpads), otherwise map deltaY.\n const rawDelta = e.deltaX !== 0 ? e.deltaX : e.deltaY\n if (rawDelta === 0) return\n\n const prev = el.scrollLeft\n el.scrollLeft += rawDelta\n\n // Only prevent default when we actually consumed the scroll.\n if (el.scrollLeft !== prev) {\n e.preventDefault()\n }\n }\n\n el.addEventListener('scroll', onScroll, { passive: true })\n el.addEventListener('wheel', onWheel, { passive: false })\n window.addEventListener('resize', onResize)\n return () => {\n el.removeEventListener('scroll', onScroll)\n el.removeEventListener('wheel', onWheel)\n window.removeEventListener('resize', onResize)\n }\n }, [topRootMenus.length])\n\n const menuWrapClassName = useMemo(\n () =>\n clsx(\n 'modern-top-menu',\n canScrollLeft && 'is-scroll-left',\n canScrollRight && 'is-scroll-right'\n ),\n [canScrollLeft, canScrollRight]\n )\n\n const scrollBy = (delta: number) => {\n const el = menuRef.current\n if (!el) return\n el.scrollBy({ left: delta, behavior: 'smooth' })\n }\n\n const headerClassName = clsx(className)\n const liClassName = 'modern-top-menu__item'\n\n return (\n <header className={headerClassName}>\n <section className=\"flex justify-between text-gray-500 text-sm border-b border-slate-200\">\n <div className=\"w-[247px]\">\n <section className=\"flex items-center justify-start border-slate-200 mx-4 text-center my-3\">\n <svg\n className=\"w-8 h-8 fill-red-500\"\n viewBox=\"0 0 400 400\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g>\n <ellipse cx=\"200.611\" cy=\"200.667\" rx=\"177.778\" ry=\"177.778\" />\n <path\n fill=\"#fff\"\n d=\"M28.944 221.778l197.5-194.445L367 254.556 227.556 374 28.944 221.778z\"\n />\n <path d=\"M78.431 253.29c15.953 45.715 69.05 64.287 135.717 66.433 166.908 12.62 192.836-144.553 36.578-120.73-64.853 10.321-82.784-8.213-85.598-36.225-2.813-28.012 30.315-52.258 67.58-53.362 37.264-1.103 54.208 22.032 48.86 41.818l-9.562 19.561c41.474-19.361 20.499-63.282-27.842-79.486-153.068-31.708-185.996 155.8-20.504 125.847 68.981-11.553 134.89 63.901 2.433 88.456-23.908 3.21-100.442 8.175-127.509-42.995l-20.153-9.314z\" />\n <ellipse cx=\"98.944\" cy=\"237.889\" rx=\"26.111\" ry=\"26.111\" />\n <ellipse cx=\"259.222\" cy=\"153.167\" rx=\"21.944\" ry=\"21.944\" />\n </g>\n </svg>\n <Tooltip title={projectCName}>\n <span className=\"text-lg font-bold ml-2 bg-gradient-to-r from-red-500 to-orange-500 bg-clip text-transparent custom-logo-text\">\n {projectCName.substring(0, 9)}\n </span>\n </Tooltip>\n </section>\n </div>\n\n <section className=\"flex flex-1 min-w-0 justify-start\">\n <div className={menuWrapClassName}>\n <Button\n type=\"text\"\n className=\"modern-top-menu__btn modern-top-menu__btn--left\"\n onClick={() => scrollBy(-320)}\n aria-label=\"scroll left\"\n icon={<LeftOutlined />}\n />\n <ul ref={menuRef} className=\"modern-ul\">\n {topRootMenus.map((item: any) => {\n return (\n <li\n key={item.key}\n className={`${liClassName} ${activeTopLabel === item.key ? 'menu-checked' : ''}`}\n onClick={() => {\n setActiveTopLabel(item.key)\n navigate(`/${item.key}`)\n }}\n title={String(item.label ?? '')}\n >\n <span className=\"modern-top-menu__item-text\">{item.label}</span>\n </li>\n )\n })}\n </ul>\n <Button\n type=\"text\"\n className=\"modern-top-menu__btn modern-top-menu__btn--right\"\n onClick={() => scrollBy(320)}\n aria-label=\"scroll right\"\n icon={<RightOutlined />}\n />\n </div>\n </section>\n\n <section className=\"flex-center w-[200px] justify-end mr-4\">\n <User />\n </section>\n </section>\n </header>\n )\n}\n\nexport default Header\n","// src/index.tsx\nimport { useEffect, useState } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar getScrollParent = (node) => {\n let parent = node;\n while (parent = parent.parentElement) {\n const overflowYVal = getComputedStyle(parent, null).getPropertyValue(\"overflow-y\");\n if (parent === document.body)\n return window;\n if (overflowYVal === \"auto\" || overflowYVal === \"scroll\" || overflowYVal === \"overlay\") {\n return parent;\n }\n }\n return window;\n};\nvar isOffsetElement = (el) => el.firstChild ? el.firstChild.offsetParent === el : true;\nvar offsetTill = (node, target) => {\n let current = node;\n let offset = 0;\n if (!isOffsetElement(target)) {\n offset += node.offsetTop - target.offsetTop;\n target = node.offsetParent;\n offset += -node.offsetTop;\n }\n do {\n offset += current.offsetTop;\n current = current.offsetParent;\n } while (current && current !== target);\n return offset;\n};\nvar getParentNode = (node) => {\n let currentParent = node.parentElement;\n while (currentParent) {\n const style = getComputedStyle(currentParent, null);\n if (style.getPropertyValue(\"display\") !== \"contents\")\n break;\n currentParent = currentParent.parentElement;\n }\n return currentParent || window;\n};\nvar stickyProp = null;\nif (typeof CSS !== \"undefined\" && CSS.supports) {\n if (CSS.supports(\"position\", \"sticky\"))\n stickyProp = \"sticky\";\n else if (CSS.supports(\"position\", \"-webkit-sticky\"))\n stickyProp = \"-webkit-sticky\";\n}\nvar passiveArg = false;\ntry {\n const opts = Object.defineProperty({}, \"passive\", {\n // eslint-disable-next-line getter-return\n get() {\n passiveArg = { passive: true };\n }\n });\n const emptyHandler = () => {\n };\n window.addEventListener(\"testPassive\", emptyHandler, opts);\n window.removeEventListener(\"testPassive\", emptyHandler, opts);\n} catch (e) {\n}\nvar getDimensions = (opts) => {\n const { el, onChange, unsubs, measure } = opts;\n if (el === window) {\n const getRect = () => ({ top: 0, left: 0, height: window.innerHeight, width: window.innerWidth });\n const mResult = measure(getRect());\n const handler = () => {\n Object.assign(mResult, measure(getRect()));\n onChange();\n };\n window.addEventListener(\"resize\", handler, passiveArg);\n unsubs.push(() => window.removeEventListener(\"resize\", handler));\n return mResult;\n } else {\n const mResult = measure(el.getBoundingClientRect());\n const handler = () => {\n Object.assign(mResult, measure(el.getBoundingClientRect()));\n onChange();\n };\n const ro = new ResizeObserver(handler);\n ro.observe(el);\n unsubs.push(() => ro.disconnect());\n return mResult;\n }\n};\nvar getVerticalPadding = (node) => {\n const computedParentStyle = getComputedStyle(node, null);\n const parentPaddingTop = parseInt(computedParentStyle.getPropertyValue(\"padding-top\"), 10);\n const parentPaddingBottom = parseInt(computedParentStyle.getPropertyValue(\"padding-bottom\"), 10);\n return { top: parentPaddingTop, bottom: parentPaddingBottom };\n};\nvar setup = (node, unsubs, opts) => {\n const { bottom, offsetBottom, offsetTop } = opts;\n const scrollPane = getScrollParent(node);\n let isScheduled = false;\n const scheduleOnLayout = () => {\n if (!isScheduled) {\n requestAnimationFrame(() => {\n const nextMode = onLayout();\n if (nextMode !== mode) {\n changeMode(nextMode);\n } else if (nextMode === 1 /* stickyBottom */ && !bottom) {\n const { height: viewPortHeight } = scrollPaneDims;\n const { height: nodeHeight } = nodeDims;\n node.style.top = `${viewPortHeight - nodeHeight - offsetBottom}px`;\n } else if (nextMode === 2 /* relative */) {\n const { height: viewPortHeight, offsetTop: scrollPaneOffset } = scrollPaneDims;\n const { height: parentHeight, naturalTop } = parentDims;\n const { height: nodeHeight } = nodeDims;\n const relativeOffset2 = Math.max(\n 0,\n scrollPaneOffset + latestScrollY + viewPortHeight - (naturalTop + nodeHeight + offsetBottom)\n );\n if (bottom) {\n const nextBottom = Math.max(0, parentHeight - nodeHeight - relativeOffset2);\n node.style.bottom = `${nextBottom}px`;\n } else {\n node.style.top = `${relativeOffset2}px`;\n }\n }\n isScheduled = false;\n });\n }\n isScheduled = true;\n };\n let latestScrollY = scrollPane === window ? window.scrollY : scrollPane.scrollTop;\n const isBoxTooLow = (scrollY) => {\n const { offsetTop: scrollPaneOffset, height: viewPortHeight } = scrollPaneDims;\n const { naturalTop } = parentDims;\n const { height: nodeHeight } = nodeDims;\n if (scrollY + scrollPaneOffset + viewPortHeight >= naturalTop + nodeHeight + relativeOffset + offsetBottom) {\n return true;\n }\n return false;\n };\n const onLayout = () => {\n const { height: viewPortHeight } = scrollPaneDims;\n const { height: nodeHeight } = nodeDims;\n if (nodeHeight + offsetTop + offsetBottom <= viewPortHeight) {\n return 3 /* small */;\n } else {\n if (isBoxTooLow(latestScrollY)) {\n return 1 /* stickyBottom */;\n } else {\n return 2 /* relative */;\n }\n }\n };\n const scrollPaneIsOffsetEl = scrollPane !== window && isOffsetElement(scrollPane);\n const scrollPaneDims = getDimensions({\n el: scrollPane,\n onChange: scheduleOnLayout,\n unsubs,\n measure: ({ height, top }) => ({\n height,\n offsetTop: scrollPaneIsOffsetEl ? top : 0\n })\n });\n const parentNode = getParentNode(node);\n const parentPaddings = parentNode === window ? { top: 0, bottom: 0 } : getVerticalPadding(parentNode);\n const parentDims = getDimensions({\n el: parentNode,\n onChange: scheduleOnLayout,\n unsubs,\n measure: ({ height }) => ({\n height: height - parentPaddings.top - parentPaddings.bottom,\n naturalTop: parentNode === window ? 0 : offsetTill(parentNode, scrollPane) + parentPaddings.top + scrollPaneDims.offsetTop\n })\n });\n const nodeDims = getDimensions({\n el: node,\n onChange: scheduleOnLayout,\n unsubs,\n measure: ({ height }) => ({ height })\n });\n let relativeOffset = 0;\n let mode = onLayout();\n const changeMode = (newMode) => {\n const prevMode = mode;\n mode = newMode;\n if (prevMode === 2 /* relative */)\n relativeOffset = -1;\n if (newMode === 3 /* small */) {\n node.style.position = stickyProp;\n if (bottom) {\n node.style.bottom = `${offsetBottom}px`;\n } else {\n node.style.top = `${offsetTop}px`;\n }\n return;\n }\n const { height: viewPortHeight, offsetTop: scrollPaneOffset } = scrollPaneDims;\n const { height: parentHeight, naturalTop } = parentDims;\n const { height: nodeHeight } = nodeDims;\n if (newMode === 2 /* relative */) {\n node.style.position = \"relative\";\n relativeOffset = prevMode === 0 /* stickyTop */ ? Math.max(0, scrollPaneOffset + latestScrollY - naturalTop + offsetTop) : Math.max(\n 0,\n scrollPaneOffset + latestScrollY + viewPortHeight - (naturalTop + nodeHeight + offsetBottom)\n );\n if (bottom) {\n const nextBottom = Math.max(0, parentHeight - nodeHeight - relativeOffset);\n node.style.bottom = `${nextBottom}px`;\n } else {\n node.style.top = `${relativeOffset}px`;\n }\n } else {\n node.style.position = stickyProp;\n if (newMode === 1 /* stickyBottom */) {\n if (bottom) {\n node.style.bottom = `${offsetBottom}px`;\n } else {\n node.style.top = `${viewPortHeight - nodeHeight - offsetBottom}px`;\n }\n } else {\n if (bottom) {\n node.style.bottom = `${viewPortHeight - nodeHeight - offsetBottom}px`;\n } else {\n node.style.top = `${offsetTop}px`;\n }\n }\n }\n };\n changeMode(mode);\n const onScroll = (scrollY) => {\n if (scrollY === latestScrollY)\n return;\n const scrollDelta = scrollY - latestScrollY;\n latestScrollY = scrollY;\n if (mode === 3 /* small */)\n return;\n const { offsetTop: scrollPaneOffset, height: viewPortHeight } = scrollPaneDims;\n const { naturalTop, height: parentHeight } = parentDims;\n const { height: nodeHeight } = nodeDims;\n if (scrollDelta > 0) {\n if (mode === 0 /* stickyTop */) {\n if (scrollY + scrollPaneOffset + offsetTop > naturalTop) {\n const topOffset = Math.max(0, scrollPaneOffset + latestScrollY - naturalTop + offsetTop);\n if (scrollY + scrollPaneOffset + viewPortHeight <= naturalTop + nodeHeight + topOffset + offsetBottom) {\n changeMode(2 /* relative */);\n } else {\n changeMode(1 /* stickyBottom */);\n }\n }\n } else if (mode === 2 /* relative */) {\n if (isBoxTooLow(scrollY))\n changeMode(1 /* stickyBottom */);\n }\n } else {\n if (mode === 1 /* stickyBottom */) {\n if (scrollPaneOffset + scrollY + viewPortHeight < naturalTop + parentHeight + offsetBottom) {\n const bottomOffset = Math.max(\n 0,\n scrollPaneOffset + latestScrollY + viewPortHeight - (naturalTop + nodeHeight + offsetBottom)\n );\n if (scrollPaneOffset + scrollY + offsetTop >= naturalTop + bottomOffset) {\n changeMode(2 /* relative */);\n } else {\n changeMode(0 /* stickyTop */);\n }\n }\n } else if (mode === 2 /* relative */) {\n if (scrollPaneOffset + scrollY + offsetTop < naturalTop + relativeOffset) {\n changeMode(0 /* stickyTop */);\n }\n }\n }\n };\n const handleScroll = scrollPane === window ? () => onScroll(window.scrollY) : () => onScroll(scrollPane.scrollTop);\n scrollPane.addEventListener(\"scroll\", handleScroll, passiveArg);\n scrollPane.addEventListener(\"mousewheel\", handleScroll, passiveArg);\n unsubs.push(\n () => scrollPane.removeEventListener(\"scroll\", handleScroll),\n () => scrollPane.removeEventListener(\"mousewheel\", handleScroll)\n );\n};\nvar useStickyBox = ({\n offsetTop = 0,\n offsetBottom = 0,\n bottom = false\n} = {}) => {\n const [node, setNode] = useState(null);\n useEffect(() => {\n if (!node || !stickyProp)\n return;\n const unsubs = [];\n setup(node, unsubs, { offsetBottom, offsetTop, bottom });\n return () => {\n unsubs.forEach((fn) => fn());\n };\n }, [node, offsetBottom, offsetTop, bottom]);\n return setNode;\n};\nvar StickyBox = (props) => {\n const { offsetTop, offsetBottom, bottom, children, className, style } = props;\n const ref = useStickyBox({ offsetTop, offsetBottom, bottom });\n return /* @__PURE__ */ jsx(\"div\", { className, style, ref, children });\n};\nvar src_default = StickyBox;\nexport {\n src_default as default,\n useStickyBox\n};\n","import { Dropdown, MenuProps, Spin, Tabs, TabsProps } from \"antd\";\nimport React, { FC, useEffect, useMemo, useRef, useState } from \"react\";\nimport { NavigateOptions, useLocation, useNavigate } from \"react-router-dom\";\nimport StickyBox from \"react-sticky-box\";\nimport { useAlert } from \"sggkui\";\nimport { ErrorBoundary, TAB_EVENTS, useEvent } from \"@sg-front-core/ui-v1\";\nimport { useSgSystemStore } from \"~/runtime\";\nimport { containsArray } from \"~/utils/containsArray\";\n\ninterface Props {\n defaultActiveKey: string;\n className?: string;\n}\n\nconst TabPanes: FC<Props> = (props) => {\n const {\n flattenRoutes,\n panes,\n setPanes,\n activeLeftMenuChildren,\n activeKey,\n dynamicFlatternRouteScale,\n setActiveKey,\n resetTabs,\n } = useSgSystemStore();\n\n const { className: _className } = props;\n\n const location = useLocation();\n const navigate = useNavigate();\n const [reloadTab, setReloadTab] = useState(false);\n const { showAlert } = useAlert();\n\n const clickPane = useRef<any>({});\n\n useEffect(() => {\n const path = location.pathname.substring(1);\n if (path.split(\"/\").length === 1 && activeLeftMenuChildren.length >= 1) {\n return;\n }\n if (path.split(\"/\").length === 1 && activeLeftMenuChildren[0]?.children) {\n return;\n }\n const pattern = (flattenRoutes as any[])?.filter((item: any) =>\n containsArray(String(item.key).split(\"?\")[0].split(\"/\"), path.split(\"/\")),\n )[0];\n const pane = pattern?.key\n ? window.location.href.indexOf(\"action=\") > -1\n ? {\n ...pattern,\n label:\n (location.state as any) ??\n new URLSearchParams(window.location.href).get(\"title\") ??\n \"New Tab\",\n }\n : { ...pattern }\n : undefined;\n\n if (pattern?.key) pane!.key = path + location.search;\n\n if (!pane && (flattenRoutes as any[]).length) {\n if ((panes as any[])?.findIndex((item) => item.key === \"404\") === -1) {\n setPanes([\n ...(panes as any[]),\n (flattenRoutes as any[]).filter((item) => item.key === \"404\")[0],\n ] as any);\n }\n setActiveKey(\"404\");\n return;\n }\n\n if (\n pane &&\n (panes as any[])?.findIndex((item) => item.key === pane.key) === -1 &&\n pane.type !== \"M\"\n ) {\n if (String(pane.key).startsWith(\"lowcode/flow\")) {\n dynamicFlatternRouteScale({\n path: path + location.search,\n component: \"lowcode/flow/index\",\n meta: { title: \"工作流\" },\n } as any);\n pane.label = location.state as any;\n }\n setPanes([...(panes as any[]), pane] as any);\n }\n if (pane?.key) setActiveKey(pane.key);\n }, [location, flattenRoutes, setPanes, activeLeftMenuChildren]);\n\n const onChange = (tabKey: string) => {\n setActiveKey(tabKey);\n };\n\n const onEdit = (targetKey: any, action: \"add\" | \"remove\") => {\n if (action === \"remove\") remove(targetKey);\n };\n\n const onTabClick = (targetKey: string) => {\n const found = (panes as any[])!.filter((item) => item.key === targetKey)[0];\n navigate(found.key);\n };\n\n const remove = (targetKey: string) => {\n const currentPanes = panes as any[];\n const delIndex = currentPanes.findIndex((item) => item.key === targetKey);\n if (delIndex < 0) return;\n const nextActiveKey =\n currentPanes[Math.max(0, delIndex - 1)]?.key ?? \"home\";\n const nextPanes = [...currentPanes];\n nextPanes.splice(delIndex, 1);\n setPanes(nextPanes as any);\n navigate(nextActiveKey);\n };\n\n const removeAll = async (isCloseAll?: boolean) => {\n const currentPanes = panes as any[];\n const homePane =\n currentPanes.find((p) => p.key === \"home\") ?? currentPanes[0];\n const keepPane =\n currentPanes.find((p) => p.key === clickPane.current.key) ?? homePane;\n\n if (isCloseAll) {\n resetTabs();\n navigate(\"/home\");\n return;\n }\n\n const nextPanes =\n keepPane?.key !== \"home\" ? [homePane, keepPane] : [homePane];\n setPanes(nextPanes as any);\n setActiveKey(keepPane?.key ?? \"home\");\n navigate(keepPane?.key === \"home\" ? \"/home\" : keepPane.key);\n };\n\n useEvent(\n TAB_EVENTS.CLOSE,\n (payload: { closeAll: boolean; jumpToHome: boolean }) => {\n const { closeAll = false, jumpToHome = false } = payload;\n if (closeAll) {\n removeAll(true);\n return;\n }\n remove(activeKey);\n jumpToHome && setActiveKey(\"home\");\n },\n );\n\n useEvent(\n TAB_EVENTS.OPEN,\n (payload: {\n key?: string;\n pageCode?: string;\n query?: string;\n params?: NavigateOptions;\n newWindow?: boolean;\n }) => {\n const {\n key = \"\",\n pageCode = \"\",\n query = \"\",\n params = {},\n newWindow = false,\n } = payload;\n let url: string = \"\";\n if (pageCode) {\n url = (flattenRoutes as any[])\n ?.map((a: any) => a.key)\n .filter((a: any) => String(a).endsWith(`pageCode=${pageCode}`))[0];\n }\n if (key && !pageCode) {\n url = (flattenRoutes as any[])\n ?.map((a: any) => a.key)\n .filter((a: any) => a.key === key)[0];\n }\n if (url) {\n if (newWindow) {\n window.open(`/#/${url + query}`);\n return;\n }\n navigate(`${url + query}`, params);\n } else {\n showAlert({\n type: \"warning\",\n title: `跳转页签找不到低代码页面参数 pageCode={${pageCode}}。`,\n timeout: 3000,\n });\n }\n },\n );\n\n useEvent(TAB_EVENTS.ROUTE, (payload: any) => {\n const { url = \"/home\", params = {} } = payload;\n navigate(url, params);\n });\n\n useEvent(TAB_EVENTS.RELOAD, () => {\n setReloadTab(true);\n setActiveKey(clickPane.current.key);\n setTimeout(() => {\n setReloadTab(false);\n }, 500);\n });\n\n const handleMenuClick: MenuProps[\"onClick\"] = (e) => {\n e.domEvent.stopPropagation();\n switch (e.key) {\n case \"1\":\n setReloadTab(true);\n setActiveKey(clickPane.current.key);\n setTimeout(() => {\n setReloadTab(false);\n }, 500);\n return;\n case \"2\":\n remove(clickPane.current.key);\n return;\n case \"3\":\n removeAll();\n return;\n case \"4\":\n removeAll(true);\n return;\n }\n };\n\n const tabItems: TabsProps[\"items\"] = useMemo(\n () =>\n (panes as any[])?.map((pane: any) => ({\n key: pane.key,\n label: (\n <Dropdown\n menu={{\n items: [\n { key: \"1\", label: \"刷新\" },\n { key: \"2\", label: \"关闭\", disabled: pane.key === \"home\" },\n {\n key: \"3\",\n label: \"关闭其他\",\n disabled: (panes as any[]).length < 3 && pane.key !== \"home\",\n },\n { key: \"4\", label: \"关闭全部\", disabled: pane.key === \"home\" },\n ],\n onClick: (e) => {\n clickPane.current = pane;\n handleMenuClick(e);\n },\n }}\n trigger={[\"contextMenu\"]}\n >\n <span>\n {clickPane.current.key === pane.key && reloadTab && (\n <Spin\n size=\"small\"\n style={{\n transform: \"scale(0.8)\",\n marginRight: 5,\n marginTop: -2,\n }}\n />\n )}\n {pane.label}\n </span>\n </Dropdown>\n ),\n children: (\n <ErrorBoundary>\n {reloadTab && clickPane.current.key === pane.key ? (\n <Spin />\n ) : (\n pane.children\n )}\n </ErrorBoundary>\n ),\n closable: pane.closable,\n })),\n [panes, reloadTab],\n );\n\n const renderTabBar: TabsProps[\"renderTabBar\"] = (props, DefaultTabBar) => (\n <StickyBox\n offsetTop={0}\n offsetBottom={0}\n style={{ marginBottom: -5, zIndex: 10 }}\n >\n <DefaultTabBar {...props} className=\"bg-white\" />\n </StickyBox>\n );\n\n return (\n <Tabs\n activeKey={activeKey}\n className={_className}\n hideAdd\n onChange={onChange}\n onEdit={onEdit}\n onTabClick={onTabClick}\n type=\"editable-card\"\n size=\"small\"\n items={tabItems}\n renderTabBar={renderTabBar}\n tabBarExtraContent={<div className=\"tab-transition\" />}\n />\n );\n};\n\nexport default TabPanes;\n","import { useMount } from 'ahooks'\nimport { Spin } from 'antd'\nimport clsx from 'clsx'\nimport React, { ReactNode, useMemo, useState } from 'react'\nimport useTopLevel from '~/hooks/useTopLevel'\nimport { useSgSystemStore } from '~/runtime'\nimport MenuStatusCrumb from '~/main/crumb'\nimport Aside from './aside'\nimport Header from './header'\nimport TabPanes from './tabPanes'\n\nexport interface PanesItemProps {\n label: ReactNode\n children?: React.ReactNode\n key: string\n closable?: boolean | undefined\n disabled?: boolean\n}\n\nconst Modern = () => {\n const { userReq, menuReq } = useSgSystemStore()\n\n useMount(() => {\n !userReq.data && userReq.run()\n !menuReq.data && menuReq.run()\n })\n\n const [status, setStatus] = useState<boolean>(true)\n\n useTopLevel()\n\n const asideClass = clsx(\n !status ? '!w-0 opacity-0' : 'opacity-100 w-[248px]',\n 'transition-all duration-200 border-t-0'\n )\n\n const loadingJsx = useMemo(\n () => (\n <div className=\"p-4 pl-6\">\n <Spin />\n </div>\n ),\n []\n )\n\n const multiTabs = useMemo(\n () => (\n <section className=\"pl-4 pr-4 w-full overflow-auto h-full\">\n <TabPanes defaultActiveKey=\"home\" className=\"h-full sg_multi_tabs\" />\n </section>\n ),\n []\n )\n\n return (\n <div className=\"sg-layout sg-layout--modern flex w-full h-screen flex-col\">\n <Header className=\"w-full bg-slate-50\" />\n <section className=\"flex flex-row flex-1 overflow-auto\">\n <Aside\n loading={Boolean(menuReq.data)}\n spin={loadingJsx}\n cls={asideClass}\n />\n <MenuStatusCrumb status={status} setStatus={setStatus} />\n {Boolean(menuReq.data) ? multiTabs : loadingJsx}\n </section>\n </div>\n )\n}\n\nexport default Modern\n"],"names":["r","t","f","n","clsx","MenuStatusCrumb","props","status","setStatus","closeIcon","openIcon","color","className","jsx","Tooltip","Iconfont","runtime","setupSgTemplateLayout","options","useSgSystemStore","getSgTemplateLocal","getSgTemplateRequest","getProjectCName","isLegacyLayoutStyle","layoutStyle","transMenu","routes","_","route","FolderOutlined","TagOutlined","createInitPanes","home","createUpdateEffect","hook","effect","deps","isMounted","useRef","__assign","s","i","p","__rest","e","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","rejected","result","__generator","body","y","g","verb","v","op","__read","o","m","ar","error","__spreadArray","to","from","pack","l","isFunction","isDev","useMemoizedFn","fn","fnRef","useMemo","memoizedFn","args","_i","useUpdateEffect","useEffect","useAutoRunPlugin","fetchInstance","_a","manual","_b","ready","_c","defaultParams","_d","refreshDeps","refreshDepsAction","hasAutoRun","depsAreSame","oldDeps","useCreation","factory","current","useLatest","ref","useUnmount","cache","setCache","key","cacheTime","cachedData","currentCache","timer","getCache","cachePromise","getCachePromise","cacheKey","setCachePromise","promise","res","listeners","trigger","data","item","subscribe","listener","index","useCachePlugin","staleTime","customSetCache","customGetCache","unSubscribeRef","currentPromiseRef","_setCache","_getCache","params","cacheData","service","servicePromise","d","isObject","type","freeGlobal","freeSelf","root","now","reWhitespace","trimmedEndIndex","string","reTrimStart","baseTrim","Symbol","objectProto","hasOwnProperty","nativeObjectToString","symToStringTag","getRawTag","isOwn","tag","unmasked","objectToString","nullTag","undefinedTag","baseGetTag","isObjectLike","symbolTag","isSymbol","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","toNumber","other","isBinary","FUNC_ERROR_TEXT","nativeMax","nativeMin","debounce","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","cancel","flush","debounced","isInvoking","useDebouncePlugin","debounceWait","debounceLeading","debounceTrailing","debounceMaxWait","debouncedRef","ret","_originRunAsync_1","callback","useLoadingDelayPlugin","loadingDelay","timerRef","cancelTimeout","isBrowser","isDocumentVisible","revalidate","usePollingPlugin","pollingInterval","pollingWhenHidden","pollingErrorRetryCount","unsubscribeRef","countRef","stopPolling","subscribeReVisible","limit","timespan","pending","isOnline","useRefreshOnWindowFocusPlugin","refreshOnWindowFocus","focusTimespan","stopSubscribe","limitRefresh_1","subscribeFocus","useRetryPlugin","retryInterval","retryCount","triggerByRetry","timeout","throttle","useThrottlePlugin","throttleWait","throttleLeading","throttleTrailing","throttledRef","useMount","useUpdate","useState","setState","Fetch","serviceRef","initState","event","rest","currentCount","stopNow","returnNow","state","error_1","_e","_f","_g","_h","_j","_k","_l","_m","_o","_p","_q","_this","targetData","useRequestImplement","plugins","fetchOptions","update","useRequest","_extends","_objectWithoutPropertiesLoose","_setPrototypeOf","_inheritsLoose","setPrototypeOf","b","c","h","k","q","w","x","z","a","u","A","reactIs_production_min","hasSymbol","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_BLOCK_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","REACT_SCOPE_TYPE","isValidElementType","typeOf","object","$$typeof","$$typeofType","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","hasWarnedAboutDeprecatedIsAsyncMode","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","reactIs_development","reactIsModule","require$$0","require$$1","getOwnPropertySymbols","propIsEnumerable","toObject","val","shouldUseNative","test1","test2","order2","test3","letter","objectAssign","target","source","symbols","ReactPropTypesSecret","ReactPropTypesSecret_1","has","printWarning","loggedTypeFailures","text","message","checkPropTypes","typeSpecs","values","location","componentName","getStack","typeSpecName","err","ex","stack","checkPropTypes_1","ReactIs","assign","require$$2","require$$3","require$$4","emptyFunctionThatReturnsNull","factoryWithTypeCheckers","isValidElement","throwOnDirectAccess","ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","iteratorFn","ANONYMOUS","ReactPropTypes","createPrimitiveTypeChecker","createAnyTypeChecker","createArrayOfTypeChecker","createElementTypeChecker","createElementTypeTypeChecker","createInstanceTypeChecker","createNodeChecker","createObjectOfTypeChecker","createEnumTypeChecker","createUnionTypeChecker","createShapeTypeChecker","createStrictShapeTypeChecker","is","PropTypeError","createChainableTypeChecker","validate","manualPropTypeCallCache","manualPropTypeWarningCount","checkType","isRequired","propName","propFullName","secret","chainedCheckType","expectedType","propValue","propType","getPropType","preciseType","getPreciseType","typeChecker","expectedClass","expectedClassName","actualClassName","getClassName","expectedValues","valuesString","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","expectedTypes","checkerResult","expectedTypesMessage","isNode","invalidValidatorError","shapeTypes","allKeys","iterator","entry","emptyFunction","emptyFunctionWithReset","factoryWithThrowingShims","shim","getShim","propTypesModule","hasClass","element","addClass","replaceClassName","origClass","classToRemove","removeClass","config","timeoutsShape","PropTypes","classNamesShape","TransitionGroupContext","React","forceReflow","node","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","_React$Component","context","parentGroup","appear","initialStatus","_ref","prevState","nextIn","_proto","prevProps","nextStatus","exit","enter","mounting","ReactDOM","_this2","appearing","_ref2","maybeNode","maybeAppearing","timeouts","enterTimeout","_this3","nextState","_this4","active","handler","doesNotHaveTimeoutOrListener","_ref3","maybeNextCallback","_this$props","children","childProps","pt","_len","_key","noop","_addClass","classes","addOneClass","removeOneClass","CSSTransition","_this$resolveArgument","_this$resolveArgument2","_this$resolveArgument3","_this$resolveArgument4","_this$resolveArgument5","_this$resolveArgument6","classNames","isStringClassNames","prefix","baseClassName","activeClassName","doneClassName","phase","_this$getClassNames","_this$appliedClasses$","_leaveRenders","_enterRenders","areChildrenDifferent","oldChildren","newChildren","modes","callHook","name","cb","_element$props","leaveRenders","changeState","enterRenders","_ref4","SwitchTransition","mode","_this$state","component","Logo","projectCName","jsxs","Tree","menus","navigate","useNavigate","useLocation","openKeys","setOpenKeys","rootSubmenuKeys","onOpenChange","keys","latestOpenKey","onClick","keyPath","query","path","Menu","_excluded","ownKeys","enumerableOnly","sym","_objectSpread","_defineProperty","obj","_objectWithoutProperties","excluded","sourceSymbolKeys","sourceKeys","DEFAULT_ICON_CONFIGS","guid","IconConverter","id","icon","fill","colors","theme","IconContext","createContext","IconWrapper","rtl","render","size","strokeWidth","strokeLinecap","strokeLinejoin","spin","extra","ICON_CONFIGS","useContext","svgProps","cls","GridThree","Home","Info","LayoutOne","Logout","Right","nextLayoutStyleValue","ToggleLayoutButton","setLayoutStyle","local","nextLayoutStyle","isLegacy","Button","User","user","recoverConfig","request","logoutReq","Link","PopConfirm","Aside","asyncTag","funcTag","genTag","proxyTag","Breadcrumb","crumbs","useMatches","match","getTitle","title","Main","userReq","menuReq","nodeRef","asideClass","loadingJsx","Spin","Header","ErrorBoundary","Outlet","useTopLevel","setActiveTopLabel","currentRoutePath","topLabel","containsArray","activeTopLabel","activeLeftMenuChildren","flattenRoutes","items","paneIndex","resetTabs","open","setOpen","Space","Dropdown","Avatar","Modal","topRootMenus","menuRef","canScrollLeft","setCanScrollLeft","canScrollRight","setCanScrollRight","updateScrollState","el","maxLeft","onScroll","onResize","onWheel","rawDelta","prev","menuWrapClassName","scrollBy","delta","headerClassName","liClassName","LeftOutlined","RightOutlined","getScrollParent","parent","overflowYVal","isOffsetElement","offsetTill","offset","getParentNode","currentParent","stickyProp","passiveArg","opts","emptyHandler","getDimensions","onChange","unsubs","measure","getRect","mResult","ro","getVerticalPadding","computedParentStyle","parentPaddingTop","parentPaddingBottom","setup","bottom","offsetBottom","offsetTop","scrollPane","isScheduled","scheduleOnLayout","nextMode","onLayout","changeMode","viewPortHeight","scrollPaneDims","nodeHeight","nodeDims","scrollPaneOffset","parentHeight","naturalTop","parentDims","relativeOffset2","latestScrollY","nextBottom","isBoxTooLow","scrollY","relativeOffset","scrollPaneIsOffsetEl","height","top","parentNode","parentPaddings","newMode","prevMode","scrollDelta","topOffset","bottomOffset","handleScroll","useStickyBox","setNode","StickyBox","style","src_default","TabPanes","panes","setPanes","activeKey","dynamicFlatternRouteScale","setActiveKey","_className","reloadTab","setReloadTab","showAlert","useAlert","clickPane","pattern","pane","tabKey","onEdit","targetKey","action","remove","onTabClick","found","currentPanes","delIndex","nextActiveKey","nextPanes","removeAll","isCloseAll","homePane","keepPane","useEvent","TAB_EVENTS","payload","closeAll","jumpToHome","pageCode","newWindow","url","handleMenuClick","tabItems","renderTabBar","DefaultTabBar","Tabs","Modern","multiTabs"],"mappings":"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","x_google_ignoreList":[0,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,78,79,80,81,82,83,84,88,97]}
|