@mi-avalon/libs 0.0.11 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"libs.esm.js","sources":["../src/utils/calc.ts","../src/utils/nextTick.ts","../src/utils/openModal.tsx","../src/utils/util.ts","../src/utils/version.ts","../src/components/ThemeContext/index.ts","../src/components/ThemeContext/CompThemeProvider.tsx","../src/components/ItemsRow/index.tsx","../node_modules/style-inject/dist/style-inject.es.js","../src/components/MBreadcrumb/index.tsx","../src/components/MDescriptions/index.tsx","../src/components/MiModal/index.tsx","../src/components/MTable/index.tsx","../src/constants/date.ts","../src/constants/pageInfo.ts","../src/constants/pattern.ts","../src/hooks/useFuncRequest.ts","../src/hooks/useInterval.ts","../src/hooks/usePagination.ts","../src/hooks/useQuery.ts","../src/hooks/useReactive.ts","../src/hooks/useTimeout.ts","../src/hooks/useVirtualList.ts"],"sourcesContent":["class CMX {\n /**\n ** 加\n **/\n add = function (arg1: number, arg2: number) {\n let r1, r2, m, c;\n try {\n r1 = arg1.toString().split('.')[1].length;\n } catch (e) {\n r1 = 0;\n }\n try {\n r2 = arg2.toString().split('.')[1].length;\n } catch (e) {\n r2 = 0;\n }\n c = Math.abs(r1 - r2);\n m = Math.pow(10, Math.max(r1, r2));\n if (c > 0) {\n let cm = Math.pow(10, c);\n if (r1 > r2) {\n arg1 = Number(arg1.toString().replace('.', ''));\n arg2 = Number(arg2.toString().replace('.', '')) * cm;\n } else {\n arg1 = Number(arg1.toString().replace('.', '')) * cm;\n arg2 = Number(arg2.toString().replace('.', ''));\n }\n } else {\n arg1 = Number(arg1?.toString().replace('.', ''));\n arg2 = Number(arg2?.toString().replace('.', ''));\n }\n return (arg1 + arg2) / m;\n };\n /**\n ** 减\n **/\n sub = function (arg1: number, arg2: number) {\n let r1, r2, m, n;\n try {\n r1 = arg1.toString().split('.')[1].length;\n } catch (e) {\n r1 = 0;\n }\n try {\n r2 = arg2.toString().split('.')[1].length;\n } catch (e) {\n r2 = 0;\n }\n m = Math.pow(10, Math.max(r1, r2)); //last modify by deeka //动态控制精度长度\n n = r1 >= r2 ? r1 : r2;\n return Number(((arg1 * m - arg2 * m) / m).toFixed(n));\n };\n\n /**\n ** 乘\n **/\n mul = function (arg1: number, arg2: number) {\n let m = 0,\n s1 = arg1.toString(),\n s2 = arg2.toString();\n try {\n m += s1.split('.')[1].length;\n } catch (e) { }\n try {\n m += s2.split('.')[1].length;\n } catch (e) { }\n return (\n (Number(s1.replace('.', '')) * Number(s2.replace('.', ''))) / Math.pow(10, m)\n );\n };\n\n /**\n ** 除\n **/\n div = function (arg1: number, arg2: number) {\n let t1 = 0,\n t2 = 0,\n r1,\n r2;\n try {\n t1 = arg1.toString().split('.')[1].length;\n } catch (e) { }\n try {\n t2 = arg2.toString().split('.')[1].length;\n } catch (e) { }\n r1 = Number(arg1.toString().replace('.', ''));\n r2 = Number(arg2.toString().replace('.', ''));\n return (r1 / r2) * Math.pow(10, t2 - t1);\n };\n}\n\nexport const cmx = new CMX();\n","type NextTickCallback = () => void;\ntype NextTickPromiseResolver = () => void;\n\nclass NextTick {\n\tprivate callbacks: NextTickCallback[] = [];\n\tprivate pending = false;\n\tprivate timerFunc: () => void;\n\n\tconstructor() {\n\t\tthis.timerFunc = this.determineTimerFunc();\n\t}\n\n\tprivate determineTimerFunc(): () => void {\n\t\tif (typeof Promise !== 'undefined') {\n\t\t\tconst p = Promise.resolve();\n\t\t\treturn () => p.then(this.flushCallbacks.bind(this));\n\t\t}\n\n\t\tif (typeof MutationObserver !== 'undefined' && typeof window !== 'undefined') {\n\t\t\tlet counter = 1;\n\t\t\tconst observer = new MutationObserver(this.flushCallbacks.bind(this));\n\t\t\tconst textNode = document.createTextNode(String(counter));\n\t\t\tobserver.observe(textNode, { characterData: true });\n\n\t\t\treturn () => {\n\t\t\t\tcounter = (counter + 1) % 2;\n\t\t\t\ttextNode.data = String(counter);\n\t\t\t};\n\t\t}\n\n\t\t// // 仅在 Node.js 环境中使用 setImmediate\n\t\t// if (typeof global !== 'undefined' && typeof setImmediate !== 'undefined') {\n\t\t// \treturn () => setImmediate(this.flushCallbacks.bind(this));\n\t\t// }\n\n\t\treturn () => setTimeout(this.flushCallbacks.bind(this), 0);\n\t}\n\n\tprivate flushCallbacks(): void {\n\t\tthis.pending = false;\n\t\tconst copies = this.callbacks.slice(0);\n\t\tthis.callbacks.length = 0;\n\t\tfor (let i = 0; i < copies.length; i++) {\n\t\t\tcopies[i]();\n\t\t}\n\t}\n\n\tpublic nextTick<T = void>(callback?: (this: T) => void, ctx?: T): Promise<void> | void {\n\t\tlet _resolve: NextTickPromiseResolver | undefined;\n\n\t\tthis.callbacks.push(() => {\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\tcallback.call(ctx as T);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconsole.error('Error in nextTick:', e);\n\t\t\t\t}\n\t\t\t} else if (_resolve) {\n\t\t\t\t_resolve();\n\t\t\t}\n\t\t});\n\n\t\tif (!this.pending) {\n\t\t\tthis.pending = true;\n\t\t\tthis.timerFunc();\n\t\t}\n\n\t\tif (!callback && typeof Promise !== 'undefined') {\n\t\t\treturn new Promise(resolve => {\n\t\t\t\t_resolve = resolve;\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic static nextTick<T = void>(callback?: (this: T) => void, ctx?: T): Promise<void> | void {\n\t\treturn NextTick.instance.nextTick(callback, ctx);\n\t}\n\n\tprivate static _instance: NextTick;\n\tpublic static get instance(): NextTick {\n\t\tif (!this._instance) {\n\t\t\tthis._instance = new NextTick();\n\t\t}\n\t\treturn this._instance;\n\t}\n}\n\nconst nextTick = NextTick.instance.nextTick.bind(NextTick.instance);\nexport { NextTick, nextTick };\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ModalProps } from 'antd';\nimport React, { ComponentType } from 'react';\nimport * as ReactDOMClient from 'react-dom/client';\nconst { createRoot } = ReactDOMClient;\ntype Root = ReactDOMClient.Root;\n\nconst destroyFns: Array<() => void> = [];\nlet modalContainer: HTMLDivElement | null = null;\nlet root: Root | null = null;\n\ninterface IModalBaseClosedParams {\n cancel?: boolean;\n ok?: boolean;\n}\n\nexport interface IModalBaseProps extends ModalProps {\n onClosed?: (params?: IModalBaseClosedParams) => void;\n}\n\nexport interface IModalControls<T = any> {\n destroy: (params?: IModalBaseClosedParams) => void;\n update: (configUpdate: Partial<T> | ((prevConfig: T) => T)) => void;\n}\n\nfunction getOrCreateContainer(): HTMLDivElement {\n if (!modalContainer) {\n modalContainer = document.createElement('div');\n document.body.appendChild(modalContainer);\n }\n return modalContainer;\n}\n\nfunction openModal<ITModalProps extends IModalBaseProps = IModalBaseProps>(\n DialogComponent: ComponentType<ITModalProps>,\n initialConfig: ITModalProps\n): IModalControls<ITModalProps> {\n const container = getOrCreateContainer();\n\n let currentConfig = {\n open: true,\n ...initialConfig,\n // 默认自动关闭\n onClosed:\n initialConfig.onClosed ||\n ((params?: IModalBaseClosedParams) => {\n unifiedDestroy(params);\n }),\n } as ITModalProps;\n\n if (!root) {\n try {\n root = createRoot(container);\n } catch (error) {\n console.error('Failed to create root:', error);\n return {\n destroy: () => {},\n update: () => {},\n };\n }\n }\n\n const cleanup = () => {\n if (root) {\n root.unmount();\n root = null;\n }\n\n if (modalContainer && modalContainer.parentNode) {\n modalContainer.parentNode.removeChild(modalContainer);\n modalContainer = null;\n }\n };\n\n const destroy = (params?: IModalBaseClosedParams) => {\n if (typeof currentConfig.onClosed === 'function') {\n currentConfig.onClosed(params);\n }\n\n // 从 destroyFns 中移除\n const index = destroyFns.indexOf(destroy);\n if (index !== -1) {\n destroyFns.splice(index, 1);\n }\n\n // 销毁 modal\n cleanup();\n };\n\n const render = (props: ITModalProps) => {\n if (root) {\n root.render(<DialogComponent {...props} />);\n }\n };\n\n const update = (\n configUpdate:\n | Partial<ITModalProps>\n | ((prevConfig: ITModalProps) => ITModalProps)\n ) => {\n currentConfig =\n typeof configUpdate === 'function'\n ? configUpdate(currentConfig)\n : { ...currentConfig, ...configUpdate };\n render(currentConfig);\n };\n\n // 统一的销毁函数\n const unifiedDestroy = (params?: IModalBaseClosedParams) => {\n // 如果当前配置是打开的,关闭\n if (currentConfig.open) {\n currentConfig = {\n ...currentConfig,\n open: false,\n onClosed: (closedParams?: IModalBaseClosedParams) => {\n if (initialConfig.onClosed) {\n initialConfig.onClosed(closedParams || params);\n }\n destroy(closedParams || params);\n },\n };\n render(currentConfig);\n } else {\n console.warn('Modal is already closed.');\n }\n };\n\n render(currentConfig);\n destroyFns.push(unifiedDestroy);\n\n return {\n destroy: unifiedDestroy,\n update,\n };\n}\n\nexport { openModal };\n","export const noop = () => {};\n\n// 生成类名\nexport const getClassName = (key1: string, key2: string) => {\n const cn = key1;\n let str = key1;\n if (key2.includes(' ')) {\n str = '';\n const nArr = key2?.split(' ');\n for (const i of nArr) {\n str += ` ${cn}-${i}`;\n }\n } else if (key2) {\n str = `${key1}-${key2}`;\n }\n return str;\n};\n\n// 根据路径获取数据\nexport const getFieldsByPath = (data: any, path: string) => {\n const arr = path?.split('.');\n let res = data;\n for (const i of arr) {\n res = res[i];\n }\n return res;\n};\n\n// 删除空值\nexport const removeNull = (obj: any) => {\n for (const key in obj) {\n if (obj[key] === null) {\n delete obj[key];\n }\n }\n return obj;\n};\n\n// 防抖函数\nexport const debounce = (func: any, wait: number) => {\n let timeout: NodeJS.Timeout | null = null;\n return (...args: any[]) => {\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(() => {\n func(...args);\n }, wait);\n };\n};\n\n// 节流函数\nexport const throttle = (func: any, wait: number) => {\n let timeout: NodeJS.Timeout | null = null;\n let lastTime: number = 0;\n return (...args: any[]) => {\n const nowTime = Date.now();\n if (!timeout) {\n func(...args);\n lastTime = nowTime;\n timeout = setTimeout(() => {\n timeout = null;\n }, wait);\n } else {\n const diffTime = nowTime - lastTime;\n if (diffTime >= wait) {\n func(...args);\n lastTime = nowTime;\n }\n }\n };\n};\n","/**\n * 版本号工具类\n * 支持语义化版本 (SemVer) 和基本版本号比较\n */\nexport class VersionUtil {\n\t/**\n\t * 验证版本号格式是否有效\n\t * @param version 版本号字符串\n\t * @returns 是否有效\n\t */\n\tstatic isValid(version: string): boolean {\n\t\tconst semverRegex =\n\t\t\t/^v?(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/i;\n\t\treturn semverRegex.test(version);\n\t}\n\n\t/**\n\t * 比较两个版本号\n\t * @param v1 版本号1\n\t * @param v2 版本号2\n\t * @returns 比较结果: 1(v1>v2), 0(v1=v2), -1(v1<v2)\n\t */\n\tstatic compare(v1: string, v2: string): number {\n\t\tif (!this.isValid(v1) || !this.isValid(v2)) {\n\t\t\tthrow new Error('Invalid version format');\n\t\t}\n\n\t\t// 去除前缀v并分割版本号\n\t\tconst normalize = (v: string) => v.replace(/^v/, '').split(/[-+]/)[0].split('.');\n\t\tconst parts1 = normalize(v1);\n\t\tconst parts2 = normalize(v2);\n\n\t\tfor (let i = 0; i < 3; i++) {\n\t\t\tconst num1 = parseInt(parts1[i] || '0', 10);\n\t\t\tconst num2 = parseInt(parts2[i] || '0', 10);\n\n\t\t\tif (num1 > num2) return 1;\n\t\t\tif (num1 < num2) return -1;\n\t\t}\n\n\t\t// 比较预发布版本\n\t\tconst preRelease1 = v1.match(/-(.+)/);\n\t\tconst preRelease2 = v2.match(/-(.+)/);\n\n\t\tif (preRelease1 && !preRelease2) return -1;\n\t\tif (!preRelease1 && preRelease2) return 1;\n\t\tif (preRelease1 && preRelease2) {\n\t\t\treturn preRelease1[1].localeCompare(preRelease2[1]);\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\t/**\n\t * 检查版本号是否满足范围要求\n\t * @param version 要检查的版本\n\t * @param range 版本范围 (如 \">=1.0.0 <2.0.0\") 支持: >, >=, <, <=, ^, ~, ==, =\n\t * @returns 是否满足\n\t */\n\tstatic satisfies(version: string, range: string): boolean {\n\t\tif (!this.isValid(version)) return false;\n\n\t\tconst rangeRegex =\n\t\t\t/([<>]=?|==?|\\^|~)?\\s*v?([0-9]+\\.[0-9]+\\.[0-9]+(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+)?)/g;\n\t\tconst ranges = range.match(rangeRegex);\n\n\t\tif (!ranges || ranges.length === 0) return false;\n\n\t\treturn ranges.every(r => {\n\t\t\tconst match = r.match(/([<>]=?|==?|\\^|~)?\\s*(v?[0-9].*)/);\n\t\t\tif (!match) return false;\n\n\t\t\tconst operator = match[1] || '==';\n\t\t\tconst rangeVersion = match[2];\n\n\t\t\tif (!this.isValid(rangeVersion)) return false;\n\n\t\t\tconst comparison = this.compare(version, rangeVersion);\n\n\t\t\tswitch (operator) {\n\t\t\t\tcase '>':\n\t\t\t\t\treturn comparison > 0;\n\t\t\t\tcase '>=':\n\t\t\t\t\treturn comparison >= 0;\n\t\t\t\tcase '<':\n\t\t\t\t\treturn comparison < 0;\n\t\t\t\tcase '<=':\n\t\t\t\t\treturn comparison <= 0;\n\t\t\t\tcase '^':\n\t\t\t\t\treturn this.caretRange(version, rangeVersion);\n\t\t\t\tcase '~':\n\t\t\t\t\treturn this.tildeRange(version, rangeVersion);\n\t\t\t\tcase '=':\n\t\t\t\tcase '==':\n\t\t\t\tdefault:\n\t\t\t\t\treturn comparison === 0;\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * 处理 ^ 范围 (允许不修改最左边的非零数字)\n\t * @param version 版本号\n\t * @param range 范围版本\n\t * @returns 是否匹配\n\t */\n\tprivate static caretRange(version: string, range: string): boolean {\n\t\tconst normalize = (v: string) => v.replace(/^v/, '').split(/[-+]/)[0].split('.');\n\t\tconst vParts = normalize(version);\n\t\tconst rParts = normalize(range);\n\n\t\t// 找到第一个非零部分\n\t\tlet firstNonZero = 0;\n\t\tfor (let i = 0; i < rParts.length; i++) {\n\t\t\tif (parseInt(rParts[i], 10) !== 0) {\n\t\t\t\tfirstNonZero = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tfor (let i = 0; i <= firstNonZero; i++) {\n\t\t\tconst vNum = parseInt(vParts[i] || '0', 10);\n\t\t\tconst rNum = parseInt(rParts[i] || '0', 10);\n\t\t\tif (vNum !== rNum) return false;\n\t\t}\n\n\t\treturn this.compare(version, range) >= 0;\n\t}\n\n\t/**\n\t * 处理 ~ 范围 (允许修改最后一位数字)\n\t * @param version 版本号\n\t * @param range 范围版本\n\t * @returns 是否匹配\n\t */\n\tprivate static tildeRange(version: string, range: string): boolean {\n\t\tconst normalize = (v: string) => v.replace(/^v/, '').split(/[-+]/)[0].split('.');\n\t\tconst vParts = normalize(version);\n\t\tconst rParts = normalize(range);\n\n\t\tfor (let i = 0; i < rParts.length - 1; i++) {\n\t\t\tconst vNum = parseInt(vParts[i] || '0', 10);\n\t\t\tconst rNum = parseInt(rParts[i] || '0', 10);\n\t\t\tif (vNum !== rNum) return false;\n\t\t}\n\n\t\tconst lastVNum = parseInt(vParts[rParts.length - 1] || '0', 10);\n\t\tconst lastRNum = parseInt(rParts[rParts.length - 1] || '0', 10);\n\t\treturn lastVNum >= lastRNum;\n\t}\n\n\t/**\n\t * 获取主版本号 (major)\n\t * @param version 版本号\n\t * @returns 主版本号\n\t */\n\tstatic getMajor(version: string): number {\n\t\tif (!this.isValid(version)) throw new Error('Invalid version format');\n\t\tconst parts = version.replace(/^v/, '').split('.');\n\t\treturn parseInt(parts[0], 10);\n\t}\n\n\t/**\n\t * 获取次版本号 (minor)\n\t * @param version 版本号\n\t * @returns 次版本号\n\t */\n\tstatic getMinor(version: string): number {\n\t\tif (!this.isValid(version)) throw new Error('Invalid version format');\n\t\tconst parts = version.replace(/^v/, '').split('.');\n\t\treturn parseInt(parts[1] || '0', 10);\n\t}\n\n\t/**\n\t * 获取修订号 (patch)\n\t * @param version 版本号\n\t * @returns 修订号\n\t */\n\tstatic getPatch(version: string): number {\n\t\tif (!this.isValid(version)) throw new Error('Invalid version format');\n\t\tconst parts = version.replace(/^v/, '').split('.');\n\t\treturn parseInt(parts[2] || '0', 10);\n\t}\n\n\t/**\n\t * 获取预发布版本标识\n\t * @param version 版本号\n\t * @returns 预发布标识 (无则返回null)\n\t */\n\tstatic getPrerelease(version: string): string | null {\n\t\tif (!this.isValid(version)) throw new Error('Invalid version format');\n\t\tconst match = version.match(/-([^+]+)/);\n\t\treturn match ? match[1] : null;\n\t}\n\n\t/**\n\t * 获取构建元数据\n\t * @param version 版本号\n\t * @returns 构建元数据 (无则返回null)\n\t */\n\tstatic getBuildMetadata(version: string): string | null {\n\t\tif (!this.isValid(version)) throw new Error('Invalid version format');\n\t\tconst match = version.match(/\\+([^]+)/);\n\t\treturn match ? match[1] : null;\n\t}\n}\n","import { theme, ThemeConfig } from 'antd';\nimport { createContext, useContext } from 'react';\n\ninterface ThemeContextType {\n\ttheme?: ThemeConfig;\n}\n\nconst ThemeContext = createContext<ThemeContextType>({\n\ttheme: {\n\t\tcssVar: true,\n\t\talgorithm: [theme.defaultAlgorithm],\n\t},\n});\nexport const MiThemeProvider = ThemeContext.Provider;\n\nexport function useMiThemeConfig() {\n\treturn useContext(ThemeContext);\n}\n\nexport * from './CompThemeProvider';\n","/**\n * CompThemeProvider\n */\nimport { ConfigProvider } from 'antd';\nimport React from 'react';\nimport { useMiThemeConfig } from '.';\n\ninterface IProps {\n\tchildren: React.ReactNode;\n}\n\nfunction CompThemeProvider(props: IProps) {\n\tconst { theme } = useMiThemeConfig();\n\treturn <ConfigProvider theme={theme}>{props.children}</ConfigProvider>;\n}\n\nCompThemeProvider.displayName = 'CompThemeProvider';\n\nexport default CompThemeProvider;\n","import { Button, ButtonProps } from 'antd';\nimport * as React from 'react';\nimport { getClassName } from '../../utils';\nimport CompThemeProvider from '../ThemeContext/CompThemeProvider';\n\n/**\n * 默认配置按钮,也可以通过render() 渲染其他组件\n */\nexport interface IRowItem {\n /**\n * 按钮名称\n */\n label?: string;\n /**\n * 按钮类型\n */\n type?: ButtonProps['type'];\n /**\n * 如果没有指定Render,则是按钮的onClick\n */\n onClick?: (e: any) => void;\n /**\n * 其他按钮属性\n */\n btnProps?: ButtonProps;\n /**\n * item 的className\n */\n className?: string;\n\n /**\n * 自定义渲染\n */\n render?: () => React.ReactNode;\n}\nexport interface IItemRowProps {\n route?: Array<{ name: string; url?: string }>;\n items?: IRowItem[];\n style?: React.CSSProperties;\n className?: string;\n offsetTop?: number;\n}\n\nconst classname = (n: string = '') => {\n const cn = 'items-row';\n return getClassName(cn, n);\n};\n\nconst ItemsRow = (props: IItemRowProps) => {\n if (!props.items) {\n return null;\n }\n return (\n <CompThemeProvider>\n <div\n className={`${classname()} ${props.className || ''}`}\n style={props.style}\n >\n {(props.items || []).map((item, index) => {\n const className = `${classname('item')} ${item.className}`;\n if (item.render) {\n return (\n <span key={index} className={className}>\n {item.render()}\n </span>\n );\n }\n return (\n <Button\n key={item.label}\n className={className}\n {...item.btnProps}\n type={item.type || 'primary'}\n onClick={item.onClick}\n >\n {item.label}\n </Button>\n );\n })}\n </div>\n </CompThemeProvider>\n );\n};\n\nexport default ItemsRow;\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { Affix, AffixRef, Breadcrumb, Card } from 'antd';\nimport * as React from 'react';\nimport { getClassName } from '../../utils';\nimport ItemRow, { IRowItem } from '../ItemsRow';\nimport CompThemeProvider from '../ThemeContext/CompThemeProvider';\nimport './index.scss';\n\nexport interface RouteItem {\n name: string;\n url?: string;\n}\n\nexport interface IMBreadcrumbProps {\n routes?: RouteItem[];\n customItems?: IRowItem[];\n style?: React.CSSProperties;\n className?: string;\n offsetTop?: number;\n mainAppBaseUrl?: string;\n microAppName?: string;\n}\n\nconst classname = (n: string = '') => {\n const cn = 'm-breadcrumb';\n return getClassName(cn, n);\n};\n\nconst MBreadcrumb: React.FC<IMBreadcrumbProps> = props => {\n const {\n routes,\n customItems,\n style,\n className,\n offsetTop = 64,\n mainAppBaseUrl,\n microAppName,\n } = props;\n\n const affixRef = React.useRef<AffixRef>(null);\n\n const onScroll = React.useCallback(() => {\n affixRef.current?.updatePosition?.();\n }, []);\n\n React.useEffect(() => {\n window.addEventListener('scroll', onScroll, true);\n return () => window.removeEventListener('scroll', onScroll);\n }, [onScroll]);\n\n const getUrl = React.useCallback(\n (url: string) => {\n if (!url) return '';\n const cleanedUrl = url.replace(/^\\/+/, '');\n const parts = [\n mainAppBaseUrl?.replace(/\\/+$/, ''),\n microAppName?.replace(/\\/+$/, ''),\n cleanedUrl,\n ].filter(Boolean);\n return `/${parts.join('/')}`;\n },\n [mainAppBaseUrl, microAppName]\n );\n\n return (\n <CompThemeProvider>\n <div className={`${classname()} ${className || ''}`} style={style}>\n <Affix ref={affixRef} offsetTop={offsetTop}>\n <Card\n className={classname('container')}\n rootClassName={classname('body')}\n variant=\"borderless\"\n >\n <Breadcrumb\n className={classname('inner-breadcrumb')}\n style={{ fontSize: '18px' }}\n >\n {routes?.map(v => (\n <Breadcrumb.Item key={v.url || v.name}>\n {v.url ? <a href={`#${getUrl(v.url)}`}>{v.name}</a> : v.name}\n </Breadcrumb.Item>\n ))}\n </Breadcrumb>\n <div className={classname('custom-item-wrapper')}>\n <ItemRow items={customItems} />\n </div>\n </Card>\n </Affix>\n </div>\n </CompThemeProvider>\n );\n};\n\nexport default MBreadcrumb;\n","/**\n * 详情描述列表组件\n * 用于展示对象的详细信息,如用户信息、产品详情等\n */\nimport { Descriptions } from 'antd';\nimport React from 'react';\nimport CompThemeProvider from '../ThemeContext/CompThemeProvider';\n\nexport interface IMDescriptionItem {\n\tlabel: React.ReactNode;\n\tvalue: React.ReactNode;\n\tspan?: number; // 可选项,控制该项跨越的列数\n}\n\nexport interface IMDescriptionProps {\n\t/**\n\t * 描述列表的数据[{label: '', value: '',}, ...]\n\t */\n\tdata: IMDescriptionItem[];\n\t/**\n\t * 标题\n\t */\n\ttitle?: React.ReactNode;\n\t/**\n\t * 需要显示的列数\n\t * @default 3\n\t */\n\tcolumn?: 1 | 2 | 3 | 4;\n\t/**\n\t * 行高\n\t */\n\tlineHeight?: number;\n\t/**\n\t * 标签对齐方式\n\t * @default 'left'\n\t */\n\talign?: 'left' | 'center' | 'right';\n\t/**\n\t * 标签和值的布局配置\n\t */\n\titemLayout?: {\n\t\tlabel?: number | undefined;\n\t\tvalue?: number | undefined;\n\t};\n\t/**\n\t * 是否显示冒号\n\t * @default true\n\t */\n\tcolon?: boolean;\n\t/**\n\t * 是否显示边框\n\t * @default false\n\t */\n\tbordered?: boolean;\n\t/**\n\t * 自定义样式\n\t */\n\tstyle?: React.CSSProperties;\n\t/**\n\t * 自定义类名\n\t */\n\tclassName?: string;\n\t/**\n\t * 标签样式\n\t */\n\tlabelStyle?: React.CSSProperties;\n\t/**\n\t * 内容样式\n\t */\n\tcontentStyle?: React.CSSProperties;\n}\n\nconst DetailDescriptions: React.FC<IMDescriptionProps> = props => {\n\tconst {\n\t\tdata,\n\t\ttitle,\n\t\tcolumn = 3,\n\t\tlineHeight,\n\t\talign = 'left',\n\t\titemLayout,\n\t\tcolon = true,\n\t\tbordered = false,\n\t\tstyle,\n\t\tclassName,\n\t\tlabelStyle,\n\t\tcontentStyle,\n\t} = props;\n\n\t// 合并样式\n\tconst mergedLabelStyle = {\n\t\t...(lineHeight ? { lineHeight: `${lineHeight}px` } : {}),\n\t\ttextAlign: align,\n\t\t...(itemLayout?.label ? { width: `${itemLayout.label}px` } : {}),\n\t\t...labelStyle,\n\t};\n\n\tconst mergedContentStyle = {\n\t\t...(lineHeight ? { lineHeight: `${lineHeight}px` } : {}),\n\t\t...(itemLayout?.value ? { width: `${itemLayout.value}px` } : {}),\n\t\t...contentStyle,\n\t};\n\n\treturn (\n\t\t<CompThemeProvider>\n\t\t\t<Descriptions\n\t\t\t\ttitle={title}\n\t\t\t\tcolumn={column}\n\t\t\t\tcolon={colon}\n\t\t\t\tbordered={bordered}\n\t\t\t\tstyle={style}\n\t\t\t\tclassName={className}\n\t\t\t\tlabelStyle={mergedLabelStyle}\n\t\t\t\tcontentStyle={mergedContentStyle}\n\t\t\t>\n\t\t\t\t{data.map((item, index) => (\n\t\t\t\t\t<Descriptions.Item\n\t\t\t\t\t\tlabel={item.label}\n\t\t\t\t\t\tkey={item.label?.toString() || index}\n\t\t\t\t\t\tspan={item.span}\n\t\t\t\t\t>\n\t\t\t\t\t\t{item.value || '-'}\n\t\t\t\t\t</Descriptions.Item>\n\t\t\t\t))}\n\t\t\t</Descriptions>\n\t\t</CompThemeProvider>\n\t);\n};\n\nDetailDescriptions.displayName = 'DetailDescriptions';\n\nexport default DetailDescriptions;\n","import { Modal as AntModal, ConfigProvider, theme, ThemeConfig } from 'antd';\nimport React, { Component } from 'react';\nimport { IModalBaseProps, openModal } from '../../utils';\n\nexport type IMiModalProps = IModalBaseProps & {\n mode?: string;\n};\n\n// 全局状态管理\nlet globalMode: string = 'default';\nconst modalInstances: Array<{\n update: (config: Partial<IMiModalProps>) => void;\n}> = [];\nlet getThemeConfig = (mode: string): ThemeConfig => {\n switch (mode) {\n case 'light':\n return {\n algorithm: [theme.defaultAlgorithm],\n };\n case 'dark':\n return {\n algorithm: [theme.darkAlgorithm],\n };\n default:\n return {\n algorithm: [theme.defaultAlgorithm],\n };\n }\n};\n\nclass MiModal extends Component<IMiModalProps> {\n // 静态方法设置全局模式并更新所有弹窗\n static setMode = (mode: string) => {\n globalMode = mode;\n // 更新所有已打开的弹窗\n modalInstances.forEach(instance => {\n instance.update({ mode });\n });\n };\n\n // 静态方法设置全局ThemeConfig\n static setThemeConfig = (fn: (m: string) => ThemeConfig) => {\n getThemeConfig = fn;\n };\n\n static open = (props: IMiModalProps) => {\n const instance = openModal(MiModal, {\n mode: globalMode, // 默认使用全局主题\n ...props,\n });\n\n // 注册实例以便全局更新\n modalInstances.push(instance);\n\n // 添加销毁时的清理逻辑\n const originalDestroy = instance.destroy;\n instance.destroy = (...args) => {\n const index = modalInstances.indexOf(instance);\n if (index !== -1) {\n modalInstances.splice(index, 1);\n }\n return originalDestroy(...args);\n };\n\n return instance;\n };\n\n getTheme() {\n const mode = this.props.mode || globalMode;\n return getThemeConfig(mode);\n }\n\n handleCancel = (e: React.MouseEvent<HTMLButtonElement>) => {\n this.props.onCancel?.(e);\n this.props.onClosed?.({ cancel: true });\n };\n\n handleOk = (e: React.MouseEvent<HTMLButtonElement>) => {\n this.props.onOk?.(e);\n this.props.onClosed?.({ ok: true });\n };\n\n render() {\n return (\n <ConfigProvider\n theme={this.getTheme()} // 确保内部组件能正确继承主题\n componentSize=\"middle\"\n componentDisabled={false}\n >\n <AntModal\n maskClosable={false}\n open={this.props.open}\n onCancel={this.handleCancel}\n onOk={this.handleOk}\n okText=\"确定\"\n cancelText=\"取消\"\n {...this.props}\n >\n {this.props.children}\n </AntModal>\n </ConfigProvider>\n );\n }\n}\n\nexport default MiModal;\n","/**\n * 表格\n */\nimport { Table, TableProps } from 'antd';\nimport { ColumnsType } from 'antd/es/table';\nimport React from 'react';\nimport CompThemeProvider from '../ThemeContext/CompThemeProvider';\n\nexport interface IMTableProps extends TableProps {}\n\nfunction MTable(props: IMTableProps) {\n\tconst columns: ColumnsType<any> = props.columns?.map(e => ({ ...e, dataIndex: e.key })) ?? [];\n\treturn (\n\t\t<CompThemeProvider>\n\t\t\t<Table rowKey={e => e.id} {...props} columns={columns} />;\n\t\t</CompThemeProvider>\n\t);\n}\n\nMTable.displayName = 'MTable';\n\nexport default MTable;\n","export const DATE_FORMAT = {\n\tYMD_Hms: 'YYYY-MM-DD HH:mm:ss',\n\tYMD: 'YYYY-MM-DD',\n\tYMD2: 'YYYYMMDD',\n\tYMD_POINT: 'YYYY.M.DD',\n\tHms: 'HH:mm:ss',\n\tHm: 'HH:mm',\n\tYMD_000: 'YYYY-MM-DD 00:00:00',\n\tYMD_end: 'YYYY-MM-DD 23:59:59',\n\tYMD_Hm: 'YYYYMMDD HHmm',\n};\n","export const PAGE_SIZE = 10;\n","export class PatternType {\n\t// 整数\n\tstatic readonly integerRegex = /^-?\\d+$/;\n\t// 正整数\n\tstatic readonly positiveIntegerRegex = /^[1-9]\\d*$/;\n\t// 负整数\n\tstatic readonly negativeIntegerRegex = /^-[1-9]\\d*$/;\n\t// 浮点数\n\tstatic readonly floatRegex = /^-?\\d+(\\.\\d+)?$/;\n\t// 字母\n\tstatic readonly letter = /^[a-zA-Z]+$/;\n\t// 汉字\n\tstatic readonly chinese = /^[\\u4e00-\\u9fa5]+$/;\n\t// 数字\n\tstatic readonly number = /^[0-9]*$/;\n\n\t// 用户名 字母开头,允许字母数字下划线,长度4-16\n\tstatic readonly username = /^[a-zA-Z]\\w{3,15}$/;\n\t// 强用户名 必须包含大小写字母和数字,6-20位\n\tstatic readonly strongUsername = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]{6,20}$/;\n\n\t// 密码 至少8位,包含字母和数字\n\tstatic readonly password = /^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,}$/;\n\t// 强密码 至少8位,包含大小写字母、数字和特殊字符\n\tstatic readonly strongPassword =\n\t\t/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]{8,}$/;\n\n\t// 中国大陆的手机号\n\tstatic readonly phone = /^1[3-9]\\d{9}$/;\n\t// 带区号的手机号\n\tstatic readonly phoneWithAreaCode = /^\\+?\\d{2,3}-?\\d{8,11}$/;\n\t// 邮箱\n\tstatic readonly email = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\n\t// 身份证\n\tstatic readonly idCard =\n\t\t/^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$/;\n\t// 银行卡\n\tstatic readonly bankCard = /^[1-9]\\d{3,30}$/;\n\t// 邮政编码\n\tstatic readonly zipCode = /^[1-9]\\d{5}$/;\n\t// IP\n\tstatic readonly ip =\n\t\t/^(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$/;\n\t// URL\n\tstatic readonly url = /^(https?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$/;\n\t// 车牌\n\tstatic readonly carNumber =\n\t\t/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/;\n\t// 时间 hh:mm:ss\n\tstatic readonly time = /^([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/;\n\t// 日期 YYYY-MM-DD\n\tstatic readonly date = /^(\\d{4})-(\\d{2})-(\\d{2})$/;\n}\n","import { useEffect, useRef, useState } from 'react';\n\ntype UnwrapPromise<T> = T extends Promise<infer U> ? U : T;\n\nexport type UseFuncRequestOptions<\n T extends (...args: any[]) => Promise<any>\n> = {\n // 自动执行时的参数\n autoRunArgs?: Parameters<T>;\n // 开始执行前的回调函数 false 不执行 true 执行\n onBefore?: (...args: Parameters<T>) => boolean | Promise<boolean>;\n // 执行成功后的回调函数\n onSuccess?: (data: UnwrapPromise<ReturnType<T>>) => void | Promise<void>;\n // 执行失败后的回调函数\n onError?: (error: Error) => void | Promise<void>;\n // 结束后的回调函数\n onFinally?: () => void | Promise<void>;\n};\n\nexport function useFuncRequest<T extends (...args: any[]) => Promise<any>>(\n // 异步函数\n asyncFunc: T,\n // 配置项\n options?: UseFuncRequestOptions<T>\n) {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n const [data, setData] = useState<UnwrapPromise<ReturnType<T>> | null>(null);\n const abortControllerRef = useRef<AbortController>(undefined);\n const requestIdRef = useRef(0);\n\n const cancel = () => {\n abortControllerRef.current?.abort();\n setLoading(false);\n setError(null);\n };\n\n const run = async (...args: Parameters<T>) => {\n const currentRequestId = ++requestIdRef.current;\n cancel();\n\n const abortController = new AbortController();\n abortControllerRef.current = abortController;\n\n try {\n setLoading(true);\n setError(null);\n if (options?.onBefore) {\n const beforeRes = await options?.onBefore?.(...args);\n if (!beforeRes) {\n cancel();\n return;\n }\n }\n\n // 安全传递 AbortSignal\n const funcArgs =\n args.length >= asyncFunc.length\n ? args\n : [...args, { signal: abortController.signal }];\n\n const res = await asyncFunc(...(funcArgs as Parameters<T>));\n\n if (\n !abortController.signal.aborted &&\n currentRequestId === requestIdRef.current\n ) {\n setData(res);\n await options?.onSuccess?.(res);\n }\n return res;\n } catch (err) {\n if (\n !abortController.signal.aborted &&\n currentRequestId === requestIdRef.current\n ) {\n setError(err as Error);\n await options?.onError?.(err as Error);\n }\n throw err;\n } finally {\n if (\n !abortController.signal.aborted &&\n currentRequestId === requestIdRef.current\n ) {\n setLoading(false);\n await options?.onFinally?.();\n }\n }\n };\n\n useEffect(() => {\n if (options?.autoRunArgs) {\n run(...options.autoRunArgs).catch(() => {});\n }\n return cancel;\n }, [JSON.stringify(options?.autoRunArgs)]);\n\n return { run, cancel, loading, error, data };\n}\n","import { useCallback, useEffect, useRef } from 'react';\n\ntype Callback = () => void;\n\ninterface UseTimeoutReturn {\n start: Callback;\n isRunning: boolean;\n clear: Callback;\n}\n\nfunction useInterval(\n callback: Callback,\n delay: number | null,\n immediate: boolean = false\n): UseTimeoutReturn {\n const timerRef = useRef<ReturnType<typeof setInterval>>(undefined);\n const savedCallback = useRef(callback);\n\n // Update callback ref if callback changes\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n const clear = useCallback(() => {\n if (timerRef.current) {\n clearInterval(timerRef.current);\n timerRef.current = undefined;\n }\n }, []);\n\n const start = useCallback(() => {\n clear();\n if (delay !== null && delay !== undefined) {\n timerRef.current = setInterval(() => savedCallback.current(), delay);\n }\n }, [delay, clear]);\n\n useEffect(() => {\n if (immediate) {\n savedCallback.current();\n }\n start();\n\n return clear;\n }, [delay, start, clear, immediate]);\n\n return { start, clear, isRunning: !!timerRef.current };\n}\n\nexport { useInterval };\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport { debounce } from '../utils';\n\ninterface IPaginationProps {\n current: number;\n pageSize: number;\n total: number;\n onChange: (page: number, pageSize: number) => Promise<void>;\n onShowSizeChange: (size: number, current: number) => Promise<void>;\n showTotal?: (t: number) => React.ReactNode;\n showQuickJumper?: boolean;\n showSizeChanger?: boolean;\n}\n\ninterface PaginationResult<T> {\n tableProps: {\n loading?: boolean;\n dataSource: T[];\n };\n loading?: boolean;\n dataSource: T[];\n paginationProps: IPaginationProps;\n isFirstComplete: boolean;\n refresh: (resetPage?: boolean) => Promise<void>;\n debounceRefresh: (resetPage?: boolean) => void;\n setDataSource: (data: T[]) => void;\n}\n\ninterface IServerParams {\n offset: number;\n limit: number;\n current: number;\n}\n\ntype IInfoBack<T> = { dataSource: T[]; total: number };\n\ntype IInfoServer<T> = (\n params: IServerParams\n) => IInfoBack<T> | Promise<IInfoBack<T>>;\n\ninterface IInfoOption<T> {\n isReady?: boolean;\n dataSource?: T[];\n current?: number;\n pageSize?: number;\n}\n\nexport const usePagination = <T>(\n server: IInfoServer<T>,\n deps?: any[], // 依赖条件 数据更新默认执行server\n option?: IInfoOption<T>\n): PaginationResult<T> => {\n const {\n isReady = true,\n dataSource: propDataSource = [],\n current: propCurrent = 1,\n pageSize: propPageSize = 10,\n } = option || {};\n\n const [current, setCurrent] = useState(propCurrent);\n const [pageSize, setPageSize] = useState(propPageSize);\n const [dataSource, setDataSource] = useState<T[]>(propDataSource);\n const [total, setTotal] = useState(0);\n const [loading, setLoading] = useState(false);\n const [isFirstComplete, setIsFirstComplete] = useState(false);\n const currentRef = useRef(current);\n const pageSizeRef = useRef(pageSize);\n\n // 在状态更新时同步更新ref\n const setCurrentAndRef = (val: number) => {\n setCurrent(val);\n currentRef.current = val;\n };\n\n const setPageSizeAndRef = (val: number) => {\n setPageSize(val);\n pageSizeRef.current = val;\n };\n\n // 计数器\n const seq = useRef(0);\n\n const doSearch = async () => {\n if (!isReady) {\n return;\n }\n let _current = currentRef.current;\n let _pageSize = pageSizeRef.current;\n setLoading(true);\n\n seq.current++;\n const _seq = seq.current;\n try {\n // 发送请求\n let offset = Math.round((_current - 1) * _pageSize);\n if (offset < 0) {\n offset = 0;\n }\n if (_pageSize < 1) {\n _pageSize = 1;\n }\n let { dataSource: data_source, total: _total } = await server({\n limit: _pageSize,\n offset,\n current: _current,\n });\n\n if (_seq !== seq.current) return;\n if (pageSize * (_current - 1) >= _total && _current !== 1) {\n _current = 1;\n const totalPage = Math.ceil(_total / pageSize);\n ({ dataSource: data_source, total: _total } = await server({\n limit: _pageSize,\n offset,\n current: _current,\n }));\n if (_seq !== seq.current) return;\n _current = totalPage;\n }\n setDataSource(data_source);\n setCurrentAndRef(_current);\n setPageSizeAndRef(_pageSize);\n setTotal(_total);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('fetch err', error);\n if (_seq !== seq.current) return;\n } finally {\n setIsFirstComplete(true);\n setLoading(false);\n }\n };\n\n const refresh = async (resetPage?: boolean) => {\n if (resetPage) {\n setDataSource([]);\n setCurrentAndRef(propCurrent);\n setPageSizeAndRef(propPageSize);\n }\n await doSearch();\n };\n\n const debounceRefresh = useCallback(debounce(refresh, 500), [refresh]);\n\n /* 重置逻辑 */\n const _deps = [...(deps || []), isReady];\n\n useEffect(() => {\n if (!isReady) return;\n debounceRefresh(true);\n }, _deps);\n\n const onChange = async (page: number, pageSize: number) => {\n setCurrentAndRef(page);\n setPageSizeAndRef(pageSize);\n await refresh();\n };\n\n const onShowSizeChange = async (size: number, current: number) => {\n setPageSizeAndRef(size);\n setCurrentAndRef(current);\n await refresh();\n };\n\n const paginationProps: IPaginationProps = {\n current,\n pageSize,\n total,\n onChange,\n onShowSizeChange,\n };\n\n return {\n tableProps: {\n loading,\n dataSource,\n },\n loading,\n dataSource,\n paginationProps,\n isFirstComplete,\n refresh,\n debounceRefresh,\n setDataSource,\n };\n};\n","export function useQuery() {\n\tconst search = window.location.href.split('?')[1] || '';\n\tconst params = new URLSearchParams(search);\n\tconst query = Object.fromEntries(params.entries());\n\treturn query;\n}\n","import { useCallback, useRef, useState } from 'react';\n\nconst useReactive = <T extends object>(initialState: T) => {\n\tconst [state, setState] = useState<T>(initialState);\n\tconst stateRef = useRef<T>(state);\n\n\tconst updateState = useCallback((newState: Partial<T> | ((prev: T) => Partial<T>)) => {\n\t\tsetState(prev => {\n\t\t\tconst updatedPart = typeof newState === 'function' ? newState(prev) : newState;\n\t\t\tconst newFullState = { ...prev, ...updatedPart };\n\t\t\tstateRef.current = newFullState; // 同步更新ref\n\t\t\treturn newFullState;\n\t\t});\n\t}, []);\n\n\tconst getState = useCallback(() => stateRef.current, []);\n\n\tconst resetState = useCallback(() => {\n\t\tsetState(initialState);\n\t\tstateRef.current = initialState;\n\t}, [initialState]);\n\n\treturn [state, updateState, getState, resetState] as const;\n};\n\nexport { useReactive };\n","import { useCallback, useEffect, useRef } from 'react';\n\ntype Callback = () => void;\n\ninterface UseTimeoutReturn {\n start: Callback;\n isRunning: boolean;\n clear: Callback;\n}\n\nfunction useTimeout(\n callback: Callback,\n delay: number | null,\n immediate: boolean = false\n): UseTimeoutReturn {\n const timerRef = useRef<ReturnType<typeof setTimeout>>(undefined);\n const savedCallback = useRef(callback);\n\n // Update callback ref if callback changes\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n const clear = useCallback(() => {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = undefined;\n }\n }, []);\n\n const start = useCallback(() => {\n clear();\n if (delay !== null && delay !== undefined) {\n timerRef.current = setTimeout(() => savedCallback.current(), delay);\n }\n }, [delay, clear]);\n\n useEffect(() => {\n if (immediate) {\n savedCallback.current();\n }\n start();\n\n return clear;\n }, [delay, start, clear, immediate]);\n\n return { start, clear, isRunning: !!timerRef.current };\n}\n\nexport { useTimeout };\n","// 虚拟列表加载\nimport {\n DependencyList,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { PAGE_SIZE } from '../constants';\nimport { debounce } from '../utils';\n\nexport interface IPaginationResult<T> {\n /**\n * 数据\n *\n * @memberof IPaginationResult\n */\n dataSource: T[];\n /**\n * 加载状态\n *\n * @memberof IPaginationResult\n */\n loading?: boolean;\n /**\n * 是否完成了一次请求\n *\n * @memberof IPaginationResult\n */\n isFirstComplete: boolean;\n /**\n * 分页信息\n *\n * @memberof IPaginationResult\n */\n paginationProps: {\n current: number;\n pageSize: number;\n total: number;\n };\n /**\n * reset 是否重置查询\n *\n * @memberof IPaginationResult\n */\n refresh: (reset?: boolean) => Promise<void>;\n debounceRefresh: (reset?: boolean) => void;\n /* 快速逃避方案 */\n setDataSource: (data: T[]) => void;\n setTotal: (total: number) => void;\n}\n\ninterface IServerParams {\n offset: number;\n limit: number;\n current: number;\n}\n\ntype IInfoBack<T> = { dataSource: T[]; total: number };\n\ntype IInfoServer<T> = (\n params: IServerParams\n) => IInfoBack<T> | Promise<IInfoBack<T>>;\n\ninterface IInfoOption<T> {\n /**\n * 第一次是否执行server\n *\n */\n isReady?: boolean;\n /**\n * 默认的数据\n *\n */\n dataSource?: T[];\n /**\n * 默认当前第几页\n *\n */\n current?: number;\n /**\n * 默认一页几条数据\n *\n */\n pageSize?: number;\n}\n\nexport const useVirtualList = <T>(\n server: IInfoServer<T>,\n deps?: DependencyList, // 依赖条件 数据更新默认执行server\n option?: IInfoOption<T>\n): IPaginationResult<T> => {\n const {\n isReady = true,\n dataSource: propDataSource = [],\n current: propCurrent = 1,\n pageSize: propPageSize = PAGE_SIZE,\n } = option || {};\n\n // 是否完成了一次请求\n const [isFirstComplete, setIsFirstComplete] = useState(false);\n // 分页\n const [current, setCurrent] = useState(propCurrent);\n const [pageSize, setPageSize] = useState(propPageSize);\n const [total, setTotal] = useState(0);\n\n // 表格\n const [isLoading, setIsLoading] = useState(false);\n const [dataSource, setDataSource] = useState(propDataSource);\n\n const currentRef = useRef(current);\n const pageSizeRef = useRef(pageSize);\n\n // 在状态更新时同步更新ref\n const setCurrentAndRef = (val: number) => {\n setCurrent(val);\n currentRef.current = val;\n };\n\n const setPageSizeAndRef = (val: number) => {\n setPageSize(val);\n pageSizeRef.current = val;\n };\n\n // 计数器\n const seq = useRef(0);\n const doSearch = async (reset?: boolean) => {\n if (!isReady) {\n return;\n }\n let _current = currentRef.current;\n let _pageSize = pageSizeRef.current;\n setIsLoading(true);\n\n seq.current += 1;\n const _seq = seq.current;\n try {\n // 发送请求\n let offset = Math.round((_current - 1) * _pageSize);\n if (offset < 0) {\n offset = 0;\n }\n if (_pageSize < 1) {\n _pageSize = 1;\n }\n let { dataSource: data0, total: total0 } = await server({\n limit: _pageSize,\n offset,\n current: _current,\n });\n if (_seq !== seq.current) return;\n if (pageSize * (_current - 1) >= total0 && _current !== 1) {\n const totalPage = Math.ceil(total0 / pageSize);\n ({ dataSource: data0, total: total0 } = await server({\n limit: _pageSize,\n offset: Math.round((totalPage - 1) * _pageSize),\n current: _current,\n }));\n if (_seq !== seq.current) return;\n _current = totalPage;\n // message.error('数据源发生变化,该页没有数据,自动加载最后一页');\n }\n const d = reset ? data0 : dataSource.concat(data0 as T[]);\n setDataSource(d);\n setCurrentAndRef(_current);\n setPageSizeAndRef(_pageSize);\n setTotal(total0);\n } catch (error) {\n console.error('fetch err', error);\n if (_seq !== seq.current) return;\n }\n setIsFirstComplete(true);\n setIsLoading(false);\n };\n\n // 加载下一页数据\n const refresh = async (reset?: boolean) => {\n if (reset) {\n setDataSource([]);\n setCurrentAndRef(propCurrent);\n setPageSizeAndRef(propPageSize);\n } else {\n const curTotal = pageSize * current;\n if (total && total <= curTotal) return;\n setCurrentAndRef(current + 1);\n }\n await doSearch(reset);\n };\n\n // 防抖 加载下一页数据\n const debounceRefresh = useCallback(debounce(refresh, 500), [refresh]);\n\n /* 重置逻辑 */\n const _deps = [...(deps || []), isReady];\n\n useEffect(() => {\n if (!isReady) return;\n debounceRefresh(true);\n }, _deps);\n\n return {\n loading: isLoading,\n dataSource,\n paginationProps: {\n current,\n pageSize,\n total,\n },\n isFirstComplete,\n refresh: async (reset?: boolean) => {\n await refresh(reset);\n },\n debounceRefresh,\n setDataSource,\n setTotal,\n };\n};\n"],"names":["CMX","arg1","arg2","r1","r2","m","c","toString","split","length","e","Math","abs","pow","max","cm","Number","replace","_arg","_arg2","n","toFixed","s1","s2","t1","t2","cmx","NextTick","timerFunc","determineTimerFunc","_proto","prototype","Promise","p","resolve","then","_this","flushCallbacks","bind","MutationObserver","window","counter","observer","textNode","document","createTextNode","String","observe","characterData","data","setTimeout","pending","copies","callbacks","slice","i","nextTick","callback","ctx","_resolve","push","call","console","error","instance","_createClass","key","get","_instance","createRoot","ReactDOMClient","modalContainer","root","getOrCreateContainer","createElement","body","appendChild","openModal","DialogComponent","initialConfig","container","currentConfig","_extends","open","onClosed","params","unifiedDestroy","destroy","update","cleanup","unmount","parentNode","removeChild","render","props","React","configUpdate","closedParams","warn","noop","getClassName","key1","key2","cn","str","includes","nArr","_iterator","_createForOfIteratorHelperLoose","_step","done","value","getFieldsByPath","path","arr","res","_iterator2","_step2","removeNull","obj","debounce","func","wait","timeout","args","Array","_len","_key","arguments","clearTimeout","apply","throttle","lastTime","nowTime","Date","now","diffTime","VersionUtil","isValid","version","semverRegex","test","compare","v1","v2","Error","normalize","v","parts1","parts2","num1","parseInt","num2","preRelease1","match","preRelease2","localeCompare","satisfies","range","rangeRegex","ranges","every","r","operator","rangeVersion","comparison","caretRange","tildeRange","vParts","rParts","firstNonZero","vNum","rNum","lastVNum","lastRNum","getMajor","parts","getMinor","getPatch","getPrerelease","getBuildMetadata","ThemeContext","createContext","theme","cssVar","algorithm","defaultAlgorithm","MiThemeProvider","Provider","useMiThemeConfig","useContext","CompThemeProvider","_useMiThemeConfig","ConfigProvider","children","displayName","classname","ItemsRow","items","className","style","map","item","index","Button","label","btnProps","type","onClick","MBreadcrumb","routes","customItems","_props$offsetTop","offsetTop","mainAppBaseUrl","microAppName","affixRef","onScroll","_affixRef$current","current","updatePosition","addEventListener","removeEventListener","getUrl","url","cleanedUrl","filter","Boolean","join","Affix","ref","Card","rootClassName","variant","Breadcrumb","fontSize","Item","name","href","ItemRow","DetailDescriptions","title","_props$column","column","lineHeight","_props$align","align","itemLayout","_props$colon","colon","_props$bordered","bordered","labelStyle","contentStyle","mergedLabelStyle","textAlign","width","mergedContentStyle","Descriptions","_item$label","span","globalMode","modalInstances","getThemeConfig","mode","darkAlgorithm","MiModal","_Component","onCancel","cancel","onOk","ok","_inheritsLoose","getTheme","componentSize","componentDisabled","AntModal","maskClosable","handleCancel","handleOk","okText","cancelText","Component","forEach","fn","originalDestroy","indexOf","splice","MTable","columns","_props$columns$map","_props$columns","dataIndex","Table","rowKey","id","DATE_FORMAT","YMD_Hms","YMD","YMD2","YMD_POINT","Hms","Hm","YMD_000","YMD_end","YMD_Hm","PAGE_SIZE","PatternType","useFuncRequest","asyncFunc","options","_useState","useState","loading","setLoading","_useState2","setError","_useState3","setData","abortControllerRef","useRef","undefined","requestIdRef","_abortControllerRef$c","abort","run","_ref","_asyncToGenerator","_regenerator","_callee","currentRequestId","abortController","beforeRes","funcArgs","_args","_t","w","_context","AbortController","onBefore","a","concat","signal","aborted","onSuccess","onError","onFinally","f","useEffect","autoRunArgs","JSON","stringify","useInterval","delay","immediate","timerRef","savedCallback","clear","useCallback","clearInterval","start","setInterval","isRunning","usePagination","server","deps","option","_ref$isReady","isReady","_ref$dataSource","dataSource","propDataSource","_ref$current","propCurrent","_ref$pageSize","pageSize","propPageSize","setCurrent","setPageSize","setDataSource","_useState4","total","setTotal","_useState5","_useState6","isFirstComplete","setIsFirstComplete","currentRef","pageSizeRef","setCurrentAndRef","val","setPageSizeAndRef","seq","doSearch","_ref2","_current","_pageSize","_seq","offset","_yield$server","data_source","_total","totalPage","_yield$server2","round","limit","ceil","refresh","_ref3","_callee2","resetPage","_context2","_x","debounceRefresh","_deps","onChange","_ref4","_callee3","page","_context3","_x2","_x3","onShowSizeChange","_ref5","_callee4","size","_context4","_x4","_x5","paginationProps","tableProps","useQuery","search","location","URLSearchParams","query","Object","fromEntries","entries","useReactive","initialState","state","setState","stateRef","updateState","newState","prev","updatedPart","newFullState","getState","resetState","useTimeout","useVirtualList","isLoading","setIsLoading","reset","data0","total0","d","curTotal","_refresh2"],"mappings":"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"}
1
+ {"version":3,"file":"libs.esm.js","sources":["../src/constants/date.ts","../src/constants/pageInfo.ts","../src/constants/pattern.ts","../src/hooks/useFuncRequest.ts","../src/hooks/useInterval.ts","../src/utils/calc.ts","../src/utils/nextTick.ts","../src/utils/openModal.tsx","../src/utils/util.ts","../src/utils/version.ts","../src/hooks/usePagination.ts","../src/hooks/useQuery.ts","../src/hooks/useReactive.ts","../src/hooks/useTimeout.ts","../src/hooks/useVirtualList.ts"],"sourcesContent":["export const DATE_FORMAT = {\n\tYMD_Hms: 'YYYY-MM-DD HH:mm:ss',\n\tYMD: 'YYYY-MM-DD',\n\tYMD2: 'YYYYMMDD',\n\tYMD_POINT: 'YYYY.M.DD',\n\tHms: 'HH:mm:ss',\n\tHm: 'HH:mm',\n\tYMD_000: 'YYYY-MM-DD 00:00:00',\n\tYMD_end: 'YYYY-MM-DD 23:59:59',\n\tYMD_Hm: 'YYYYMMDD HHmm',\n};\n","export const PAGE_SIZE = 10;\n","export class PatternType {\n\t// 整数\n\tstatic readonly integerRegex = /^-?\\d+$/;\n\t// 正整数\n\tstatic readonly positiveIntegerRegex = /^[1-9]\\d*$/;\n\t// 负整数\n\tstatic readonly negativeIntegerRegex = /^-[1-9]\\d*$/;\n\t// 浮点数\n\tstatic readonly floatRegex = /^-?\\d+(\\.\\d+)?$/;\n\t// 字母\n\tstatic readonly letter = /^[a-zA-Z]+$/;\n\t// 汉字\n\tstatic readonly chinese = /^[\\u4e00-\\u9fa5]+$/;\n\t// 数字\n\tstatic readonly number = /^[0-9]*$/;\n\n\t// 用户名 字母开头,允许字母数字下划线,长度4-16\n\tstatic readonly username = /^[a-zA-Z]\\w{3,15}$/;\n\t// 强用户名 必须包含大小写字母和数字,6-20位\n\tstatic readonly strongUsername = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]{6,20}$/;\n\n\t// 密码 至少8位,包含字母和数字\n\tstatic readonly password = /^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,}$/;\n\t// 强密码 至少8位,包含大小写字母、数字和特殊字符\n\tstatic readonly strongPassword =\n\t\t/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]{8,}$/;\n\n\t// 中国大陆的手机号\n\tstatic readonly phone = /^1[3-9]\\d{9}$/;\n\t// 带区号的手机号\n\tstatic readonly phoneWithAreaCode = /^\\+?\\d{2,3}-?\\d{8,11}$/;\n\t// 邮箱\n\tstatic readonly email = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\n\t// 身份证\n\tstatic readonly idCard =\n\t\t/^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$/;\n\t// 银行卡\n\tstatic readonly bankCard = /^[1-9]\\d{3,30}$/;\n\t// 邮政编码\n\tstatic readonly zipCode = /^[1-9]\\d{5}$/;\n\t// IP\n\tstatic readonly ip =\n\t\t/^(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$/;\n\t// URL\n\tstatic readonly url = /^(https?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$/;\n\t// 车牌\n\tstatic readonly carNumber =\n\t\t/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/;\n\t// 时间 hh:mm:ss\n\tstatic readonly time = /^([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/;\n\t// 日期 YYYY-MM-DD\n\tstatic readonly date = /^(\\d{4})-(\\d{2})-(\\d{2})$/;\n}\n","import { useEffect, useRef, useState } from 'react';\n\ntype UnwrapPromise<T> = T extends Promise<infer U> ? U : T;\n\nexport type UseFuncRequestOptions<\n T extends (...args: any[]) => Promise<any>\n> = {\n // 自动执行时的参数\n autoRunArgs?: Parameters<T>;\n // 开始执行前的回调函数 false 不执行 true 执行\n onBefore?: (...args: Parameters<T>) => boolean | Promise<boolean>;\n // 执行成功后的回调函数\n onSuccess?: (data: UnwrapPromise<ReturnType<T>>) => void | Promise<void>;\n // 执行失败后的回调函数\n onError?: (error: Error) => void | Promise<void>;\n // 结束后的回调函数\n onFinally?: () => void | Promise<void>;\n};\n\nexport function useFuncRequest<T extends (...args: any[]) => Promise<any>>(\n // 异步函数\n asyncFunc: T,\n // 配置项\n options?: UseFuncRequestOptions<T>\n) {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n const [data, setData] = useState<UnwrapPromise<ReturnType<T>> | null>(null);\n const abortControllerRef = useRef<AbortController>(undefined);\n const requestIdRef = useRef(0);\n\n const cancel = () => {\n abortControllerRef.current?.abort();\n setLoading(false);\n setError(null);\n };\n\n const run = async (...args: Parameters<T>) => {\n const currentRequestId = ++requestIdRef.current;\n cancel();\n\n const abortController = new AbortController();\n abortControllerRef.current = abortController;\n\n try {\n setLoading(true);\n setError(null);\n if (options?.onBefore) {\n const beforeRes = await options?.onBefore?.(...args);\n if (!beforeRes) {\n cancel();\n return;\n }\n }\n\n // 安全传递 AbortSignal\n const funcArgs =\n args.length >= asyncFunc.length\n ? args\n : [...args, { signal: abortController.signal }];\n\n const res = await asyncFunc(...(funcArgs as Parameters<T>));\n\n if (\n !abortController.signal.aborted &&\n currentRequestId === requestIdRef.current\n ) {\n setData(res);\n await options?.onSuccess?.(res);\n }\n return res;\n } catch (err) {\n if (\n !abortController.signal.aborted &&\n currentRequestId === requestIdRef.current\n ) {\n setError(err as Error);\n await options?.onError?.(err as Error);\n }\n throw err;\n } finally {\n if (\n !abortController.signal.aborted &&\n currentRequestId === requestIdRef.current\n ) {\n setLoading(false);\n await options?.onFinally?.();\n }\n }\n };\n\n useEffect(() => {\n if (options?.autoRunArgs) {\n run(...options.autoRunArgs).catch(() => {});\n }\n return cancel;\n }, [JSON.stringify(options?.autoRunArgs)]);\n\n return { run, cancel, loading, error, data };\n}\n","import { useCallback, useEffect, useRef } from 'react';\n\ntype Callback = () => void;\n\ninterface UseTimeoutReturn {\n start: Callback;\n isRunning: boolean;\n clear: Callback;\n}\n\nfunction useInterval(\n callback: Callback,\n delay: number | null,\n immediate: boolean = false\n): UseTimeoutReturn {\n const timerRef = useRef<ReturnType<typeof setInterval>>(undefined);\n const savedCallback = useRef(callback);\n\n // Update callback ref if callback changes\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n const clear = useCallback(() => {\n if (timerRef.current) {\n clearInterval(timerRef.current);\n timerRef.current = undefined;\n }\n }, []);\n\n const start = useCallback(() => {\n clear();\n if (delay !== null && delay !== undefined) {\n timerRef.current = setInterval(() => savedCallback.current(), delay);\n }\n }, [delay, clear]);\n\n useEffect(() => {\n if (immediate) {\n savedCallback.current();\n }\n start();\n\n return clear;\n }, [delay, start, clear, immediate]);\n\n return { start, clear, isRunning: !!timerRef.current };\n}\n\nexport { useInterval };\n","class CMX {\n /**\n ** 加\n **/\n add = function (arg1: number, arg2: number) {\n let r1, r2, m, c;\n try {\n r1 = arg1.toString().split('.')[1].length;\n } catch (e) {\n r1 = 0;\n }\n try {\n r2 = arg2.toString().split('.')[1].length;\n } catch (e) {\n r2 = 0;\n }\n c = Math.abs(r1 - r2);\n m = Math.pow(10, Math.max(r1, r2));\n if (c > 0) {\n let cm = Math.pow(10, c);\n if (r1 > r2) {\n arg1 = Number(arg1.toString().replace('.', ''));\n arg2 = Number(arg2.toString().replace('.', '')) * cm;\n } else {\n arg1 = Number(arg1.toString().replace('.', '')) * cm;\n arg2 = Number(arg2.toString().replace('.', ''));\n }\n } else {\n arg1 = Number(arg1?.toString().replace('.', ''));\n arg2 = Number(arg2?.toString().replace('.', ''));\n }\n return (arg1 + arg2) / m;\n };\n /**\n ** 减\n **/\n sub = function (arg1: number, arg2: number) {\n let r1, r2, m, n;\n try {\n r1 = arg1.toString().split('.')[1].length;\n } catch (e) {\n r1 = 0;\n }\n try {\n r2 = arg2.toString().split('.')[1].length;\n } catch (e) {\n r2 = 0;\n }\n m = Math.pow(10, Math.max(r1, r2)); //last modify by deeka //动态控制精度长度\n n = r1 >= r2 ? r1 : r2;\n return Number(((arg1 * m - arg2 * m) / m).toFixed(n));\n };\n\n /**\n ** 乘\n **/\n mul = function (arg1: number, arg2: number) {\n let m = 0,\n s1 = arg1.toString(),\n s2 = arg2.toString();\n try {\n m += s1.split('.')[1].length;\n } catch (e) { }\n try {\n m += s2.split('.')[1].length;\n } catch (e) { }\n return (\n (Number(s1.replace('.', '')) * Number(s2.replace('.', ''))) / Math.pow(10, m)\n );\n };\n\n /**\n ** 除\n **/\n div = function (arg1: number, arg2: number) {\n let t1 = 0,\n t2 = 0,\n r1,\n r2;\n try {\n t1 = arg1.toString().split('.')[1].length;\n } catch (e) { }\n try {\n t2 = arg2.toString().split('.')[1].length;\n } catch (e) { }\n r1 = Number(arg1.toString().replace('.', ''));\n r2 = Number(arg2.toString().replace('.', ''));\n return (r1 / r2) * Math.pow(10, t2 - t1);\n };\n}\n\nexport const cmx = new CMX();\n","type NextTickCallback = () => void;\ntype NextTickPromiseResolver = () => void;\n\nclass NextTick {\n\tprivate callbacks: NextTickCallback[] = [];\n\tprivate pending = false;\n\tprivate timerFunc: () => void;\n\n\tconstructor() {\n\t\tthis.timerFunc = this.determineTimerFunc();\n\t}\n\n\tprivate determineTimerFunc(): () => void {\n\t\tif (typeof Promise !== 'undefined') {\n\t\t\tconst p = Promise.resolve();\n\t\t\treturn () => p.then(this.flushCallbacks.bind(this));\n\t\t}\n\n\t\tif (typeof MutationObserver !== 'undefined' && typeof window !== 'undefined') {\n\t\t\tlet counter = 1;\n\t\t\tconst observer = new MutationObserver(this.flushCallbacks.bind(this));\n\t\t\tconst textNode = document.createTextNode(String(counter));\n\t\t\tobserver.observe(textNode, { characterData: true });\n\n\t\t\treturn () => {\n\t\t\t\tcounter = (counter + 1) % 2;\n\t\t\t\ttextNode.data = String(counter);\n\t\t\t};\n\t\t}\n\n\t\t// // 仅在 Node.js 环境中使用 setImmediate\n\t\t// if (typeof global !== 'undefined' && typeof setImmediate !== 'undefined') {\n\t\t// \treturn () => setImmediate(this.flushCallbacks.bind(this));\n\t\t// }\n\n\t\treturn () => setTimeout(this.flushCallbacks.bind(this), 0);\n\t}\n\n\tprivate flushCallbacks(): void {\n\t\tthis.pending = false;\n\t\tconst copies = this.callbacks.slice(0);\n\t\tthis.callbacks.length = 0;\n\t\tfor (let i = 0; i < copies.length; i++) {\n\t\t\tcopies[i]();\n\t\t}\n\t}\n\n\tpublic nextTick<T = void>(callback?: (this: T) => void, ctx?: T): Promise<void> | void {\n\t\tlet _resolve: NextTickPromiseResolver | undefined;\n\n\t\tthis.callbacks.push(() => {\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\tcallback.call(ctx as T);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconsole.error('Error in nextTick:', e);\n\t\t\t\t}\n\t\t\t} else if (_resolve) {\n\t\t\t\t_resolve();\n\t\t\t}\n\t\t});\n\n\t\tif (!this.pending) {\n\t\t\tthis.pending = true;\n\t\t\tthis.timerFunc();\n\t\t}\n\n\t\tif (!callback && typeof Promise !== 'undefined') {\n\t\t\treturn new Promise(resolve => {\n\t\t\t\t_resolve = resolve;\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic static nextTick<T = void>(callback?: (this: T) => void, ctx?: T): Promise<void> | void {\n\t\treturn NextTick.instance.nextTick(callback, ctx);\n\t}\n\n\tprivate static _instance: NextTick;\n\tpublic static get instance(): NextTick {\n\t\tif (!this._instance) {\n\t\t\tthis._instance = new NextTick();\n\t\t}\n\t\treturn this._instance;\n\t}\n}\n\nconst nextTick = NextTick.instance.nextTick.bind(NextTick.instance);\nexport { NextTick, nextTick };\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ModalProps } from 'antd';\nimport React, { ComponentType } from 'react';\nimport * as ReactDOMClient from 'react-dom/client';\nconst { createRoot } = ReactDOMClient;\ntype Root = ReactDOMClient.Root;\n\nconst destroyFns: Array<() => void> = [];\nlet modalContainer: HTMLDivElement | null = null;\nlet root: Root | null = null;\n\ninterface IModalBaseClosedParams {\n cancel?: boolean;\n ok?: boolean;\n}\n\nexport interface IModalBaseProps extends ModalProps {\n onClosed?: (params?: IModalBaseClosedParams) => void;\n}\n\nexport interface IModalControls<T = any> {\n destroy: (params?: IModalBaseClosedParams) => void;\n update: (configUpdate: Partial<T> | ((prevConfig: T) => T)) => void;\n}\n\nfunction getOrCreateContainer(): HTMLDivElement {\n if (!modalContainer) {\n modalContainer = document.createElement('div');\n document.body.appendChild(modalContainer);\n }\n return modalContainer;\n}\n\nfunction openModal<ITModalProps extends IModalBaseProps = IModalBaseProps>(\n DialogComponent: ComponentType<ITModalProps>,\n initialConfig: ITModalProps\n): IModalControls<ITModalProps> {\n const container = getOrCreateContainer();\n\n let currentConfig = {\n open: true,\n ...initialConfig,\n // 默认自动关闭\n onClosed:\n initialConfig.onClosed ||\n ((params?: IModalBaseClosedParams) => {\n unifiedDestroy(params);\n }),\n } as ITModalProps;\n\n if (!root) {\n try {\n root = createRoot(container);\n } catch (error) {\n console.error('Failed to create root:', error);\n return {\n destroy: () => {},\n update: () => {},\n };\n }\n }\n\n const cleanup = () => {\n if (root) {\n root.unmount();\n root = null;\n }\n\n if (modalContainer && modalContainer.parentNode) {\n modalContainer.parentNode.removeChild(modalContainer);\n modalContainer = null;\n }\n };\n\n const destroy = (params?: IModalBaseClosedParams) => {\n if (typeof currentConfig.onClosed === 'function') {\n currentConfig.onClosed(params);\n }\n\n // 从 destroyFns 中移除\n const index = destroyFns.indexOf(destroy);\n if (index !== -1) {\n destroyFns.splice(index, 1);\n }\n\n // 销毁 modal\n cleanup();\n };\n\n const render = (props: ITModalProps) => {\n if (root) {\n root.render(<DialogComponent {...props} />);\n }\n };\n\n const update = (\n configUpdate:\n | Partial<ITModalProps>\n | ((prevConfig: ITModalProps) => ITModalProps)\n ) => {\n currentConfig =\n typeof configUpdate === 'function'\n ? configUpdate(currentConfig)\n : { ...currentConfig, ...configUpdate };\n render(currentConfig);\n };\n\n // 统一的销毁函数\n const unifiedDestroy = (params?: IModalBaseClosedParams) => {\n // 如果当前配置是打开的,关闭\n if (currentConfig.open) {\n currentConfig = {\n ...currentConfig,\n open: false,\n onClosed: (closedParams?: IModalBaseClosedParams) => {\n if (initialConfig.onClosed) {\n initialConfig.onClosed(closedParams || params);\n }\n destroy(closedParams || params);\n },\n };\n render(currentConfig);\n } else {\n console.warn('Modal is already closed.');\n }\n };\n\n render(currentConfig);\n destroyFns.push(unifiedDestroy);\n\n return {\n destroy: unifiedDestroy,\n update,\n };\n}\n\nexport { openModal };\n","export const noop = () => {};\n\n// 生成类名\nexport const getClassName = (key1: string, key2: string) => {\n const cn = key1;\n let str = key1;\n if (key2.includes(' ')) {\n str = '';\n const nArr = key2?.split(' ');\n for (const i of nArr) {\n str += ` ${cn}-${i}`;\n }\n } else if (key2) {\n str = `${key1}-${key2}`;\n }\n return str;\n};\n\n// 根据路径获取数据\nexport const getFieldsByPath = (data: any, path: string) => {\n const arr = path?.split('.');\n let res = data;\n for (const i of arr) {\n res = res[i];\n }\n return res;\n};\n\n// 删除空值\nexport const removeNull = (obj: any) => {\n for (const key in obj) {\n if (obj[key] === null) {\n delete obj[key];\n }\n }\n return obj;\n};\n\n// 防抖函数\nexport const debounce = (func: any, wait: number) => {\n let timeout: NodeJS.Timeout | null = null;\n return (...args: any[]) => {\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(() => {\n func(...args);\n }, wait);\n };\n};\n\n// 节流函数\nexport const throttle = (func: any, wait: number) => {\n let timeout: NodeJS.Timeout | null = null;\n let lastTime: number = 0;\n return (...args: any[]) => {\n const nowTime = Date.now();\n if (!timeout) {\n func(...args);\n lastTime = nowTime;\n timeout = setTimeout(() => {\n timeout = null;\n }, wait);\n } else {\n const diffTime = nowTime - lastTime;\n if (diffTime >= wait) {\n func(...args);\n lastTime = nowTime;\n }\n }\n };\n};\n","/**\n * 版本号工具类\n * 支持语义化版本 (SemVer) 和基本版本号比较\n */\nexport class VersionUtil {\n\t/**\n\t * 验证版本号格式是否有效\n\t * @param version 版本号字符串\n\t * @returns 是否有效\n\t */\n\tstatic isValid(version: string): boolean {\n\t\tconst semverRegex =\n\t\t\t/^v?(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/i;\n\t\treturn semverRegex.test(version);\n\t}\n\n\t/**\n\t * 比较两个版本号\n\t * @param v1 版本号1\n\t * @param v2 版本号2\n\t * @returns 比较结果: 1(v1>v2), 0(v1=v2), -1(v1<v2)\n\t */\n\tstatic compare(v1: string, v2: string): number {\n\t\tif (!this.isValid(v1) || !this.isValid(v2)) {\n\t\t\tthrow new Error('Invalid version format');\n\t\t}\n\n\t\t// 去除前缀v并分割版本号\n\t\tconst normalize = (v: string) => v.replace(/^v/, '').split(/[-+]/)[0].split('.');\n\t\tconst parts1 = normalize(v1);\n\t\tconst parts2 = normalize(v2);\n\n\t\tfor (let i = 0; i < 3; i++) {\n\t\t\tconst num1 = parseInt(parts1[i] || '0', 10);\n\t\t\tconst num2 = parseInt(parts2[i] || '0', 10);\n\n\t\t\tif (num1 > num2) return 1;\n\t\t\tif (num1 < num2) return -1;\n\t\t}\n\n\t\t// 比较预发布版本\n\t\tconst preRelease1 = v1.match(/-(.+)/);\n\t\tconst preRelease2 = v2.match(/-(.+)/);\n\n\t\tif (preRelease1 && !preRelease2) return -1;\n\t\tif (!preRelease1 && preRelease2) return 1;\n\t\tif (preRelease1 && preRelease2) {\n\t\t\treturn preRelease1[1].localeCompare(preRelease2[1]);\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\t/**\n\t * 检查版本号是否满足范围要求\n\t * @param version 要检查的版本\n\t * @param range 版本范围 (如 \">=1.0.0 <2.0.0\") 支持: >, >=, <, <=, ^, ~, ==, =\n\t * @returns 是否满足\n\t */\n\tstatic satisfies(version: string, range: string): boolean {\n\t\tif (!this.isValid(version)) return false;\n\n\t\tconst rangeRegex =\n\t\t\t/([<>]=?|==?|\\^|~)?\\s*v?([0-9]+\\.[0-9]+\\.[0-9]+(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+)?)/g;\n\t\tconst ranges = range.match(rangeRegex);\n\n\t\tif (!ranges || ranges.length === 0) return false;\n\n\t\treturn ranges.every(r => {\n\t\t\tconst match = r.match(/([<>]=?|==?|\\^|~)?\\s*(v?[0-9].*)/);\n\t\t\tif (!match) return false;\n\n\t\t\tconst operator = match[1] || '==';\n\t\t\tconst rangeVersion = match[2];\n\n\t\t\tif (!this.isValid(rangeVersion)) return false;\n\n\t\t\tconst comparison = this.compare(version, rangeVersion);\n\n\t\t\tswitch (operator) {\n\t\t\t\tcase '>':\n\t\t\t\t\treturn comparison > 0;\n\t\t\t\tcase '>=':\n\t\t\t\t\treturn comparison >= 0;\n\t\t\t\tcase '<':\n\t\t\t\t\treturn comparison < 0;\n\t\t\t\tcase '<=':\n\t\t\t\t\treturn comparison <= 0;\n\t\t\t\tcase '^':\n\t\t\t\t\treturn this.caretRange(version, rangeVersion);\n\t\t\t\tcase '~':\n\t\t\t\t\treturn this.tildeRange(version, rangeVersion);\n\t\t\t\tcase '=':\n\t\t\t\tcase '==':\n\t\t\t\tdefault:\n\t\t\t\t\treturn comparison === 0;\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * 处理 ^ 范围 (允许不修改最左边的非零数字)\n\t * @param version 版本号\n\t * @param range 范围版本\n\t * @returns 是否匹配\n\t */\n\tprivate static caretRange(version: string, range: string): boolean {\n\t\tconst normalize = (v: string) => v.replace(/^v/, '').split(/[-+]/)[0].split('.');\n\t\tconst vParts = normalize(version);\n\t\tconst rParts = normalize(range);\n\n\t\t// 找到第一个非零部分\n\t\tlet firstNonZero = 0;\n\t\tfor (let i = 0; i < rParts.length; i++) {\n\t\t\tif (parseInt(rParts[i], 10) !== 0) {\n\t\t\t\tfirstNonZero = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tfor (let i = 0; i <= firstNonZero; i++) {\n\t\t\tconst vNum = parseInt(vParts[i] || '0', 10);\n\t\t\tconst rNum = parseInt(rParts[i] || '0', 10);\n\t\t\tif (vNum !== rNum) return false;\n\t\t}\n\n\t\treturn this.compare(version, range) >= 0;\n\t}\n\n\t/**\n\t * 处理 ~ 范围 (允许修改最后一位数字)\n\t * @param version 版本号\n\t * @param range 范围版本\n\t * @returns 是否匹配\n\t */\n\tprivate static tildeRange(version: string, range: string): boolean {\n\t\tconst normalize = (v: string) => v.replace(/^v/, '').split(/[-+]/)[0].split('.');\n\t\tconst vParts = normalize(version);\n\t\tconst rParts = normalize(range);\n\n\t\tfor (let i = 0; i < rParts.length - 1; i++) {\n\t\t\tconst vNum = parseInt(vParts[i] || '0', 10);\n\t\t\tconst rNum = parseInt(rParts[i] || '0', 10);\n\t\t\tif (vNum !== rNum) return false;\n\t\t}\n\n\t\tconst lastVNum = parseInt(vParts[rParts.length - 1] || '0', 10);\n\t\tconst lastRNum = parseInt(rParts[rParts.length - 1] || '0', 10);\n\t\treturn lastVNum >= lastRNum;\n\t}\n\n\t/**\n\t * 获取主版本号 (major)\n\t * @param version 版本号\n\t * @returns 主版本号\n\t */\n\tstatic getMajor(version: string): number {\n\t\tif (!this.isValid(version)) throw new Error('Invalid version format');\n\t\tconst parts = version.replace(/^v/, '').split('.');\n\t\treturn parseInt(parts[0], 10);\n\t}\n\n\t/**\n\t * 获取次版本号 (minor)\n\t * @param version 版本号\n\t * @returns 次版本号\n\t */\n\tstatic getMinor(version: string): number {\n\t\tif (!this.isValid(version)) throw new Error('Invalid version format');\n\t\tconst parts = version.replace(/^v/, '').split('.');\n\t\treturn parseInt(parts[1] || '0', 10);\n\t}\n\n\t/**\n\t * 获取修订号 (patch)\n\t * @param version 版本号\n\t * @returns 修订号\n\t */\n\tstatic getPatch(version: string): number {\n\t\tif (!this.isValid(version)) throw new Error('Invalid version format');\n\t\tconst parts = version.replace(/^v/, '').split('.');\n\t\treturn parseInt(parts[2] || '0', 10);\n\t}\n\n\t/**\n\t * 获取预发布版本标识\n\t * @param version 版本号\n\t * @returns 预发布标识 (无则返回null)\n\t */\n\tstatic getPrerelease(version: string): string | null {\n\t\tif (!this.isValid(version)) throw new Error('Invalid version format');\n\t\tconst match = version.match(/-([^+]+)/);\n\t\treturn match ? match[1] : null;\n\t}\n\n\t/**\n\t * 获取构建元数据\n\t * @param version 版本号\n\t * @returns 构建元数据 (无则返回null)\n\t */\n\tstatic getBuildMetadata(version: string): string | null {\n\t\tif (!this.isValid(version)) throw new Error('Invalid version format');\n\t\tconst match = version.match(/\\+([^]+)/);\n\t\treturn match ? match[1] : null;\n\t}\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport { debounce } from '../utils';\n\ninterface IPaginationProps {\n current: number;\n pageSize: number;\n total: number;\n onChange: (page: number, pageSize: number) => Promise<void>;\n onShowSizeChange: (size: number, current: number) => Promise<void>;\n showTotal?: (t: number) => React.ReactNode;\n showQuickJumper?: boolean;\n showSizeChanger?: boolean;\n}\n\ninterface PaginationResult<T> {\n tableProps: {\n loading?: boolean;\n dataSource: T[];\n };\n loading?: boolean;\n dataSource: T[];\n paginationProps: IPaginationProps;\n isFirstComplete: boolean;\n refresh: (resetPage?: boolean) => Promise<void>;\n debounceRefresh: (resetPage?: boolean) => void;\n setDataSource: (data: T[]) => void;\n}\n\ninterface IServerParams {\n offset: number;\n limit: number;\n current: number;\n}\n\ntype IInfoBack<T> = { dataSource: T[]; total: number };\n\ntype IInfoServer<T> = (\n params: IServerParams\n) => IInfoBack<T> | Promise<IInfoBack<T>>;\n\ninterface IInfoOption<T> {\n isReady?: boolean;\n dataSource?: T[];\n current?: number;\n pageSize?: number;\n}\n\nexport const usePagination = <T>(\n server: IInfoServer<T>,\n deps?: any[], // 依赖条件 数据更新默认执行server\n option?: IInfoOption<T>\n): PaginationResult<T> => {\n const {\n isReady = true,\n dataSource: propDataSource = [],\n current: propCurrent = 1,\n pageSize: propPageSize = 10,\n } = option || {};\n\n const [current, setCurrent] = useState(propCurrent);\n const [pageSize, setPageSize] = useState(propPageSize);\n const [dataSource, setDataSource] = useState<T[]>(propDataSource);\n const [total, setTotal] = useState(0);\n const [loading, setLoading] = useState(false);\n const [isFirstComplete, setIsFirstComplete] = useState(false);\n const currentRef = useRef(current);\n const pageSizeRef = useRef(pageSize);\n\n // 在状态更新时同步更新ref\n const setCurrentAndRef = (val: number) => {\n setCurrent(val);\n currentRef.current = val;\n };\n\n const setPageSizeAndRef = (val: number) => {\n setPageSize(val);\n pageSizeRef.current = val;\n };\n\n // 计数器\n const seq = useRef(0);\n\n const doSearch = async () => {\n if (!isReady) {\n return;\n }\n let _current = currentRef.current;\n let _pageSize = pageSizeRef.current;\n setLoading(true);\n\n seq.current++;\n const _seq = seq.current;\n try {\n // 发送请求\n let offset = Math.round((_current - 1) * _pageSize);\n if (offset < 0) {\n offset = 0;\n }\n if (_pageSize < 1) {\n _pageSize = 1;\n }\n let { dataSource: data_source, total: _total } = await server({\n limit: _pageSize,\n offset,\n current: _current,\n });\n\n if (_seq !== seq.current) return;\n if (pageSize * (_current - 1) >= _total && _current !== 1) {\n _current = 1;\n const totalPage = Math.ceil(_total / pageSize);\n ({ dataSource: data_source, total: _total } = await server({\n limit: _pageSize,\n offset,\n current: _current,\n }));\n if (_seq !== seq.current) return;\n _current = totalPage;\n }\n setDataSource(data_source);\n setCurrentAndRef(_current);\n setPageSizeAndRef(_pageSize);\n setTotal(_total);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('fetch err', error);\n if (_seq !== seq.current) return;\n } finally {\n setIsFirstComplete(true);\n setLoading(false);\n }\n };\n\n const refresh = async (resetPage?: boolean) => {\n if (resetPage) {\n setDataSource([]);\n setCurrentAndRef(propCurrent);\n setPageSizeAndRef(propPageSize);\n }\n await doSearch();\n };\n\n const debounceRefresh = useCallback(debounce(refresh, 500), [refresh]);\n\n /* 重置逻辑 */\n const _deps = [...(deps || []), isReady];\n\n useEffect(() => {\n if (!isReady) return;\n debounceRefresh(true);\n }, _deps);\n\n const onChange = async (page: number, pageSize: number) => {\n setCurrentAndRef(page);\n setPageSizeAndRef(pageSize);\n await refresh();\n };\n\n const onShowSizeChange = async (size: number, current: number) => {\n setPageSizeAndRef(size);\n setCurrentAndRef(current);\n await refresh();\n };\n\n const paginationProps: IPaginationProps = {\n current,\n pageSize,\n total,\n onChange,\n onShowSizeChange,\n };\n\n return {\n tableProps: {\n loading,\n dataSource,\n },\n loading,\n dataSource,\n paginationProps,\n isFirstComplete,\n refresh,\n debounceRefresh,\n setDataSource,\n };\n};\n","export function useQuery() {\n\tconst search = window.location.href.split('?')[1] || '';\n\tconst params = new URLSearchParams(search);\n\tconst query = Object.fromEntries(params.entries());\n\treturn query;\n}\n","import { useCallback, useRef, useState } from 'react';\n\nconst useReactive = <T extends object>(initialState: T) => {\n\tconst [state, setState] = useState<T>(initialState);\n\tconst stateRef = useRef<T>(state);\n\n\tconst updateState = useCallback((newState: Partial<T> | ((prev: T) => Partial<T>)) => {\n\t\tsetState(prev => {\n\t\t\tconst updatedPart = typeof newState === 'function' ? newState(prev) : newState;\n\t\t\tconst newFullState = { ...prev, ...updatedPart };\n\t\t\tstateRef.current = newFullState; // 同步更新ref\n\t\t\treturn newFullState;\n\t\t});\n\t}, []);\n\n\tconst getState = useCallback(() => stateRef.current, []);\n\n\tconst resetState = useCallback(() => {\n\t\tsetState(initialState);\n\t\tstateRef.current = initialState;\n\t}, [initialState]);\n\n\treturn [state, updateState, getState, resetState] as const;\n};\n\nexport { useReactive };\n","import { useCallback, useEffect, useRef } from 'react';\n\ntype Callback = () => void;\n\ninterface UseTimeoutReturn {\n start: Callback;\n isRunning: boolean;\n clear: Callback;\n}\n\nfunction useTimeout(\n callback: Callback,\n delay: number | null,\n immediate: boolean = false\n): UseTimeoutReturn {\n const timerRef = useRef<ReturnType<typeof setTimeout>>(undefined);\n const savedCallback = useRef(callback);\n\n // Update callback ref if callback changes\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n const clear = useCallback(() => {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = undefined;\n }\n }, []);\n\n const start = useCallback(() => {\n clear();\n if (delay !== null && delay !== undefined) {\n timerRef.current = setTimeout(() => savedCallback.current(), delay);\n }\n }, [delay, clear]);\n\n useEffect(() => {\n if (immediate) {\n savedCallback.current();\n }\n start();\n\n return clear;\n }, [delay, start, clear, immediate]);\n\n return { start, clear, isRunning: !!timerRef.current };\n}\n\nexport { useTimeout };\n","// 虚拟列表加载\nimport {\n DependencyList,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { PAGE_SIZE } from '../constants';\nimport { debounce } from '../utils';\n\nexport interface IPaginationResult<T> {\n /**\n * 数据\n *\n * @memberof IPaginationResult\n */\n dataSource: T[];\n /**\n * 加载状态\n *\n * @memberof IPaginationResult\n */\n loading?: boolean;\n /**\n * 是否完成了一次请求\n *\n * @memberof IPaginationResult\n */\n isFirstComplete: boolean;\n /**\n * 分页信息\n *\n * @memberof IPaginationResult\n */\n paginationProps: {\n current: number;\n pageSize: number;\n total: number;\n };\n /**\n * reset 是否重置查询\n *\n * @memberof IPaginationResult\n */\n refresh: (reset?: boolean) => Promise<void>;\n debounceRefresh: (reset?: boolean) => void;\n /* 快速逃避方案 */\n setDataSource: (data: T[]) => void;\n setTotal: (total: number) => void;\n}\n\ninterface IServerParams {\n offset: number;\n limit: number;\n current: number;\n}\n\ntype IInfoBack<T> = { dataSource: T[]; total: number };\n\ntype IInfoServer<T> = (\n params: IServerParams\n) => IInfoBack<T> | Promise<IInfoBack<T>>;\n\ninterface IInfoOption<T> {\n /**\n * 第一次是否执行server\n *\n */\n isReady?: boolean;\n /**\n * 默认的数据\n *\n */\n dataSource?: T[];\n /**\n * 默认当前第几页\n *\n */\n current?: number;\n /**\n * 默认一页几条数据\n *\n */\n pageSize?: number;\n}\n\nexport const useVirtualList = <T>(\n server: IInfoServer<T>,\n deps?: DependencyList, // 依赖条件 数据更新默认执行server\n option?: IInfoOption<T>\n): IPaginationResult<T> => {\n const {\n isReady = true,\n dataSource: propDataSource = [],\n current: propCurrent = 1,\n pageSize: propPageSize = PAGE_SIZE,\n } = option || {};\n\n // 是否完成了一次请求\n const [isFirstComplete, setIsFirstComplete] = useState(false);\n // 分页\n const [current, setCurrent] = useState(propCurrent);\n const [pageSize, setPageSize] = useState(propPageSize);\n const [total, setTotal] = useState(0);\n\n // 表格\n const [isLoading, setIsLoading] = useState(false);\n const [dataSource, setDataSource] = useState(propDataSource);\n\n const currentRef = useRef(current);\n const pageSizeRef = useRef(pageSize);\n\n // 在状态更新时同步更新ref\n const setCurrentAndRef = (val: number) => {\n setCurrent(val);\n currentRef.current = val;\n };\n\n const setPageSizeAndRef = (val: number) => {\n setPageSize(val);\n pageSizeRef.current = val;\n };\n\n // 计数器\n const seq = useRef(0);\n const doSearch = async (reset?: boolean) => {\n if (!isReady) {\n return;\n }\n let _current = currentRef.current;\n let _pageSize = pageSizeRef.current;\n setIsLoading(true);\n\n seq.current += 1;\n const _seq = seq.current;\n try {\n // 发送请求\n let offset = Math.round((_current - 1) * _pageSize);\n if (offset < 0) {\n offset = 0;\n }\n if (_pageSize < 1) {\n _pageSize = 1;\n }\n let { dataSource: data0, total: total0 } = await server({\n limit: _pageSize,\n offset,\n current: _current,\n });\n if (_seq !== seq.current) return;\n if (pageSize * (_current - 1) >= total0 && _current !== 1) {\n const totalPage = Math.ceil(total0 / pageSize);\n ({ dataSource: data0, total: total0 } = await server({\n limit: _pageSize,\n offset: Math.round((totalPage - 1) * _pageSize),\n current: _current,\n }));\n if (_seq !== seq.current) return;\n _current = totalPage;\n // message.error('数据源发生变化,该页没有数据,自动加载最后一页');\n }\n const d = reset ? data0 : dataSource.concat(data0 as T[]);\n setDataSource(d);\n setCurrentAndRef(_current);\n setPageSizeAndRef(_pageSize);\n setTotal(total0);\n } catch (error) {\n console.error('fetch err', error);\n if (_seq !== seq.current) return;\n }\n setIsFirstComplete(true);\n setIsLoading(false);\n };\n\n // 加载下一页数据\n const refresh = async (reset?: boolean) => {\n if (reset) {\n setDataSource([]);\n setCurrentAndRef(propCurrent);\n setPageSizeAndRef(propPageSize);\n } else {\n const curTotal = pageSize * current;\n if (total && total <= curTotal) return;\n setCurrentAndRef(current + 1);\n }\n await doSearch(reset);\n };\n\n // 防抖 加载下一页数据\n const debounceRefresh = useCallback(debounce(refresh, 500), [refresh]);\n\n /* 重置逻辑 */\n const _deps = [...(deps || []), isReady];\n\n useEffect(() => {\n if (!isReady) return;\n debounceRefresh(true);\n }, _deps);\n\n return {\n loading: isLoading,\n dataSource,\n paginationProps: {\n current,\n pageSize,\n total,\n },\n isFirstComplete,\n refresh: async (reset?: boolean) => {\n await refresh(reset);\n },\n debounceRefresh,\n setDataSource,\n setTotal,\n };\n};\n"],"names":["DATE_FORMAT","YMD_Hms","YMD","YMD2","YMD_POINT","Hms","Hm","YMD_000","YMD_end","YMD_Hm","PAGE_SIZE","PatternType","useFuncRequest","asyncFunc","options","_useState","useState","loading","setLoading","_useState2","error","setError","_useState3","data","setData","abortControllerRef","useRef","undefined","requestIdRef","cancel","_abortControllerRef$c","current","abort","run","_ref","_asyncToGenerator","_regenerator","m","_callee","currentRequestId","abortController","_len","args","_key","beforeRes","funcArgs","res","_args","arguments","_t","w","_context","p","n","AbortController","length","Array","onBefore","apply","v","a","concat","signal","aborted","onSuccess","onError","onFinally","f","useEffect","autoRunArgs","JSON","stringify","useInterval","callback","delay","immediate","timerRef","savedCallback","clear","useCallback","clearInterval","start","setInterval","isRunning","CMX","arg1","arg2","r1","r2","c","toString","split","e","Math","abs","pow","max","cm","Number","replace","_arg","_arg2","toFixed","s1","s2","t1","t2","cmx","NextTick","timerFunc","determineTimerFunc","_proto","prototype","Promise","resolve","then","_this","flushCallbacks","bind","MutationObserver","window","counter","observer","textNode","document","createTextNode","String","observe","characterData","setTimeout","pending","copies","callbacks","slice","i","nextTick","ctx","_resolve","push","call","console","instance","_createClass","key","get","_instance","createRoot","ReactDOMClient","modalContainer","root","getOrCreateContainer","createElement","body","appendChild","openModal","DialogComponent","initialConfig","container","currentConfig","_extends","open","onClosed","params","unifiedDestroy","destroy","update","cleanup","unmount","parentNode","removeChild","render","props","React","configUpdate","closedParams","warn","noop","getClassName","key1","key2","cn","str","includes","nArr","_iterator","_createForOfIteratorHelperLoose","_step","done","value","getFieldsByPath","path","arr","_iterator2","_step2","removeNull","obj","debounce","func","wait","timeout","clearTimeout","throttle","lastTime","nowTime","Date","now","diffTime","VersionUtil","isValid","version","semverRegex","test","compare","v1","v2","Error","normalize","parts1","parts2","num1","parseInt","num2","preRelease1","match","preRelease2","localeCompare","satisfies","range","rangeRegex","ranges","every","r","operator","rangeVersion","comparison","caretRange","tildeRange","vParts","rParts","firstNonZero","vNum","rNum","lastVNum","lastRNum","getMajor","parts","getMinor","getPatch","getPrerelease","getBuildMetadata","usePagination","server","deps","option","_ref$isReady","isReady","_ref$dataSource","dataSource","propDataSource","_ref$current","propCurrent","_ref$pageSize","pageSize","propPageSize","setCurrent","setPageSize","setDataSource","_useState4","total","setTotal","_useState5","_useState6","isFirstComplete","setIsFirstComplete","currentRef","pageSizeRef","setCurrentAndRef","val","setPageSizeAndRef","seq","doSearch","_ref2","_current","_pageSize","_seq","offset","_yield$server","data_source","_total","totalPage","_yield$server2","round","limit","ceil","refresh","_ref3","_callee2","resetPage","_context2","_x","debounceRefresh","_deps","onChange","_ref4","_callee3","page","_context3","_x2","_x3","onShowSizeChange","_ref5","_callee4","size","_context4","_x4","_x5","paginationProps","tableProps","useQuery","search","location","href","URLSearchParams","query","Object","fromEntries","entries","useReactive","initialState","state","setState","stateRef","updateState","newState","prev","updatedPart","newFullState","getState","resetState","useTimeout","useVirtualList","isLoading","setIsLoading","reset","data0","total0","d","curTotal","_refresh2"],"mappings":";;;IAAaA,WAAW,GAAG;EAC1BC,OAAO,EAAE,qBAAqB;EAC9BC,GAAG,EAAE,YAAY;EACjBC,IAAI,EAAE,UAAU;EAChBC,SAAS,EAAE,WAAW;EACtBC,GAAG,EAAE,UAAU;EACfC,EAAE,EAAE,OAAO;EACXC,OAAO,EAAE,qBAAqB;EAC9BC,OAAO,EAAE,qBAAqB;EAC9BC,MAAM,EAAE;;;ICTIC,SAAS,GAAG,EAAE;;ICAdC,WAAW,YAAAA;AACvB;AACgBA,wBAAY,GAAG,SAAS;AACxC;AACgBA,gCAAoB,GAAG,YAAY;AACnD;AACgBA,gCAAoB,GAAG,aAAa;AACpD;AACgBA,sBAAU,GAAG,iBAAiB;AAC9C;AACgBA,kBAAM,GAAG,aAAa;AACtC;AACgBA,mBAAO,GAAG,oBAAoB;AAC9C;AACgBA,kBAAM,GAAG,UAAU;AAEnC;AACgBA,oBAAQ,GAAG,oBAAoB;AAC/C;AACgBA,0BAAc,GAAG,kDAAkD;AAEnF;AACgBA,oBAAQ,GAAG,wCAAwC;AACnE;AACgBA,0BAAc,GAC7B,sEAAsE;AAEvE;AACgBA,iBAAK,GAAG,eAAe;AACvC;AACgBA,6BAAiB,GAAG,wBAAwB;AAC5D;AACgBA,iBAAK,GAAG,kDAAkD;AAC1E;AACgBA,kBAAM,GACrB,0EAA0E;AAC3E;AACgBA,oBAAQ,GAAG,iBAAiB;AAC5C;AACgBA,mBAAO,GAAG,cAAc;AACxC;AACgBA,cAAE,GACjB,0IAA0I;AAC3I;AACgBA,eAAG,GAAG,4DAA4D;AAClF;AACgBA,qBAAS,GACxB,wFAAwF;AACzF;AACgBA,gBAAI,GAAG,iDAAiD;AACxE;AACgBA,gBAAI,GAAG,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SChCnCC,cAAcA;AAC5B;AACAC,SAAY;AACZ;AACAC,OAAkC;EAElC,IAAAC,SAAA,GAA8BC,QAAQ,CAAC,KAAK,CAAC;IAAtCC,OAAO,GAAAF,SAAA;IAAEG,UAAU,GAAAH,SAAA;EAC1B,IAAAI,UAAA,GAA0BH,QAAQ,CAAe,IAAI,CAAC;IAA/CI,KAAK,GAAAD,UAAA;IAAEE,QAAQ,GAAAF,UAAA;EACtB,IAAAG,UAAA,GAAwBN,QAAQ,CAAsC,IAAI,CAAC;IAApEO,IAAI,GAAAD,UAAA;IAAEE,OAAO,GAAAF,UAAA;EACpB,IAAMG,kBAAkB,GAAGC,MAAM,CAAkBC,SAAS,CAAC;EAC7D,IAAMC,YAAY,GAAGF,MAAM,CAAC,CAAC,CAAC;EAE9B,IAAMG,MAAM,GAAG,SAATA,MAAMA;;IACV,CAAAC,qBAAA,GAAAL,kBAAkB,CAACM,OAAO,aAA1BD,qBAAA,CAA4BE,KAAK,EAAE;IACnCd,UAAU,CAAC,KAAK,CAAC;IACjBG,QAAQ,CAAC,IAAI,CAAC;GACf;EAED,IAAMY,GAAG;IAAA,IAAAC,IAAA,GAAAC,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAAG,SAAAC;MAAA,IAAAC,gBAAA;QAAAC,eAAA;QAAAC,IAAA;QAAAC,IAAA;QAAAC,IAAA;QAAAC,SAAA;QAAAC,QAAA;QAAAC,GAAA;QAAAC,KAAA,GAAAC,SAAA;QAAAC,EAAA;MAAA,OAAAb,YAAA,GAAAc,CAAA,WAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,CAAA,GAAAD,QAAA,CAAAE,CAAA;UAAA;YACJd,gBAAgB,GAAG,EAAEX,YAAY,CAACG,OAAO;YAC/CF,MAAM,EAAE;YAEFW,eAAe,GAAG,IAAIc,eAAe,EAAE;YAC7C7B,kBAAkB,CAACM,OAAO,GAAGS,eAAe;YAACW,QAAA,CAAAC,CAAA;YAG3ClC,UAAU,CAAC,IAAI,CAAC;YAChBG,QAAQ,CAAC,IAAI,CAAC;YAAC,KAAAoB,IAAA,GAAAM,KAAA,CAAAQ,MAAA,EATGb,IAAmB,OAAAc,KAAA,CAAAf,IAAA,GAAAE,IAAA,MAAAA,IAAA,GAAAF,IAAA,EAAAE,IAAA;cAAnBD,IAAmB,CAAAC,IAAA,IAAAI,KAAA,CAAAJ,IAAA;;YAAA,MAUjC7B,OAAO,YAAPA,OAAO,CAAE2C,QAAQ;cAAAN,QAAA,CAAAE,CAAA;cAAA;;YAAAF,QAAA,CAAAE,CAAA;YAAA,OACKvC,OAAO,YAAPA,OAAO,CAAE2C,QAAQ,oBAAjB3C,OAAO,CAAE2C,QAAQ,CAAAC,KAAA,CAAjB5C,OAAO,EAAgB4B,IAAI,CAAC;UAAA;YAA9CE,SAAS,GAAAO,QAAA,CAAAQ,CAAA;YAAA,IACVf,SAAS;cAAAO,QAAA,CAAAE,CAAA;cAAA;;YACZxB,MAAM,EAAE;YAAC,OAAAsB,QAAA,CAAAS,CAAA;UAAA;;YAMPf,QAAQ,GACZH,IAAI,CAACa,MAAM,IAAI1C,SAAS,CAAC0C,MAAM,GAC3Bb,IAAI,MAAAmB,MAAA,CACAnB,IAAI,GAAE;cAAEoB,MAAM,EAAEtB,eAAe,CAACsB;aAAQ,EAAC;YAAAX,QAAA,CAAAE,CAAA;YAAA,OAEjCxC,SAAS,CAAA6C,KAAA,SAAKb,QAA0B,CAAC;UAAA;YAArDC,GAAG,GAAAK,QAAA,CAAAQ,CAAA;YAAA,MAGP,CAACnB,eAAe,CAACsB,MAAM,CAACC,OAAO,IAC/BxB,gBAAgB,KAAKX,YAAY,CAACG,OAAO;cAAAoB,QAAA,CAAAE,CAAA;cAAA;;YAEzC7B,OAAO,CAACsB,GAAG,CAAC;YAACK,QAAA,CAAAE,CAAA;YAAA,OACPvC,OAAO,YAAPA,OAAO,CAAEkD,SAAS,oBAAlBlD,OAAO,CAAEkD,SAAS,CAAGlB,GAAG,CAAC;UAAA;YAAA,OAAAK,QAAA,CAAAS,CAAA,IAE1Bd,GAAG;UAAA;YAAAK,QAAA,CAAAC,CAAA;YAAAH,EAAA,GAAAE,QAAA,CAAAQ,CAAA;YAAA,MAGR,CAACnB,eAAe,CAACsB,MAAM,CAACC,OAAO,IAC/BxB,gBAAgB,KAAKX,YAAY,CAACG,OAAO;cAAAoB,QAAA,CAAAE,CAAA;cAAA;;YAEzChC,QAAQ,CAAA4B,EAAa,CAAC;YAACE,QAAA,CAAAE,CAAA;YAAA,OACjBvC,OAAO,YAAPA,OAAO,CAAEmD,OAAO,oBAAhBnD,OAAO,CAAEmD,OAAO,CAAAhB,EAAe,CAAC;UAAA;YAAA,MAAAA,EAAA;UAAA;YAAAE,QAAA,CAAAC,CAAA;YAAA,MAKtC,CAACZ,eAAe,CAACsB,MAAM,CAACC,OAAO,IAC/BxB,gBAAgB,KAAKX,YAAY,CAACG,OAAO;cAAAoB,QAAA,CAAAE,CAAA;cAAA;;YAEzCnC,UAAU,CAAC,KAAK,CAAC;YAACiC,QAAA,CAAAE,CAAA;YAAA,OACZvC,OAAO,YAAPA,OAAO,CAAEoD,SAAS,oBAAlBpD,OAAO,CAAEoD,SAAS,EAAI;UAAA;YAAA,OAAAf,QAAA,CAAAgB,CAAA;UAAA;YAAA,OAAAhB,QAAA,CAAAS,CAAA;;SAAAtB,OAAA;KAGjC;IAAA,gBApDKL,GAAGA;MAAA,OAAAC,IAAA,CAAAwB,KAAA,OAAAV,SAAA;;KAoDR;EAEDoB,SAAS,CAAC;IACR,IAAItD,OAAO,YAAPA,OAAO,CAAEuD,WAAW,EAAE;MACxBpC,GAAG,CAAAyB,KAAA,SAAI5C,OAAO,CAACuD,WAAW,CAAC,SAAM,CAAC,cAAQ,CAAC;;IAE7C,OAAOxC,MAAM;GACd,EAAE,CAACyC,IAAI,CAACC,SAAS,CAACzD,OAAO,oBAAPA,OAAO,CAAEuD,WAAW,CAAC,CAAC,CAAC;EAE1C,OAAO;IAAEpC,GAAG,EAAHA,GAAG;IAAEJ,MAAM,EAANA,MAAM;IAAEZ,OAAO,EAAPA,OAAO;IAAEG,KAAK,EAALA,KAAK;IAAEG,IAAI,EAAJA;GAAM;AAC9C;;ACzFA,SAASiD,WAAWA,CAClBC,QAAkB,EAClBC,KAAoB,EACpBC;MAAAA;IAAAA,YAAqB,KAAK;;EAE1B,IAAMC,QAAQ,GAAGlD,MAAM,CAAiCC,SAAS,CAAC;EAClE,IAAMkD,aAAa,GAAGnD,MAAM,CAAC+C,QAAQ,CAAC;;EAGtCL,SAAS,CAAC;IACRS,aAAa,CAAC9C,OAAO,GAAG0C,QAAQ;GACjC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,IAAMK,KAAK,GAAGC,WAAW,CAAC;IACxB,IAAIH,QAAQ,CAAC7C,OAAO,EAAE;MACpBiD,aAAa,CAACJ,QAAQ,CAAC7C,OAAO,CAAC;MAC/B6C,QAAQ,CAAC7C,OAAO,GAAGJ,SAAS;;GAE/B,EAAE,EAAE,CAAC;EAEN,IAAMsD,KAAK,GAAGF,WAAW,CAAC;IACxBD,KAAK,EAAE;IACP,IAAIJ,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK/C,SAAS,EAAE;MACzCiD,QAAQ,CAAC7C,OAAO,GAAGmD,WAAW,CAAC;QAAA,OAAML,aAAa,CAAC9C,OAAO,EAAE;SAAE2C,KAAK,CAAC;;GAEvE,EAAE,CAACA,KAAK,EAAEI,KAAK,CAAC,CAAC;EAElBV,SAAS,CAAC;IACR,IAAIO,SAAS,EAAE;MACbE,aAAa,CAAC9C,OAAO,EAAE;;IAEzBkD,KAAK,EAAE;IAEP,OAAOH,KAAK;GACb,EAAE,CAACJ,KAAK,EAAEO,KAAK,EAAEH,KAAK,EAAEH,SAAS,CAAC,CAAC;EAEpC,OAAO;IAAEM,KAAK,EAALA,KAAK;IAAEH,KAAK,EAALA,KAAK;IAAEK,SAAS,EAAE,CAAC,CAACP,QAAQ,CAAC7C;GAAS;AACxD;;IC/CMqD,GAAG,GAAT,SAAAA;;;;EAII,QAAG,GAAG,UAAUC,IAAY,EAAEC,IAAY;IACtC,IAAIC,EAAE,EAAEC,EAAE,EAAEnD,CAAC,EAAEoD,CAAC;IAChB,IAAI;MACAF,EAAE,GAAGF,IAAI,CAACK,QAAQ,EAAE,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACpC,MAAM;KAC5C,CAAC,OAAOqC,CAAC,EAAE;MACRL,EAAE,GAAG,CAAC;;IAEV,IAAI;MACAC,EAAE,GAAGF,IAAI,CAACI,QAAQ,EAAE,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACpC,MAAM;KAC5C,CAAC,OAAOqC,CAAC,EAAE;MACRJ,EAAE,GAAG,CAAC;;IAEVC,CAAC,GAAGI,IAAI,CAACC,GAAG,CAACP,EAAE,GAAGC,EAAE,CAAC;IACrBnD,CAAC,GAAGwD,IAAI,CAACE,GAAG,CAAC,EAAE,EAAEF,IAAI,CAACG,GAAG,CAACT,EAAE,EAAEC,EAAE,CAAC,CAAC;IAClC,IAAIC,CAAC,GAAG,CAAC,EAAE;MACP,IAAIQ,EAAE,GAAGJ,IAAI,CAACE,GAAG,CAAC,EAAE,EAAEN,CAAC,CAAC;MACxB,IAAIF,EAAE,GAAGC,EAAE,EAAE;QACTH,IAAI,GAAGa,MAAM,CAACb,IAAI,CAACK,QAAQ,EAAE,CAACS,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC/Cb,IAAI,GAAGY,MAAM,CAACZ,IAAI,CAACI,QAAQ,EAAE,CAACS,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAGF,EAAE;OACvD,MAAM;QACHZ,IAAI,GAAGa,MAAM,CAACb,IAAI,CAACK,QAAQ,EAAE,CAACS,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAGF,EAAE;QACpDX,IAAI,GAAGY,MAAM,CAACZ,IAAI,CAACI,QAAQ,EAAE,CAACS,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;;KAEtD,MAAM;MAAA,IAAAC,IAAA,EAAAC,KAAA;MACHhB,IAAI,GAAGa,MAAM,EAAAE,IAAA,GAACf,IAAI,qBAAJe,IAAA,CAAMV,QAAQ,EAAE,CAACS,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;MAChDb,IAAI,GAAGY,MAAM,EAAAG,KAAA,GAACf,IAAI,qBAAJe,KAAA,CAAMX,QAAQ,EAAE,CAACS,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;;IAEpD,OAAO,CAACd,IAAI,GAAGC,IAAI,IAAIjD,CAAC;GAC3B;;;;EAID,QAAG,GAAG,UAAUgD,IAAY,EAAEC,IAAY;IACtC,IAAIC,EAAE,EAAEC,EAAE,EAAEnD,CAAC,EAAEgB,CAAC;IAChB,IAAI;MACAkC,EAAE,GAAGF,IAAI,CAACK,QAAQ,EAAE,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACpC,MAAM;KAC5C,CAAC,OAAOqC,CAAC,EAAE;MACRL,EAAE,GAAG,CAAC;;IAEV,IAAI;MACAC,EAAE,GAAGF,IAAI,CAACI,QAAQ,EAAE,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACpC,MAAM;KAC5C,CAAC,OAAOqC,CAAC,EAAE;MACRJ,EAAE,GAAG,CAAC;;IAEVnD,CAAC,GAAGwD,IAAI,CAACE,GAAG,CAAC,EAAE,EAAEF,IAAI,CAACG,GAAG,CAACT,EAAE,EAAEC,EAAE,CAAC,CAAC,CAAC;IACnCnC,CAAC,GAAGkC,EAAE,IAAIC,EAAE,GAAGD,EAAE,GAAGC,EAAE;IACtB,OAAOU,MAAM,CAAC,CAAC,CAACb,IAAI,GAAGhD,CAAC,GAAGiD,IAAI,GAAGjD,CAAC,IAAIA,CAAC,EAAEiE,OAAO,CAACjD,CAAC,CAAC,CAAC;GACxD;;;;EAKD,QAAG,GAAG,UAAUgC,IAAY,EAAEC,IAAY;IACtC,IAAIjD,CAAC,GAAG,CAAC;MACLkE,EAAE,GAAGlB,IAAI,CAACK,QAAQ,EAAE;MACpBc,EAAE,GAAGlB,IAAI,CAACI,QAAQ,EAAE;IACxB,IAAI;MACArD,CAAC,IAAIkE,EAAE,CAACZ,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACpC,MAAM;KAC/B,CAAC,OAAOqC,CAAC,EAAE;IACZ,IAAI;MACAvD,CAAC,IAAImE,EAAE,CAACb,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACpC,MAAM;KAC/B,CAAC,OAAOqC,CAAC,EAAE;IACZ,OACKM,MAAM,CAACK,EAAE,CAACJ,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAGD,MAAM,CAACM,EAAE,CAACL,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAIN,IAAI,CAACE,GAAG,CAAC,EAAE,EAAE1D,CAAC,CAAC;GAEpF;;;;EAKD,QAAG,GAAG,UAAUgD,IAAY,EAAEC,IAAY;IACtC,IAAImB,EAAE,GAAG,CAAC;MACNC,EAAE,GAAG,CAAC;MACNnB,EAAE;MACFC,EAAE;IACN,IAAI;MACAiB,EAAE,GAAGpB,IAAI,CAACK,QAAQ,EAAE,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACpC,MAAM;KAC5C,CAAC,OAAOqC,CAAC,EAAE;IACZ,IAAI;MACAc,EAAE,GAAGpB,IAAI,CAACI,QAAQ,EAAE,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACpC,MAAM;KAC5C,CAAC,OAAOqC,CAAC,EAAE;IACZL,EAAE,GAAGW,MAAM,CAACb,IAAI,CAACK,QAAQ,EAAE,CAACS,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7CX,EAAE,GAAGU,MAAM,CAACZ,IAAI,CAACI,QAAQ,EAAE,CAACS,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7C,OAAQZ,EAAE,GAAGC,EAAE,GAAIK,IAAI,CAACE,GAAG,CAAC,EAAE,EAAEW,EAAE,GAAGD,EAAE,CAAC;GAC3C;AACL,CAAC;AAED,IAAaE,GAAG,gBAAG,IAAIvB,GAAG,EAAE;;ICxFtBwB,QAAQ;EAKb,SAAAA;IAJQ,cAAS,GAAuB,EAAE;IAClC,YAAO,GAAG,KAAK;IAItB,IAAI,CAACC,SAAS,GAAG,IAAI,CAACC,kBAAkB,EAAE;;EAC1C,IAAAC,MAAA,GAAAH,QAAA,CAAAI,SAAA;EAAAD,MAAA,CAEOD,kBAAkB,GAAlB,SAAAA,kBAAkBA;;IACzB,IAAI,OAAOG,OAAO,KAAK,WAAW,EAAE;MACnC,IAAM7D,CAAC,GAAG6D,OAAO,CAACC,OAAO,EAAE;MAC3B,OAAO;QAAA,OAAM9D,CAAC,CAAC+D,IAAI,CAACC,KAAI,CAACC,cAAc,CAACC,IAAI,CAACF,KAAI,CAAC,CAAC;;;IAGpD,IAAI,OAAOG,gBAAgB,KAAK,WAAW,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;MAC7E,IAAIC,OAAO,GAAG,CAAC;MACf,IAAMC,QAAQ,GAAG,IAAIH,gBAAgB,CAAC,IAAI,CAACF,cAAc,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC;MACrE,IAAMK,QAAQ,GAAGC,QAAQ,CAACC,cAAc,CAACC,MAAM,CAACL,OAAO,CAAC,CAAC;MACzDC,QAAQ,CAACK,OAAO,CAACJ,QAAQ,EAAE;QAAEK,aAAa,EAAE;OAAM,CAAC;MAEnD,OAAO;QACNP,OAAO,GAAG,CAACA,OAAO,GAAG,CAAC,IAAI,CAAC;QAC3BE,QAAQ,CAACpG,IAAI,GAAGuG,MAAM,CAACL,OAAO,CAAC;OAC/B;;;;;;IAQF,OAAO;MAAA,OAAMQ,UAAU,CAACb,KAAI,CAACC,cAAc,CAACC,IAAI,CAACF,KAAI,CAAC,EAAE,CAAC,CAAC;;GAC1D;EAAAL,MAAA,CAEOM,cAAc,GAAd,SAAAA,cAAcA;IACrB,IAAI,CAACa,OAAO,GAAG,KAAK;IACpB,IAAMC,MAAM,GAAG,IAAI,CAACC,SAAS,CAACC,KAAK,CAAC,CAAC,CAAC;IACtC,IAAI,CAACD,SAAS,CAAC7E,MAAM,GAAG,CAAC;IACzB,KAAK,IAAI+E,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,MAAM,CAAC5E,MAAM,EAAE+E,CAAC,EAAE,EAAE;MACvCH,MAAM,CAACG,CAAC,CAAC,EAAE;;GAEZ;EAAAvB,MAAA,CAEMwB,QAAQ,GAAR,SAAAA,QAAQA,CAAW9D,QAA4B,EAAE+D,GAAO;IAC9D,IAAIC,QAA6C;IAEjD,IAAI,CAACL,SAAS,CAACM,IAAI,CAAC;MACnB,IAAIjE,QAAQ,EAAE;QACb,IAAI;UACHA,QAAQ,CAACkE,IAAI,CAACH,GAAQ,CAAC;SACvB,CAAC,OAAO5C,CAAC,EAAE;UACXgD,OAAO,CAACxH,KAAK,CAAC,oBAAoB,EAAEwE,CAAC,CAAC;;OAEvC,MAAM,IAAI6C,QAAQ,EAAE;QACpBA,QAAQ,EAAE;;KAEX,CAAC;IAEF,IAAI,CAAC,IAAI,CAACP,OAAO,EAAE;MAClB,IAAI,CAACA,OAAO,GAAG,IAAI;MACnB,IAAI,CAACrB,SAAS,EAAE;;IAGjB,IAAI,CAACpC,QAAQ,IAAI,OAAOwC,OAAO,KAAK,WAAW,EAAE;MAChD,OAAO,IAAIA,OAAO,CAAC,UAAAC,OAAO;QACzBuB,QAAQ,GAAGvB,OAAO;OAClB,CAAC;;GAEH;EAAAN,QAAA,CAEa2B,QAAQ,GAAf,SAAOA,QAAQA,CAAW9D,QAA4B,EAAE+D,GAAO;IACrE,OAAO5B,QAAQ,CAACiC,QAAQ,CAACN,QAAQ,CAAC9D,QAAQ,EAAE+D,GAAG,CAAC;GAChD;EAAA,OAAAM,YAAA,CAAAlC,QAAA;IAAAmC,GAAA;IAAAC,GAAA,EAGM,SAAAA;MACN,IAAI,CAAC,IAAI,CAACC,SAAS,EAAE;QACpB,IAAI,CAACA,SAAS,GAAG,IAAIrC,QAAQ,EAAE;;MAEhC,OAAO,IAAI,CAACqC,SAAS;;;AACrB;AAGF,IAAMV,QAAQ,gBAAG3B,QAAQ,CAACiC,QAAQ,CAACN,QAAQ,CAACjB,IAAI,CAACV,QAAQ,CAACiC,QAAQ,CAAC;;ACnFnE,IAAQK,UAAU,GAAKC,YAAL;AAGlB,AACA,IAAIC,cAAc,GAA0B,IAAI;AAChD,IAAIC,IAAI,GAAgB,IAAI;AAgB5B,SAASC,oBAAoBA;EAC3B,IAAI,CAACF,cAAc,EAAE;IACnBA,cAAc,GAAGxB,QAAQ,CAAC2B,aAAa,CAAC,KAAK,CAAC;IAC9C3B,QAAQ,CAAC4B,IAAI,CAACC,WAAW,CAACL,cAAc,CAAC;;EAE3C,OAAOA,cAAc;AACvB;AAEA,SAASM,SAASA,CAChBC,eAA4C,EAC5CC,aAA2B;EAE3B,IAAMC,SAAS,GAAGP,oBAAoB,EAAE;EAExC,IAAIQ,aAAa,GAAAC,QAAA;IACfC,IAAI,EAAE;KACHJ,aAAa;;IAEhBK,QAAQ,EACNL,aAAa,CAACK,QAAQ,IACrB,UAACC,MAA+B;MAC/BC,cAAc,CAACD,MAAM,CAAC;;IAEX;EAEjB,IAAI,CAACb,IAAI,EAAE;IACT,IAAI;MACFA,IAAI,GAAGH,UAAU,CAACW,SAAS,CAAC;KAC7B,CAAC,OAAOzI,KAAK,EAAE;MACdwH,OAAO,CAACxH,KAAK,CAAC,wBAAwB,EAAEA,KAAK,CAAC;MAC9C,OAAO;QACLgJ,OAAO,EAAE,SAATA,OAAOA,KAAU;QACjBC,MAAM,EAAE,SAARA,MAAMA;OACP;;;EAIL,IAAMC,OAAO,GAAG,SAAVA,OAAOA;IACX,IAAIjB,IAAI,EAAE;MACRA,IAAI,CAACkB,OAAO,EAAE;MACdlB,IAAI,GAAG,IAAI;;IAGb,IAAID,cAAc,IAAIA,cAAc,CAACoB,UAAU,EAAE;MAC/CpB,cAAc,CAACoB,UAAU,CAACC,WAAW,CAACrB,cAAc,CAAC;MACrDA,cAAc,GAAG,IAAI;;GAExB;EAED,IAAMgB,QAAO,GAAG,SAAVA,OAAOA,CAAIF,MAA+B;IAC9C,IAAI,OAAOJ,aAAa,CAACG,QAAQ,KAAK,UAAU,EAAE;MAChDH,aAAa,CAACG,QAAQ,CAACC,MAAM,CAAC;;;IAUhCI,OAAO,EAAE;GACV;EAED,IAAMI,MAAM,GAAG,SAATA,MAAMA,CAAIC,KAAmB;IACjC,IAAItB,IAAI,EAAE;MACRA,IAAI,CAACqB,MAAM,CAACE,oBAACjB,eAAe,oBAAKgB,KAAK,EAAI,CAAC;;GAE9C;EAED,IAAMN,MAAM,GAAG,SAATA,MAAMA,CACVQ,YAEgD;IAEhDf,aAAa,GACX,OAAOe,YAAY,KAAK,UAAU,GAC9BA,YAAY,CAACf,aAAa,CAAC,GAAAC,QAAA,KACtBD,aAAa,EAAKe,YAAY,CAAE;IAC3CH,MAAM,CAACZ,aAAa,CAAC;GACtB;;EAGD,IAAMK,cAAc,GAAG,SAAjBA,cAAcA,CAAID,MAA+B;;IAErD,IAAIJ,aAAa,CAACE,IAAI,EAAE;MACtBF,aAAa,GAAAC,QAAA,KACRD,aAAa;QAChBE,IAAI,EAAE,KAAK;QACXC,QAAQ,EAAE,SAAVA,QAAQA,CAAGa,YAAqC;UAC9C,IAAIlB,aAAa,CAACK,QAAQ,EAAE;YAC1BL,aAAa,CAACK,QAAQ,CAACa,YAAY,IAAIZ,MAAM,CAAC;;UAEhDE,QAAO,CAACU,YAAY,IAAIZ,MAAM,CAAC;;QAElC;MACDQ,MAAM,CAACZ,aAAa,CAAC;KACtB,MAAM;MACLlB,OAAO,CAACmC,IAAI,CAAC,0BAA0B,CAAC;;GAE3C;EAEDL,MAAM,CAACZ,aAAa,CAAC;EAGrB,OAAO;IACLM,OAAO,EAAED,cAAc;IACvBE,MAAM,EAANA;GACD;AACH;;ICtIaW,IAAI,GAAG,SAAPA,IAAIA,KAAW;AAE5B;AACA,IAAaC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,IAAY,EAAEC,IAAY;EACrD,IAAMC,EAAE,GAAGF,IAAI;EACf,IAAIG,GAAG,GAAGH,IAAI;EACd,IAAIC,IAAI,CAACG,QAAQ,CAAC,GAAG,CAAC,EAAE;IACtBD,GAAG,GAAG,EAAE;IACR,IAAME,IAAI,GAAGJ,IAAI,oBAAJA,IAAI,CAAExF,KAAK,CAAC,GAAG,CAAC;IAC7B,SAAA6F,SAAA,GAAAC,+BAAA,CAAgBF,IAAI,GAAAG,KAAA,IAAAA,KAAA,GAAAF,SAAA,IAAAG,IAAA,GAAE;MAAA,IAAXrD,CAAC,GAAAoD,KAAA,CAAAE,KAAA;MACVP,GAAG,UAAQD,EAAE,SAAI9C,CAAG;;GAEvB,MAAM,IAAI6C,IAAI,EAAE;IACfE,GAAG,GAAMH,IAAI,SAAIC,IAAM;;EAEzB,OAAOE,GAAG;AACZ,CAAC;AAED;AACA,IAAaQ,eAAe,GAAG,SAAlBA,eAAeA,CAAItK,IAAS,EAAEuK,IAAY;EACrD,IAAMC,GAAG,GAAGD,IAAI,oBAAJA,IAAI,CAAEnG,KAAK,CAAC,GAAG,CAAC;EAC5B,IAAI7C,GAAG,GAAGvB,IAAI;EACd,SAAAyK,UAAA,GAAAP,+BAAA,CAAgBM,GAAG,GAAAE,MAAA,IAAAA,MAAA,GAAAD,UAAA,IAAAL,IAAA,GAAE;IAAA,IAAVrD,CAAC,GAAA2D,MAAA,CAAAL,KAAA;IACV9I,GAAG,GAAGA,GAAG,CAACwF,CAAC,CAAC;;EAEd,OAAOxF,GAAG;AACZ,CAAC;AAED;AACA,IAAaoJ,UAAU,GAAG,SAAbA,UAAUA,CAAIC,GAAQ;EACjC,KAAK,IAAMpD,GAAG,IAAIoD,GAAG,EAAE;IACrB,IAAIA,GAAG,CAACpD,GAAG,CAAC,KAAK,IAAI,EAAE;MACrB,OAAOoD,GAAG,CAACpD,GAAG,CAAC;;;EAGnB,OAAOoD,GAAG;AACZ,CAAC;AAED;AACA,IAAaC,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,IAAS,EAAEC,IAAY;EAC9C,IAAIC,OAAO,GAA0B,IAAI;EACzC,OAAO;sCAAI7J,IAAW,OAAAc,KAAA,CAAAf,IAAA,GAAAE,IAAA,MAAAA,IAAA,GAAAF,IAAA,EAAAE,IAAA;MAAXD,IAAW,CAAAC,IAAA,IAAAK,SAAA,CAAAL,IAAA;;IACpB,IAAI4J,OAAO,EAAE;MACXC,YAAY,CAACD,OAAO,CAAC;;IAEvBA,OAAO,GAAGtE,UAAU,CAAC;MACnBoE,IAAI,CAAA3I,KAAA,SAAIhB,IAAI,CAAC;KACd,EAAE4J,IAAI,CAAC;GACT;AACH,CAAC;AAED;AACA,IAAaG,QAAQ,GAAG,SAAXA,QAAQA,CAAIJ,IAAS,EAAEC,IAAY;EAC9C,IAAIC,OAAO,GAA0B,IAAI;EACzC,IAAIG,QAAQ,GAAW,CAAC;EACxB,OAAO;IACL,IAAMC,OAAO,GAAGC,IAAI,CAACC,GAAG,EAAE;IAC1B,IAAI,CAACN,OAAO,EAAE;MACZF,IAAI,CAAA3I,KAAA,SAAAV,SAAQ,CAAC;MACb0J,QAAQ,GAAGC,OAAO;MAClBJ,OAAO,GAAGtE,UAAU,CAAC;QACnBsE,OAAO,GAAG,IAAI;OACf,EAAED,IAAI,CAAC;KACT,MAAM;MACL,IAAMQ,QAAQ,GAAGH,OAAO,GAAGD,QAAQ;MACnC,IAAII,QAAQ,IAAIR,IAAI,EAAE;QACpBD,IAAI,CAAA3I,KAAA,SAAAV,SAAQ,CAAC;QACb0J,QAAQ,GAAGC,OAAO;;;GAGvB;AACH,CAAC;;ACvED;;;;AAIA,IAAaI,WAAW;EAAA,SAAAA;;;;;;EACvBA,WAAA,CAKOC,OAAO,GAAd,SAAOA,OAAOA,CAACC,OAAe;IAC7B,IAAMC,WAAW,GAChB,wLAAwL;IACzL,OAAOA,WAAW,CAACC,IAAI,CAACF,OAAO,CAAC;;;;;;;;EAGjCF,WAAA,CAMOK,OAAO,GAAd,SAAOA,OAAOA,CAACC,EAAU,EAAEC,EAAU;IACpC,IAAI,CAAC,IAAI,CAACN,OAAO,CAACK,EAAE,CAAC,IAAI,CAAC,IAAI,CAACL,OAAO,CAACM,EAAE,CAAC,EAAE;MAC3C,MAAM,IAAIC,KAAK,CAAC,wBAAwB,CAAC;;;IAI1C,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAI7J,CAAS;MAAA,OAAKA,CAAC,CAACwC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAACR,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAACA,KAAK,CAAC,GAAG,CAAC;;IAChF,IAAM8H,MAAM,GAAGD,SAAS,CAACH,EAAE,CAAC;IAC5B,IAAMK,MAAM,GAAGF,SAAS,CAACF,EAAE,CAAC;IAE5B,KAAK,IAAIhF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,EAAEA,CAAC,EAAE,EAAE;MAC3B,IAAMqF,IAAI,GAAGC,QAAQ,CAACH,MAAM,CAACnF,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;MAC3C,IAAMuF,IAAI,GAAGD,QAAQ,CAACF,MAAM,CAACpF,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;MAE3C,IAAIqF,IAAI,GAAGE,IAAI,EAAE,OAAO,CAAC;MACzB,IAAIF,IAAI,GAAGE,IAAI,EAAE,OAAO,CAAC,CAAC;;;IAI3B,IAAMC,WAAW,GAAGT,EAAE,CAACU,KAAK,CAAC,OAAO,CAAC;IACrC,IAAMC,WAAW,GAAGV,EAAE,CAACS,KAAK,CAAC,OAAO,CAAC;IAErC,IAAID,WAAW,IAAI,CAACE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1C,IAAI,CAACF,WAAW,IAAIE,WAAW,EAAE,OAAO,CAAC;IACzC,IAAIF,WAAW,IAAIE,WAAW,EAAE;MAC/B,OAAOF,WAAW,CAAC,CAAC,CAAC,CAACG,aAAa,CAACD,WAAW,CAAC,CAAC,CAAC,CAAC;;IAGpD,OAAO,CAAC;;;;;;;;EAGTjB,WAAA,CAMOmB,SAAS,GAAhB,SAAOA,SAASA,CAACjB,OAAe,EAAEkB,KAAa;;IAC9C,IAAI,CAAC,IAAI,CAACnB,OAAO,CAACC,OAAO,CAAC,EAAE,OAAO,KAAK;IAExC,IAAMmB,UAAU,GACf,6GAA6G;IAC9G,IAAMC,MAAM,GAAGF,KAAK,CAACJ,KAAK,CAACK,UAAU,CAAC;IAEtC,IAAI,CAACC,MAAM,IAAIA,MAAM,CAAC9K,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK;IAEhD,OAAO8K,MAAM,CAACC,KAAK,CAAC,UAAAC,CAAC;MACpB,IAAMR,KAAK,GAAGQ,CAAC,CAACR,KAAK,CAAC,kCAAkC,CAAC;MACzD,IAAI,CAACA,KAAK,EAAE,OAAO,KAAK;MAExB,IAAMS,QAAQ,GAAGT,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI;MACjC,IAAMU,YAAY,GAAGV,KAAK,CAAC,CAAC,CAAC;MAE7B,IAAI,CAAC3G,KAAI,CAAC4F,OAAO,CAACyB,YAAY,CAAC,EAAE,OAAO,KAAK;MAE7C,IAAMC,UAAU,GAAGtH,KAAI,CAACgG,OAAO,CAACH,OAAO,EAAEwB,YAAY,CAAC;MAEtD,QAAQD,QAAQ;QACf,KAAK,GAAG;UACP,OAAOE,UAAU,GAAG,CAAC;QACtB,KAAK,IAAI;UACR,OAAOA,UAAU,IAAI,CAAC;QACvB,KAAK,GAAG;UACP,OAAOA,UAAU,GAAG,CAAC;QACtB,KAAK,IAAI;UACR,OAAOA,UAAU,IAAI,CAAC;QACvB,KAAK,GAAG;UACP,OAAOtH,KAAI,CAACuH,UAAU,CAAC1B,OAAO,EAAEwB,YAAY,CAAC;QAC9C,KAAK,GAAG;UACP,OAAOrH,KAAI,CAACwH,UAAU,CAAC3B,OAAO,EAAEwB,YAAY,CAAC;QAC9C,KAAK,GAAG;QACR,KAAK,IAAI;QACT;UACC,OAAOC,UAAU,KAAK,CAAC;;KAEzB,CAAC;;;;;;;;EAGH3B,WAAA,CAMe4B,UAAU,GAAjB,SAAOA,UAAUA,CAAC1B,OAAe,EAAEkB,KAAa;IACvD,IAAMX,SAAS,GAAG,SAAZA,SAASA,CAAI7J,CAAS;MAAA,OAAKA,CAAC,CAACwC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAACR,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAACA,KAAK,CAAC,GAAG,CAAC;;IAChF,IAAMkJ,MAAM,GAAGrB,SAAS,CAACP,OAAO,CAAC;IACjC,IAAM6B,MAAM,GAAGtB,SAAS,CAACW,KAAK,CAAC;;IAG/B,IAAIY,YAAY,GAAG,CAAC;IACpB,KAAK,IAAIzG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGwG,MAAM,CAACvL,MAAM,EAAE+E,CAAC,EAAE,EAAE;MACvC,IAAIsF,QAAQ,CAACkB,MAAM,CAACxG,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE;QAClCyG,YAAY,GAAGzG,CAAC;QAChB;;;IAIF,KAAK,IAAIA,EAAC,GAAG,CAAC,EAAEA,EAAC,IAAIyG,YAAY,EAAEzG,EAAC,EAAE,EAAE;MACvC,IAAM0G,IAAI,GAAGpB,QAAQ,CAACiB,MAAM,CAACvG,EAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;MAC3C,IAAM2G,IAAI,GAAGrB,QAAQ,CAACkB,MAAM,CAACxG,EAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;MAC3C,IAAI0G,IAAI,KAAKC,IAAI,EAAE,OAAO,KAAK;;IAGhC,OAAO,IAAI,CAAC7B,OAAO,CAACH,OAAO,EAAEkB,KAAK,CAAC,IAAI,CAAC;;;;;;;;EAGzCpB,WAAA,CAMe6B,UAAU,GAAjB,SAAOA,UAAUA,CAAC3B,OAAe,EAAEkB,KAAa;IACvD,IAAMX,SAAS,GAAG,SAAZA,SAASA,CAAI7J,CAAS;MAAA,OAAKA,CAAC,CAACwC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAACR,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAACA,KAAK,CAAC,GAAG,CAAC;;IAChF,IAAMkJ,MAAM,GAAGrB,SAAS,CAACP,OAAO,CAAC;IACjC,IAAM6B,MAAM,GAAGtB,SAAS,CAACW,KAAK,CAAC;IAE/B,KAAK,IAAI7F,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGwG,MAAM,CAACvL,MAAM,GAAG,CAAC,EAAE+E,CAAC,EAAE,EAAE;MAC3C,IAAM0G,IAAI,GAAGpB,QAAQ,CAACiB,MAAM,CAACvG,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;MAC3C,IAAM2G,IAAI,GAAGrB,QAAQ,CAACkB,MAAM,CAACxG,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;MAC3C,IAAI0G,IAAI,KAAKC,IAAI,EAAE,OAAO,KAAK;;IAGhC,IAAMC,QAAQ,GAAGtB,QAAQ,CAACiB,MAAM,CAACC,MAAM,CAACvL,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;IAC/D,IAAM4L,QAAQ,GAAGvB,QAAQ,CAACkB,MAAM,CAACA,MAAM,CAACvL,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;IAC/D,OAAO2L,QAAQ,IAAIC,QAAQ;;;;;;;EAG5BpC,WAAA,CAKOqC,QAAQ,GAAf,SAAOA,QAAQA,CAACnC,OAAe;IAC9B,IAAI,CAAC,IAAI,CAACD,OAAO,CAACC,OAAO,CAAC,EAAE,MAAM,IAAIM,KAAK,CAAC,wBAAwB,CAAC;IACrE,IAAM8B,KAAK,GAAGpC,OAAO,CAAC9G,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAACR,KAAK,CAAC,GAAG,CAAC;IAClD,OAAOiI,QAAQ,CAACyB,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;;;;;;;EAG9BtC,WAAA,CAKOuC,QAAQ,GAAf,SAAOA,QAAQA,CAACrC,OAAe;IAC9B,IAAI,CAAC,IAAI,CAACD,OAAO,CAACC,OAAO,CAAC,EAAE,MAAM,IAAIM,KAAK,CAAC,wBAAwB,CAAC;IACrE,IAAM8B,KAAK,GAAGpC,OAAO,CAAC9G,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAACR,KAAK,CAAC,GAAG,CAAC;IAClD,OAAOiI,QAAQ,CAACyB,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;;;;;;;EAGrCtC,WAAA,CAKOwC,QAAQ,GAAf,SAAOA,QAAQA,CAACtC,OAAe;IAC9B,IAAI,CAAC,IAAI,CAACD,OAAO,CAACC,OAAO,CAAC,EAAE,MAAM,IAAIM,KAAK,CAAC,wBAAwB,CAAC;IACrE,IAAM8B,KAAK,GAAGpC,OAAO,CAAC9G,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAACR,KAAK,CAAC,GAAG,CAAC;IAClD,OAAOiI,QAAQ,CAACyB,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;;;;;;;EAGrCtC,WAAA,CAKOyC,aAAa,GAApB,SAAOA,aAAaA,CAACvC,OAAe;IACnC,IAAI,CAAC,IAAI,CAACD,OAAO,CAACC,OAAO,CAAC,EAAE,MAAM,IAAIM,KAAK,CAAC,wBAAwB,CAAC;IACrE,IAAMQ,KAAK,GAAGd,OAAO,CAACc,KAAK,CAAC,UAAU,CAAC;IACvC,OAAOA,KAAK,GAAGA,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;;;;;;;EAG/BhB,WAAA,CAKO0C,gBAAgB,GAAvB,SAAOA,gBAAgBA,CAACxC,OAAe;IACtC,IAAI,CAAC,IAAI,CAACD,OAAO,CAACC,OAAO,CAAC,EAAE,MAAM,IAAIM,KAAK,CAAC,wBAAwB,CAAC;IACrE,IAAMQ,KAAK,GAAGd,OAAO,CAACc,KAAK,CAAC,UAAU,CAAC;IACvC,OAAOA,KAAK,GAAGA,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;GAC9B;EAAA,OAAAhB,WAAA;AAAA;;IC7JW2C,aAAa,GAAG,SAAhBA,aAAaA,CACxBC,MAAsB,EACtBC,IAAY;AAAE;AACdC,MAAuB;EAEvB,IAAA3N,IAAA,GAKI2N,MAAM,IAAI,EAAE;IAAAC,YAAA,GAAA5N,IAAA,CAJd6N,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,IAAI,GAAAA,YAAA;IAAAE,eAAA,GAAA9N,IAAA,CACd+N,UAAU;IAAEC,cAAc,GAAAF,eAAA,cAAG,EAAE,GAAAA,eAAA;IAAAG,YAAA,GAAAjO,IAAA,CAC/BH,OAAO;IAAEqO,WAAW,GAAAD,YAAA,cAAG,CAAC,GAAAA,YAAA;IAAAE,aAAA,GAAAnO,IAAA,CACxBoO,QAAQ;IAAEC,YAAY,GAAAF,aAAA,cAAG,EAAE,GAAAA,aAAA;EAG7B,IAAAtP,SAAA,GAA8BC,QAAQ,CAACoP,WAAW,CAAC;IAA5CrO,OAAO,GAAAhB,SAAA;IAAEyP,UAAU,GAAAzP,SAAA;EAC1B,IAAAI,UAAA,GAAgCH,QAAQ,CAACuP,YAAY,CAAC;IAA/CD,QAAQ,GAAAnP,UAAA;IAAEsP,WAAW,GAAAtP,UAAA;EAC5B,IAAAG,UAAA,GAAoCN,QAAQ,CAAMkP,cAAc,CAAC;IAA1DD,UAAU,GAAA3O,UAAA;IAAEoP,aAAa,GAAApP,UAAA;EAChC,IAAAqP,UAAA,GAA0B3P,QAAQ,CAAC,CAAC,CAAC;IAA9B4P,KAAK,GAAAD,UAAA;IAAEE,QAAQ,GAAAF,UAAA;EACtB,IAAAG,UAAA,GAA8B9P,QAAQ,CAAC,KAAK,CAAC;IAAtCC,OAAO,GAAA6P,UAAA;IAAE5P,UAAU,GAAA4P,UAAA;EAC1B,IAAAC,UAAA,GAA8C/P,QAAQ,CAAC,KAAK,CAAC;IAAtDgQ,eAAe,GAAAD,UAAA;IAAEE,kBAAkB,GAAAF,UAAA;EAC1C,IAAMG,UAAU,GAAGxP,MAAM,CAACK,OAAO,CAAC;EAClC,IAAMoP,WAAW,GAAGzP,MAAM,CAAC4O,QAAQ,CAAC;;EAGpC,IAAMc,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,GAAW;IACnCb,UAAU,CAACa,GAAG,CAAC;IACfH,UAAU,CAACnP,OAAO,GAAGsP,GAAG;GACzB;EAED,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAID,GAAW;IACpCZ,WAAW,CAACY,GAAG,CAAC;IAChBF,WAAW,CAACpP,OAAO,GAAGsP,GAAG;GAC1B;;EAGD,IAAME,GAAG,GAAG7P,MAAM,CAAC,CAAC,CAAC;EAErB,IAAM8P,QAAQ;IAAA,IAAAC,KAAA,GAAAtP,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAAG,SAAAC;MAAA,IAAAoP,QAAA,EAAAC,SAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,aAAA,EAAAC,WAAA,EAAAC,MAAA,EAAAC,SAAA,EAAAC,cAAA,EAAAjP,EAAA;MAAA,OAAAb,YAAA,GAAAc,CAAA,WAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,CAAA,GAAAD,QAAA,CAAAE,CAAA;UAAA;YAAA,IACV0M,OAAO;cAAA5M,QAAA,CAAAE,CAAA;cAAA;;YAAA,OAAAF,QAAA,CAAAS,CAAA;UAAA;YAGR8N,QAAQ,GAAGR,UAAU,CAACnP,OAAO;YAC7B4P,SAAS,GAAGR,WAAW,CAACpP,OAAO;YACnCb,UAAU,CAAC,IAAI,CAAC;YAEhBqQ,GAAG,CAACxP,OAAO,EAAE;YACP6P,IAAI,GAAGL,GAAG,CAACxP,OAAO;YAAAoB,QAAA,CAAAC,CAAA;;YAGlByO,MAAM,GAAGhM,IAAI,CAACsM,KAAK,CAAC,CAACT,QAAQ,GAAG,CAAC,IAAIC,SAAS,CAAC;YACnD,IAAIE,MAAM,GAAG,CAAC,EAAE;cACdA,MAAM,GAAG,CAAC;;YAEZ,IAAIF,SAAS,GAAG,CAAC,EAAE;cACjBA,SAAS,GAAG,CAAC;;YACdxO,QAAA,CAAAE,CAAA;YAAA,OACsDsM,MAAM,CAAC;cAC5DyC,KAAK,EAAET,SAAS;cAChBE,MAAM,EAANA,MAAM;cACN9P,OAAO,EAAE2P;aACV,CAAC;UAAA;YAAAI,aAAA,GAAA3O,QAAA,CAAAQ,CAAA;YAJgBoO,WAAW,GAAAD,aAAA,CAAvB7B,UAAU;YAAsB+B,MAAM,GAAAF,aAAA,CAAblB,KAAK;YAAA,MAMhCgB,IAAI,KAAKL,GAAG,CAACxP,OAAO;cAAAoB,QAAA,CAAAE,CAAA;cAAA;;YAAA,OAAAF,QAAA,CAAAS,CAAA;UAAA;YAAA,MACpB0M,QAAQ,IAAIoB,QAAQ,GAAG,CAAC,CAAC,IAAIM,MAAM,IAAIN,QAAQ,KAAK,CAAC;cAAAvO,QAAA,CAAAE,CAAA;cAAA;;YACvDqO,QAAQ,GAAG,CAAC;YACNO,SAAS,GAAGpM,IAAI,CAACwM,IAAI,CAACL,MAAM,GAAG1B,QAAQ,CAAC;YAAAnN,QAAA,CAAAE,CAAA;YAAA,OACMsM,MAAM,CAAC;cACzDyC,KAAK,EAAET,SAAS;cAChBE,MAAM,EAANA,MAAM;cACN9P,OAAO,EAAE2P;aACV,CAAC;UAAA;YAAAQ,cAAA,GAAA/O,QAAA,CAAAQ,CAAA;YAJaoO,WAAW,GAAAG,cAAA,CAAvBjC,UAAU;YAAsB+B,MAAM,GAAAE,cAAA,CAAbtB,KAAK;YAAA,MAK7BgB,IAAI,KAAKL,GAAG,CAACxP,OAAO;cAAAoB,QAAA,CAAAE,CAAA;cAAA;;YAAA,OAAAF,QAAA,CAAAS,CAAA;UAAA;YACxB8N,QAAQ,GAAGO,SAAS;UAAC;YAEvBvB,aAAa,CAACqB,WAAW,CAAC;YAC1BX,gBAAgB,CAACM,QAAQ,CAAC;YAC1BJ,iBAAiB,CAACK,SAAS,CAAC;YAC5Bd,QAAQ,CAACmB,MAAM,CAAC;YAAC7O,QAAA,CAAAE,CAAA;YAAA;UAAA;YAAAF,QAAA,CAAAC,CAAA;YAAAH,EAAA,GAAAE,QAAA,CAAAQ,CAAA;;YAGjBiF,OAAO,CAACxH,KAAK,CAAC,WAAW,EAAA6B,EAAO,CAAC;YAAC,MAC9B2O,IAAI,KAAKL,GAAG,CAACxP,OAAO;cAAAoB,QAAA,CAAAE,CAAA;cAAA;;YAAA,OAAAF,QAAA,CAAAS,CAAA;UAAA;YAAAT,QAAA,CAAAC,CAAA;YAExB6N,kBAAkB,CAAC,IAAI,CAAC;YACxB/P,UAAU,CAAC,KAAK,CAAC;YAAC,OAAAiC,QAAA,CAAAgB,CAAA;UAAA;YAAA,OAAAhB,QAAA,CAAAS,CAAA;;SAAAtB,OAAA;KAErB;IAAA,gBAjDKkP,QAAQA;MAAA,OAAAC,KAAA,CAAA/N,KAAA,OAAAV,SAAA;;KAiDb;EAED,IAAMsP,OAAO;IAAA,IAAAC,KAAA,GAAApQ,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAAG,SAAAmQ,SAAOC,SAAmB;MAAA,OAAArQ,YAAA,GAAAc,CAAA,WAAAwP,SAAA;QAAA,kBAAAA,SAAA,CAAArP,CAAA;UAAA;YACxC,IAAIoP,SAAS,EAAE;cACb/B,aAAa,CAAC,EAAE,CAAC;cACjBU,gBAAgB,CAAChB,WAAW,CAAC;cAC7BkB,iBAAiB,CAACf,YAAY,CAAC;;YAChCmC,SAAA,CAAArP,CAAA;YAAA,OACKmO,QAAQ,EAAE;UAAA;YAAA,OAAAkB,SAAA,CAAA9O,CAAA;;SAAA4O,QAAA;KACjB;IAAA,gBAPKF,OAAOA,CAAAK,EAAA;MAAA,OAAAJ,KAAA,CAAA7O,KAAA,OAAAV,SAAA;;KAOZ;EAED,IAAM4P,eAAe,GAAG7N,WAAW,CAACqH,QAAQ,CAACkG,OAAO,EAAE,GAAG,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;;EAGtE,IAAMO,KAAK,MAAAhP,MAAA,CAAQ+L,IAAI,IAAI,EAAE,GAAGG,OAAO,EAAC;EAExC3L,SAAS,CAAC;IACR,IAAI,CAAC2L,OAAO,EAAE;IACd6C,eAAe,CAAC,IAAI,CAAC;GACtB,EAAEC,KAAK,CAAC;EAET,IAAMC,QAAQ;IAAA,IAAAC,KAAA,GAAA5Q,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAAG,SAAA2Q,SAAOC,IAAY,EAAE3C,QAAgB;MAAA,OAAAlO,YAAA,GAAAc,CAAA,WAAAgQ,SAAA;QAAA,kBAAAA,SAAA,CAAA7P,CAAA;UAAA;YACpD+N,gBAAgB,CAAC6B,IAAI,CAAC;YACtB3B,iBAAiB,CAAChB,QAAQ,CAAC;YAAC4C,SAAA,CAAA7P,CAAA;YAAA,OACtBiP,OAAO,EAAE;UAAA;YAAA,OAAAY,SAAA,CAAAtP,CAAA;;SAAAoP,QAAA;KAChB;IAAA,gBAJKF,QAAQA,CAAAK,GAAA,EAAAC,GAAA;MAAA,OAAAL,KAAA,CAAArP,KAAA,OAAAV,SAAA;;KAIb;EAED,IAAMqQ,gBAAgB;IAAA,IAAAC,KAAA,GAAAnR,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAAG,SAAAkR,SAAOC,IAAY,EAAEzR,OAAe;MAAA,OAAAK,YAAA,GAAAc,CAAA,WAAAuQ,SAAA;QAAA,kBAAAA,SAAA,CAAApQ,CAAA;UAAA;YAC3DiO,iBAAiB,CAACkC,IAAI,CAAC;YACvBpC,gBAAgB,CAACrP,OAAO,CAAC;YAAC0R,SAAA,CAAApQ,CAAA;YAAA,OACpBiP,OAAO,EAAE;UAAA;YAAA,OAAAmB,SAAA,CAAA7P,CAAA;;SAAA2P,QAAA;KAChB;IAAA,gBAJKF,gBAAgBA,CAAAK,GAAA,EAAAC,GAAA;MAAA,OAAAL,KAAA,CAAA5P,KAAA,OAAAV,SAAA;;KAIrB;EAED,IAAM4Q,eAAe,GAAqB;IACxC7R,OAAO,EAAPA,OAAO;IACPuO,QAAQ,EAARA,QAAQ;IACRM,KAAK,EAALA,KAAK;IACLkC,QAAQ,EAARA,QAAQ;IACRO,gBAAgB,EAAhBA;GACD;EAED,OAAO;IACLQ,UAAU,EAAE;MACV5S,OAAO,EAAPA,OAAO;MACPgP,UAAU,EAAVA;KACD;IACDhP,OAAO,EAAPA,OAAO;IACPgP,UAAU,EAAVA,UAAU;IACV2D,eAAe,EAAfA,eAAe;IACf5C,eAAe,EAAfA,eAAe;IACfsB,OAAO,EAAPA,OAAO;IACPM,eAAe,EAAfA,eAAe;IACflC,aAAa,EAAbA;GACD;AACH,CAAC;;SCzLeoD,QAAQA;EACvB,IAAMC,MAAM,GAAGvM,MAAM,CAACwM,QAAQ,CAACC,IAAI,CAACtO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;EACvD,IAAMuE,MAAM,GAAG,IAAIgK,eAAe,CAACH,MAAM,CAAC;EAC1C,IAAMI,KAAK,GAAGC,MAAM,CAACC,WAAW,CAACnK,MAAM,CAACoK,OAAO,EAAE,CAAC;EAClD,OAAOH,KAAK;AACb;;ICHMI,WAAW,GAAG,SAAdA,WAAWA,CAAsBC,YAAe;EACrD,IAAAzT,SAAA,GAA0BC,QAAQ,CAAIwT,YAAY,CAAC;IAA5CC,KAAK,GAAA1T,SAAA;IAAE2T,QAAQ,GAAA3T,SAAA;EACtB,IAAM4T,QAAQ,GAAGjT,MAAM,CAAI+S,KAAK,CAAC;EAEjC,IAAMG,WAAW,GAAG7P,WAAW,CAAC,UAAC8P,QAAgD;IAChFH,QAAQ,CAAC,UAAAI,IAAI;MACZ,IAAMC,WAAW,GAAG,OAAOF,QAAQ,KAAK,UAAU,GAAGA,QAAQ,CAACC,IAAI,CAAC,GAAGD,QAAQ;MAC9E,IAAMG,YAAY,GAAAjL,QAAA,KAAQ+K,IAAI,EAAKC,WAAW,CAAE;MAChDJ,QAAQ,CAAC5S,OAAO,GAAGiT,YAAY,CAAC;MAChC,OAAOA,YAAY;KACnB,CAAC;GACF,EAAE,EAAE,CAAC;EAEN,IAAMC,QAAQ,GAAGlQ,WAAW,CAAC;IAAA,OAAM4P,QAAQ,CAAC5S,OAAO;KAAE,EAAE,CAAC;EAExD,IAAMmT,UAAU,GAAGnQ,WAAW,CAAC;IAC9B2P,QAAQ,CAACF,YAAY,CAAC;IACtBG,QAAQ,CAAC5S,OAAO,GAAGyS,YAAY;GAC/B,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,OAAO,CAACC,KAAK,EAAEG,WAAW,EAAEK,QAAQ,EAAEC,UAAU,CAAU;AAC3D,CAAC;;ACbD,SAASC,UAAUA,CACjB1Q,QAAkB,EAClBC,KAAoB,EACpBC;MAAAA;IAAAA,YAAqB,KAAK;;EAE1B,IAAMC,QAAQ,GAAGlD,MAAM,CAAgCC,SAAS,CAAC;EACjE,IAAMkD,aAAa,GAAGnD,MAAM,CAAC+C,QAAQ,CAAC;;EAGtCL,SAAS,CAAC;IACRS,aAAa,CAAC9C,OAAO,GAAG0C,QAAQ;GACjC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,IAAMK,KAAK,GAAGC,WAAW,CAAC;IACxB,IAAIH,QAAQ,CAAC7C,OAAO,EAAE;MACpByK,YAAY,CAAC5H,QAAQ,CAAC7C,OAAO,CAAC;MAC9B6C,QAAQ,CAAC7C,OAAO,GAAGJ,SAAS;;GAE/B,EAAE,EAAE,CAAC;EAEN,IAAMsD,KAAK,GAAGF,WAAW,CAAC;IACxBD,KAAK,EAAE;IACP,IAAIJ,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK/C,SAAS,EAAE;MACzCiD,QAAQ,CAAC7C,OAAO,GAAGkG,UAAU,CAAC;QAAA,OAAMpD,aAAa,CAAC9C,OAAO,EAAE;SAAE2C,KAAK,CAAC;;GAEtE,EAAE,CAACA,KAAK,EAAEI,KAAK,CAAC,CAAC;EAElBV,SAAS,CAAC;IACR,IAAIO,SAAS,EAAE;MACbE,aAAa,CAAC9C,OAAO,EAAE;;IAEzBkD,KAAK,EAAE;IAEP,OAAOH,KAAK;GACb,EAAE,CAACJ,KAAK,EAAEO,KAAK,EAAEH,KAAK,EAAEH,SAAS,CAAC,CAAC;EAEpC,OAAO;IAAEM,KAAK,EAALA,KAAK;IAAEH,KAAK,EAALA,KAAK;IAAEK,SAAS,EAAE,CAAC,CAACP,QAAQ,CAAC7C;GAAS;AACxD;;ICwCaqT,cAAc,GAAG,SAAjBA,cAAcA,CACzBzF,MAAsB,EACtBC,IAAqB;AAAE;AACvBC,MAAuB;EAEvB,IAAA3N,IAAA,GAKI2N,MAAM,IAAI,EAAE;IAAAC,YAAA,GAAA5N,IAAA,CAJd6N,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,IAAI,GAAAA,YAAA;IAAAE,eAAA,GAAA9N,IAAA,CACd+N,UAAU;IAAEC,cAAc,GAAAF,eAAA,cAAG,EAAE,GAAAA,eAAA;IAAAG,YAAA,GAAAjO,IAAA,CAC/BH,OAAO;IAAEqO,WAAW,GAAAD,YAAA,cAAG,CAAC,GAAAA,YAAA;IAAAE,aAAA,GAAAnO,IAAA,CACxBoO,QAAQ;IAAEC,YAAY,GAAAF,aAAA,cAAG3P,SAAS,GAAA2P,aAAA;;EAIpC,IAAAtP,SAAA,GAA8CC,QAAQ,CAAC,KAAK,CAAC;IAAtDgQ,eAAe,GAAAjQ,SAAA;IAAEkQ,kBAAkB,GAAAlQ,SAAA;;EAE1C,IAAAI,UAAA,GAA8BH,QAAQ,CAACoP,WAAW,CAAC;IAA5CrO,OAAO,GAAAZ,UAAA;IAAEqP,UAAU,GAAArP,UAAA;EAC1B,IAAAG,UAAA,GAAgCN,QAAQ,CAACuP,YAAY,CAAC;IAA/CD,QAAQ,GAAAhP,UAAA;IAAEmP,WAAW,GAAAnP,UAAA;EAC5B,IAAAqP,UAAA,GAA0B3P,QAAQ,CAAC,CAAC,CAAC;IAA9B4P,KAAK,GAAAD,UAAA;IAAEE,QAAQ,GAAAF,UAAA;;EAGtB,IAAAG,UAAA,GAAkC9P,QAAQ,CAAC,KAAK,CAAC;IAA1CqU,SAAS,GAAAvE,UAAA;IAAEwE,YAAY,GAAAxE,UAAA;EAC9B,IAAAC,UAAA,GAAoC/P,QAAQ,CAACkP,cAAc,CAAC;IAArDD,UAAU,GAAAc,UAAA;IAAEL,aAAa,GAAAK,UAAA;EAEhC,IAAMG,UAAU,GAAGxP,MAAM,CAACK,OAAO,CAAC;EAClC,IAAMoP,WAAW,GAAGzP,MAAM,CAAC4O,QAAQ,CAAC;;EAGpC,IAAMc,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,GAAW;IACnCb,UAAU,CAACa,GAAG,CAAC;IACfH,UAAU,CAACnP,OAAO,GAAGsP,GAAG;GACzB;EAED,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAID,GAAW;IACpCZ,WAAW,CAACY,GAAG,CAAC;IAChBF,WAAW,CAACpP,OAAO,GAAGsP,GAAG;GAC1B;;EAGD,IAAME,GAAG,GAAG7P,MAAM,CAAC,CAAC,CAAC;EACrB,IAAM8P,QAAQ;IAAA,IAAAC,KAAA,GAAAtP,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAAG,SAAAC,QAAOiT,KAAe;MAAA,IAAA7D,QAAA,EAAAC,SAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,aAAA,EAAA0D,KAAA,EAAAC,MAAA,EAAAxD,SAAA,EAAAC,cAAA,EAAAwD,CAAA,EAAAzS,EAAA;MAAA,OAAAb,YAAA,GAAAc,CAAA,WAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,CAAA,GAAAD,QAAA,CAAAE,CAAA;UAAA;YAAA,IAChC0M,OAAO;cAAA5M,QAAA,CAAAE,CAAA;cAAA;;YAAA,OAAAF,QAAA,CAAAS,CAAA;UAAA;YAGR8N,QAAQ,GAAGR,UAAU,CAACnP,OAAO;YAC7B4P,SAAS,GAAGR,WAAW,CAACpP,OAAO;YACnCuT,YAAY,CAAC,IAAI,CAAC;YAElB/D,GAAG,CAACxP,OAAO,IAAI,CAAC;YACV6P,IAAI,GAAGL,GAAG,CAACxP,OAAO;YAAAoB,QAAA,CAAAC,CAAA;;YAGlByO,MAAM,GAAGhM,IAAI,CAACsM,KAAK,CAAC,CAACT,QAAQ,GAAG,CAAC,IAAIC,SAAS,CAAC;YACnD,IAAIE,MAAM,GAAG,CAAC,EAAE;cACdA,MAAM,GAAG,CAAC;;YAEZ,IAAIF,SAAS,GAAG,CAAC,EAAE;cACjBA,SAAS,GAAG,CAAC;;YACdxO,QAAA,CAAAE,CAAA;YAAA,OACgDsM,MAAM,CAAC;cACtDyC,KAAK,EAAET,SAAS;cAChBE,MAAM,EAANA,MAAM;cACN9P,OAAO,EAAE2P;aACV,CAAC;UAAA;YAAAI,aAAA,GAAA3O,QAAA,CAAAQ,CAAA;YAJgB6R,KAAK,GAAA1D,aAAA,CAAjB7B,UAAU;YAAgBwF,MAAM,GAAA3D,aAAA,CAAblB,KAAK;YAAA,MAK1BgB,IAAI,KAAKL,GAAG,CAACxP,OAAO;cAAAoB,QAAA,CAAAE,CAAA;cAAA;;YAAA,OAAAF,QAAA,CAAAS,CAAA;UAAA;YAAA,MACpB0M,QAAQ,IAAIoB,QAAQ,GAAG,CAAC,CAAC,IAAI+D,MAAM,IAAI/D,QAAQ,KAAK,CAAC;cAAAvO,QAAA,CAAAE,CAAA;cAAA;;YACjD4O,SAAS,GAAGpM,IAAI,CAACwM,IAAI,CAACoD,MAAM,GAAGnF,QAAQ,CAAC;YAAAnN,QAAA,CAAAE,CAAA;YAAA,OACAsM,MAAM,CAAC;cACnDyC,KAAK,EAAET,SAAS;cAChBE,MAAM,EAAEhM,IAAI,CAACsM,KAAK,CAAC,CAACF,SAAS,GAAG,CAAC,IAAIN,SAAS,CAAC;cAC/C5P,OAAO,EAAE2P;aACV,CAAC;UAAA;YAAAQ,cAAA,GAAA/O,QAAA,CAAAQ,CAAA;YAJa6R,KAAK,GAAAtD,cAAA,CAAjBjC,UAAU;YAAgBwF,MAAM,GAAAvD,cAAA,CAAbtB,KAAK;YAAA,MAKvBgB,IAAI,KAAKL,GAAG,CAACxP,OAAO;cAAAoB,QAAA,CAAAE,CAAA;cAAA;;YAAA,OAAAF,QAAA,CAAAS,CAAA;UAAA;YACxB8N,QAAQ,GAAGO,SAAS;;UACpB;YAEIyD,CAAC,GAAGH,KAAK,GAAGC,KAAK,GAAGvF,UAAU,CAACpM,MAAM,CAAC2R,KAAY,CAAC;YACzD9E,aAAa,CAACgF,CAAC,CAAC;YAChBtE,gBAAgB,CAACM,QAAQ,CAAC;YAC1BJ,iBAAiB,CAACK,SAAS,CAAC;YAC5Bd,QAAQ,CAAC4E,MAAM,CAAC;YAACtS,QAAA,CAAAE,CAAA;YAAA;UAAA;YAAAF,QAAA,CAAAC,CAAA;YAAAH,EAAA,GAAAE,QAAA,CAAAQ,CAAA;YAEjBiF,OAAO,CAACxH,KAAK,CAAC,WAAW,EAAA6B,EAAO,CAAC;YAAC,MAC9B2O,IAAI,KAAKL,GAAG,CAACxP,OAAO;cAAAoB,QAAA,CAAAE,CAAA;cAAA;;YAAA,OAAAF,QAAA,CAAAS,CAAA;UAAA;YAE1BqN,kBAAkB,CAAC,IAAI,CAAC;YACxBqE,YAAY,CAAC,KAAK,CAAC;UAAC;YAAA,OAAAnS,QAAA,CAAAS,CAAA;;SAAAtB,OAAA;KACrB;IAAA,gBA/CKkP,QAAQA,CAAAmB,EAAA;MAAA,OAAAlB,KAAA,CAAA/N,KAAA,OAAAV,SAAA;;KA+Cb;;EAGD,IAAMsP,QAAO;IAAA,IAAAC,KAAA,GAAApQ,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAAG,SAAAmQ,SAAO+C,KAAe;MAAA,IAAAI,QAAA;MAAA,OAAAvT,YAAA,GAAAc,CAAA,WAAAwP,SAAA;QAAA,kBAAAA,SAAA,CAAArP,CAAA;UAAA;YAAA,KAChCkS,KAAK;cAAA7C,SAAA,CAAArP,CAAA;cAAA;;YACPqN,aAAa,CAAC,EAAE,CAAC;YACjBU,gBAAgB,CAAChB,WAAW,CAAC;YAC7BkB,iBAAiB,CAACf,YAAY,CAAC;YAACmC,SAAA,CAAArP,CAAA;YAAA;UAAA;YAE1BsS,QAAQ,GAAGrF,QAAQ,GAAGvO,OAAO;YAAA,MAC/B6O,KAAK,IAAIA,KAAK,IAAI+E,QAAQ;cAAAjD,SAAA,CAAArP,CAAA;cAAA;;YAAA,OAAAqP,SAAA,CAAA9O,CAAA;UAAA;YAC9BwN,gBAAgB,CAACrP,OAAO,GAAG,CAAC,CAAC;UAAC;YAAA2Q,SAAA,CAAArP,CAAA;YAAA,OAE1BmO,QAAQ,CAAC+D,KAAK,CAAC;UAAA;YAAA,OAAA7C,SAAA,CAAA9O,CAAA;;SAAA4O,QAAA;KACtB;IAAA,gBAXKF,OAAOA,CAAAa,GAAA;MAAA,OAAAZ,KAAA,CAAA7O,KAAA,OAAAV,SAAA;;KAWZ;;EAGD,IAAM4P,eAAe,GAAG7N,WAAW,CAACqH,QAAQ,CAACkG,QAAO,EAAE,GAAG,CAAC,EAAE,CAACA,QAAO,CAAC,CAAC;;EAGtE,IAAMO,KAAK,MAAAhP,MAAA,CAAQ+L,IAAI,IAAI,EAAE,GAAGG,OAAO,EAAC;EAExC3L,SAAS,CAAC;IACR,IAAI,CAAC2L,OAAO,EAAE;IACd6C,eAAe,CAAC,IAAI,CAAC;GACtB,EAAEC,KAAK,CAAC;EAET,OAAO;IACL5R,OAAO,EAAEoU,SAAS;IAClBpF,UAAU,EAAVA,UAAU;IACV2D,eAAe,EAAE;MACf7R,OAAO,EAAPA,OAAO;MACPuO,QAAQ,EAARA,QAAQ;MACRM,KAAK,EAALA;KACD;IACDI,eAAe,EAAfA,eAAe;IACfsB,OAAO;MAAA,IAAAsD,SAAA,GAAAzT,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAAE,SAAA2Q,SAAOuC,KAAe;QAAA,OAAAnT,YAAA,GAAAc,CAAA,WAAAgQ,SAAA;UAAA,kBAAAA,SAAA,CAAA7P,CAAA;YAAA;cAAA6P,SAAA,CAAA7P,CAAA;cAAA,OACvBiP,QAAO,CAACiD,KAAK,CAAC;YAAA;cAAA,OAAArC,SAAA,CAAAtP,CAAA;;WAAAoP,QAAA;OACrB;MAAA,SAFDV,OAAOA,CAAAc,GAAA;QAAA,OAAAwC,SAAA,CAAAlS,KAAA,OAAAV,SAAA;;MAAA,OAAPsP,OAAO;OAEN;IACDM,eAAe,EAAfA,eAAe;IACflC,aAAa,EAAbA,aAAa;IACbG,QAAQ,EAARA;GACD;AACH,CAAC;;;;"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@mi-avalon/libs",
3
3
  "author": "顾冬杰",
4
4
  "module": "dist/lib.esm.js",
5
- "version": "0.0.11",
5
+ "version": "0.0.12",
6
6
  "license": "MIT",
7
7
  "main": "dist/index.js",
8
8
  "typings": "dist/index.d.ts",
@@ -1,43 +0,0 @@
1
- import { ButtonProps } from 'antd';
2
- import * as React from 'react';
3
- /**
4
- * 默认配置按钮,也可以通过render() 渲染其他组件
5
- */
6
- export interface IRowItem {
7
- /**
8
- * 按钮名称
9
- */
10
- label?: string;
11
- /**
12
- * 按钮类型
13
- */
14
- type?: ButtonProps['type'];
15
- /**
16
- * 如果没有指定Render,则是按钮的onClick
17
- */
18
- onClick?: (e: any) => void;
19
- /**
20
- * 其他按钮属性
21
- */
22
- btnProps?: ButtonProps;
23
- /**
24
- * item 的className
25
- */
26
- className?: string;
27
- /**
28
- * 自定义渲染
29
- */
30
- render?: () => React.ReactNode;
31
- }
32
- export interface IItemRowProps {
33
- route?: Array<{
34
- name: string;
35
- url?: string;
36
- }>;
37
- items?: IRowItem[];
38
- style?: React.CSSProperties;
39
- className?: string;
40
- offsetTop?: number;
41
- }
42
- declare const ItemsRow: (props: IItemRowProps) => React.JSX.Element | null;
43
- export default ItemsRow;
@@ -1,18 +0,0 @@
1
- import * as React from 'react';
2
- import { IRowItem } from '../ItemsRow';
3
- import './index.scss';
4
- export interface RouteItem {
5
- name: string;
6
- url?: string;
7
- }
8
- export interface IMBreadcrumbProps {
9
- routes?: RouteItem[];
10
- customItems?: IRowItem[];
11
- style?: React.CSSProperties;
12
- className?: string;
13
- offsetTop?: number;
14
- mainAppBaseUrl?: string;
15
- microAppName?: string;
16
- }
17
- declare const MBreadcrumb: React.FC<IMBreadcrumbProps>;
18
- export default MBreadcrumb;
@@ -1,65 +0,0 @@
1
- import React from 'react';
2
- export interface IMDescriptionItem {
3
- label: React.ReactNode;
4
- value: React.ReactNode;
5
- span?: number;
6
- }
7
- export interface IMDescriptionProps {
8
- /**
9
- * 描述列表的数据[{label: '', value: '',}, ...]
10
- */
11
- data: IMDescriptionItem[];
12
- /**
13
- * 标题
14
- */
15
- title?: React.ReactNode;
16
- /**
17
- * 需要显示的列数
18
- * @default 3
19
- */
20
- column?: 1 | 2 | 3 | 4;
21
- /**
22
- * 行高
23
- */
24
- lineHeight?: number;
25
- /**
26
- * 标签对齐方式
27
- * @default 'left'
28
- */
29
- align?: 'left' | 'center' | 'right';
30
- /**
31
- * 标签和值的布局配置
32
- */
33
- itemLayout?: {
34
- label?: number | undefined;
35
- value?: number | undefined;
36
- };
37
- /**
38
- * 是否显示冒号
39
- * @default true
40
- */
41
- colon?: boolean;
42
- /**
43
- * 是否显示边框
44
- * @default false
45
- */
46
- bordered?: boolean;
47
- /**
48
- * 自定义样式
49
- */
50
- style?: React.CSSProperties;
51
- /**
52
- * 自定义类名
53
- */
54
- className?: string;
55
- /**
56
- * 标签样式
57
- */
58
- labelStyle?: React.CSSProperties;
59
- /**
60
- * 内容样式
61
- */
62
- contentStyle?: React.CSSProperties;
63
- }
64
- declare const DetailDescriptions: React.FC<IMDescriptionProps>;
65
- export default DetailDescriptions;
@@ -1,12 +0,0 @@
1
- /**
2
- * 表格
3
- */
4
- import { TableProps } from 'antd';
5
- import React from 'react';
6
- export interface IMTableProps extends TableProps {
7
- }
8
- declare function MTable(props: IMTableProps): React.JSX.Element;
9
- declare namespace MTable {
10
- var displayName: string;
11
- }
12
- export default MTable;
@@ -1,16 +0,0 @@
1
- import { ThemeConfig } from 'antd';
2
- import React, { Component } from 'react';
3
- import { IModalBaseProps } from '../../utils';
4
- export declare type IMiModalProps = IModalBaseProps & {
5
- mode?: string;
6
- };
7
- declare class MiModal extends Component<IMiModalProps> {
8
- static setMode: (mode: string) => void;
9
- static setThemeConfig: (fn: (m: string) => ThemeConfig) => void;
10
- static open: (props: IMiModalProps) => import("../../utils").IModalControls<IMiModalProps>;
11
- getTheme(): ThemeConfig;
12
- handleCancel: (e: React.MouseEvent<HTMLButtonElement>) => void;
13
- handleOk: (e: React.MouseEvent<HTMLButtonElement>) => void;
14
- render(): React.JSX.Element;
15
- }
16
- export default MiModal;
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- interface IProps {
3
- children: React.ReactNode;
4
- }
5
- declare function CompThemeProvider(props: IProps): React.JSX.Element;
6
- declare namespace CompThemeProvider {
7
- var displayName: string;
8
- }
9
- export default CompThemeProvider;