@flatbiz/antd 2.0.4 → 2.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/index.css +102 -12
- package/esm/index.js +3 -18
- package/esm/index.js.map +1 -1
- package/index.d.ts +37 -4
- package/package.json +10 -11
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["/@flatbiz/antd/src/01-styles/index.ts","/@flatbiz/antd/src/permission/index.tsx","/@flatbiz/antd/src/button-operate/index.tsx","/@flatbiz/antd/src/drawer-wraper/drawer.model.ts","/@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/defineProperty.js","/@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","/@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","/@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","/@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","/@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","/@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","/@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","/@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","/@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","/@flatbiz/antd/node_modules/classnames/index.js","/@flatbiz/antd/node_modules/@ant-design/icons/es/components/Context.js","/@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/typeof.js","/@flatbiz/antd/node_modules/@ctrl/tinycolor/dist/module/util.js","/@flatbiz/antd/node_modules/@ctrl/tinycolor/dist/module/conversion.js","/@flatbiz/antd/node_modules/@ctrl/tinycolor/dist/module/css-color-names.js","/@flatbiz/antd/node_modules/@ctrl/tinycolor/dist/module/format-input.js","/@flatbiz/antd/node_modules/@ant-design/colors/dist/index.esm.js","/@flatbiz/antd/node_modules/rc-util/es/warning.js","/@flatbiz/antd/node_modules/rc-util/es/Dom/canUseDom.js","/@flatbiz/antd/node_modules/rc-util/es/Dom/dynamicCSS.js","/@flatbiz/antd/node_modules/@ant-design/icons/es/utils.js","/@flatbiz/antd/node_modules/@ant-design/icons/es/components/IconBase.js","/@flatbiz/antd/node_modules/@ant-design/icons/es/components/twoTonePrimaryColor.js","/@flatbiz/antd/node_modules/@ant-design/icons/es/components/AntdIcon.js","/@flatbiz/antd/node_modules/@better-scroll/mouse-wheel/dist/mouse-wheel.esm.js","/@flatbiz/antd/node_modules/@better-scroll/observe-dom/dist/observe-dom.esm.js","/@flatbiz/antd/node_modules/@better-scroll/scroll-bar/dist/scroll-bar.esm.js","/@flatbiz/antd/node_modules/@sights/layout/esm/index.js","/@flatbiz/antd/node_modules/@ant-design/icons-svg/es/asn/SaveOutlined.js","/@flatbiz/antd/node_modules/@ant-design/icons/es/icons/SaveOutlined.js","/@flatbiz/antd/src/drawer-wraper/drawer-operation.tsx","/@flatbiz/antd/src/drawer-wraper/drawer-wraper.tsx","/@flatbiz/antd/src/drawer-wraper/index.ts","/@flatbiz/antd/src/hooks/use-effect-custom.ts","/@flatbiz/antd/src/modal-wraper/modal.model.ts","/@flatbiz/antd/src/modal-wraper/modal-operation.tsx","/@flatbiz/antd/src/modal-wraper/modal-wraper.tsx","/@flatbiz/antd/src/modal-wraper/index.ts","/@flatbiz/antd/src/page404/index.tsx","/@flatbiz/antd/src/sms-count-down/index.tsx","/@flatbiz/antd/src/table-filter-layout/index.tsx"],"sourcesContent":["import { noop } from '@flatbiz/utils';\nimport './1_root.less';\nimport './2_base.less';\n\nexport const styles = noop;\n","import { isArray } from '@dimjs/lang';\nimport { getGlobalData } from '@flatbiz/utils';\nimport { FC, Fragment } from 'react';\n\nexport const getPermissionList = () => {\n const { elemAclLimits } = getGlobalData();\n const permissionList = isArray(elemAclLimits) ? elemAclLimits : [];\n return permissionList;\n};\n\nexport const hasPermission = (name: string) => {\n const permissionList = getPermissionList();\n if (permissionList.includes(name)) {\n return true;\n }\n return false;\n};\n\nexport interface PermissionProps {\n name: string;\n}\nexport const Permission: FC<PermissionProps> = (props) => {\n const permissionList = getPermissionList();\n if (permissionList.includes(props.name)) {\n return <Fragment>{props.children}</Fragment>;\n }\n return null;\n};\n","import { isUndefined } from '@dimjs/lang';\nimport { Button, ButtonProps, Divider, Popconfirm, Space } from 'antd';\nimport { hasPermission } from '../permission';\nimport './style.less';\n\nexport interface ButtonOperateItem extends ButtonProps {\n text: string;\n color?: string;\n onClick: () => void;\n permission?: string;\n needConfirm?: boolean;\n confirmMessage?: string;\n hidden?: boolean;\n}\n\nexport interface ButtonOperateProps {\n operateList: Array<ButtonOperateItem | null>;\n wrap?: boolean;\n}\n\nexport const ButtonOperate = (props: ButtonOperateProps) => {\n return (\n <div className=\"table-operate\">\n <Space split={<Divider type=\"vertical\" />} size={0} wrap={isUndefined(props.wrap) ? true : props.wrap}>\n {props.operateList.map((item, index) => {\n if (!item) return null;\n const {\n text,\n color,\n onClick,\n permission,\n needConfirm,\n confirmMessage,\n hidden,\n style,\n ...otherProps\n } = item;\n if (hidden) return null;\n if (permission && !hasPermission(permission)) return null;\n const newStyle = color ? { color, ...style } : style;\n const type = item.type || 'link';\n if (needConfirm) {\n return (\n <Popconfirm\n title={confirmMessage}\n okText=\"确定\"\n cancelText=\"取消\"\n onConfirm={onClick}\n arrowPointAtCenter={true}\n key={index}\n >\n <Button {...otherProps} onClick={undefined} type={type} danger style={newStyle}>\n {text}\n </Button>\n </Popconfirm>\n );\n }\n return (\n <Button {...otherProps} type={type} style={newStyle} key={index} onClick={onClick}>\n {text}\n </Button>\n );\n })}\n </Space>\n </div>\n );\n};\n","import { ModelType } from '@dimjs/model';\n\nexport interface DrawerStateType {\n title: string;\n /**\n * 显示drawer\n */\n visible: boolean;\n /**\n * 用来处理form, `更新`的时候的传递当前item列表行的数据, 当`创建`的时候强制设置为 `undefined`\n */\n itemData?: Record<string, any>;\n operateType: 'create' | 'update' | 'view';\n pageLoading?: boolean;\n}\n\nexport interface DrawerActionsParamType {\n openDrawerForm: Pick<DrawerStateType, 'title' | 'itemData' | 'operateType' | 'pageLoading'>;\n closeDrawer: void;\n setDrawerItemData: Record<string, any>;\n}\n\n/**\n * @shared\n * 提供公共的drawer处理, 通常用来表单编辑, 弹窗抽屉模式.\n * 注意全部理论上只允许一个drawer实例存在,如需处理多个, 请自行实例话模型.\n */\nexport const DrawerModel: ModelType<DrawerStateType, DrawerActionsParamType> = {\n actions: {\n openDrawerForm({ itemData, title, operateType, pageLoading }) {\n return (state) => {\n state.itemData = itemData;\n state.title = title;\n state.operateType = operateType;\n state.pageLoading = pageLoading;\n state.visible = true;\n };\n },\n closeDrawer() {\n return (state) => {\n state.visible = false;\n };\n },\n setDrawerItemData(params) {\n return (state) => {\n state.pageLoading = false;\n state.itemData = params;\n };\n },\n },\n state: {\n visible: false,\n title: '',\n operateType: 'view',\n },\n};\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { createContext } from 'react';\nvar IconContext = /*#__PURE__*/createContext({});\nexport default IconContext;","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","/**\n * Take input from [0, n] and return it as [0, 1]\n * @hidden\n */\nexport function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = '100%';\n }\n var isPercent = isPercentage(n);\n n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));\n // Automatically convert percentage into number\n if (isPercent) {\n n = parseInt(String(n * max), 10) / 100;\n }\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n // Convert into [0, 1] range if it isn't already\n if (max === 360) {\n // If n is a hue given in degrees,\n // wrap around out-of-range values into [0, 360] range\n // then convert into [0, 1].\n n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max));\n }\n else {\n // If n not a hue given in degrees\n // Convert into [0, 1] range if it isn't already.\n n = (n % max) / parseFloat(String(max));\n }\n return n;\n}\n/**\n * Force a number between 0 and 1\n * @hidden\n */\nexport function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n/**\n * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n * <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\n * @hidden\n */\nexport function isOnePointZero(n) {\n return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;\n}\n/**\n * Check to see if string passed in is a percentage\n * @hidden\n */\nexport function isPercentage(n) {\n return typeof n === 'string' && n.indexOf('%') !== -1;\n}\n/**\n * Return a valid alpha value [0,1] with all invalid values being set to 1\n * @hidden\n */\nexport function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n/**\n * Replace a decimal with it's percentage value\n * @hidden\n */\nexport function convertToPercentage(n) {\n if (n <= 1) {\n return Number(n) * 100 + \"%\";\n }\n return n;\n}\n/**\n * Force a hex value to have 2 characters\n * @hidden\n */\nexport function pad2(c) {\n return c.length === 1 ? '0' + c : String(c);\n}\n","import { bound01, pad2 } from './util';\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * <http://www.w3.org/TR/css3-color/>\n * *Assumes:* r, g, b in [0, 255] or [0, 1]\n * *Returns:* { r, g, b } in [0, 255]\n */\nexport function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255,\n };\n}\n/**\n * Converts an RGB color value to HSL.\n * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n * *Returns:* { h, s, l } in [0,1]\n */\nexport function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n if (max === min) {\n s = 0;\n h = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, l: l };\n}\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * (6 * t);\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n/**\n * Converts an HSL color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n if (s === 0) {\n // achromatic\n g = l;\n b = l;\n r = l;\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color value to HSV\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n * *Returns:* { h, s, v } in [0,1]\n */\nexport function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var v = max;\n var d = max - min;\n var s = max === 0 ? 0 : d / max;\n if (max === min) {\n h = 0; // achromatic\n }\n else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n/**\n * Converts an HSV color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color to hex\n *\n * Assumes r, g, and b are contained in the set [0, 255]\n * Returns a 3 or 6 character hex\n */\nexport function rgbToHex(r, g, b, allow3Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n // Return a 3 character hex if possible\n if (allow3Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color plus alpha transparency to hex\n *\n * Assumes r, g, b are contained in the set [0, 255] and\n * a in [0, 1]. Returns a 4 or 8 character rgba hex\n */\n// eslint-disable-next-line max-params\nexport function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n pad2(convertDecimalToHex(a)),\n ];\n // Return a 4 character hex if possible\n if (allow4Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1)) &&\n hex[3].startsWith(hex[3].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color to an ARGB Hex8 string\n * Rarely used, but required for \"toFilter()\"\n */\nexport function rgbaToArgbHex(r, g, b, a) {\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n return hex.join('');\n}\n/** Converts a decimal to a hex value */\nexport function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n/** Converts a hex value to a decimal */\nexport function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\n/** Parse a base-16 hex value into a base-10 integer */\nexport function parseIntFromHex(val) {\n return parseInt(val, 16);\n}\nexport function numberInputToObject(color) {\n return {\n r: color >> 16,\n g: (color & 0xff00) >> 8,\n b: color & 0xff,\n };\n}\n","// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json\n/**\n * @hidden\n */\nexport var names = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n goldenrod: '#daa520',\n gold: '#ffd700',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32',\n};\n","import { convertHexToDecimal, hslToRgb, hsvToRgb, parseIntFromHex, rgbToRgb } from './conversion';\nimport { names } from './css-color-names';\nimport { boundAlpha, convertToPercentage } from './util';\n/**\n * Given a string or object, convert that input to RGB\n *\n * Possible string inputs:\n * ```\n * \"red\"\n * \"#f00\" or \"f00\"\n * \"#ff0000\" or \"ff0000\"\n * \"#ff000000\" or \"ff000000\"\n * \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n * \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n * \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n * \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n * \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n * \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n * \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n * ```\n */\nexport function inputToRGB(color) {\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color === 'string') {\n color = stringInputToObject(color);\n }\n if (typeof color === 'object') {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = 'hsv';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = 'hsl';\n }\n if (Object.prototype.hasOwnProperty.call(color, 'a')) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a,\n };\n}\n// <http://www.w3.org/TR/css3-values/#integers>\nvar CSS_INTEGER = '[-\\\\+]?\\\\d+%?';\n// <http://www.w3.org/TR/css3-values/#number-value>\nvar CSS_NUMBER = '[-\\\\+]?\\\\d*\\\\.\\\\d+%?';\n// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\nvar CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n// Actual matching.\n// Parentheses and commas are optional, but not required.\n// Whitespace can take the place of commas or opening paren\nvar PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\nvar PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\nvar matchers = {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),\n rgba: new RegExp('rgba' + PERMISSIVE_MATCH4),\n hsl: new RegExp('hsl' + PERMISSIVE_MATCH3),\n hsla: new RegExp('hsla' + PERMISSIVE_MATCH4),\n hsv: new RegExp('hsv' + PERMISSIVE_MATCH3),\n hsva: new RegExp('hsva' + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n};\n/**\n * Permissive string parsing. Take in a number of formats, and output an object\n * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n */\nexport function stringInputToObject(color) {\n color = color.trim().toLowerCase();\n if (color.length === 0) {\n return false;\n }\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color === 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: 'name' };\n }\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match = matchers.rgb.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n match = matchers.rgba.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n match = matchers.hsl.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n match = matchers.hsla.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n match = matchers.hsv.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n match = matchers.hsva.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n match = matchers.hex8.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex6.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n match = matchers.hex4.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n a: convertHexToDecimal(match[4] + match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex3.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n return false;\n}\n/**\n * Check to see if it looks like a CSS unit\n * (see `matchers` above for definition).\n */\nexport function isValidCSSUnit(color) {\n return Boolean(matchers.CSS_UNIT.exec(String(color)));\n}\n","import { inputToRGB, rgbToHex, rgbToHsv } from '@ctrl/tinycolor';\n\nvar hueStep = 2; // 色相阶梯\n\nvar saturationStep = 0.16; // 饱和度阶梯,浅色部分\n\nvar saturationStep2 = 0.05; // 饱和度阶梯,深色部分\n\nvar brightnessStep1 = 0.05; // 亮度阶梯,浅色部分\n\nvar brightnessStep2 = 0.15; // 亮度阶梯,深色部分\n\nvar lightColorCount = 5; // 浅色数量,主色上\n\nvar darkColorCount = 4; // 深色数量,主色下\n// 暗色主题颜色映射关系表\n\nvar darkColorMap = [{\n index: 7,\n opacity: 0.15\n}, {\n index: 6,\n opacity: 0.25\n}, {\n index: 5,\n opacity: 0.3\n}, {\n index: 5,\n opacity: 0.45\n}, {\n index: 5,\n opacity: 0.65\n}, {\n index: 5,\n opacity: 0.85\n}, {\n index: 4,\n opacity: 0.9\n}, {\n index: 3,\n opacity: 0.95\n}, {\n index: 2,\n opacity: 0.97\n}, {\n index: 1,\n opacity: 0.98\n}]; // Wrapper function ported from TinyColor.prototype.toHsv\n// Keep it here because of `hsv.h * 360`\n\nfunction toHsv(_ref) {\n var r = _ref.r,\n g = _ref.g,\n b = _ref.b;\n var hsv = rgbToHsv(r, g, b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v\n };\n} // Wrapper function ported from TinyColor.prototype.toHexString\n// Keep it here because of the prefix `#`\n\n\nfunction toHex(_ref2) {\n var r = _ref2.r,\n g = _ref2.g,\n b = _ref2.b;\n return \"#\".concat(rgbToHex(r, g, b, false));\n} // Wrapper function ported from TinyColor.prototype.mix, not treeshakable.\n// Amount in range [0, 1]\n// Assume color1 & color2 has no alpha, since the following src code did so.\n\n\nfunction mix(rgb1, rgb2, amount) {\n var p = amount / 100;\n var rgb = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b\n };\n return rgb;\n}\n\nfunction getHue(hsv, i, light) {\n var hue; // 根据色相不同,色相转向不同\n\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n } else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n\n return hue;\n}\n\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n\n var saturation;\n\n if (light) {\n saturation = hsv.s - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = hsv.s + saturationStep;\n } else {\n saturation = hsv.s + saturationStep2 * i;\n } // 边界值修正\n\n\n if (saturation > 1) {\n saturation = 1;\n } // 第一格的 s 限制在 0.06-0.1 之间\n\n\n if (light && i === lightColorCount && saturation > 0.1) {\n saturation = 0.1;\n }\n\n if (saturation < 0.06) {\n saturation = 0.06;\n }\n\n return Number(saturation.toFixed(2));\n}\n\nfunction getValue(hsv, i, light) {\n var value;\n\n if (light) {\n value = hsv.v + brightnessStep1 * i;\n } else {\n value = hsv.v - brightnessStep2 * i;\n }\n\n if (value > 1) {\n value = 1;\n }\n\n return Number(value.toFixed(2));\n}\n\nfunction generate(color) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var patterns = [];\n var pColor = inputToRGB(color);\n\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = toHsv(pColor);\n var colorString = toHex(inputToRGB({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n }));\n patterns.push(colorString);\n }\n\n patterns.push(toHex(pColor));\n\n for (var _i = 1; _i <= darkColorCount; _i += 1) {\n var _hsv = toHsv(pColor);\n\n var _colorString = toHex(inputToRGB({\n h: getHue(_hsv, _i),\n s: getSaturation(_hsv, _i),\n v: getValue(_hsv, _i)\n }));\n\n patterns.push(_colorString);\n } // dark theme patterns\n\n\n if (opts.theme === 'dark') {\n return darkColorMap.map(function (_ref3) {\n var index = _ref3.index,\n opacity = _ref3.opacity;\n var darkColorString = toHex(mix(inputToRGB(opts.backgroundColor || '#141414'), inputToRGB(patterns[index]), opacity * 100));\n return darkColorString;\n });\n }\n\n return patterns;\n}\n\nvar presetPrimaryColors = {\n red: '#F5222D',\n volcano: '#FA541C',\n orange: '#FA8C16',\n gold: '#FAAD14',\n yellow: '#FADB14',\n lime: '#A0D911',\n green: '#52C41A',\n cyan: '#13C2C2',\n blue: '#1890FF',\n geekblue: '#2F54EB',\n purple: '#722ED1',\n magenta: '#EB2F96',\n grey: '#666666'\n};\nvar presetPalettes = {};\nvar presetDarkPalettes = {};\nObject.keys(presetPrimaryColors).forEach(function (key) {\n presetPalettes[key] = generate(presetPrimaryColors[key]);\n presetPalettes[key].primary = presetPalettes[key][5]; // dark presetPalettes\n\n presetDarkPalettes[key] = generate(presetPrimaryColors[key], {\n theme: 'dark',\n backgroundColor: '#141414'\n });\n presetDarkPalettes[key].primary = presetDarkPalettes[key][5];\n});\nvar red = presetPalettes.red;\nvar volcano = presetPalettes.volcano;\nvar gold = presetPalettes.gold;\nvar orange = presetPalettes.orange;\nvar yellow = presetPalettes.yellow;\nvar lime = presetPalettes.lime;\nvar green = presetPalettes.green;\nvar cyan = presetPalettes.cyan;\nvar blue = presetPalettes.blue;\nvar geekblue = presetPalettes.geekblue;\nvar purple = presetPalettes.purple;\nvar magenta = presetPalettes.magenta;\nvar grey = presetPalettes.grey;\n\nexport { blue, cyan, geekblue, generate, gold, green, grey, lime, magenta, orange, presetDarkPalettes, presetPalettes, presetPrimaryColors, purple, red, volcano, yellow };\n","/* eslint-disable no-console */\nvar warned = {};\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(\"Warning: \".concat(message));\n }\n}\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(\"Note: \".concat(message));\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nexport default warningOnce;\n/* eslint-enable */","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","import canUseDom from './canUseDom';\nvar MARK_KEY = \"rc-util-key\";\n\nfunction getContainer(option) {\n if (option.attachTo) {\n return option.attachTo;\n }\n\n var head = document.querySelector('head');\n return head || document.body;\n}\n\nexport function injectCSS(css) {\n var _option$csp;\n\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!canUseDom()) {\n return null;\n }\n\n var styleNode = document.createElement('style');\n\n if ((_option$csp = option.csp) === null || _option$csp === void 0 ? void 0 : _option$csp.nonce) {\n var _option$csp2;\n\n styleNode.nonce = (_option$csp2 = option.csp) === null || _option$csp2 === void 0 ? void 0 : _option$csp2.nonce;\n }\n\n styleNode.innerHTML = css;\n var container = getContainer(option);\n var firstChild = container.firstChild;\n\n if (option.prepend && container.prepend) {\n // Use `prepend` first\n container.prepend(styleNode);\n } else if (option.prepend && firstChild) {\n // Fallback to `insertBefore` like IE not support `prepend`\n container.insertBefore(styleNode, firstChild);\n } else {\n container.appendChild(styleNode);\n }\n\n return styleNode;\n}\nvar containerCache = new Map();\nexport function updateCSS(css, key) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var container = getContainer(option); // Get real parent\n\n if (!containerCache.has(container)) {\n var placeholderStyle = injectCSS('', option);\n var parentNode = placeholderStyle.parentNode;\n containerCache.set(container, parentNode);\n parentNode.removeChild(placeholderStyle);\n }\n\n var existNode = Array.from(containerCache.get(container).children).find(function (node) {\n return node.tagName === 'STYLE' && node[MARK_KEY] === key;\n });\n\n if (existNode) {\n var _option$csp3, _option$csp4;\n\n if (((_option$csp3 = option.csp) === null || _option$csp3 === void 0 ? void 0 : _option$csp3.nonce) && existNode.nonce !== ((_option$csp4 = option.csp) === null || _option$csp4 === void 0 ? void 0 : _option$csp4.nonce)) {\n var _option$csp5;\n\n existNode.nonce = (_option$csp5 = option.csp) === null || _option$csp5 === void 0 ? void 0 : _option$csp5.nonce;\n }\n\n if (existNode.innerHTML !== css) {\n existNode.innerHTML = css;\n }\n\n return existNode;\n }\n\n var newNode = injectCSS(css, option);\n newNode[MARK_KEY] = key;\n return newNode;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { generate as generateColor } from '@ant-design/colors';\nimport React, { useContext, useEffect } from 'react';\nimport warn from \"rc-util/es/warning\";\nimport { updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport IconContext from './components/Context';\nexport function warning(valid, message) {\n warn(valid, \"[@ant-design/icons] \".concat(message));\n}\nexport function isIconDefinition(target) {\n return _typeof(target) === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (_typeof(target.icon) === 'object' || typeof target.icon === 'function');\n}\nexport function normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc.class;\n break;\n\n default:\n acc[key] = val;\n }\n\n return acc;\n }, {});\n}\nexport function generate(node, key, rootProps) {\n if (!rootProps) {\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n }\n\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread(_objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), rootProps), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n}\nexport function getSecondaryColor(primaryColor) {\n // choose the second color\n return generateColor(primaryColor)[0];\n}\nexport function normalizeTwoToneColors(twoToneColor) {\n if (!twoToneColor) {\n return [];\n }\n\n return Array.isArray(twoToneColor) ? twoToneColor : [twoToneColor];\n} // These props make sure that the SVG behaviours like general text.\n// Reference: https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\n\nexport var svgBaseProps = {\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true',\n focusable: 'false'\n};\nexport var iconStyles = \"\\n.anticon {\\n display: inline-block;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\";\nexport var useInsertStyles = function useInsertStyles() {\n var styleStr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : iconStyles;\n\n var _useContext = useContext(IconContext),\n csp = _useContext.csp;\n\n useEffect(function () {\n updateCSS(styleStr, '@ant-design-icons', {\n prepend: true,\n csp: csp\n });\n }, []);\n};","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar _excluded = [\"icon\", \"className\", \"onClick\", \"style\", \"primaryColor\", \"secondaryColor\"];\nimport { generate, getSecondaryColor, isIconDefinition, warning, useInsertStyles } from '../utils';\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6',\n calculated: false\n};\n\nfunction setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || getSecondaryColor(primaryColor);\n twoToneColorPalette.calculated = !!secondaryColor;\n}\n\nfunction getTwoToneColors() {\n return _objectSpread({}, twoToneColorPalette);\n}\n\nvar IconBase = function IconBase(props) {\n var icon = props.icon,\n className = props.className,\n onClick = props.onClick,\n style = props.style,\n primaryColor = props.primaryColor,\n secondaryColor = props.secondaryColor,\n restProps = _objectWithoutProperties(props, _excluded);\n\n var colors = twoToneColorPalette;\n\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || getSecondaryColor(primaryColor)\n };\n }\n\n useInsertStyles();\n warning(isIconDefinition(icon), \"icon should be icon definiton, but got \".concat(icon));\n\n if (!isIconDefinition(icon)) {\n return null;\n }\n\n var target = icon;\n\n if (target && typeof target.icon === 'function') {\n target = _objectSpread(_objectSpread({}, target), {}, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n\n return generate(target.icon, \"svg-\".concat(target.name), _objectSpread({\n className: className,\n onClick: onClick,\n style: style,\n 'data-icon': target.name,\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true'\n }, restProps));\n};\n\nIconBase.displayName = 'IconReact';\nIconBase.getTwoToneColors = getTwoToneColors;\nIconBase.setTwoToneColors = setTwoToneColors;\nexport default IconBase;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport ReactIcon from './IconBase';\nimport { normalizeTwoToneColors } from '../utils';\nexport function setTwoToneColor(twoToneColor) {\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n\n return ReactIcon.setTwoToneColors({\n primaryColor: primaryColor,\n secondaryColor: secondaryColor\n });\n}\nexport function getTwoToneColor() {\n var colors = ReactIcon.getTwoToneColors();\n\n if (!colors.calculated) {\n return colors.primaryColor;\n }\n\n return [colors.primaryColor, colors.secondaryColor];\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"icon\", \"spin\", \"rotate\", \"tabIndex\", \"onClick\", \"twoToneColor\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Context from './Context';\nimport ReactIcon from './IconBase';\nimport { getTwoToneColor, setTwoToneColor } from './twoTonePrimaryColor';\nimport { normalizeTwoToneColors } from '../utils'; // Initial setting\n// should move it to antd main repo?\n\nsetTwoToneColor('#1890ff');\nvar Icon = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n\n var className = props.className,\n icon = props.icon,\n spin = props.spin,\n rotate = props.rotate,\n tabIndex = props.tabIndex,\n onClick = props.onClick,\n twoToneColor = props.twoToneColor,\n restProps = _objectWithoutProperties(props, _excluded);\n\n var _React$useContext = React.useContext(Context),\n _React$useContext$pre = _React$useContext.prefixCls,\n prefixCls = _React$useContext$pre === void 0 ? 'anticon' : _React$useContext$pre;\n\n var classString = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(icon.name), !!icon.name), _defineProperty(_classNames, \"\".concat(prefixCls, \"-spin\"), !!spin || icon.name === 'loading'), _classNames), className);\n var iconTabIndex = tabIndex;\n\n if (iconTabIndex === undefined && onClick) {\n iconTabIndex = -1;\n }\n\n var svgStyle = rotate ? {\n msTransform: \"rotate(\".concat(rotate, \"deg)\"),\n transform: \"rotate(\".concat(rotate, \"deg)\")\n } : undefined;\n\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n\n return /*#__PURE__*/React.createElement(\"span\", _objectSpread(_objectSpread({\n role: \"img\",\n \"aria-label\": icon.name\n }, restProps), {}, {\n ref: ref,\n tabIndex: iconTabIndex,\n onClick: onClick,\n className: classString\n }), /*#__PURE__*/React.createElement(ReactIcon, {\n icon: icon,\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n style: svgStyle\n }));\n});\nIcon.displayName = 'AntdIcon';\nIcon.getTwoToneColor = getTwoToneColor;\nIcon.setTwoToneColor = setTwoToneColor;\nexport default Icon;","/*!\n * better-scroll / mouse-wheel\n * (c) 2016-2021 ustbhuangyi\n * Released under the MIT License.\n */\nfunction warn(msg) {\r\n console.error(\"[BScroll warn]: \" + msg);\r\n}\n\n// ssr support\r\nvar inBrowser = typeof window !== 'undefined';\r\nvar ua = inBrowser && navigator.userAgent.toLowerCase();\r\n!!(ua && /wechatdevtools/.test(ua));\r\nua && ua.indexOf('android') > 0;\r\n/* istanbul ignore next */\r\n((function () {\r\n if (typeof ua === 'string') {\r\n var regex = /os (\\d\\d?_\\d(_\\d)?)/;\r\n var matches = regex.exec(ua);\r\n if (!matches)\r\n return false;\r\n var parts = matches[1].split('_').map(function (item) {\r\n return parseInt(item, 10);\r\n });\r\n // ios version >= 13.4 issue 982\r\n return !!(parts[0] === 13 && parts[1] >= 4);\r\n }\r\n return false;\r\n}))();\r\n/* istanbul ignore next */\r\nvar supportsPassive = false;\r\n/* istanbul ignore next */\r\nif (inBrowser) {\r\n var EventName = 'test-passive';\r\n try {\r\n var opts = {};\r\n Object.defineProperty(opts, 'passive', {\r\n get: function () {\r\n supportsPassive = true;\r\n },\r\n }); // https://github.com/facebook/flow/issues/285\r\n window.addEventListener(EventName, function () { }, opts);\r\n }\r\n catch (e) { }\r\n}\n\nvar extend = function (target, source) {\r\n for (var key in source) {\r\n target[key] = source[key];\r\n }\r\n return target;\r\n};\n\nvar elementStyle = (inBrowser &&\r\n document.createElement('div').style);\r\nvar vendor = (function () {\r\n /* istanbul ignore if */\r\n if (!inBrowser) {\r\n return false;\r\n }\r\n var transformNames = [\r\n {\r\n key: 'standard',\r\n value: 'transform',\r\n },\r\n {\r\n key: 'webkit',\r\n value: 'webkitTransform',\r\n },\r\n {\r\n key: 'Moz',\r\n value: 'MozTransform',\r\n },\r\n {\r\n key: 'O',\r\n value: 'OTransform',\r\n },\r\n {\r\n key: 'ms',\r\n value: 'msTransform',\r\n },\r\n ];\r\n for (var _i = 0, transformNames_1 = transformNames; _i < transformNames_1.length; _i++) {\r\n var obj = transformNames_1[_i];\r\n if (elementStyle[obj.value] !== undefined) {\r\n return obj.key;\r\n }\r\n }\r\n /* istanbul ignore next */\r\n return false;\r\n})();\r\n/* istanbul ignore next */\r\nfunction prefixStyle(style) {\r\n if (vendor === false) {\r\n return style;\r\n }\r\n if (vendor === 'standard') {\r\n if (style === 'transitionEnd') {\r\n return 'transitionend';\r\n }\r\n return style;\r\n }\r\n return vendor + style.charAt(0).toUpperCase() + style.substr(1);\r\n}\r\nfunction addEvent(el, type, fn, capture) {\r\n var useCapture = supportsPassive\r\n ? {\r\n passive: false,\r\n capture: !!capture,\r\n }\r\n : !!capture;\r\n el.addEventListener(type, fn, useCapture);\r\n}\r\nfunction removeEvent(el, type, fn, capture) {\r\n el.removeEventListener(type, fn, {\r\n capture: !!capture,\r\n });\r\n}\r\nvendor && vendor !== 'standard' ? '-' + vendor.toLowerCase() + '-' : '';\r\nvar transform = prefixStyle('transform');\r\nvar transition = prefixStyle('transition');\r\ninBrowser && prefixStyle('perspective') in elementStyle;\r\n({\r\n transform: transform,\r\n transition: transition,\r\n transitionTimingFunction: prefixStyle('transitionTimingFunction'),\r\n transitionDuration: prefixStyle('transitionDuration'),\r\n transitionDelay: prefixStyle('transitionDelay'),\r\n transformOrigin: prefixStyle('transformOrigin'),\r\n transitionEnd: prefixStyle('transitionEnd'),\r\n transitionProperty: prefixStyle('transitionProperty'),\r\n});\r\nfunction preventDefaultExceptionFn(el, exceptions) {\r\n for (var i in exceptions) {\r\n if (exceptions[i].test(el[i])) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\n\nvar EventRegister = /** @class */ (function () {\r\n function EventRegister(wrapper, events) {\r\n this.wrapper = wrapper;\r\n this.events = events;\r\n this.addDOMEvents();\r\n }\r\n EventRegister.prototype.destroy = function () {\r\n this.removeDOMEvents();\r\n this.events = [];\r\n };\r\n EventRegister.prototype.addDOMEvents = function () {\r\n this.handleDOMEvents(addEvent);\r\n };\r\n EventRegister.prototype.removeDOMEvents = function () {\r\n this.handleDOMEvents(removeEvent);\r\n };\r\n EventRegister.prototype.handleDOMEvents = function (eventOperation) {\r\n var _this = this;\r\n var wrapper = this.wrapper;\r\n this.events.forEach(function (event) {\r\n eventOperation(wrapper, event.name, _this, !!event.capture);\r\n });\r\n };\r\n EventRegister.prototype.handleEvent = function (e) {\r\n var eventType = e.type;\r\n this.events.some(function (event) {\r\n if (event.name === eventType) {\r\n event.handler(e);\r\n return true;\r\n }\r\n return false;\r\n });\r\n };\r\n return EventRegister;\r\n}());\n\nvar MouseWheel = /** @class */ (function () {\r\n function MouseWheel(scroll) {\r\n this.scroll = scroll;\r\n this.wheelEndTimer = 0;\r\n this.wheelMoveTimer = 0;\r\n this.wheelStart = false;\r\n this.init();\r\n }\r\n MouseWheel.prototype.init = function () {\r\n this.handleBScroll();\r\n this.handleOptions();\r\n this.handleHooks();\r\n this.registerEvent();\r\n };\r\n MouseWheel.prototype.handleBScroll = function () {\r\n this.scroll.registerType([\r\n 'alterOptions',\r\n 'mousewheelStart',\r\n 'mousewheelMove',\r\n 'mousewheelEnd',\r\n ]);\r\n };\r\n MouseWheel.prototype.handleOptions = function () {\r\n var userOptions = (this.scroll.options.mouseWheel === true\r\n ? {}\r\n : this.scroll.options.mouseWheel);\r\n var defaultOptions = {\r\n speed: 20,\r\n invert: false,\r\n easeTime: 300,\r\n discreteTime: 400,\r\n throttleTime: 0,\r\n dampingFactor: 0.1,\r\n };\r\n this.mouseWheelOpt = extend(defaultOptions, userOptions);\r\n };\r\n MouseWheel.prototype.handleHooks = function () {\r\n this.hooksFn = [];\r\n this.registerHooks(this.scroll.hooks, 'destroy', this.destroy);\r\n };\r\n MouseWheel.prototype.registerEvent = function () {\r\n this.eventRegister = new EventRegister(this.scroll.scroller.wrapper, [\r\n {\r\n name: 'wheel',\r\n handler: this.wheelHandler.bind(this),\r\n },\r\n {\r\n name: 'mousewheel',\r\n handler: this.wheelHandler.bind(this),\r\n },\r\n {\r\n name: 'DOMMouseScroll',\r\n handler: this.wheelHandler.bind(this),\r\n },\r\n ]);\r\n };\r\n MouseWheel.prototype.registerHooks = function (hooks, name, handler) {\r\n hooks.on(name, handler, this);\r\n this.hooksFn.push([hooks, name, handler]);\r\n };\r\n MouseWheel.prototype.wheelHandler = function (e) {\r\n if (!this.scroll.enabled) {\r\n return;\r\n }\r\n this.beforeHandler(e);\r\n // start\r\n if (!this.wheelStart) {\r\n this.wheelStartHandler(e);\r\n this.wheelStart = true;\r\n }\r\n // move\r\n var delta = this.getWheelDelta(e);\r\n this.wheelMoveHandler(delta);\r\n // end\r\n this.wheelEndDetector(delta);\r\n };\r\n MouseWheel.prototype.wheelStartHandler = function (e) {\r\n this.cleanCache();\r\n var _a = this.scroll.scroller, scrollBehaviorX = _a.scrollBehaviorX, scrollBehaviorY = _a.scrollBehaviorY;\r\n scrollBehaviorX.setMovingDirection(0 /* Default */);\r\n scrollBehaviorY.setMovingDirection(0 /* Default */);\r\n scrollBehaviorX.setDirection(0 /* Default */);\r\n scrollBehaviorY.setDirection(0 /* Default */);\r\n this.scroll.trigger(this.scroll.eventTypes.alterOptions, this.mouseWheelOpt);\r\n this.scroll.trigger(this.scroll.eventTypes.mousewheelStart);\r\n };\r\n MouseWheel.prototype.cleanCache = function () {\r\n this.deltaCache = [];\r\n };\r\n MouseWheel.prototype.wheelMoveHandler = function (delta) {\r\n var _this = this;\r\n var _a = this.mouseWheelOpt, throttleTime = _a.throttleTime, dampingFactor = _a.dampingFactor;\r\n if (throttleTime && this.wheelMoveTimer) {\r\n this.deltaCache.push(delta);\r\n }\r\n else {\r\n var cachedDelta = this.deltaCache.reduce(function (prev, current) {\r\n return {\r\n x: prev.x + current.x,\r\n y: prev.y + current.y,\r\n };\r\n }, { x: 0, y: 0 });\r\n this.cleanCache();\r\n var _b = this.scroll.scroller, scrollBehaviorX = _b.scrollBehaviorX, scrollBehaviorY = _b.scrollBehaviorY;\r\n scrollBehaviorX.setMovingDirection(-delta.directionX);\r\n scrollBehaviorY.setMovingDirection(-delta.directionY);\r\n scrollBehaviorX.setDirection(delta.x);\r\n scrollBehaviorY.setDirection(delta.y);\r\n // when out of boundary, perform a damping scroll\r\n var newX = scrollBehaviorX.performDampingAlgorithm(Math.round(delta.x) + cachedDelta.x, dampingFactor);\r\n var newY = scrollBehaviorY.performDampingAlgorithm(Math.round(delta.y) + cachedDelta.x, dampingFactor);\r\n if (!this.scroll.trigger(this.scroll.eventTypes.mousewheelMove, {\r\n x: newX,\r\n y: newY,\r\n })) {\r\n var easeTime = this.getEaseTime();\r\n if (newX !== this.scroll.x || newY !== this.scroll.y) {\r\n this.scroll.scrollTo(newX, newY, easeTime);\r\n }\r\n }\r\n if (throttleTime) {\r\n this.wheelMoveTimer = window.setTimeout(function () {\r\n _this.wheelMoveTimer = 0;\r\n }, throttleTime);\r\n }\r\n }\r\n };\r\n MouseWheel.prototype.wheelEndDetector = function (delta) {\r\n var _this = this;\r\n window.clearTimeout(this.wheelEndTimer);\r\n this.wheelEndTimer = window.setTimeout(function () {\r\n _this.wheelStart = false;\r\n window.clearTimeout(_this.wheelMoveTimer);\r\n _this.wheelMoveTimer = 0;\r\n _this.scroll.trigger(_this.scroll.eventTypes.mousewheelEnd, delta);\r\n }, this.mouseWheelOpt.discreteTime);\r\n };\r\n MouseWheel.prototype.getWheelDelta = function (e) {\r\n var _a = this.mouseWheelOpt, speed = _a.speed, invert = _a.invert;\r\n var wheelDeltaX = 0;\r\n var wheelDeltaY = 0;\r\n var direction = invert ? -1 /* Negative */ : 1 /* Positive */;\r\n switch (true) {\r\n case 'deltaX' in e:\r\n if (e.deltaMode === 1) {\r\n wheelDeltaX = -e.deltaX * speed;\r\n wheelDeltaY = -e.deltaY * speed;\r\n }\r\n else {\r\n wheelDeltaX = -e.deltaX;\r\n wheelDeltaY = -e.deltaY;\r\n }\r\n break;\r\n case 'wheelDeltaX' in e:\r\n wheelDeltaX = (e.wheelDeltaX / 120) * speed;\r\n wheelDeltaY = (e.wheelDeltaY / 120) * speed;\r\n break;\r\n case 'wheelDelta' in e:\r\n wheelDeltaX = wheelDeltaY = (e.wheelDelta / 120) * speed;\r\n break;\r\n case 'detail' in e:\r\n wheelDeltaX = wheelDeltaY = (-e.detail / 3) * speed;\r\n break;\r\n }\r\n wheelDeltaX *= direction;\r\n wheelDeltaY *= direction;\r\n if (!this.scroll.hasVerticalScroll) {\r\n if (Math.abs(wheelDeltaY) > Math.abs(wheelDeltaX)) {\r\n wheelDeltaX = wheelDeltaY;\r\n }\r\n wheelDeltaY = 0;\r\n }\r\n if (!this.scroll.hasHorizontalScroll) {\r\n wheelDeltaX = 0;\r\n }\r\n var directionX = wheelDeltaX > 0\r\n ? -1 /* Negative */\r\n : wheelDeltaX < 0\r\n ? 1 /* Positive */\r\n : 0 /* Default */;\r\n var directionY = wheelDeltaY > 0\r\n ? -1 /* Negative */\r\n : wheelDeltaY < 0\r\n ? 1 /* Positive */\r\n : 0 /* Default */;\r\n return {\r\n x: wheelDeltaX,\r\n y: wheelDeltaY,\r\n directionX: directionX,\r\n directionY: directionY,\r\n };\r\n };\r\n MouseWheel.prototype.beforeHandler = function (e) {\r\n var _a = this.scroll.options, preventDefault = _a.preventDefault, stopPropagation = _a.stopPropagation, preventDefaultException = _a.preventDefaultException;\r\n if (preventDefault &&\r\n !preventDefaultExceptionFn(e.target, preventDefaultException)) {\r\n e.preventDefault();\r\n }\r\n if (stopPropagation) {\r\n e.stopPropagation();\r\n }\r\n };\r\n MouseWheel.prototype.getEaseTime = function () {\r\n var SAFE_EASETIME = 100;\r\n var easeTime = this.mouseWheelOpt.easeTime;\r\n // scrollEnd event will be triggered in every calling of scrollTo when easeTime is too small\r\n // easeTime needs to be greater than 100\r\n if (easeTime < SAFE_EASETIME) {\r\n warn(\"easeTime should be greater than 100.\" +\r\n \"If mouseWheel easeTime is too small,\" +\r\n \"scrollEnd will be triggered many times.\");\r\n }\r\n return Math.max(easeTime, SAFE_EASETIME);\r\n };\r\n MouseWheel.prototype.destroy = function () {\r\n this.eventRegister.destroy();\r\n window.clearTimeout(this.wheelEndTimer);\r\n window.clearTimeout(this.wheelMoveTimer);\r\n this.hooksFn.forEach(function (item) {\r\n var hooks = item[0];\r\n var hooksName = item[1];\r\n var handlerFn = item[2];\r\n hooks.off(hooksName, handlerFn);\r\n });\r\n };\r\n MouseWheel.pluginName = 'mouseWheel';\r\n MouseWheel.applyOrder = \"pre\" /* Pre */;\r\n return MouseWheel;\r\n}());\n\nexport default MouseWheel;\n","/*!\n * better-scroll / observe-dom\n * (c) 2016-2021 ustbhuangyi\n * Released under the MIT License.\n */\n// ssr support\r\nvar inBrowser = typeof window !== 'undefined';\r\nvar ua = inBrowser && navigator.userAgent.toLowerCase();\r\n!!(ua && /wechatdevtools/.test(ua));\r\nua && ua.indexOf('android') > 0;\r\n/* istanbul ignore next */\r\n((function () {\r\n if (typeof ua === 'string') {\r\n var regex = /os (\\d\\d?_\\d(_\\d)?)/;\r\n var matches = regex.exec(ua);\r\n if (!matches)\r\n return false;\r\n var parts = matches[1].split('_').map(function (item) {\r\n return parseInt(item, 10);\r\n });\r\n // ios version >= 13.4 issue 982\r\n return !!(parts[0] === 13 && parts[1] >= 4);\r\n }\r\n return false;\r\n}))();\r\n/* istanbul ignore next */\r\nvar supportsPassive = false;\r\n/* istanbul ignore next */\r\nif (inBrowser) {\r\n var EventName = 'test-passive';\r\n try {\r\n var opts = {};\r\n Object.defineProperty(opts, 'passive', {\r\n get: function () {\r\n supportsPassive = true;\r\n },\r\n }); // https://github.com/facebook/flow/issues/285\r\n window.addEventListener(EventName, function () { }, opts);\r\n }\r\n catch (e) { }\r\n}\n\nvar elementStyle = (inBrowser &&\r\n document.createElement('div').style);\r\nvar vendor = (function () {\r\n /* istanbul ignore if */\r\n if (!inBrowser) {\r\n return false;\r\n }\r\n var transformNames = [\r\n {\r\n key: 'standard',\r\n value: 'transform',\r\n },\r\n {\r\n key: 'webkit',\r\n value: 'webkitTransform',\r\n },\r\n {\r\n key: 'Moz',\r\n value: 'MozTransform',\r\n },\r\n {\r\n key: 'O',\r\n value: 'OTransform',\r\n },\r\n {\r\n key: 'ms',\r\n value: 'msTransform',\r\n },\r\n ];\r\n for (var _i = 0, transformNames_1 = transformNames; _i < transformNames_1.length; _i++) {\r\n var obj = transformNames_1[_i];\r\n if (elementStyle[obj.value] !== undefined) {\r\n return obj.key;\r\n }\r\n }\r\n /* istanbul ignore next */\r\n return false;\r\n})();\r\n/* istanbul ignore next */\r\nfunction prefixStyle(style) {\r\n if (vendor === false) {\r\n return style;\r\n }\r\n if (vendor === 'standard') {\r\n if (style === 'transitionEnd') {\r\n return 'transitionend';\r\n }\r\n return style;\r\n }\r\n return vendor + style.charAt(0).toUpperCase() + style.substr(1);\r\n}\r\nvendor && vendor !== 'standard' ? '-' + vendor.toLowerCase() + '-' : '';\r\nvar transform = prefixStyle('transform');\r\nvar transition = prefixStyle('transition');\r\ninBrowser && prefixStyle('perspective') in elementStyle;\r\n({\r\n transform: transform,\r\n transition: transition,\r\n transitionTimingFunction: prefixStyle('transitionTimingFunction'),\r\n transitionDuration: prefixStyle('transitionDuration'),\r\n transitionDelay: prefixStyle('transitionDelay'),\r\n transformOrigin: prefixStyle('transformOrigin'),\r\n transitionEnd: prefixStyle('transitionEnd'),\r\n transitionProperty: prefixStyle('transitionProperty'),\r\n});\r\nfunction getRect(el) {\r\n /* istanbul ignore if */\r\n if (el instanceof window.SVGElement) {\r\n var rect = el.getBoundingClientRect();\r\n return {\r\n top: rect.top,\r\n left: rect.left,\r\n width: rect.width,\r\n height: rect.height,\r\n };\r\n }\r\n else {\r\n return {\r\n top: el.offsetTop,\r\n left: el.offsetLeft,\r\n width: el.offsetWidth,\r\n height: el.offsetHeight,\r\n };\r\n }\r\n}\n\nvar ObserveDOM = /** @class */ (function () {\r\n function ObserveDOM(scroll) {\r\n this.scroll = scroll;\r\n this.stopObserver = false;\r\n this.init();\r\n }\r\n ObserveDOM.prototype.init = function () {\r\n this.handleMutationObserver();\r\n this.handleHooks();\r\n };\r\n ObserveDOM.prototype.handleMutationObserver = function () {\r\n var _this = this;\r\n if (typeof MutationObserver !== 'undefined') {\r\n var timer_1 = 0;\r\n this.observer = new MutationObserver(function (mutations) {\r\n _this.mutationObserverHandler(mutations, timer_1);\r\n });\r\n this.startObserve(this.observer);\r\n }\r\n else {\r\n this.checkDOMUpdate();\r\n }\r\n };\r\n ObserveDOM.prototype.handleHooks = function () {\r\n var _this = this;\r\n this.hooksFn = [];\r\n this.registerHooks(this.scroll.hooks, this.scroll.hooks.eventTypes.contentChanged, function () {\r\n _this.stopObserve();\r\n // launch a new mutationObserver\r\n _this.handleMutationObserver();\r\n });\r\n this.registerHooks(this.scroll.hooks, this.scroll.hooks.eventTypes.enable, function () {\r\n if (_this.stopObserver) {\r\n _this.handleMutationObserver();\r\n }\r\n });\r\n this.registerHooks(this.scroll.hooks, this.scroll.hooks.eventTypes.disable, function () {\r\n _this.stopObserve();\r\n });\r\n this.registerHooks(this.scroll.hooks, this.scroll.hooks.eventTypes.destroy, function () {\r\n _this.destroy();\r\n });\r\n };\r\n ObserveDOM.prototype.mutationObserverHandler = function (mutations, timer) {\r\n var _this = this;\r\n if (this.shouldNotRefresh()) {\r\n return;\r\n }\r\n var immediateRefresh = false;\r\n var deferredRefresh = false;\r\n for (var i = 0; i < mutations.length; i++) {\r\n var mutation = mutations[i];\r\n if (mutation.type !== 'attributes') {\r\n immediateRefresh = true;\r\n break;\r\n }\r\n else {\r\n if (mutation.target !== this.scroll.scroller.content) {\r\n deferredRefresh = true;\r\n break;\r\n }\r\n }\r\n }\r\n if (immediateRefresh) {\r\n this.scroll.refresh();\r\n }\r\n else if (deferredRefresh) {\r\n // attributes changes too often\r\n clearTimeout(timer);\r\n timer = window.setTimeout(function () {\r\n if (!_this.shouldNotRefresh()) {\r\n _this.scroll.refresh();\r\n }\r\n }, 60);\r\n }\r\n };\r\n ObserveDOM.prototype.startObserve = function (observer) {\r\n var config = {\r\n attributes: true,\r\n childList: true,\r\n subtree: true,\r\n };\r\n observer.observe(this.scroll.scroller.content, config);\r\n };\r\n ObserveDOM.prototype.shouldNotRefresh = function () {\r\n var scroller = this.scroll.scroller;\r\n var scrollBehaviorX = scroller.scrollBehaviorX, scrollBehaviorY = scroller.scrollBehaviorY;\r\n var outsideBoundaries = scrollBehaviorX.currentPos > scrollBehaviorX.minScrollPos ||\r\n scrollBehaviorX.currentPos < scrollBehaviorX.maxScrollPos ||\r\n scrollBehaviorY.currentPos > scrollBehaviorY.minScrollPos ||\r\n scrollBehaviorY.currentPos < scrollBehaviorY.maxScrollPos;\r\n return scroller.animater.pending || outsideBoundaries;\r\n };\r\n ObserveDOM.prototype.checkDOMUpdate = function () {\r\n var _this = this;\r\n var content = this.scroll.scroller.content;\r\n var contentRect = getRect(content);\r\n var oldWidth = contentRect.width;\r\n var oldHeight = contentRect.height;\r\n var check = function () {\r\n if (_this.stopObserver) {\r\n return;\r\n }\r\n contentRect = getRect(content);\r\n var newWidth = contentRect.width;\r\n var newHeight = contentRect.height;\r\n if (oldWidth !== newWidth || oldHeight !== newHeight) {\r\n _this.scroll.refresh();\r\n }\r\n oldWidth = newWidth;\r\n oldHeight = newHeight;\r\n next();\r\n };\r\n var next = function () {\r\n setTimeout(function () {\r\n check();\r\n }, 1000);\r\n };\r\n next();\r\n };\r\n ObserveDOM.prototype.registerHooks = function (hooks, name, handler) {\r\n hooks.on(name, handler, this);\r\n this.hooksFn.push([hooks, name, handler]);\r\n };\r\n ObserveDOM.prototype.stopObserve = function () {\r\n this.stopObserver = true;\r\n if (this.observer) {\r\n this.observer.disconnect();\r\n }\r\n };\r\n ObserveDOM.prototype.destroy = function () {\r\n this.stopObserve();\r\n this.hooksFn.forEach(function (item) {\r\n var hooks = item[0];\r\n var hooksName = item[1];\r\n var handlerFn = item[2];\r\n hooks.off(hooksName, handlerFn);\r\n });\r\n this.hooksFn.length = 0;\r\n };\r\n ObserveDOM.pluginName = 'observeDOM';\r\n return ObserveDOM;\r\n}());\n\nexport default ObserveDOM;\n","/*!\n * better-scroll / scroll-bar\n * (c) 2016-2021 ustbhuangyi\n * Released under the MIT License.\n */\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\n\nfunction warn(msg) {\r\n console.error(\"[BScroll warn]: \" + msg);\r\n}\n\n// ssr support\r\nvar inBrowser = typeof window !== 'undefined';\r\nvar ua = inBrowser && navigator.userAgent.toLowerCase();\r\n!!(ua && /wechatdevtools/.test(ua));\r\nua && ua.indexOf('android') > 0;\r\n/* istanbul ignore next */\r\n((function () {\r\n if (typeof ua === 'string') {\r\n var regex = /os (\\d\\d?_\\d(_\\d)?)/;\r\n var matches = regex.exec(ua);\r\n if (!matches)\r\n return false;\r\n var parts = matches[1].split('_').map(function (item) {\r\n return parseInt(item, 10);\r\n });\r\n // ios version >= 13.4 issue 982\r\n return !!(parts[0] === 13 && parts[1] >= 4);\r\n }\r\n return false;\r\n}))();\r\n/* istanbul ignore next */\r\nvar supportsPassive = false;\r\n/* istanbul ignore next */\r\nif (inBrowser) {\r\n var EventName = 'test-passive';\r\n try {\r\n var opts = {};\r\n Object.defineProperty(opts, 'passive', {\r\n get: function () {\r\n supportsPassive = true;\r\n },\r\n }); // https://github.com/facebook/flow/issues/285\r\n window.addEventListener(EventName, function () { }, opts);\r\n }\r\n catch (e) { }\r\n}\n\nfunction getNow() {\r\n return window.performance &&\r\n window.performance.now &&\r\n window.performance.timing\r\n ? window.performance.now() + window.performance.timing.navigationStart\r\n : +new Date();\r\n}\r\nvar extend = function (target, source) {\r\n for (var key in source) {\r\n target[key] = source[key];\r\n }\r\n return target;\r\n};\r\nfunction between(x, min, max) {\r\n if (x < min) {\r\n return min;\r\n }\r\n if (x > max) {\r\n return max;\r\n }\r\n return x;\r\n}\n\nvar elementStyle = (inBrowser &&\r\n document.createElement('div').style);\r\nvar vendor = (function () {\r\n /* istanbul ignore if */\r\n if (!inBrowser) {\r\n return false;\r\n }\r\n var transformNames = [\r\n {\r\n key: 'standard',\r\n value: 'transform',\r\n },\r\n {\r\n key: 'webkit',\r\n value: 'webkitTransform',\r\n },\r\n {\r\n key: 'Moz',\r\n value: 'MozTransform',\r\n },\r\n {\r\n key: 'O',\r\n value: 'OTransform',\r\n },\r\n {\r\n key: 'ms',\r\n value: 'msTransform',\r\n },\r\n ];\r\n for (var _i = 0, transformNames_1 = transformNames; _i < transformNames_1.length; _i++) {\r\n var obj = transformNames_1[_i];\r\n if (elementStyle[obj.value] !== undefined) {\r\n return obj.key;\r\n }\r\n }\r\n /* istanbul ignore next */\r\n return false;\r\n})();\r\n/* istanbul ignore next */\r\nfunction prefixStyle(style) {\r\n if (vendor === false) {\r\n return style;\r\n }\r\n if (vendor === 'standard') {\r\n if (style === 'transitionEnd') {\r\n return 'transitionend';\r\n }\r\n return style;\r\n }\r\n return vendor + style.charAt(0).toUpperCase() + style.substr(1);\r\n}\r\nfunction addEvent(el, type, fn, capture) {\r\n var useCapture = supportsPassive\r\n ? {\r\n passive: false,\r\n capture: !!capture,\r\n }\r\n : !!capture;\r\n el.addEventListener(type, fn, useCapture);\r\n}\r\nfunction removeEvent(el, type, fn, capture) {\r\n el.removeEventListener(type, fn, {\r\n capture: !!capture,\r\n });\r\n}\r\nvendor && vendor !== 'standard' ? '-' + vendor.toLowerCase() + '-' : '';\r\nvar transform = prefixStyle('transform');\r\nvar transition = prefixStyle('transition');\r\ninBrowser && prefixStyle('perspective') in elementStyle;\r\nvar style = {\r\n transform: transform,\r\n transition: transition,\r\n transitionTimingFunction: prefixStyle('transitionTimingFunction'),\r\n transitionDuration: prefixStyle('transitionDuration'),\r\n transitionDelay: prefixStyle('transitionDelay'),\r\n transformOrigin: prefixStyle('transformOrigin'),\r\n transitionEnd: prefixStyle('transitionEnd'),\r\n transitionProperty: prefixStyle('transitionProperty'),\r\n};\n\nvar EventEmitter = /** @class */ (function () {\r\n function EventEmitter(names) {\r\n this.events = {};\r\n this.eventTypes = {};\r\n this.registerType(names);\r\n }\r\n EventEmitter.prototype.on = function (type, fn, context) {\r\n if (context === void 0) { context = this; }\r\n this.hasType(type);\r\n if (!this.events[type]) {\r\n this.events[type] = [];\r\n }\r\n this.events[type].push([fn, context]);\r\n return this;\r\n };\r\n EventEmitter.prototype.once = function (type, fn, context) {\r\n var _this = this;\r\n if (context === void 0) { context = this; }\r\n this.hasType(type);\r\n var magic = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n _this.off(type, magic);\r\n var ret = fn.apply(context, args);\r\n if (ret === true) {\r\n return ret;\r\n }\r\n };\r\n magic.fn = fn;\r\n this.on(type, magic);\r\n return this;\r\n };\r\n EventEmitter.prototype.off = function (type, fn) {\r\n if (!type && !fn) {\r\n this.events = {};\r\n return this;\r\n }\r\n if (type) {\r\n this.hasType(type);\r\n if (!fn) {\r\n this.events[type] = [];\r\n return this;\r\n }\r\n var events = this.events[type];\r\n if (!events) {\r\n return this;\r\n }\r\n var count = events.length;\r\n while (count--) {\r\n if (events[count][0] === fn ||\r\n (events[count][0] && events[count][0].fn === fn)) {\r\n events.splice(count, 1);\r\n }\r\n }\r\n return this;\r\n }\r\n };\r\n EventEmitter.prototype.trigger = function (type) {\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments[_i];\r\n }\r\n this.hasType(type);\r\n var events = this.events[type];\r\n if (!events) {\r\n return;\r\n }\r\n var len = events.length;\r\n var eventsCopy = __spreadArrays(events);\r\n var ret;\r\n for (var i = 0; i < len; i++) {\r\n var event_1 = eventsCopy[i];\r\n var fn = event_1[0], context = event_1[1];\r\n if (fn) {\r\n ret = fn.apply(context, args);\r\n if (ret === true) {\r\n return ret;\r\n }\r\n }\r\n }\r\n };\r\n EventEmitter.prototype.registerType = function (names) {\r\n var _this = this;\r\n names.forEach(function (type) {\r\n _this.eventTypes[type] = type;\r\n });\r\n };\r\n EventEmitter.prototype.destroy = function () {\r\n this.events = {};\r\n this.eventTypes = {};\r\n };\r\n EventEmitter.prototype.hasType = function (type) {\r\n var types = this.eventTypes;\r\n var isType = types[type] === type;\r\n if (!isType) {\r\n warn(\"EventEmitter has used unknown event type: \\\"\" + type + \"\\\", should be oneof [\" +\r\n (\"\" + Object.keys(types).map(function (_) { return JSON.stringify(_); })) +\r\n \"]\");\r\n }\r\n };\r\n return EventEmitter;\r\n}());\r\nvar EventRegister = /** @class */ (function () {\r\n function EventRegister(wrapper, events) {\r\n this.wrapper = wrapper;\r\n this.events = events;\r\n this.addDOMEvents();\r\n }\r\n EventRegister.prototype.destroy = function () {\r\n this.removeDOMEvents();\r\n this.events = [];\r\n };\r\n EventRegister.prototype.addDOMEvents = function () {\r\n this.handleDOMEvents(addEvent);\r\n };\r\n EventRegister.prototype.removeDOMEvents = function () {\r\n this.handleDOMEvents(removeEvent);\r\n };\r\n EventRegister.prototype.handleDOMEvents = function (eventOperation) {\r\n var _this = this;\r\n var wrapper = this.wrapper;\r\n this.events.forEach(function (event) {\r\n eventOperation(wrapper, event.name, _this, !!event.capture);\r\n });\r\n };\r\n EventRegister.prototype.handleEvent = function (e) {\r\n var eventType = e.type;\r\n this.events.some(function (event) {\r\n if (event.name === eventType) {\r\n event.handler(e);\r\n return true;\r\n }\r\n return false;\r\n });\r\n };\r\n return EventRegister;\r\n}());\n\nvar EventHandler = /** @class */ (function () {\r\n function EventHandler(indicator, options) {\r\n this.indicator = indicator;\r\n this.options = options;\r\n this.hooks = new EventEmitter(['touchStart', 'touchMove', 'touchEnd']);\r\n this.registerEvents();\r\n }\r\n EventHandler.prototype.registerEvents = function () {\r\n var _a = this.options, disableMouse = _a.disableMouse, disableTouch = _a.disableTouch;\r\n var startEvents = [];\r\n var moveEvents = [];\r\n var endEvents = [];\r\n if (!disableMouse) {\r\n startEvents.push({\r\n name: 'mousedown',\r\n handler: this.start.bind(this),\r\n });\r\n moveEvents.push({\r\n name: 'mousemove',\r\n handler: this.move.bind(this),\r\n });\r\n endEvents.push({\r\n name: 'mouseup',\r\n handler: this.end.bind(this),\r\n });\r\n }\r\n if (!disableTouch) {\r\n startEvents.push({\r\n name: 'touchstart',\r\n handler: this.start.bind(this),\r\n });\r\n moveEvents.push({\r\n name: 'touchmove',\r\n handler: this.move.bind(this),\r\n });\r\n endEvents.push({\r\n name: 'touchend',\r\n handler: this.end.bind(this),\r\n }, {\r\n name: 'touchcancel',\r\n handler: this.end.bind(this),\r\n });\r\n }\r\n this.startEventRegister = new EventRegister(this.indicator.indicatorEl, startEvents);\r\n this.moveEventRegister = new EventRegister(window, moveEvents);\r\n this.endEventRegister = new EventRegister(window, endEvents);\r\n };\r\n EventHandler.prototype.BScrollIsDisabled = function () {\r\n return !this.indicator.scroll.enabled;\r\n };\r\n EventHandler.prototype.start = function (e) {\r\n if (this.BScrollIsDisabled()) {\r\n return;\r\n }\r\n var point = (e.touches ? e.touches[0] : e);\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.initiated = true;\r\n this.lastPoint = point[this.indicator.keysMap.point];\r\n this.hooks.trigger(this.hooks.eventTypes.touchStart);\r\n };\r\n EventHandler.prototype.move = function (e) {\r\n if (!this.initiated) {\r\n return;\r\n }\r\n var point = (e.touches ? e.touches[0] : e);\r\n var pointPos = point[this.indicator.keysMap.point];\r\n e.preventDefault();\r\n e.stopPropagation();\r\n var delta = pointPos - this.lastPoint;\r\n this.lastPoint = pointPos;\r\n this.hooks.trigger(this.hooks.eventTypes.touchMove, delta);\r\n };\r\n EventHandler.prototype.end = function (e) {\r\n if (!this.initiated) {\r\n return;\r\n }\r\n this.initiated = false;\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.hooks.trigger(this.hooks.eventTypes.touchEnd);\r\n };\r\n EventHandler.prototype.destroy = function () {\r\n this.startEventRegister.destroy();\r\n this.moveEventRegister.destroy();\r\n this.endEventRegister.destroy();\r\n };\r\n return EventHandler;\r\n}());\n\nvar Indicator = /** @class */ (function () {\r\n function Indicator(scroll, options) {\r\n this.scroll = scroll;\r\n this.options = options;\r\n this.hooksFn = [];\r\n this.wrapper = options.wrapper;\r\n this.direction = options.direction;\r\n this.indicatorEl = this.wrapper.children[0];\r\n this.keysMap = this.getKeysMap();\r\n this.handleFade();\r\n this.handleHooks();\r\n }\r\n Indicator.prototype.handleFade = function () {\r\n if (this.options.fade) {\r\n this.wrapper.style.opacity = '0';\r\n }\r\n };\r\n Indicator.prototype.handleHooks = function () {\r\n var _this = this;\r\n var _a = this.options, fade = _a.fade, interactive = _a.interactive, scrollbarTrackClickable = _a.scrollbarTrackClickable;\r\n var scroll = this.scroll;\r\n var scrollHooks = scroll.hooks;\r\n var translaterHooks = scroll.scroller.translater.hooks;\r\n var animaterHooks = scroll.scroller.animater.hooks;\r\n this.registerHooks(scrollHooks, scrollHooks.eventTypes.refresh, this.refresh);\r\n this.registerHooks(translaterHooks, translaterHooks.eventTypes.translate, function (pos) {\r\n var hasScrollKey = _this.keysMap.hasScroll;\r\n if (_this.scroll[hasScrollKey]) {\r\n _this.updatePosition(pos);\r\n }\r\n });\r\n this.registerHooks(animaterHooks, animaterHooks.eventTypes.time, this.transitionTime);\r\n this.registerHooks(animaterHooks, animaterHooks.eventTypes.timeFunction, this.transitionTimingFunction);\r\n if (fade) {\r\n this.registerHooks(scroll, scroll.eventTypes.scrollEnd, function () {\r\n _this.fade();\r\n });\r\n this.registerHooks(scroll, scroll.eventTypes.scrollStart, function () {\r\n _this.fade(true);\r\n });\r\n // for mousewheel event\r\n if (scroll.eventTypes.mousewheelStart &&\r\n scroll.eventTypes.mousewheelEnd) {\r\n this.registerHooks(scroll, scroll.eventTypes.mousewheelStart, function () {\r\n _this.fade(true);\r\n });\r\n this.registerHooks(scroll, scroll.eventTypes.mousewheelMove, function () {\r\n _this.fade(true);\r\n });\r\n this.registerHooks(scroll, scroll.eventTypes.mousewheelEnd, function () {\r\n _this.fade();\r\n });\r\n }\r\n }\r\n if (interactive) {\r\n var _b = this.scroll.options, disableMouse = _b.disableMouse, disableTouch = _b.disableTouch;\r\n this.eventHandler = new EventHandler(this, {\r\n disableMouse: disableMouse,\r\n disableTouch: disableTouch,\r\n });\r\n var eventHandlerHooks = this.eventHandler.hooks;\r\n this.registerHooks(eventHandlerHooks, eventHandlerHooks.eventTypes.touchStart, this.startHandler);\r\n this.registerHooks(eventHandlerHooks, eventHandlerHooks.eventTypes.touchMove, this.moveHandler);\r\n this.registerHooks(eventHandlerHooks, eventHandlerHooks.eventTypes.touchEnd, this.endHandler);\r\n }\r\n if (scrollbarTrackClickable) {\r\n this.bindClick();\r\n }\r\n };\r\n Indicator.prototype.registerHooks = function (hooks, name, handler) {\r\n hooks.on(name, handler, this);\r\n this.hooksFn.push([hooks, name, handler]);\r\n };\r\n Indicator.prototype.bindClick = function () {\r\n var wrapper = this.wrapper;\r\n this.clickEventRegister = new EventRegister(wrapper, [\r\n {\r\n name: 'click',\r\n handler: this.handleClick.bind(this),\r\n },\r\n ]);\r\n };\r\n Indicator.prototype.handleClick = function (e) {\r\n var newPos = this.calculateclickOffsetPos(e);\r\n var _a = this.scroll, x = _a.x, y = _a.y;\r\n x = this.direction === \"horizontal\" /* Horizontal */ ? newPos : x;\r\n y = this.direction === \"vertical\" /* Vertical */ ? newPos : y;\r\n this.scroll.scrollTo(x, y, this.options.scrollbarTrackOffsetTime);\r\n };\r\n Indicator.prototype.calculateclickOffsetPos = function (e) {\r\n var _a = this.keysMap, poinKey = _a.point, domRectKey = _a.domRect;\r\n var scrollbarTrackOffsetType = this.options.scrollbarTrackOffsetType;\r\n var clickPointOffset = e[poinKey] - this.wrapperRect[domRectKey];\r\n var scrollToWhere = clickPointOffset < this.currentPos ? -1 /* Up */ : 1 /* Down */;\r\n var delta = 0;\r\n var currentPos = this.currentPos;\r\n if (scrollbarTrackOffsetType === \"step\" /* Step */) {\r\n delta = this.scrollInfo.baseSize * scrollToWhere;\r\n }\r\n else {\r\n delta = 0;\r\n currentPos = clickPointOffset;\r\n }\r\n return this.newPos(currentPos, delta, this.scrollInfo);\r\n };\r\n Indicator.prototype.getKeysMap = function () {\r\n if (this.direction === \"vertical\" /* Vertical */) {\r\n return {\r\n hasScroll: 'hasVerticalScroll',\r\n size: 'height',\r\n wrapperSize: 'clientHeight',\r\n scrollerSize: 'scrollerHeight',\r\n maxScrollPos: 'maxScrollY',\r\n pos: 'y',\r\n point: 'pageY',\r\n translateProperty: 'translateY',\r\n domRect: 'top',\r\n };\r\n }\r\n return {\r\n hasScroll: 'hasHorizontalScroll',\r\n size: 'width',\r\n wrapperSize: 'clientWidth',\r\n scrollerSize: 'scrollerWidth',\r\n maxScrollPos: 'maxScrollX',\r\n pos: 'x',\r\n point: 'pageX',\r\n translateProperty: 'translateX',\r\n domRect: 'left',\r\n };\r\n };\r\n Indicator.prototype.fade = function (visible) {\r\n var _a = this.options, fadeInTime = _a.fadeInTime, fadeOutTime = _a.fadeOutTime;\r\n var time = visible ? fadeInTime : fadeOutTime;\r\n var wrapper = this.wrapper;\r\n wrapper.style[style.transitionDuration] = time + 'ms';\r\n wrapper.style.opacity = visible ? '1' : '0';\r\n };\r\n Indicator.prototype.refresh = function () {\r\n var hasScrollKey = this.keysMap.hasScroll;\r\n var scroll = this.scroll;\r\n var x = scroll.x, y = scroll.y;\r\n this.wrapperRect = this.wrapper.getBoundingClientRect();\r\n if (this.canScroll(scroll[hasScrollKey])) {\r\n var _a = this.keysMap, wrapperSizeKey = _a.wrapperSize, scrollerSizeKey = _a.scrollerSize, maxScrollPosKey = _a.maxScrollPos;\r\n this.scrollInfo = this.refreshScrollInfo(this.wrapper[wrapperSizeKey], scroll[scrollerSizeKey], scroll[maxScrollPosKey], this.indicatorEl[wrapperSizeKey]);\r\n this.updatePosition({\r\n x: x,\r\n y: y,\r\n });\r\n }\r\n };\r\n Indicator.prototype.transitionTime = function (time) {\r\n if (time === void 0) { time = 0; }\r\n this.indicatorEl.style[style.transitionDuration] = time + 'ms';\r\n };\r\n Indicator.prototype.transitionTimingFunction = function (easing) {\r\n this.indicatorEl.style[style.transitionTimingFunction] = easing;\r\n };\r\n Indicator.prototype.canScroll = function (hasScroll) {\r\n this.wrapper.style.display = hasScroll ? 'block' : 'none';\r\n return hasScroll;\r\n };\r\n Indicator.prototype.refreshScrollInfo = function (wrapperSize, scrollerSize, maxScrollPos, indicatorElSize) {\r\n var baseSize = Math.max(Math.round((wrapperSize * wrapperSize) / (scrollerSize || wrapperSize || 1)), this.options.minSize);\r\n if (this.options.isCustom) {\r\n baseSize = indicatorElSize;\r\n }\r\n var maxIndicatorScrollPos = wrapperSize - baseSize;\r\n // sizeRatio is negative\r\n var sizeRatio = maxIndicatorScrollPos / maxScrollPos;\r\n return {\r\n baseSize: baseSize,\r\n maxScrollPos: maxIndicatorScrollPos,\r\n minScrollPos: 0,\r\n sizeRatio: sizeRatio,\r\n };\r\n };\r\n Indicator.prototype.updatePosition = function (point) {\r\n var _a = this.caculatePosAndSize(point, this.scrollInfo), pos = _a.pos, size = _a.size;\r\n this.refreshStyle(size, pos);\r\n this.currentPos = pos;\r\n };\r\n Indicator.prototype.caculatePosAndSize = function (point, scrollInfo) {\r\n var posKey = this.keysMap.pos;\r\n var sizeRatio = scrollInfo.sizeRatio, baseSize = scrollInfo.baseSize, maxScrollPos = scrollInfo.maxScrollPos, minScrollPos = scrollInfo.minScrollPos;\r\n var minSize = this.options.minSize;\r\n var pos = Math.round(sizeRatio * point[posKey]);\r\n var size;\r\n // when out of boundary, slow down size reduction\r\n if (pos < minScrollPos) {\r\n size = Math.max(baseSize + pos * 3, minSize);\r\n pos = minScrollPos;\r\n }\r\n else if (pos > maxScrollPos) {\r\n size = Math.max(baseSize - (pos - maxScrollPos) * 3, minSize);\r\n pos = maxScrollPos + baseSize - size;\r\n }\r\n else {\r\n size = baseSize;\r\n }\r\n return {\r\n pos: pos,\r\n size: size,\r\n };\r\n };\r\n Indicator.prototype.refreshStyle = function (size, pos) {\r\n var _a = this.keysMap, translatePropertyKey = _a.translateProperty, sizeKey = _a.size;\r\n var translateZ = this.scroll.options.translateZ;\r\n this.indicatorEl.style[sizeKey] = size + \"px\";\r\n this.indicatorEl.style[style.transform] = translatePropertyKey + \"(\" + pos + \"px)\" + translateZ;\r\n };\r\n Indicator.prototype.startHandler = function () {\r\n this.moved = false;\r\n this.startTime = getNow();\r\n this.transitionTime();\r\n this.scroll.scroller.hooks.trigger(this.scroll.scroller.hooks.eventTypes.beforeScrollStart);\r\n };\r\n Indicator.prototype.moveHandler = function (delta) {\r\n if (!this.moved && !this.indicatorNotMoved(delta)) {\r\n this.moved = true;\r\n this.scroll.scroller.hooks.trigger(this.scroll.scroller.hooks.eventTypes.scrollStart);\r\n }\r\n if (this.moved) {\r\n var newPos = this.newPos(this.currentPos, delta, this.scrollInfo);\r\n this.syncBScroll(newPos);\r\n }\r\n };\r\n Indicator.prototype.endHandler = function () {\r\n if (this.moved) {\r\n var _a = this.scroll, x = _a.x, y = _a.y;\r\n this.scroll.scroller.hooks.trigger(this.scroll.scroller.hooks.eventTypes.scrollEnd, {\r\n x: x,\r\n y: y,\r\n });\r\n }\r\n };\r\n Indicator.prototype.indicatorNotMoved = function (delta) {\r\n var currentPos = this.currentPos;\r\n var _a = this.scrollInfo, maxScrollPos = _a.maxScrollPos, minScrollPos = _a.minScrollPos;\r\n var notMoved = (currentPos === minScrollPos && delta <= 0) ||\r\n (currentPos === maxScrollPos && delta >= 0);\r\n return notMoved;\r\n };\r\n Indicator.prototype.syncBScroll = function (newPos) {\r\n var timestamp = getNow();\r\n var _a = this.scroll, x = _a.x, y = _a.y, options = _a.options, scroller = _a.scroller, maxScrollY = _a.maxScrollY, minScrollY = _a.minScrollY, maxScrollX = _a.maxScrollX, minScrollX = _a.minScrollX;\r\n var probeType = options.probeType, momentumLimitTime = options.momentumLimitTime;\r\n var position = { x: x, y: y };\r\n if (this.direction === \"vertical\" /* Vertical */) {\r\n position.y = between(newPos, maxScrollY, minScrollY);\r\n }\r\n else {\r\n position.x = between(newPos, maxScrollX, minScrollX);\r\n }\r\n scroller.translater.translate(position);\r\n // dispatch scroll in interval time\r\n if (timestamp - this.startTime > momentumLimitTime) {\r\n this.startTime = timestamp;\r\n if (probeType === 1 /* Throttle */) {\r\n scroller.hooks.trigger(scroller.hooks.eventTypes.scroll, position);\r\n }\r\n }\r\n // dispatch scroll all the time\r\n if (probeType > 1 /* Throttle */) {\r\n scroller.hooks.trigger(scroller.hooks.eventTypes.scroll, position);\r\n }\r\n };\r\n Indicator.prototype.newPos = function (currentPos, delta, scrollInfo) {\r\n var maxScrollPos = scrollInfo.maxScrollPos, sizeRatio = scrollInfo.sizeRatio, minScrollPos = scrollInfo.minScrollPos;\r\n var newPos = currentPos + delta;\r\n newPos = between(newPos, minScrollPos, maxScrollPos);\r\n return Math.round(newPos / sizeRatio);\r\n };\r\n Indicator.prototype.destroy = function () {\r\n var _a = this.options, interactive = _a.interactive, scrollbarTrackClickable = _a.scrollbarTrackClickable, isCustom = _a.isCustom;\r\n if (interactive) {\r\n this.eventHandler.destroy();\r\n }\r\n if (scrollbarTrackClickable) {\r\n this.clickEventRegister.destroy();\r\n }\r\n if (!isCustom) {\r\n this.wrapper.parentNode.removeChild(this.wrapper);\r\n }\r\n this.hooksFn.forEach(function (item) {\r\n var hooks = item[0];\r\n var hooksName = item[1];\r\n var handlerFn = item[2];\r\n hooks.off(hooksName, handlerFn);\r\n });\r\n this.hooksFn.length = 0;\r\n };\r\n return Indicator;\r\n}());\n\nvar ScrollBar = /** @class */ (function () {\r\n function ScrollBar(scroll) {\r\n this.scroll = scroll;\r\n this.handleOptions();\r\n this.createIndicators();\r\n this.handleHooks();\r\n }\r\n ScrollBar.prototype.handleHooks = function () {\r\n var _this = this;\r\n var scroll = this.scroll;\r\n scroll.hooks.on(scroll.hooks.eventTypes.destroy, function () {\r\n for (var _i = 0, _a = _this.indicators; _i < _a.length; _i++) {\r\n var indicator = _a[_i];\r\n indicator.destroy();\r\n }\r\n });\r\n };\r\n ScrollBar.prototype.handleOptions = function () {\r\n var userOptions = (this.scroll.options.scrollbar === true\r\n ? {}\r\n : this.scroll.options.scrollbar);\r\n var defaultOptions = {\r\n fade: true,\r\n fadeInTime: 250,\r\n fadeOutTime: 500,\r\n interactive: false,\r\n customElements: [],\r\n minSize: 8,\r\n scrollbarTrackClickable: false,\r\n scrollbarTrackOffsetType: \"step\" /* Step */,\r\n scrollbarTrackOffsetTime: 300,\r\n };\r\n this.options = extend(defaultOptions, userOptions);\r\n };\r\n ScrollBar.prototype.createIndicators = function () {\r\n var indicatorOptions;\r\n var scroll = this.scroll;\r\n var indicators = [];\r\n var scrollDirectionConfigKeys = ['scrollX', 'scrollY'];\r\n var indicatorDirections = [\r\n \"horizontal\" /* Horizontal */,\r\n \"vertical\" /* Vertical */,\r\n ];\r\n var customScrollbarEls = this.options.customElements;\r\n for (var i = 0; i < scrollDirectionConfigKeys.length; i++) {\r\n var key = scrollDirectionConfigKeys[i];\r\n // wanna scroll in specified direction\r\n if (scroll.options[key]) {\r\n var customElement = customScrollbarEls.shift();\r\n var direction = indicatorDirections[i];\r\n var isCustom = false;\r\n var scrollbarWrapper = customElement\r\n ? customElement\r\n : this.createScrollbarElement(direction);\r\n // internal scrollbar\r\n if (scrollbarWrapper !== customElement) {\r\n scroll.wrapper.appendChild(scrollbarWrapper);\r\n }\r\n else {\r\n // custom scrollbar passed by users\r\n isCustom = true;\r\n }\r\n indicatorOptions = __assign(__assign({ wrapper: scrollbarWrapper, direction: direction }, this.options), { isCustom: isCustom });\r\n indicators.push(new Indicator(scroll, indicatorOptions));\r\n }\r\n }\r\n this.indicators = indicators;\r\n };\r\n ScrollBar.prototype.createScrollbarElement = function (direction, scrollbarTrackClickable) {\r\n if (scrollbarTrackClickable === void 0) { scrollbarTrackClickable = this.options.scrollbarTrackClickable; }\r\n var scrollbarWrapperEl = document.createElement('div');\r\n var scrollbarIndicatorEl = document.createElement('div');\r\n scrollbarWrapperEl.style.cssText =\r\n 'position:absolute;z-index:9999;overflow:hidden;';\r\n scrollbarIndicatorEl.style.cssText =\r\n 'box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px;';\r\n scrollbarIndicatorEl.className = 'bscroll-indicator';\r\n if (direction === \"horizontal\" /* Horizontal */) {\r\n scrollbarWrapperEl.style.cssText +=\r\n 'height:7px;left:2px;right:2px;bottom:0;';\r\n scrollbarIndicatorEl.style.height = '100%';\r\n scrollbarWrapperEl.className = 'bscroll-horizontal-scrollbar';\r\n }\r\n else {\r\n scrollbarWrapperEl.style.cssText +=\r\n 'width:7px;bottom:2px;top:2px;right:1px;';\r\n scrollbarIndicatorEl.style.width = '100%';\r\n scrollbarWrapperEl.className = 'bscroll-vertical-scrollbar';\r\n }\r\n if (!scrollbarTrackClickable) {\r\n scrollbarWrapperEl.style.cssText += 'pointer-events:none;';\r\n }\r\n scrollbarWrapperEl.appendChild(scrollbarIndicatorEl);\r\n return scrollbarWrapperEl;\r\n };\r\n ScrollBar.pluginName = 'scrollbar';\r\n return ScrollBar;\r\n}());\n\nexport default ScrollBar;\n","/* eslint-disable */\nimport './index.css'\n/*! @flatjs/forge MIT https://github.com/flatjs */\nimport{createContext as e,useContext as r,isValidElement as n,cloneElement as t,Fragment as a,Children as i,useEffect as o,Component as l,useRef as s,useState as u,useMemo as d,Suspense as c}from\"react\";import{jsx as v,Fragment as f,jsxs as h}from\"react/jsx-runtime\";import{hooks as m}from\"@wove/react/esm/hooks\";import{BackTop as p,Breadcrumb as b,Menu as g,message as y,ConfigProvider as M,Dropdown as S,Space as C,Button as k,Typography as N,Layout as w,Drawer as T,Tabs as I}from\"antd\";import L from\"antd/lib/locale/zh_CN\";import{render as O}from\"react-dom\";import{useParams as E,useSearchParams as B,Link as P,useNavigate as x,Routes as K,Route as R,Navigate as W,BrowserRouter as A,useLocation as j}from\"react-router-dom\";import{isUndefined as F}from\"@dimjs/lang/esm/is-undefined\";import{classNames as H}from\"@dimjs/utils/esm/class-names\";import{pick as _}from\"@dimjs/utils/esm/pick\";import{uri as q}from\"@dimjs/utils/esm/uri\";import{cloneState as D}from\"@dimjs/model\";import{json as U}from\"@dimjs/utils/esm/json\";import{Model as z}from\"@dimjs/model-react\";import{tree as G}from\"@dimjs/utils/esm/tree\";import{exception as J}from\"@wove/react/esm/exception\";import Q from\"@ant-design/icons/es/icons/CaretDownOutlined\";import Y from\"@ant-design/icons/es/icons/LogoutOutlined\";import $ from\"@ant-design/icons/es/icons/CloseOutlined\";import X from\"@ant-design/icons/es/icons/RedoOutlined\";import V from\"@ant-design/icons/es/icons/UserOutlined\";import Z from\"@ant-design/icons/es/icons/MenuFoldOutlined\";import ee from\"@ant-design/icons/es/icons/MenuUnfoldOutlined\";import{Scrollbar as re}from\"@wove/react/esm/scrollbar\";import ne from\"@better-scroll/mouse-wheel\";import te from\"@better-scroll/observe-dom\";import ae from\"@better-scroll/scroll-bar\";function ie(){var n=e(undefined);function t(){var e=r(n);if(e===undefined)throw new Error(\"useCtx must be inside a Provider with a value\");return e}return[t,n.Provider]}var oe=ie(),le=oe[0],se=oe[1];var ue=le;var de=se;var ce=function e(r,n){var t=r.map((function(e){return e.trim()}));if(t.includes(n.trim())){return true}return false};var ve=function e(r){var a=r.children,i=r.aclName;var o=ue(),l=o.elemAclLimits;if(!a||!ce(l,i)){return null}if(n(a)){return v(f,{children:t(a,{\"data-acl\":i})})}return null};var fe=function e(r){var n=r.spinning,t=n===void 0?false:n,a=r.fullScreen,i=a===void 0?false:a,o=r.style,l=o===void 0?{}:o;return v(\"div\",{style:l,className:H(\"loader\",{hidden:!t,fullScreen:i}),children:h(\"div\",{className:\"loader-wrapper\",children:[v(\"div\",{className:\"loader-inner\"}),v(\"div\",{className:\"loader-text\",children:\"LOADING\"})]})})};var he=function e(r){var n=r.loading;var o=H(\"page\",{loading:n,\"page-flex\":!F(r.fullIndex)},r.className);var l=m.useCallbackRef((function(){if(!F(r.fullIndex)){return document.querySelector(\".page-full\")}return document.querySelector(\".page\")}));return h(a,{children:[h(\"div\",{style:r.style,className:o,children:[i.map(r.children,(function(e,n){if(n===r.fullIndex){var i;return v(a,{children:t(e,{className:H(\"page-full\",e==null?void 0:(i=e[\"props\"])==null?void 0:i.className)})},n)}return v(a,{children:e},n)})),v(p,{className:\"back-top\",target:l})]}),n&&v(fe,{spinning:true})]})};var me=function e(){return v(he,{children:v(\"div\",{className:\"error\",children:v(\"h1\",{children:\"404 Page Not Found\"})})})};function pe(e,r){for(var n=0;n<r.length;n++){var t=r[n];t.enumerable=t.enumerable||false;t.configurable=true;if(\"value\"in t)t.writable=true;Object.defineProperty(e,t.key,t)}}function be(e,r,n){if(r)pe(e.prototype,r);if(n)pe(e,n);return e}function ge(){ge=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n){if(Object.prototype.hasOwnProperty.call(n,t)){e[t]=n[t]}}}return e};return ge.apply(this,arguments)}function ye(e,r){e.prototype=Object.create(r.prototype);e.prototype.constructor=e;Me(e,r)}function Me(e,r){Me=Object.setPrototypeOf||function e(r,n){r.__proto__=n;return r};return Me(e,r)}function Se(e){if(e==null)throw new TypeError(\"Cannot destructure undefined\")}function Ce(e,r){if(!e)return;if(typeof e===\"string\")return ke(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===\"Object\"&&e.constructor)n=e.constructor.name;if(n===\"Map\"||n===\"Set\")return Array.from(e);if(n===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ke(e,r)}function ke(e,r){if(r==null||r>e.length)r=e.length;for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function Ne(e,r){var n=typeof Symbol!==\"undefined\"&&e[Symbol.iterator]||e[\"@@iterator\"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Ce(e))||r&&e&&typeof e.length===\"number\"){if(n)e=n;var t=0;return function(){if(t>=e.length)return{done:true};return{done:false,value:e[t++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var we=function e(r,n){return(r||\"\").replace(/\\/$/,\"\")+\"/\"+(n||\"\").replace(/^\\//,\"\")};var Te=function e(r,n){if(n===void 0){n=false}r=r.replace(/\\/$/,\"\");return n?r+\"/\":r};var Ie=function e(r,n){if(n===void 0){n={}}if(!r){console.warn(\"The path is required in toLinkPath()\")}var t=ge({},n);var a=q.getQueryString(\"env\");if(a&&a!==\"prod\"){t.env=a}return q.modifyQueryString(r||\"\",t)};var Le=function e(r,n){if(n===void 0){n={}}if(!r){console.warn(\"The path is required in toLinkPathWithQuery()\")}return q.modifyQueryString(r||\"\",Object.assign(q.paramStrToJson(window.location.href),n))};var Oe=function e(r){var n=q.getQueryString(\"env\")||\"prod\";var t=r.link||{};var a=typeof t===\"object\"?t[n]:t;if(a){var i={};if(n&&n!==\"prod\"){i.env=n}return q.modifyQueryString(a,i)}return};var Ee=function e(r){return!r?false:r.startsWith(\"//\")||new RegExp(\"(https|http)?://\").test(r)};var Be=function e(r){if(r===void 0){r=[]}return r.slice(0).sort((function(e,r){return(r.path||\"\").length-(e.path||\"\").length}))};var Pe=function e(r){if(r===void 0){r=[]}return r.slice(0).sort((function(e,r){return(e.sort||0)-(r.sort||0)}))};var xe=function e(r,n){if(n===void 0){n=[]}for(var t=Ne(r),a;!(a=t()).done;){var i=a.value;n.push(ge({},i,{children:[]}));if(i.children&&i.children.length){e(i.children,n)}}return n};var Ke=function e(r,n){return r.filter((function(e){return e.path})).map((function(e){return we(e.routeBaseName||n,e.path||\"\")})).sort((function(e,r){return(r||\"\").length-(e||\"\").length}))};var Re=function e(r,n){var t=E();var a=B(),i=a[0];n=Te(n,false);var o=location.pathname.replace(n,\"\");var l=o.replace(/^\\//,\"\").substring(o.replace(/^\\//,\"\").indexOf(\"/\"));var s=[];var u=Object.keys(r);var d=[];var c=\"\";var v=\"\";for(var f=0;f<u.length;f++){var h=u[f];if(Te(l,true).startsWith(Te(h,true))){d=r[h];v=we(Te(o,true).split(Te(h,true))[0],\"\"+h);c=l.replace(Te(h,true),\"/\");break}}for(var m=0;m<d.length;m++){var p=d[m];if(Te(c,true).includes(Te(p.path,true))){s.push(Object.assign({},p))}}var b=s.map((function(e){var r=e.to||e.path;var n=typeof r===\"function\"?r({params:t,search:i}):r;var a=e.query||[];var o=q.paramStrToJson(window.location.href);var l=_(o,[\"env\"].concat(a));return{path:n?we(v,n):v,name:e.name,query:l}}));return b};var We=function e(r){var n=r.breads,t=r.routeBaseName;var i=Re(n,t);var o=m.useCallbackRef((function(e){return e.map((function(r,n){var t=r&&v(a,{children:r.name});return r?v(b.Item,{children:e.length-1!==n?v(P,{to:Ie(r.path,r.query),children:t}):t},n):null}))}));if(!i.length){return null}return v(\"div\",{className:\"bread-wrap\",children:v(b,{className:\"bread\",children:o(i.sort((function(e,r){return e.path.length-r.path.length})))})})};var Ae;(function(e){e[\"messageReceived\"]=\"messageReceived\"})(Ae||(Ae={}));var je=\"SEMIC_LAYOUT\";var Fe=function(){function e(){this.events={}}var r=e.prototype;r.on=function e(r,n){if(!this.events[r]){this.events[r]=[]}this.events[r].push(n);return this};r.off=function e(r,n){if(this.events[r]){this.events[r]=this.events[r].filter((function(e){return e!==n}))}return this};r.emit=function e(r,n){var t=this.events[r]||[];if(t.length){console.log(\"IframeEventEmitter.emit(), name: \",r,\"handlers:\",t);for(var a=0;a<t.length;a++){var i=t[a];if(i){i(n)}}}return this};return e}();var He=function e(r){var n=document.querySelector(\"#frame_\"+String(r==null?void 0:r.id));return n};var _e=function e(){var r=document.querySelectorAll('[id^=\"frame_\"]');return r};var qe={broadcastMessages:function e(r){var n=_e();for(var t=0;t<n.length;t++){var a;var i=n[t];(a=i.contentWindow)==null?void 0:a.postMessage(JSON.stringify({type:je,data:r}),\"*\")}return qe},postMessage:function e(r){window.parent.postMessage(JSON.stringify({type:je,data:r}),\"*\");return qe}};var De=new Fe;window.addEventListener(\"message\",(function(e){try{var r=U.parse(e.data),n=r.type,t=r.data;if(n===je){De.emit(Ae.messageReceived,t)}}catch(e){}}));var Ue=function e(r){if(r===void 0){r=function e(){}}var n=m.useCallbackRef(r);o((function(){De.off(Ae.messageReceived,n).on(Ae.messageReceived,n);return function(){De.off(Ae.messageReceived,n)}}),[n]);return qe};var ze={actions:{updateCollapse:function e(r){return{collapsed:r}}},state:{collapsed:false}};var Ge=function e(r){if(r===void 0){r=[]}r=Array.isArray(r)?r:[r];return r.map((function(e){return e.toString()}))};var Je=function e(r,n){if(!r||!n){return false}return r.toString()===n.toString()};var Qe=function e(r){if(r.path){return $e(r)}else if(r.link){var n=Oe(r)||\"\";return n.includes(location.pathname)}return false};var Ye=function e(r){var n;var t=window.GLOBAL||{},a=t.routeBaseName,i=a===void 0?\"/\":a;return we(r.routeBaseName||i,((n=r.path)==null?void 0:n.split(\"?\")[0])||\"\")};var $e=function e(r){var n=Ye(r);return Te(location.pathname,true).startsWith(Te(n,true))};var Xe=function e(r){var n=D(r);var t=Be(n);var a=t.find((function(e){if(e.path){return $e(e)}else{return false}}))||n[0];var i=Pe(n);return{actived:a,items:i,selectedKeys:Ge(a?[a.id]:[])}};var Ve=function e(r,n,t){var a=D(r);var i={id:\"-1\",children:a};var o;G.walkThroughTree(i,(function(e){if(e.children&&e.children.length){e.children=Be(e.children)}else{if(!o){var r=t?Je(e.id,t):Qe(e);if(r){o=e}}}}));if(!o){var l={id:\"-1\",children:r};var s=[];G.walkThroughTree(l,(function(e){s.unshift(e);if(!e.children||e.children.length===0){var r=s.find((function(e){return t?Je(e.id,t):Qe(e)}));if(r){o=r}s=[]}}));o=Ze(o||r[0])}var u=G.findAncestors(i.children,(function(e){var r;return Je(e.id,(r=o)==null?void 0:r.id)}));var d=u.map((function(e){return String(e.id)}));return{actived:o,items:n,selectedKeys:Ge(d),openedKeys:Ge(d)}};var Ze=function e(r){var n=D(r);var t;G.walkThroughTree(n,(function(e){if(!e.children||e.children.length===0){if(!t){t=e}}}));return t||n};var er=function e(r,n){var t=D(r);var a=[];var i={id:\"-1\",children:t};G.walkThroughTree(i,(function(e){if(n.filter((function(r){return Je(r,e.id)})).length){a.push(e)}}));return a};var rr=function e(r,n){return new Promise((function(e,t){var a,i,o;a=D(r);i={id:\"-1\",children:a};return Promise.resolve(G.filterTree(i,(function(e,r,t,a){if(a===void 0){a=0}if(a>=n){return Promise.resolve(false)}return Promise.resolve(true)}))).then((function(r){try{o=r;return e((o==null?void 0:o.children)||[])}catch(e){return t(e)}}),t)}))};var nr=function e(r,n,t,a){var i;var o={};if(t&&a&&a>1){var l=D(r);var s=G.findAncestors(l,(function(e){return e.id===(t==null?void 0:t.id)}));var u=s.slice(0).reverse();o=u[a-1]||parent[0]}return{items:((i=o)==null?void 0:i.children)||[],selectedKeys:n}};var tr=function(){function e(){this.appName=void 0;this.cachedMenuItems={};this.activeItem=void 0;this.flatAllMenus=[];this.appName=window.GLOBAL.appName||\"unkown\"}var r=e.prototype;r.initialize=function e(r){var n=D(r);var t=[];try{var a=sessionStorage.getItem(this.appName);t=a?JSON.parse(a):[]}catch(e){}this.flatAllMenus=xe(n);this.cachedMenuItems[this.appName]=er(n,t)};r.updateTabItem=function e(r,n){if(n===void 0){n={}}var t=this.flatAllMenus.find((function(e){return Je(r,e.id)}));var a=D(this.cachedMenuItems[this.appName]);if(t){var i=Object.assign({},D(t),n);this.activeItem=i;var o=a.findIndex((function(e){return Je(e.id,i.id)}));if(!~o){var l=a.concat(i);this.updateStorage(l)}else{var s=Object.assign({},a[o],n);a.splice(o,1,s);this.updateStorage(a)}}};r.deleteTabItem=function e(r,n){var t=this;var a=this.cachedMenuItems[this.appName];var i=[];var o=[];var l=null;switch(r){case\"closeThis\":o=[n||\"\"];var s=a.findIndex((function(e){return Je(e.id,n)}));l=[a[s+1],a[s-1]].filter(Boolean)[0];break;case\"closeAll\":o=a.slice(1).map((function(e){return e.id}));l=a[0];break;case\"closeOthers\":o=a.filter((function(e){return!Je(e.id,t.activeItem.id)})).map((function(e){return e.id}));l=this.activeItem;break}var u=function e(){var r=c.value;var n=o.find((function(e){return Je(e,r.id)}));if(!n){i.push(r)}};for(var d=Ne(a),c;!(c=d()).done;){u()}this.updateStorage(i);this.activeItem=l||i[0]};r.clearStorage=function e(){sessionStorage.removeItem(this.appName)};r.getTabbarConfig=function e(){var r=this.cachedMenuItems[this.appName];var n=this.activeItem;return{items:r,actived:n,selectedKeys:n?[String(n.id)]:[]}};r.updateStorage=function e(r){this.cachedMenuItems[this.appName]=r;var n=r.map((function(e){return e.id}));sessionStorage.setItem(this.appName,JSON.stringify(n))};return e}();var ar=new tr;var ir={actived:null,items:[],selectedKeys:[]};var or={actions:{reload:function e(r,n){var t=n.actions,a=n.state;void t.initMenus(a)},initMenus:function e(r,n){var t;var a=r.allMenus,i=r.options;var o=n.actions;ar.initialize(a);var l=i.disableTopbarMenu!==true?Xe(a):ge({},ir);var s=i.disableTopbarMenu===true?a||[]:((t=l.actived)==null?void 0:t.children)||[];var u=Ve(a,s);var d=u.actived;void o.activeTabbarMenuByKey({menuItemId:String(d==null?void 0:d.id)});void o.updatePageTitle(d);var c=nr(a,u.selectedKeys,d,i.leaveMenuLevel);return function(e){e.options=i||{};e.allMenus=a;e.topbar=l;e.sidebar=u;e.leafActivedItem=d;e.leaveMenus=c}},activeTopbarMenuByKey:function e(r,n){var t=n.state;var a=t.topbar,i=t.allMenus;var o=a.items.find((function(e){return Je(e.id,r)}));var l=Ve(i,(o==null?void 0:o.children)||[]);return function(e){e.topbar.actived=o;e.topbar.selectedKeys=Ge([r]);e.sidebar=l;e.leafActivedItem=l.actived}},unfoldSidebarMenuByKeys:function e(r){return function(e){e.sidebar.openedKeys=Ge(r)}},activeSidebarMenuByKey:function e(r,n){var t=r.menuItemId,a=r.overrideMenuItem;var i=n.state,o=n.actions;var l=i.sidebar,s=i.allMenus;var u=Ve(s,l.items,t);var d=u.actived;void o.activeTabbarMenuByKey({menuItemId:String(d==null?void 0:d.id),overrideMenuItem:a});void o.updatePageTitle(u.actived);return function(e){e.sidebar=u;e.leafActivedItem=u.actived}},activeTabbarMenuByKey:function e(r,n){Se(n);ar.updateTabItem(r.menuItemId,r.overrideMenuItem);var t=ar.getTabbarConfig();return function(e){e.tabbar=t}},deleteTabbarMenu:function e(r,n){var t;var a=n.actions;ar.deleteTabItem(r.type,r.id);var i=ar.getTabbarConfig();r.onPushStateChange(i.actived);void a.activeSidebarMenuByKey({menuItemId:((t=i.actived)==null?void 0:t.id)||\"\"});return function(e){e.tabbar=i}},updatePageTitle:function e(r,n){Se(n);console.log(\"update page title \"+location.pathname,r);if(r){document.title=r.metaTitle||r.name}}},state:{allMenus:[],options:{disableTopbarMenu:false},topbar:ge({},ir),tabbar:ge({},ir),leafActivedItem:null,sidebar:ge({},ir,{openedKeys:[]}),leaveMenus:{items:[],selectedKeys:[]}}};var lr=z({LayoutCollapseModel:ze,LayoutMenuModel:or});var sr=function e(r){var n=x();var t=ue(),i=t.user,o=t.hostUrl;var l=lr.useStore(\"LayoutMenuModel\"),s=l[0],u=l[1];Ue((function(e){if(e.type===\"redirect_to_frame_layout_menu_item\"){var r=e.data,t=r.menuItemId,a=r.overrideMenuItem;if(t){var i=er(D(s.allMenus),[t]);if(i.length){n(Le(i[0].path));void u.activeSidebarMenuByKey({menuItemId:t,overrideMenuItem:a})}}}}));Ue((function(e){if(e.type===\"session_expired\"){r.onSessionExpired(i,o)}}));return v(a,{})};var ur=function e(r){var n;return v(g,{mode:\"horizontal\",selectedKeys:r.selectedKeys,children:(n=r.leaveMenus)==null?void 0:n.map((function(e){return v(g.Item,{children:v(P,{\"data-name\":\"link-menu\",to:Ie(e.path),children:v(\"span\",{className:\"menu-name\",children:e.name})})},e.id)}))})};var dr=function e(r){var n;var t=r.breads,i=r.children,o=r.onSessionExpired,l=r.verifySessionExpired,s=r.LeaveMenu;var u=m.useGlobal(),d=u.routeBaseName;var c=lr.useStore(\"LayoutMenuModel\"),f=c[0];var p=s||ur;return h(a,{children:[((n=f.leaveMenus.items)==null?void 0:n.length)>0?v(p,{leaveMenus:f.leaveMenus.items,selectedKeys:f.leaveMenus.selectedKeys}):null,h(\"div\",{className:\"layout-page\",children:[v(sr,{onSessionExpired:o,verifySessionExpired:l}),h(\"div\",{className:\"layout-page-wraper\",children:[t?v(We,{breads:t,routeBaseName:d}):null,i]})]})]})};var cr=function e(r){var n=r.routeConfig;return h(K,{children:[n.routes.map((function(e,r){var n=e.path,t=e.caseSensitive,a=e.element,i=e.redirect;return v(R,{path:n+\"/*\",caseSensitive:t,element:i?v(W,{replace:true,state:{},to:Ie(i)},r):v(a,{})},r)})),v(R,{path:\"*\",element:v(me,{})})]})};var vr=function e(r){var n=r.LayoutComponent,t=r.onSignOut,a=r.Footer,i=r.Header,o=r.HeaderBrand,l=r.sidebarWidth,s=r.multiFrameTabs,u=s===void 0?true:s,d=r.disableTopbarMenu,c=r.logoPath,f=r.routeConfig,h=r.breads,m=r.AccountOperateMenus,p=r.onSessionExpired,b=r.verifySessionExpired,g=r.topMenuTheme,y=r.leaveMenuLevel,M=r.LeaveMenu;var S=n||dr;return v(S,{onSignOut:t,Header:i,HeaderBrand:o,Footer:a,logoPath:c,breads:h,sidebarWidth:l,multiFrameTabs:u,disableTopbarMenu:d,AccountOperateMenus:m,onSessionExpired:p,verifySessionExpired:b,topMenuTheme:g,leaveMenuLevel:y,LeaveMenu:M,children:v(cr,{routeConfig:f})})};var fr=function e(r,n){if(r===void 0){r=[]}if(n===void 0){n=[]}return r.length!==n.length||r.some((function(e,r){return!Object.is(e,n[r])}))};var hr={error:null};var mr=function(e){ye(r,e);function r(){var r;for(var n=arguments.length,t=new Array(n),a=0;a<n;a++){t[a]=arguments[a]}r=e.call.apply(e,[this].concat(t))||this;r.state=hr;r.updatedWithError=false;r.resetErrorBoundary=function(){var e;for(var n=arguments.length,t=new Array(n),a=0;a<n;a++){t[a]=arguments[a]}r.props.onReset==null?void 0:(e=r.props).onReset.apply(e,t);r.reset()};return r}r.getDerivedStateFromError=function e(r){return{error:r}};var t=r.prototype;t.reset=function e(){this.updatedWithError=false;this.setState(hr)};t.componentDidCatch=function e(r,n){var t,a;(t=(a=this.props).onError)==null?void 0:t.call(a,r,n)};t.componentDidMount=function e(){var r=this.state.error;if(r!==null){this.updatedWithError=true}};t.componentDidUpdate=function e(r){var n=this.state.error;var t=this.props.resetKeys;if(n!==null&&!this.updatedWithError){this.updatedWithError=true;return}if(n!==null&&fr(r.resetKeys,t)){var a,i;(a=(i=this.props).onResetKeysChange)==null?void 0:a.call(i,r.resetKeys,t);this.reset()}};t.render=function e(){var r=this.state.error;var t=this.props,a=t.fallbackRender,i=t.FallbackComponent,o=t.fallback;if(r!==null){var l={error:r,resetErrorBoundary:this.resetErrorBoundary};if(n(o)){return o}else if(typeof a===\"function\"){return a(l)}else if(i){return v(i,ge({},l))}else{throw new Error(\"react-error-boundary requires either a fallback, fallbackRender, or FallbackComponent prop\")}}return this.props.children};return r}(l);function pr(e){var r=e.error,n=e.resetErrorBoundary;return h(\"div\",{role:\"alert\",children:[v(\"p\",{children:\"Something went wrong:\"}),v(\"pre\",{children:r.message}),v(\"button\",{onClick:n,children:\"Try again\"})]})}var br=function e(r){var n=Ue();var t=J.useException(),a=t[0],i=t[1];m.useUpdateEffect((function(){if(a&&a.message){i();if(r.verifySessionExpired(a)){n.postMessage({type:\"session_expired\"});return}void y.error(a.message)}}),[a]);return null};var gr=function e(r,n,t,a){var i=t.logoPath,o=i===void 0?\"\":i,l=t.onSignOut,s=t.sidebarWidth,u=s===void 0?220:s,d=t.componentSize,c=d===void 0?\"middle\":d,f=t.multiFrameTabs,p=t.disableTopbarMenu,b=t.LayoutComponent,g=t.Footer,y=t.Header,S=t.HeaderBrand,C=t.locale,k=C===void 0?L:C,N=t.disableErrorHandling,w=N===void 0?false:N,T=t.AccountOperateMenus,I=t.ErrorHandling,E=t.onSessionExpired,B=t.verifySessionExpired,P=t.topMenuTheme,x=P===void 0?\"dark\":P,K=t.leaveMenuLevel,R=t.LeaveMenu;var W=m.useGlobal();var j=I||br;O(v(A,{basename:W.routeBaseName,children:v(M,{locale:k,componentSize:c,space:{size:c},children:h(mr,{onError:t.onError,onReset:t.onErrorReset,FallbackComponent:t.ErrorFallback||pr,children:[w?null:v(j,{verifySessionExpired:B}),v(de,{value:W,children:v(vr,{routeConfig:r,logoPath:o,breads:n,onSignOut:l,sidebarWidth:u,multiFrameTabs:f,disableTopbarMenu:p,Header:y,Footer:g,HeaderBrand:S,LayoutComponent:b,AccountOperateMenus:T,onSessionExpired:E,verifySessionExpired:B,topMenuTheme:x,leaveMenuLevel:K,LeaveMenu:R})})]})})}),document.getElementById(\"app\"),a)};var yr={useAppCtx:ue};var Mr=function e(){var r=j(),n=r.hash,t=r.pathname,a=r.search;var i=lr.useStore(\"LayoutMenuModel\"),l=i[1];var s=m.useDebounceCallback((function(){void l.reload()}),100);o((function(){s()}),[n,s,t,a])};var Sr;if(typeof window!==\"undefined\"){var Cr=function e(r){return{media:r,matches:false,addListener:function e(){},removeListener:function e(){}}};window.matchMedia=window.matchMedia||Cr;Sr=require(\"enquire.js\")}var kr=\"only screen and (max-width: 767.99px)\";function Nr(e,r){if(r===void 0){r=kr}if(!Sr){return}var n={match:function r(){e&&e(true)},unmatch:function r(){e&&e()}};Sr.register(r,n);return n}function wr(e,r){if(r===void 0){r=kr}if(!Sr){return}Sr.unregister(r,e)}var Tr=function e(){var r=s(null);var n=u(false),t=n[0],a=n[1];o((function(){r.current=Nr((function(e){if(t!==e){a(e)}}));return function(){wr(r.current)}}),[]);return t};var Ir={useIframe:Ue,useMobileDetect:Tr,useLayoutHistory:Mr,useBread:Re};var Lr=function e(r){var n=r.AccountOperateMenus,t=r.onSignOut;var a=ue(),i=a.user,o=a.hostUrl;var l=m.useCallbackRef((function(){t&&t(i,o)}));var s=v(g,{subMenuCloseDelay:0,children:v(g.Item,{onClick:l,icon:v(Y,{}),children:\"退出登录\"},\"0\")});return v(\"div\",{className:\"header-account\",children:v(S,{overlay:n?v(n,{}):s,arrow:true,trigger:[\"click\",\"hover\"],overlayClassName:\"account-dropdown-overlay\",getPopupContainer:function e(){return document.querySelector(\".header-account\")},children:v(\"div\",{className:\"header-account-wraper\",children:h(C,{size:[8,0],children:[v(k,{shape:\"circle\",icon:v(V,{})},\"user\"),v(\"div\",{style:{maxWidth:68},children:v(N.Text,{ellipsis:true,children:(i==null?void 0:i.userName)||\"...\"})})]})})})})};var Or=function e(r){var n=ue(),a=n.defaultPage;var i=m.useCallbackRef((function(){if(a){window.location.href=a}}));if(r.children){return v(\"div\",{className:\"layout-brand\",style:{width:r.brandWidth},onClick:i,children:t(r.children,{})})}return v(\"div\",{className:\"layout-brand\",style:{width:r.brandWidth},onClick:i,children:v(\"div\",{className:\"brand-logo\",style:{backgroundImage:\"url(\"+r.logoPath+\")\"}})})};var Er=function e(){return v(\"footer\",{children:\"sights layout ©2021 Created by TCSK\"})};var Br=function e(r){var n=lr.useStore(\"LayoutCollapseModel\"),t=n[0];return v(w.Header,{className:H(\"sights-header\",{collapsed:t.collapsed}),children:r.children})};var Pr=function e(){var r=lr.useStore(\"LayoutCollapseModel\"),n=r[0],t=r[1];var a=lr.useStore(\"LayoutMenuModel\"),i=a[0],o=a[1];var l=m.useCallbackRef((function(){var e=i.sidebar.openedKeys;void o.unfoldSidebarMenuByKeys([]);void t.updateCollapse(!n.collapsed);setTimeout((function(){void o.unfoldSidebarMenuByKeys(e)}),100)}));return v(\"div\",{className:\"layout-shrink\",onClick:l,children:n.collapsed?v(ee,{}):v(Z,{})})};var xr=function e(r){var n=lr.useStore(\"LayoutMenuModel\"),t=n[0];var a=t.topbar,i=a.items,o=a.selectedKeys,l=a.actived;var s=m.useCallbackRef((function(e){return function(r){if(Je(l==null?void 0:l.id,e.id)){r.preventDefault();r.stopPropagation()}else{ar.clearStorage()}}}));return v(g,{theme:r.topMenuTheme,mode:\"horizontal\",className:\"frame-topbar-menus\",selectedKeys:o,children:i.map((function(e){var r=Oe(e);var n=Ee(r);return v(g.Item,{\"data-key\":e.id,\"data-link\":n?\"1\":\"0\",children:n?v(\"a\",{href:r,onClick:s(e),target:e.target||undefined,rel:\"noopener noreferrer\",children:e.name}):e.name},e.id)}))})};var Kr=function e(r){var n=r.iconImg,t=r.iconImgActive;if(n&&t){return h(a,{children:[v(\"span\",{className:\"menu-icon-img\",style:{backgroundImage:\"url(\"+n+\")\"}}),v(\"span\",{className:\"menu-icon-img-active\",style:{backgroundImage:\"url(\"+t+\")\"}})]})}return null};var Rr=function e(r,n,t){return r.map((function(r){if(r.children&&r.children.length){return v(g.SubMenu,{\"data-key\":r.id,\"data-name\":\"parent\",className:\"level-\"+n,title:h(a,{children:[v(Kr,ge({},r)),v(\"span\",{className:\"menu-name\",children:r.name})]}),children:e(r.children,n+1,t)},r.id)}return v(g.Item,{\"data-key\":r.id,children:h(\"a\",{\"data-name\":\"href-menu\",className:\"level-\"+n,onClick:t(r),children:[v(Kr,ge({},r)),v(\"span\",{className:\"menu-name\",children:r.name})]})},r.id)}))};var Wr=function e(r){var n=x();var t=r.collapsed,a=r.onCollapseChange,i=r.style,o=r.isMobile;var l=lr.useStore(\"LayoutMenuModel\"),s=l[0],u=l[1];var c=s.sidebar,f=c.items,h=c.openedKeys,p=c.selectedKeys;Mr();var b=m.useCallbackRef((function(e){if(!t){void u.unfoldSidebarMenuByKeys(e)}}));var y=m.useCallbackRef((function(){if(o){a(true)}}));var M=m.useCallbackRef((function(e){return function(r){var t;r.preventDefault();r.stopPropagation();if(o){a(true)}if(!Je(e.id,(t=s.leafActivedItem)==null?void 0:t.id)){n(Le(e.path))}}}));var S=d((function(){return t?{}:{openKeys:h}}),[t,h]);return v(g,ge({mode:\"inline\",style:i,className:\"frame-menu-sidebar\",selectedKeys:p,onOpenChange:b,onClick:y},S,{children:Rr(f,1,M)}))};var Ar=function e(r){var n=r.collapsed,t=r.sidebarWidth,a=r.isMobile,i=r.onCollapseChange;var o=s(null);var l=m.useCallbackRef((function(e){var r;i(e);(r=o.current)==null?void 0:r.refresh()}));var u=m.useCallbackRef((function(e){if(a)return;i(e)}));var d=[[te,{observeDOM:true}],[ae,{scrollbar:{fade:false,interactive:true,scrollbarTrackClickable:true,scrollbarTrackOffsetType:\"clickedPoint\"}}],[ne,{mouseWheel:{speed:20,invert:false,easeTime:300}}]];return v(w.Sider,{width:t,breakpoint:\"lg\",trigger:null,collapsible:true,theme:\"light\",collapsed:n,onBreakpoint:u,className:\"frame-sidebar\",children:v(\"div\",{className:\"frame-sidebar-menu-container\",children:v(re,{scrollY:true,tap:\"tap\",click:true,bounce:false,scrollX:false,className:\"scrollbar\",plugins:d,ref:o,addContentNode:false,children:v(Wr,{isMobile:a,collapsed:n,onCollapseChange:l})})})})};var jr=function e(r){var n=r.drawerWidth,t=r.logoPath,a=r.HeaderBrand;var i=lr.useStore(\"LayoutCollapseModel\"),o=i[0],l=i[1];var s=Tr();var u=m.useCallbackRef((function(){void l.updateCollapse(!o.collapsed)}));var d=m.useCallbackRef((function(e){void l.updateCollapse(e)}));return v(f,{children:s?v(T,{maskClosable:true,closable:false,onClose:u,visible:!o.collapsed,className:\"frame-siderbar-drawer\",placement:\"left\",width:n,style:{padding:0,height:\"100vh\"},children:h(\"div\",{className:\"frame-sidebar-layout\",children:[v(Or,{brandWidth:n,logoPath:t,children:a?v(a,{brandWidth:n,logoPath:t}):null}),v(Ar,{isMobile:s,collapsed:false,sidebarWidth:n,onCollapseChange:d})]})}):v(\"div\",{className:\"frame-sidebar-layout\",children:v(Ar,{isMobile:s,collapsed:o.collapsed,sidebarWidth:n,onCollapseChange:d})})})};var Fr=function e(){var r=x();var n=lr.useStore(\"LayoutMenuModel\"),t=n[0],a=n[1];var i=t.tabbar,l=i.actived,s=i.items;var u=m.useCallbackRef((function(){var e=He(l);if(e){var r;(r=e.contentWindow)==null?void 0:r.location.reload()}}));var d=m.useCallbackRef((function(e){if(e){r(Le(e.path))}}));var c=m.useCallbackRef((function(e){if(e===(l==null?void 0:l.id)){return}var r=s.find((function(r){return Je(r.id,e)}));d(r);void a.activeSidebarMenuByKey({menuItemId:e})}));var f=m.useCallbackRef((function(e){void a.deleteTabbarMenu({id:e,type:\"closeThis\",onPushStateChange:d})}));var p=m.useCallbackRef((function(){void a.deleteTabbarMenu({type:\"closeOthers\",onPushStateChange:d})}));var b=m.useCallbackRef((function(){void a.deleteTabbarMenu({type:\"closeAll\",onPushStateChange:d})}));var y=m.useCallbackRef((function(){void a.activeSidebarMenuByKey({menuItemId:\"\"})}));o((function(){window.addEventListener(\"popstate\",y,false);return function(){window.removeEventListener(\"popstate\",y,false)}}),[y]);var M=h(g,{style:{width:120},children:[v(g.Item,{icon:v(X,{}),onClick:u,children:\"刷新当前\"},\"0\"),v(g.Item,{icon:v($,{}),onClick:p,disabled:s.length===1,children:\"关闭其他\"},\"1\"),v(g.Item,{icon:v(Y,{}),onClick:b,disabled:s.length===1,children:\"关闭所有\"},\"2\")]});return v(I,{hideAdd:true,activeKey:String(l==null?void 0:l.id),onChange:c,style:{height:\"100%\"},className:\"frame-layout\",type:s.length===1?\"card\":\"editable-card\",onEdit:f,tabBarExtraContent:{right:v(S,{overlay:M,arrow:true,placement:\"bottomCenter\",overlayClassName:\"menu-tabs-operate-dropdown\",trigger:[\"click\",\"hover\"],children:v(Q,{})})},children:s.map((function(e){var r=Oe(e);return v(I.TabPane,{tab:e.name,style:{height:\"100%\"},closable:true,closeIcon:v(\"span\",{className:\"tab-icon\"}),children:v(\"iframe\",{id:\"frame_\"+String(e.id),src:r,width:\"100%\",height:\"100%\",style:{border:\"none\"}})},String(e.id))}))})};var Hr=function e(){var r=lr.useStore(\"LayoutMenuModel\"),n=r[0];var t=n.sidebar.actived;return v(\"iframe\",{id:\"frame_\"+String(t==null?void 0:t.id),src:t?Oe(t)||\"\":\"\",width:\"100%\",height:\"100%\",style:{border:\"none\"}})};var _r=function e(r){var n=r.onSignOut,t=r.disableTopbarMenu,i=r.sidebarWidth,o=r.multiFrameTabs,l=o===void 0?true:o,s=r.logoPath,u=r.Footer,d=u===void 0?Er:u,c=r.Header,f=r.HeaderBrand,p=r.AccountOperateMenus,b=r.onSessionExpired,g=r.verifySessionExpired,y=r.topMenuTheme;var M=lr.useStore(\"LayoutMenuModel\"),S=M[0],C=M[1];var k=ue(),N=k.menus;var T=S.sidebar.items;var I=Tr();m.useModelEffect((function(){void C.initMenus({allMenus:N,options:{disableTopbarMenu:t}})}));return h(a,{children:[v(sr,{onSessionExpired:b,verifySessionExpired:g}),h(Br,{children:[!I?v(Or,{brandWidth:i,logoPath:s,children:f?v(f,{brandWidth:i,logoPath:s}):null}):null,v(Pr,{}),h(\"div\",{className:\"header-fill\",children:[t?null:v(xr,{topMenuTheme:y}),c?v(c,{}):null]}),v(Lr,{onSignOut:n,AccountOperateMenus:p})]}),h(w,{hasSider:false,className:\"sights-frame-layout\",children:[v(\"div\",{className:\"header-space-fix\"}),h(\"div\",{className:\"semic-layout\",children:[T&&T.length?v(jr,{drawerWidth:i,logoPath:s,HeaderBrand:f}):null,v(w.Content,{className:H(\"content\",{}),children:l?v(Fr,{}):v(Hr,{})})]}),d?v(d,{}):null]})]})};var qr=function e(r){var n=lr.useStore(\"LayoutMenuModel\"),t=n[0];var a=t.topbar,i=a.items,o=a.selectedKeys,l=a.actived;var s=m.useCallbackRef((function(e){return function(r){if(Je(l==null?void 0:l.id,e.id)){r.preventDefault();r.stopPropagation()}}}));return v(g,{theme:r.topMenuTheme,mode:\"horizontal\",className:\"topbar-menus\",selectedKeys:o,children:i.map((function(e){var r=Oe(e);var n=Ee(r);return v(g.Item,{\"data-key\":e.id,\"data-link\":n?\"1\":\"0\",children:n?v(\"a\",{href:r,onClick:s(e),target:e.target||undefined,rel:\"noopener noreferrer\",children:e.name}):e.name},e.id)}))})};var Dr=function e(r){var n=r.iconImg,t=r.iconImgActive;if(n&&t){return h(a,{children:[v(\"span\",{className:\"menu-icon-img\",style:{backgroundImage:\"url(\"+n+\")\"}}),v(\"span\",{className:\"menu-icon-img-active\",style:{backgroundImage:\"url(\"+t+\")\"}})]})}return null};var Ur=function e(r,n,t,i){return r.map((function(r){if(r.children&&r.children.length){return v(g.SubMenu,{\"data-key\":r.id,\"data-name\":\"parent\",className:\"level-\"+n,title:h(a,{children:[v(Dr,ge({},r)),v(\"span\",{className:\"menu-name\",children:r.name})]}),children:e(r.children,n+1,t)},r.id)}var i=Oe(r);var o=Ee(i);if(o){return v(g.Item,{\"data-key\":r.id,children:h(\"a\",{\"data-name\":\"href-menu\",className:\"level-\"+n,href:i,target:r.target||\"_self\",children:[v(Dr,ge({},r)),v(\"span\",{className:\"menu-name\",children:r.name})]})},r.id)}return v(g.Item,{\"data-key\":r.id,children:h(P,{\"data-name\":\"link-menu\",onClick:t(r.id),className:\"level-\"+n,to:Ie(r.path),children:[v(Dr,ge({},r)),v(\"span\",{className:\"menu-name\",children:r.name})]})},r.id)}))};var zr=function e(r){var n=r.collapsed,t=r.onCollapseChange,a=r.style,i=r.isMobile;var l=lr.useStore(\"LayoutMenuModel\"),s=l[0],c=l[1];var f=s.sidebar,h=f.items,p=f.openedKeys,b=f.selectedKeys;var y=u([]),M=y[0],S=y[1];Mr();var C=m.useCallbackRef((function(e){if(!n){void c.unfoldSidebarMenuByKeys(e)}}));var k=m.useCallbackRef((function(){if(i){t(true)}}));var N=m.useCallbackRef((function(){return function(){}}));var w=d((function(){return n?{}:{openKeys:p}}),[n,p]);o((function(){void function(){return new Promise((function(e,n){if(r.leaveMenuLevel&&r.leaveMenuLevel>1){void rr(h,r.leaveMenuLevel).then((function(e){S(e)}))}else{S(h)}return e()}))}()}),[h,r.leaveMenuLevel]);return v(g,ge({mode:\"inline\",style:a,className:\"menu-sidebar\",selectedKeys:b,onOpenChange:C,onClick:k},w,{children:Ur(M,1,N,s.sidebar.items)}))};var Gr=function e(r){var n=r.collapsed,t=r.sidebarWidth,a=r.isMobile,i=r.onCollapseChange;var o=s(null);var l=m.useCallbackRef((function(e){var r;i(e);(r=o.current)==null?void 0:r.refresh()}));var u=m.useCallbackRef((function(e){if(a)return;i(e)}));var d=[[te,{observeDOM:true}],[ae,{scrollbar:{fade:false,interactive:true,scrollbarTrackClickable:true,scrollbarTrackOffsetType:\"clickedPoint\"}}],[ne,{mouseWheel:{speed:20,invert:false,easeTime:300}}]];return v(w.Sider,{width:t,breakpoint:\"lg\",trigger:null,collapsible:true,theme:\"light\",collapsed:n,onBreakpoint:u,className:\"sidebar\",children:v(\"div\",{className:\"sidebar-menu-container\",children:v(re,{scrollY:true,tap:\"tap\",click:true,bounce:false,scrollX:false,className:\"scrollbar\",plugins:d,ref:o,addContentNode:false,children:v(zr,{isMobile:a,collapsed:n,onCollapseChange:l,leaveMenuLevel:r.leaveMenuLevel})})})})};var Jr=function e(r){var n=lr.useStore(\"LayoutCollapseModel\"),t=n[0],a=n[1];var i=Tr();var o=m.useCallbackRef((function(){void a.updateCollapse(!t.collapsed)}));var l=m.useCallbackRef((function(e){void a.updateCollapse(e)}));return v(f,{children:i?v(T,{maskClosable:true,closable:false,onClose:o,visible:!t.collapsed,placement:\"left\",width:r.drawerWidth,className:\"siderbar-drawer\",style:{padding:0,height:\"100vh\"},children:h(\"div\",{className:\"sidebar-layout\",children:[v(Or,{brandWidth:r.drawerWidth,logoPath:r.logoPath}),v(Gr,{isMobile:i,collapsed:false,sidebarWidth:r.drawerWidth,onCollapseChange:l,leaveMenuLevel:r.leaveMenuLevel})]})}):v(\"div\",{className:\"sidebar-layout\",children:v(Gr,{isMobile:i,collapsed:t.collapsed,sidebarWidth:r.drawerWidth,onCollapseChange:l,leaveMenuLevel:r.leaveMenuLevel})})})};var Qr=function e(r){var n=r.onSignOut,t=r.disableTopbarMenu,i=r.sidebarWidth,o=r.logoPath,l=r.Header,s=r.HeaderBrand,u=r.Footer,d=u===void 0?Er:u,c=r.children,f=r.breads,p=r.AccountOperateMenus,b=r.onSessionExpired,g=r.verifySessionExpired,y=r.topMenuTheme,M=r.leaveMenuLevel,S=r.LeaveMenu;var C=lr.useStore(\"LayoutMenuModel\"),k=C[0],N=C[1];var T=ue(),I=T.menus;var L=k.sidebar.items;var O=Tr();m.useModelEffect([function(){return N.initMenus({allMenus:I,options:{disableTopbarMenu:t,leaveMenuLevel:M}})}]);return h(a,{children:[h(Br,{children:[!O?v(Or,{brandWidth:i,logoPath:o,children:s?v(s,{brandWidth:i,logoPath:o}):null}):null,v(Pr,{}),h(\"div\",{className:\"header-fill\",children:[t?null:v(qr,{topMenuTheme:y}),l?v(l,{}):null]}),v(Lr,{onSignOut:n,AccountOperateMenus:p})]}),h(w,{hasSider:false,className:\"sights-layout\",children:[v(\"div\",{className:\"header-space-fix\"}),h(\"div\",{className:\"semic-layout\",children:[L&&L.length?v(Jr,{drawerWidth:i,logoPath:o,leaveMenuLevel:M}):null,v(w.Content,{className:H(\"content\",{}),children:v(dr,{logoPath:o,sidebarWidth:i,breads:f,onSignOut:n,onSessionExpired:b,verifySessionExpired:g,LeaveMenu:S,children:c})})]}),d?v(d,{}):null]})]})};function Yr(e,r){if(r===void 0){r=\"children\"}var n=[Object.assign({},e)];if(e[r]&&e[r].length>0){return n.concat(e[r].map((function(e){return Yr(e,r)})).reduce((function(e,r){return e.concat(r)}),[]))}return n}var $r=function(){function e(e){var r;this.flattenTree=[];this.flattenTreePaths=[];this.modules=[];this.routeBaseName=\"/\";this.modules=e;var n=window.GLOBAL||{},t=n.menus,a=t===void 0?[]:t,i=n.routeBaseName,o=i===void 0?\"/\":i;var l=Xe(a);var s=((r=l.actived)==null?void 0:r.children)||[];this.routeBaseName=o;this.flattenTree=Yr({children:s}).slice(1);this.flattenTreePaths=Ke(this.flattenTree,this.routeBaseName)}var r=e.prototype;r.findOneByBestMatchedRequestUrlPath=function e(r,n){var t=this,a;var i=this.flattenTreePaths;var o=i.find((function(e){if(e!==n){return Te(r,true).startsWith(Te(e,true))}}));var l=this.flattenTree.find((function(e){return we(e.routeBaseName||t.routeBaseName,e.path||\"\")===o}));return l&&((a=l.children)==null?void 0:a.length)>0?l.children[0].path:l==null?void 0:l.path};be(e,[{key:\"routes\",get:function e(){var r=this;var n=[];this.modules.forEach((function(e){var t=e.path,a=e.caseSensitive,i=e.module;var o=e.redirect;if(o&&typeof o===\"string\"){var l=r.findOneByBestMatchedRequestUrlPath(we(r.routeBaseName,o),we(r.routeBaseName,e.path));o=l||r.modules[0].path||o}n.push({path:t,caseSensitive:a,redirect:o,element:function e(r){return i?v(c,{fallback:v(fe,{spinning:true}),children:v(i,ge({},r))}):null}})}));return n}}]);return e}();var Xr=function e(r){var n;var t=window.GLOBAL||{},a=t.menus,i=a===void 0?[]:a,o=t.routeBaseName,l=o===void 0?\"/\":o;var s=Xe(i);var u=((n=s.actived)==null?void 0:n.children)||[];var d=Yr({children:u}).slice(1);var c=Ke(d,l);var v=[];r.filter((function(e){var r=c.find((function(r){return Te(r,true).startsWith(we(l,e.path||\"\"))}));if(r){v.push(e)}}));return v};var Vr={ensureSlash:Te,isHttpUri:Ee,toLinkPath:Ie,toLinkPathWithQuery:Le,urlJoin:we,menuRouteFilter:Xr};export{ve as Acl,We as Bread,_r as LayoutFrame,Qr as LayoutNormal,dr as LayoutPage,ur as LeaveMenuDefault,fe as Loader,he as Page,$r as RouteConfig,gr as bootstrap,yr as context,Ir as hooks,ce as isElemVisible,Vr as utils};\n//# sourceMappingURL=index.js.map\n","// This icon file is generated automatically.\nvar SaveOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z\" } }] }, \"name\": \"save\", \"theme\": \"outlined\" };\nexport default SaveOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport SaveOutlinedSvg from \"@ant-design/icons-svg/es/asn/SaveOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar SaveOutlined = function SaveOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: SaveOutlinedSvg\n }));\n};\n\nSaveOutlined.displayName = 'SaveOutlined';\nexport default /*#__PURE__*/React.forwardRef(SaveOutlined);","import { SaveOutlined } from '@ant-design/icons';\nimport { Button, Space } from 'antd';\n\nexport interface DrawerOperationProps {\n loading?: boolean;\n okText?: string;\n cancelText?: string;\n onOk?: () => void;\n onCancel?: () => void;\n hideOkBtn?: boolean;\n}\n\nexport const DrawerOperation = ({\n loading,\n okText = '保存',\n cancelText = '取消',\n onCancel,\n onOk,\n hideOkBtn,\n}: DrawerOperationProps) => {\n return (\n <div className=\"fixed-bottom-block\">\n <Space size=\"middle\">\n <Button className=\"cancel-btn\" onClick={onCancel}>\n {cancelText}\n </Button>\n {hideOkBtn != true && (\n <Button type=\"primary\" className=\"ok-btn\" onClick={onOk} loading={loading} icon={<SaveOutlined />}>\n {okText}\n </Button>\n )}\n </Space>\n </div>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Page } from '@sights/layout';\nimport { Drawer, DrawerProps } from 'antd';\nimport React, { FC } from 'react';\nimport { DrawerOperation, DrawerOperationProps } from './drawer-operation';\nimport './style.less';\n\nexport type DrawerFormProps = {\n className?: string;\n /**\n * 整个drawer页面级的spinning <Page loading />\n */\n pageLoading?: boolean;\n // 设置了 DrawerProps footer属性后,operationProps配置将失效\n operationProps?: DrawerOperationProps;\n} & DrawerProps;\n\nexport const DrawerWraper: FC<DrawerFormProps> = (props) => {\n const { pageLoading, className, width = 600, children, footer, operationProps, ...otherProps } = props;\n\n return (\n <Drawer\n className={classNames('drawer-wraper', className)}\n keyboard={false}\n forceRender={true}\n destroyOnClose={true}\n {...otherProps}\n width={'80%'}\n contentWrapperStyle={{ maxWidth: width }}\n footer={footer ? footer : <DrawerOperation {...operationProps} />}\n size=\"default\"\n >\n <div className=\"drawer-wraper-content\">\n <Page loading={pageLoading}>{children}</Page>\n </div>\n </Drawer>\n );\n};\n","import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { DrawerActionsParamType, DrawerModel, DrawerStateType } from './drawer.model';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst drawerModels: Record<string, API<ModelType<DrawerStateType, DrawerActionsParamType, any>>> = {};\n\n/**\n * drawer弹窗模型\n * @param key 唯一值必传\n * @returns\n *\n * ```\n * 使用方式\n * const [drawerState, drawerActions] = createDrawerWraperModel('key值').useStore();\n * ```\n */\nexport const createDrawerWraperModel = (key: string) => {\n if (!drawerModels[key]) {\n drawerModels[key] = Model(DrawerModel);\n }\n return drawerModels[key];\n};\n\nexport * from './drawer-wraper';\n","import { DependencyList, EffectCallback, useEffect } from 'react';\n\nexport const useEffectCustom = (fn: EffectCallback, deps: DependencyList) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useEffect(fn, deps);\n};\n","import { ModelType } from '@dimjs/model';\n\nexport interface ModalStateType {\n title?: string;\n /**\n * 显示modal\n */\n visible: boolean;\n /**\n * 用来处理form, `更新`的时候的传递当前item列表行的数据, 当`创建`的时候强制设置为 `undefined`\n */\n itemData?: Record<string, unknown> | null;\n operateType: 'create' | 'update' | 'view';\n pageLoading?: boolean;\n}\n\nexport interface ModalActionsParamType {\n openModalForm: Pick<ModalStateType, 'title' | 'itemData' | 'operateType' | 'pageLoading'>;\n closeModal: void;\n setModalItemData: Record<string, unknown>;\n}\n\n/**\n * @shared\n * 提供公共的modal处理, 通常用来表单编辑, 弹窗抽屉模式.\n * 注意全部理论上只允许一个modal实例存在,如需处理多个, 请自行实例话模型.\n */\nexport const ModalModel: ModelType<ModalStateType, ModalActionsParamType> = {\n actions: {\n openModalForm({ itemData, title, operateType, pageLoading }) {\n return (state) => {\n state.itemData = itemData;\n state.title = title;\n state.operateType = operateType;\n state.pageLoading = pageLoading;\n state.visible = true;\n };\n },\n closeModal() {\n return (state) => {\n state.visible = false;\n };\n },\n setModalItemData(params) {\n return (state) => {\n state.pageLoading = false;\n state.itemData = params;\n };\n },\n },\n state: {\n visible: false,\n title: '',\n operateType: 'view',\n },\n};\n","import { Button, ButtonProps, Space } from 'antd';\nimport { Fragment } from 'react';\n\nexport interface ModalOperationProps {\n loading?: boolean;\n okText?: string;\n cancelText?: string;\n onOk?: () => void;\n onCancel?: () => void;\n hideOkBtn?: boolean;\n okButtonProps?: Omit<ButtonProps, 'onClick' | 'loading' | 'className'>;\n cancelButtonProps?: Omit<ButtonProps, 'onClick' | 'loading' | 'className'>;\n}\n\nexport const ModalOperation = ({\n loading,\n okText = '保存',\n cancelText = '取消',\n onCancel,\n onOk,\n hideOkBtn,\n ...otherProps\n}: ModalOperationProps) => {\n return (\n <Fragment>\n <Space size=\"middle\">\n <Button {...otherProps.cancelButtonProps} className=\"cancel-btn\" onClick={onCancel}>\n {cancelText}\n </Button>\n {hideOkBtn != true && (\n <Button\n type=\"primary\"\n {...otherProps.okButtonProps}\n className=\"ok-btn\"\n onClick={onOk}\n loading={loading}\n >\n {okText}\n </Button>\n )}\n </Space>\n </Fragment>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Page } from '@sights/layout';\nimport { Modal, ModalProps } from 'antd';\nimport React, { FC } from 'react';\nimport { ModalOperation, ModalOperationProps } from './modal-operation';\nimport './style.less';\n\nexport type ModalFormProps = {\n className?: string;\n // 整个modal页面级的spinning <Page loading />\n pageLoading?: boolean;\n // 设置了 ModalProps footer属性后,operationProps配置将失效\n operationProps?: ModalOperationProps;\n footer?: null | React.ReactNode;\n} & Omit<\n ModalProps,\n | 'footer'\n | 'onOk'\n | 'onCancel'\n | 'okText'\n | 'cancelText'\n | 'okButtonProps'\n | 'cancelButtonProps'\n | 'okType'\n | 'confirmLoading'\n>;\n\nexport const ModalWraper: FC<ModalFormProps> = (props) => {\n const { pageLoading, className, width, children, footer, operationProps, ...otherProps } = props;\n\n return (\n <Modal\n className={classNames('modal-wraper', className)}\n keyboard={false}\n forceRender={true}\n destroyOnClose={true}\n {...otherProps}\n width={width || 600}\n footer={null}\n >\n <div className=\"modal-wraper-content\">\n <Page loading={pageLoading}>{children}</Page>\n {footer !== null && (\n <div className=\"modal-wraper-content-footer\">\n {footer ? footer : <ModalOperation {...operationProps} />}\n </div>\n )}\n </div>\n </Modal>\n );\n};\n","import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { ModalActionsParamType, ModalModel, ModalStateType } from './modal.model';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst modalModels: Record<string, API<ModelType<ModalStateType, ModalActionsParamType, any>>> = {};\n\n/**\n * modal弹窗模型\n * @param key 唯一值必传\n * @returns\n *\n * ```\n * 使用方式\n * const [modalState, modalActions] = createModalWraperModel('key值').useStore();\n * ```\n */\nexport const createModalWraperModel = (key: string) => {\n if (!modalModels[key]) {\n modalModels[key] = Model(ModalModel);\n }\n return modalModels[key];\n};\n\nexport * from './modal-wraper';\n","export const Page404 = () => {\n return <div className=\"v-404\">404</div>;\n};\n","import { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { FC, useEffect, useMemo, useState } from 'react';\n\nexport interface SmsCountDownProps {\n onSendRequest: () => Promise<void>; // 验证码请求函数\n totalTicks?: number; // 总倒计时,默认:60(s)\n duration?: number; // 倒计时间隔,默认:1000ms(1s)\n autoStart?: boolean; // 是否自动开始倒计时,默认:fasle,注意:不会自动调用 onSendRequest\n format?: string; // 倒计时格式化,默认:'{t}s'\n sendTxt?: string; // 文案,默认:'获取验证码'\n sentTxt?: string; // 倒计时完成文案,默认:'重新获取'\n processingTxt?: string; // 倒计时中文案,默认:'发送中...'\n onTick?: (time: number) => void; // 倒计时回调\n className?: string;\n}\nexport const SmsCountDown: FC<SmsCountDownProps> = (props) => {\n const [showMessage, setShowMessage] = useState<string>();\n\n const [running, setRunning] = useState(false);\n const [starting, setStarting] = useState(false);\n\n // 初始化设置有效\n const initConfig = useMemo<Omit<SmsCountDownProps, 'onSendRequest' | 'onTick' | 'className'>>(() => {\n return {\n sendTxt: props.sendTxt,\n sentTxt: props.sentTxt,\n processingTxt: props.processingTxt,\n format: props.format,\n autoStart: props.autoStart,\n totalTicks: props.totalTicks,\n duration: props.duration,\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const format = initConfig.format as string;\n const totalTicks = initConfig.totalTicks as number;\n const duration = initConfig.duration as number;\n\n const countdownFnc = hooks.useCountdownCallback(\n (num) => {\n const second = num / 1000;\n if (num > 0) {\n if (!running) {\n setRunning(true);\n }\n setShowMessage(format.replace('{t}', String(second)));\n props.onTick?.(second);\n } else if (num === 0) {\n setRunning(false);\n setStarting(false);\n props.onTick?.(second);\n setShowMessage(initConfig.sentTxt);\n }\n },\n totalTicks * 1000,\n { intervalTime: duration },\n );\n\n useEffect(() => {\n if (!initConfig.autoStart) {\n setShowMessage(initConfig.sendTxt);\n } else {\n countdownFnc();\n setStarting(true);\n setRunning(true);\n }\n }, [countdownFnc, initConfig]);\n\n const onStart = hooks.useCallbackRef(() => {\n if (running || starting) return;\n setStarting(true);\n setShowMessage(initConfig.processingTxt);\n void props\n .onSendRequest()\n .then(() => {\n setRunning(true);\n countdownFnc();\n })\n .catch(() => {\n setShowMessage(initConfig.sendTxt);\n setStarting(false);\n });\n });\n\n const className = classNames('v-count-down', props.className, {\n running,\n starting,\n });\n\n return (\n <div className={className} onClick={onStart}>\n {showMessage}\n </div>\n );\n};\n\nSmsCountDown.defaultProps = {\n totalTicks: 60,\n duration: 1000,\n autoStart: false,\n format: '{t}s',\n sendTxt: '获取验证码',\n sentTxt: '重新获取',\n processingTxt: '发送中...',\n};\n","import { classNames } from '@dimjs/utils';\nimport { Children, cloneElement, FC } from 'react';\nimport './style.less';\n\ntype StaticMethods = {\n Condition: typeof Condition;\n Operate: typeof Operate;\n Table: typeof Table;\n Footer: typeof Footer;\n};\n\nexport type TableFilterLayoutProps = {\n className?: string;\n isFixed?: boolean;\n fullIndex?: number;\n};\n\nexport const TableFilterLayout: FC<TableFilterLayoutProps> & StaticMethods = (props) => {\n return (\n <div\n className={classNames(\n 'table-filter-layout',\n { 'table-filter-layout-flex': props.isFixed },\n props.className,\n )}\n >\n {Children.map(props.children, (item, index) => {\n if (props.isFixed && index === props.fullIndex) {\n return cloneElement(item as JSX.Element, { className: 'table-filter-layout-flex-full' });\n }\n return item;\n })}\n </div>\n );\n};\n\nconst Condition: FC<{ className?: string }> = (props) => {\n return <div className={classNames('table-filter-layout-condition', props.className)}>{props.children}</div>;\n};\n\nconst Operate: FC<{ className?: string }> = (props) => {\n return <div className={classNames('table-filter-layout-operate', props.className)}>{props.children}</div>;\n};\n\nconst Table: FC<{ className?: string }> = (props) => {\n return <div className={classNames('table-filter-layout-table', props.className)}>{props.children}</div>;\n};\nconst Footer: FC<{ className?: string }> = (props) => {\n return <div className={classNames('table-filter-layout-footer', props.className)}>{props.children}</div>;\n};\n\nTableFilterLayout.Condition = Condition;\nTableFilterLayout.Operate = Operate;\nTableFilterLayout.Table = Table;\nTableFilterLayout.Footer = Footer;\n"],"names":["styles","noop","getPermissionList","getGlobalData","elemAclLimits","permissionList","_isArray","hasPermission","name","includes","Permission","props","_jsx","Fragment","children","ButtonOperate","className","Space","split","Divider","type","size","wrap","_isUndefined","operateList","map","item","index","text","color","onClick","permission","needConfirm","confirmMessage","hidden","style","otherProps","newStyle","Popconfirm","title","okText","cancelText","onConfirm","arrowPointAtCenter","Button","undefined","danger","_createElement","key","DrawerModel","actions","openDrawerForm","itemData","operateType","pageLoading","state","visible","closeDrawer","setDrawerItemData","params","_defineProperty","obj","value","Object","defineProperty","enumerable","configurable","writable","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread2","target","i","arguments","length","source","forEach","getOwnPropertyDescriptors","defineProperties","_arrayWithHoles","arr","Array","isArray","_iterableToArrayLimit","_i","Symbol","iterator","_arr","_n","_d","_s","_e","call","next","done","err","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","o","minLen","arrayLikeToArray","n","prototype","toString","slice","constructor","from","test","_nonIterableRest","TypeError","_slicedToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_objectWithoutPropertiesLoose","excluded","sourceKeys","indexOf","_objectWithoutProperties","objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","hasOwn","hasOwnProperty","classNames","classes","arg","argType","inner","join","module","exports","default","window","IconContext","createContext","_typeof","bound01","max","isOnePointZero","isPercent","isPercentage","Math","min","parseFloat","parseInt","String","abs","boundAlpha","a","isNaN","convertToPercentage","Number","pad2","c","rgbToRgb","r","g","b","hue2rgb","p","q","t","hslToRgb","h","s","l","rgbToHsv","v","d","hsvToRgb","floor","f","mod","rgbToHex","allow3Char","hex","round","startsWith","charAt","convertHexToDecimal","parseIntFromHex","val","names","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","goldenrod","gold","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavenderblush","lavender","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","inputToRGB","rgb","ok","format","stringInputToObject","isValidCSSUnit","substr","CSS_INTEGER","CSS_NUMBER","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","matchers","RegExp","rgba","hsl","hsla","hsv","hsva","hex3","hex6","hex4","hex8","trim","toLowerCase","named","match","exec","Boolean","hueStep","saturationStep","saturationStep2","brightnessStep1","brightnessStep2","lightColorCount","darkColorCount","darkColorMap","opacity","toHsv","_ref","toHex","_ref2","concat","mix","rgb1","rgb2","amount","getHue","light","hue","getSaturation","saturation","toFixed","getValue","generate","opts","patterns","pColor","colorString","_hsv","_colorString","theme","_ref3","darkColorString","backgroundColor","presetPrimaryColors","volcano","geekblue","presetPalettes","presetDarkPalettes","primary","warned","warning","valid","message","process","env","NODE_ENV","console","error","method","warningOnce","canUseDom","document","createElement","MARK_KEY","getContainer","option","attachTo","head","querySelector","body","injectCSS","css","_option$csp","styleNode","csp","nonce","_option$csp2","innerHTML","container","firstChild","prepend","insertBefore","appendChild","containerCache","Map","updateCSS","has","placeholderStyle","parentNode","set","removeChild","existNode","get","find","node","tagName","_option$csp3","_option$csp4","_option$csp5","newNode","warn","isIconDefinition","icon","normalizeAttrs","attrs","reduce","acc","class","rootProps","React","tag","_objectSpread","child","getSecondaryColor","primaryColor","generateColor","normalizeTwoToneColors","twoToneColor","iconStyles","useInsertStyles","styleStr","_useContext","useContext","useEffect","_excluded","twoToneColorPalette","secondaryColor","calculated","setTwoToneColors","getTwoToneColors","IconBase","restProps","colors","width","height","fill","displayName","setTwoToneColor","_normalizeTwoToneColo","_normalizeTwoToneColo2","ReactIcon","getTwoToneColor","Icon","forwardRef","ref","_classNames","spin","rotate","tabIndex","_React$useContext","Context","_React$useContext$pre","prefixCls","classString","iconTabIndex","svgStyle","msTransform","transform","role","inBrowser","ua","navigator","userAgent","regex","matches","parts","supportsPassive","EventName","addEventListener","e","elementStyle","vendor","transformNames","transformNames_1","prefixStyle","toUpperCase","transition","transitionTimingFunction","transitionDuration","transitionDelay","transformOrigin","transitionEnd","transitionProperty","ie","Error","Provider","fe","spinning","fullScreen","H","he","loading","F","fullIndex","m","useCallbackRef","pe","be","ge","assign","this","ye","create","Me","setPrototypeOf","__proto__","Se","Ce","ke","Ne","bind","we","replace","Te","Oe","getQueryString","link","modifyQueryString","Be","sort","path","Pe","xe","Ke","routeBaseName","Ae","je","Fe","events","on","off","emit","log","De","U","parse","data","messageReceived","ze","updateCollapse","collapsed","Ge","Je","Qe","$e","location","pathname","Ye","GLOBAL","Xe","D","actived","items","selectedKeys","id","Ve","G","walkThroughTree","unshift","Ze","u","findAncestors","openedKeys","er","nr","reverse","parent","tr","appName","cachedMenuItems","activeItem","flatAllMenus","initialize","sessionStorage","getItem","JSON","updateTabItem","findIndex","updateStorage","splice","deleteTabItem","clearStorage","removeItem","getTabbarConfig","setItem","stringify","ar","ir","or","reload","initMenus","allMenus","options","disableTopbarMenu","activeTabbarMenuByKey","menuItemId","updatePageTitle","leaveMenuLevel","topbar","sidebar","leafActivedItem","leaveMenus","activeTopbarMenuByKey","unfoldSidebarMenuByKeys","activeSidebarMenuByKey","overrideMenuItem","tabbar","deleteTabbarMenu","onPushStateChange","metaTitle","z","LayoutCollapseModel","LayoutMenuModel","fr","some","is","hr","updatedWithError","resetErrorBoundary","onReset","reset","getDerivedStateFromError","setState","componentDidCatch","onError","componentDidMount","componentDidUpdate","resetKeys","onResetKeysChange","render","fallbackRender","FallbackComponent","fallback","Cr","media","addListener","removeListener","matchMedia","require","Yr","flattenTree","flattenTreePaths","modules","menus","findOneByBestMatchedRequestUrlPath","caseSensitive","redirect","element","SaveOutlined","viewBox","focusable","AntdIcon","SaveOutlinedSvg","DrawerOperation","onCancel","onOk","hideOkBtn","_jsxs","DrawerWraper","footer","operationProps","Drawer","keyboard","forceRender","destroyOnClose","contentWrapperStyle","maxWidth","Page","drawerModels","createDrawerWraperModel","Model","useEffectCustom","fn","deps","ModalModel","openModalForm","closeModal","setModalItemData","ModalOperation","cancelButtonProps","okButtonProps","ModalWraper","Modal","modalModels","createModalWraperModel","Page404","SmsCountDown","useState","showMessage","setShowMessage","running","setRunning","starting","setStarting","initConfig","useMemo","sendTxt","sentTxt","processingTxt","autoStart","totalTicks","duration","countdownFnc","hooks","useCountdownCallback","num","second","onTick","intervalTime","onStart","onSendRequest","then","catch","defaultProps","TableFilterLayout","isFixed","Children","cloneElement","Condition","Operate","Table","Footer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/01-styles/index.ts","@flatbiz/antd/src/permission/index.tsx","@flatbiz/antd/src/button-operate/index.tsx","@flatbiz/antd/src/drawer-wraper/drawer.model.ts","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/defineProperty.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","@flatbiz/antd/node_modules/@ant-design/icons-svg/es/asn/SaveOutlined.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","@flatbiz/antd/node_modules/classnames/index.js","@flatbiz/antd/node_modules/@ant-design/icons/es/components/Context.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/typeof.js","@flatbiz/antd/node_modules/@ctrl/tinycolor/dist/module/util.js","@flatbiz/antd/node_modules/@ctrl/tinycolor/dist/module/conversion.js","@flatbiz/antd/node_modules/@ctrl/tinycolor/dist/module/css-color-names.js","@flatbiz/antd/node_modules/@ctrl/tinycolor/dist/module/format-input.js","@flatbiz/antd/node_modules/@ant-design/colors/dist/index.esm.js","@flatbiz/antd/node_modules/rc-util/es/warning.js","@flatbiz/antd/node_modules/rc-util/es/Dom/canUseDom.js","@flatbiz/antd/node_modules/rc-util/es/Dom/dynamicCSS.js","@flatbiz/antd/node_modules/@ant-design/icons/es/utils.js","@flatbiz/antd/node_modules/@ant-design/icons/es/components/IconBase.js","@flatbiz/antd/node_modules/@ant-design/icons/es/components/twoTonePrimaryColor.js","@flatbiz/antd/node_modules/@ant-design/icons/es/components/AntdIcon.js","@flatbiz/antd/node_modules/@ant-design/icons/es/icons/SaveOutlined.js","@flatbiz/antd/src/drawer-wraper/drawer-operation.tsx","@flatbiz/antd/src/drawer-wraper/drawer-wraper.tsx","@flatbiz/antd/src/drawer-wraper/index.ts","@flatbiz/antd/src/hooks/use-effect-custom.ts","@flatbiz/antd/src/hooks/use-effect-custom-async.ts","@flatbiz/antd/src/modal-wraper/modal.model.ts","@flatbiz/antd/src/modal-wraper/modal-operation.tsx","@flatbiz/antd/src/modal-wraper/modal-wraper.tsx","@flatbiz/antd/src/modal-wraper/index.ts","@flatbiz/antd/src/page404/index.tsx","@flatbiz/antd/src/sms-count-down/index.tsx","@flatbiz/antd/src/table-filter-layout/index.tsx","@flatbiz/antd/src/upload-file/index.tsx"],"sourcesContent":["import { noop } from '@flatbiz/utils';\nimport './1_root.less';\nimport './2_base.less';\n\nexport const styles = noop;\n","import { isArray } from '@dimjs/lang';\nimport { getGlobalData } from '@flatbiz/utils';\nimport { FC, Fragment } from 'react';\n\nexport const getPermissionList = () => {\n const { elemAclLimits } = getGlobalData();\n const permissionList = isArray(elemAclLimits) ? elemAclLimits : [];\n return permissionList;\n};\n\nexport const hasPermission = (name: string) => {\n const permissionList = getPermissionList();\n if (permissionList.includes(name)) {\n return true;\n }\n return false;\n};\n\nexport interface PermissionProps {\n name: string;\n}\nexport const Permission: FC<PermissionProps> = (props) => {\n const permissionList = getPermissionList();\n if (permissionList.includes(props.name)) {\n return <Fragment>{props.children}</Fragment>;\n }\n return null;\n};\n","import { isUndefined } from '@dimjs/lang';\nimport { Button, ButtonProps, Divider, Popconfirm, Space } from 'antd';\nimport { hasPermission } from '../permission';\nimport './style.less';\n\nexport interface ButtonOperateItem extends ButtonProps {\n text: string;\n color?: string;\n onClick: () => void;\n permission?: string;\n needConfirm?: boolean;\n confirmMessage?: string;\n hidden?: boolean;\n}\n\nexport interface ButtonOperateProps {\n operateList: Array<ButtonOperateItem | null>;\n wrap?: boolean;\n}\n\nexport const ButtonOperate = (props: ButtonOperateProps) => {\n return (\n <div className=\"table-operate\">\n <Space split={<Divider type=\"vertical\" />} size={0} wrap={isUndefined(props.wrap) ? true : props.wrap}>\n {props.operateList.map((item, index) => {\n if (!item) return null;\n const {\n text,\n color,\n onClick,\n permission,\n needConfirm,\n confirmMessage,\n hidden,\n style,\n ...otherProps\n } = item;\n if (hidden) return null;\n if (permission && !hasPermission(permission)) return null;\n const newStyle = color ? { color, ...style } : style;\n const type = item.type || 'link';\n if (needConfirm) {\n return (\n <Popconfirm\n title={confirmMessage}\n okText=\"确定\"\n cancelText=\"取消\"\n onConfirm={onClick}\n arrowPointAtCenter={true}\n key={index}\n >\n <Button {...otherProps} onClick={undefined} type={type} danger style={newStyle}>\n {text}\n </Button>\n </Popconfirm>\n );\n }\n return (\n <Button {...otherProps} type={type} style={newStyle} key={index} onClick={onClick}>\n {text}\n </Button>\n );\n })}\n </Space>\n </div>\n );\n};\n","import { ModelType } from '@dimjs/model';\n\nexport interface DrawerStateType {\n title: string;\n /**\n * 显示drawer\n */\n visible: boolean;\n /**\n * 用来处理form, `更新`的时候的传递当前item列表行的数据, 当`创建`的时候强制设置为 `undefined`\n */\n itemData?: Record<string, any>;\n operateType: 'create' | 'update' | 'view';\n pageLoading?: boolean;\n}\n\nexport interface DrawerActionsParamType {\n openDrawerForm: Pick<DrawerStateType, 'title' | 'itemData' | 'operateType' | 'pageLoading'>;\n closeDrawer: void;\n setDrawerItemData: Record<string, any>;\n}\n\n/**\n * @shared\n * 提供公共的drawer处理, 通常用来表单编辑, 弹窗抽屉模式.\n * 注意全部理论上只允许一个drawer实例存在,如需处理多个, 请自行实例话模型.\n */\nexport const DrawerModel: ModelType<DrawerStateType, DrawerActionsParamType> = {\n actions: {\n openDrawerForm({ itemData, title, operateType, pageLoading }) {\n return (state) => {\n state.itemData = itemData;\n state.title = title;\n state.operateType = operateType;\n state.pageLoading = pageLoading;\n state.visible = true;\n };\n },\n closeDrawer() {\n return (state) => {\n state.visible = false;\n };\n },\n setDrawerItemData(params) {\n return (state) => {\n state.pageLoading = false;\n state.itemData = params;\n };\n },\n },\n state: {\n visible: false,\n title: '',\n operateType: 'view',\n },\n};\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","// This icon file is generated automatically.\nvar SaveOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z\" } }] }, \"name\": \"save\", \"theme\": \"outlined\" };\nexport default SaveOutlined;\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { createContext } from 'react';\nvar IconContext = /*#__PURE__*/createContext({});\nexport default IconContext;","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","/**\n * Take input from [0, n] and return it as [0, 1]\n * @hidden\n */\nexport function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = '100%';\n }\n var isPercent = isPercentage(n);\n n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));\n // Automatically convert percentage into number\n if (isPercent) {\n n = parseInt(String(n * max), 10) / 100;\n }\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n // Convert into [0, 1] range if it isn't already\n if (max === 360) {\n // If n is a hue given in degrees,\n // wrap around out-of-range values into [0, 360] range\n // then convert into [0, 1].\n n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max));\n }\n else {\n // If n not a hue given in degrees\n // Convert into [0, 1] range if it isn't already.\n n = (n % max) / parseFloat(String(max));\n }\n return n;\n}\n/**\n * Force a number between 0 and 1\n * @hidden\n */\nexport function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n/**\n * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n * <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\n * @hidden\n */\nexport function isOnePointZero(n) {\n return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;\n}\n/**\n * Check to see if string passed in is a percentage\n * @hidden\n */\nexport function isPercentage(n) {\n return typeof n === 'string' && n.indexOf('%') !== -1;\n}\n/**\n * Return a valid alpha value [0,1] with all invalid values being set to 1\n * @hidden\n */\nexport function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n/**\n * Replace a decimal with it's percentage value\n * @hidden\n */\nexport function convertToPercentage(n) {\n if (n <= 1) {\n return Number(n) * 100 + \"%\";\n }\n return n;\n}\n/**\n * Force a hex value to have 2 characters\n * @hidden\n */\nexport function pad2(c) {\n return c.length === 1 ? '0' + c : String(c);\n}\n","import { bound01, pad2 } from './util';\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * <http://www.w3.org/TR/css3-color/>\n * *Assumes:* r, g, b in [0, 255] or [0, 1]\n * *Returns:* { r, g, b } in [0, 255]\n */\nexport function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255,\n };\n}\n/**\n * Converts an RGB color value to HSL.\n * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n * *Returns:* { h, s, l } in [0,1]\n */\nexport function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n if (max === min) {\n s = 0;\n h = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, l: l };\n}\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * (6 * t);\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n/**\n * Converts an HSL color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n if (s === 0) {\n // achromatic\n g = l;\n b = l;\n r = l;\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color value to HSV\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n * *Returns:* { h, s, v } in [0,1]\n */\nexport function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var v = max;\n var d = max - min;\n var s = max === 0 ? 0 : d / max;\n if (max === min) {\n h = 0; // achromatic\n }\n else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n/**\n * Converts an HSV color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color to hex\n *\n * Assumes r, g, and b are contained in the set [0, 255]\n * Returns a 3 or 6 character hex\n */\nexport function rgbToHex(r, g, b, allow3Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n // Return a 3 character hex if possible\n if (allow3Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color plus alpha transparency to hex\n *\n * Assumes r, g, b are contained in the set [0, 255] and\n * a in [0, 1]. Returns a 4 or 8 character rgba hex\n */\n// eslint-disable-next-line max-params\nexport function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n pad2(convertDecimalToHex(a)),\n ];\n // Return a 4 character hex if possible\n if (allow4Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1)) &&\n hex[3].startsWith(hex[3].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color to an ARGB Hex8 string\n * Rarely used, but required for \"toFilter()\"\n */\nexport function rgbaToArgbHex(r, g, b, a) {\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n return hex.join('');\n}\n/** Converts a decimal to a hex value */\nexport function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n/** Converts a hex value to a decimal */\nexport function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\n/** Parse a base-16 hex value into a base-10 integer */\nexport function parseIntFromHex(val) {\n return parseInt(val, 16);\n}\nexport function numberInputToObject(color) {\n return {\n r: color >> 16,\n g: (color & 0xff00) >> 8,\n b: color & 0xff,\n };\n}\n","// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json\n/**\n * @hidden\n */\nexport var names = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n goldenrod: '#daa520',\n gold: '#ffd700',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32',\n};\n","import { convertHexToDecimal, hslToRgb, hsvToRgb, parseIntFromHex, rgbToRgb } from './conversion';\nimport { names } from './css-color-names';\nimport { boundAlpha, convertToPercentage } from './util';\n/**\n * Given a string or object, convert that input to RGB\n *\n * Possible string inputs:\n * ```\n * \"red\"\n * \"#f00\" or \"f00\"\n * \"#ff0000\" or \"ff0000\"\n * \"#ff000000\" or \"ff000000\"\n * \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n * \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n * \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n * \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n * \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n * \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n * \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n * ```\n */\nexport function inputToRGB(color) {\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color === 'string') {\n color = stringInputToObject(color);\n }\n if (typeof color === 'object') {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = 'hsv';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = 'hsl';\n }\n if (Object.prototype.hasOwnProperty.call(color, 'a')) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a,\n };\n}\n// <http://www.w3.org/TR/css3-values/#integers>\nvar CSS_INTEGER = '[-\\\\+]?\\\\d+%?';\n// <http://www.w3.org/TR/css3-values/#number-value>\nvar CSS_NUMBER = '[-\\\\+]?\\\\d*\\\\.\\\\d+%?';\n// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\nvar CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n// Actual matching.\n// Parentheses and commas are optional, but not required.\n// Whitespace can take the place of commas or opening paren\nvar PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\nvar PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\nvar matchers = {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),\n rgba: new RegExp('rgba' + PERMISSIVE_MATCH4),\n hsl: new RegExp('hsl' + PERMISSIVE_MATCH3),\n hsla: new RegExp('hsla' + PERMISSIVE_MATCH4),\n hsv: new RegExp('hsv' + PERMISSIVE_MATCH3),\n hsva: new RegExp('hsva' + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n};\n/**\n * Permissive string parsing. Take in a number of formats, and output an object\n * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n */\nexport function stringInputToObject(color) {\n color = color.trim().toLowerCase();\n if (color.length === 0) {\n return false;\n }\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color === 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: 'name' };\n }\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match = matchers.rgb.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n match = matchers.rgba.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n match = matchers.hsl.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n match = matchers.hsla.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n match = matchers.hsv.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n match = matchers.hsva.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n match = matchers.hex8.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex6.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n match = matchers.hex4.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n a: convertHexToDecimal(match[4] + match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex3.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n return false;\n}\n/**\n * Check to see if it looks like a CSS unit\n * (see `matchers` above for definition).\n */\nexport function isValidCSSUnit(color) {\n return Boolean(matchers.CSS_UNIT.exec(String(color)));\n}\n","import { inputToRGB, rgbToHex, rgbToHsv } from '@ctrl/tinycolor';\n\nvar hueStep = 2; // 色相阶梯\n\nvar saturationStep = 0.16; // 饱和度阶梯,浅色部分\n\nvar saturationStep2 = 0.05; // 饱和度阶梯,深色部分\n\nvar brightnessStep1 = 0.05; // 亮度阶梯,浅色部分\n\nvar brightnessStep2 = 0.15; // 亮度阶梯,深色部分\n\nvar lightColorCount = 5; // 浅色数量,主色上\n\nvar darkColorCount = 4; // 深色数量,主色下\n// 暗色主题颜色映射关系表\n\nvar darkColorMap = [{\n index: 7,\n opacity: 0.15\n}, {\n index: 6,\n opacity: 0.25\n}, {\n index: 5,\n opacity: 0.3\n}, {\n index: 5,\n opacity: 0.45\n}, {\n index: 5,\n opacity: 0.65\n}, {\n index: 5,\n opacity: 0.85\n}, {\n index: 4,\n opacity: 0.9\n}, {\n index: 3,\n opacity: 0.95\n}, {\n index: 2,\n opacity: 0.97\n}, {\n index: 1,\n opacity: 0.98\n}]; // Wrapper function ported from TinyColor.prototype.toHsv\n// Keep it here because of `hsv.h * 360`\n\nfunction toHsv(_ref) {\n var r = _ref.r,\n g = _ref.g,\n b = _ref.b;\n var hsv = rgbToHsv(r, g, b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v\n };\n} // Wrapper function ported from TinyColor.prototype.toHexString\n// Keep it here because of the prefix `#`\n\n\nfunction toHex(_ref2) {\n var r = _ref2.r,\n g = _ref2.g,\n b = _ref2.b;\n return \"#\".concat(rgbToHex(r, g, b, false));\n} // Wrapper function ported from TinyColor.prototype.mix, not treeshakable.\n// Amount in range [0, 1]\n// Assume color1 & color2 has no alpha, since the following src code did so.\n\n\nfunction mix(rgb1, rgb2, amount) {\n var p = amount / 100;\n var rgb = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b\n };\n return rgb;\n}\n\nfunction getHue(hsv, i, light) {\n var hue; // 根据色相不同,色相转向不同\n\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n } else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n\n return hue;\n}\n\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n\n var saturation;\n\n if (light) {\n saturation = hsv.s - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = hsv.s + saturationStep;\n } else {\n saturation = hsv.s + saturationStep2 * i;\n } // 边界值修正\n\n\n if (saturation > 1) {\n saturation = 1;\n } // 第一格的 s 限制在 0.06-0.1 之间\n\n\n if (light && i === lightColorCount && saturation > 0.1) {\n saturation = 0.1;\n }\n\n if (saturation < 0.06) {\n saturation = 0.06;\n }\n\n return Number(saturation.toFixed(2));\n}\n\nfunction getValue(hsv, i, light) {\n var value;\n\n if (light) {\n value = hsv.v + brightnessStep1 * i;\n } else {\n value = hsv.v - brightnessStep2 * i;\n }\n\n if (value > 1) {\n value = 1;\n }\n\n return Number(value.toFixed(2));\n}\n\nfunction generate(color) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var patterns = [];\n var pColor = inputToRGB(color);\n\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = toHsv(pColor);\n var colorString = toHex(inputToRGB({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n }));\n patterns.push(colorString);\n }\n\n patterns.push(toHex(pColor));\n\n for (var _i = 1; _i <= darkColorCount; _i += 1) {\n var _hsv = toHsv(pColor);\n\n var _colorString = toHex(inputToRGB({\n h: getHue(_hsv, _i),\n s: getSaturation(_hsv, _i),\n v: getValue(_hsv, _i)\n }));\n\n patterns.push(_colorString);\n } // dark theme patterns\n\n\n if (opts.theme === 'dark') {\n return darkColorMap.map(function (_ref3) {\n var index = _ref3.index,\n opacity = _ref3.opacity;\n var darkColorString = toHex(mix(inputToRGB(opts.backgroundColor || '#141414'), inputToRGB(patterns[index]), opacity * 100));\n return darkColorString;\n });\n }\n\n return patterns;\n}\n\nvar presetPrimaryColors = {\n red: '#F5222D',\n volcano: '#FA541C',\n orange: '#FA8C16',\n gold: '#FAAD14',\n yellow: '#FADB14',\n lime: '#A0D911',\n green: '#52C41A',\n cyan: '#13C2C2',\n blue: '#1890FF',\n geekblue: '#2F54EB',\n purple: '#722ED1',\n magenta: '#EB2F96',\n grey: '#666666'\n};\nvar presetPalettes = {};\nvar presetDarkPalettes = {};\nObject.keys(presetPrimaryColors).forEach(function (key) {\n presetPalettes[key] = generate(presetPrimaryColors[key]);\n presetPalettes[key].primary = presetPalettes[key][5]; // dark presetPalettes\n\n presetDarkPalettes[key] = generate(presetPrimaryColors[key], {\n theme: 'dark',\n backgroundColor: '#141414'\n });\n presetDarkPalettes[key].primary = presetDarkPalettes[key][5];\n});\nvar red = presetPalettes.red;\nvar volcano = presetPalettes.volcano;\nvar gold = presetPalettes.gold;\nvar orange = presetPalettes.orange;\nvar yellow = presetPalettes.yellow;\nvar lime = presetPalettes.lime;\nvar green = presetPalettes.green;\nvar cyan = presetPalettes.cyan;\nvar blue = presetPalettes.blue;\nvar geekblue = presetPalettes.geekblue;\nvar purple = presetPalettes.purple;\nvar magenta = presetPalettes.magenta;\nvar grey = presetPalettes.grey;\n\nexport { blue, cyan, geekblue, generate, gold, green, grey, lime, magenta, orange, presetDarkPalettes, presetPalettes, presetPrimaryColors, purple, red, volcano, yellow };\n","/* eslint-disable no-console */\nvar warned = {};\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(\"Warning: \".concat(message));\n }\n}\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(\"Note: \".concat(message));\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nexport default warningOnce;\n/* eslint-enable */","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","import canUseDom from './canUseDom';\nvar MARK_KEY = \"rc-util-key\";\n\nfunction getContainer(option) {\n if (option.attachTo) {\n return option.attachTo;\n }\n\n var head = document.querySelector('head');\n return head || document.body;\n}\n\nexport function injectCSS(css) {\n var _option$csp;\n\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!canUseDom()) {\n return null;\n }\n\n var styleNode = document.createElement('style');\n\n if ((_option$csp = option.csp) === null || _option$csp === void 0 ? void 0 : _option$csp.nonce) {\n var _option$csp2;\n\n styleNode.nonce = (_option$csp2 = option.csp) === null || _option$csp2 === void 0 ? void 0 : _option$csp2.nonce;\n }\n\n styleNode.innerHTML = css;\n var container = getContainer(option);\n var firstChild = container.firstChild;\n\n if (option.prepend && container.prepend) {\n // Use `prepend` first\n container.prepend(styleNode);\n } else if (option.prepend && firstChild) {\n // Fallback to `insertBefore` like IE not support `prepend`\n container.insertBefore(styleNode, firstChild);\n } else {\n container.appendChild(styleNode);\n }\n\n return styleNode;\n}\nvar containerCache = new Map();\n\nfunction findExistNode(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var container = getContainer(option);\n return Array.from(containerCache.get(container).children).find(function (node) {\n return node.tagName === 'STYLE' && node[MARK_KEY] === key;\n });\n}\n\nexport function removeCSS(key) {\n var _existNode$parentNode;\n\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var existNode = findExistNode(key, option);\n existNode === null || existNode === void 0 ? void 0 : (_existNode$parentNode = existNode.parentNode) === null || _existNode$parentNode === void 0 ? void 0 : _existNode$parentNode.removeChild(existNode);\n}\nexport function updateCSS(css, key) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var container = getContainer(option); // Get real parent\n\n if (!containerCache.has(container)) {\n var placeholderStyle = injectCSS('', option);\n var parentNode = placeholderStyle.parentNode;\n containerCache.set(container, parentNode);\n parentNode.removeChild(placeholderStyle);\n }\n\n var existNode = findExistNode(key, option);\n\n if (existNode) {\n var _option$csp3, _option$csp4;\n\n if (((_option$csp3 = option.csp) === null || _option$csp3 === void 0 ? void 0 : _option$csp3.nonce) && existNode.nonce !== ((_option$csp4 = option.csp) === null || _option$csp4 === void 0 ? void 0 : _option$csp4.nonce)) {\n var _option$csp5;\n\n existNode.nonce = (_option$csp5 = option.csp) === null || _option$csp5 === void 0 ? void 0 : _option$csp5.nonce;\n }\n\n if (existNode.innerHTML !== css) {\n existNode.innerHTML = css;\n }\n\n return existNode;\n }\n\n var newNode = injectCSS(css, option);\n newNode[MARK_KEY] = key;\n return newNode;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { generate as generateColor } from '@ant-design/colors';\nimport React, { useContext, useEffect } from 'react';\nimport warn from \"rc-util/es/warning\";\nimport { updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport IconContext from './components/Context';\nexport function warning(valid, message) {\n warn(valid, \"[@ant-design/icons] \".concat(message));\n}\nexport function isIconDefinition(target) {\n return _typeof(target) === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (_typeof(target.icon) === 'object' || typeof target.icon === 'function');\n}\nexport function normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc.class;\n break;\n\n default:\n acc[key] = val;\n }\n\n return acc;\n }, {});\n}\nexport function generate(node, key, rootProps) {\n if (!rootProps) {\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n }\n\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread(_objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), rootProps), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n}\nexport function getSecondaryColor(primaryColor) {\n // choose the second color\n return generateColor(primaryColor)[0];\n}\nexport function normalizeTwoToneColors(twoToneColor) {\n if (!twoToneColor) {\n return [];\n }\n\n return Array.isArray(twoToneColor) ? twoToneColor : [twoToneColor];\n} // These props make sure that the SVG behaviours like general text.\n// Reference: https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\n\nexport var svgBaseProps = {\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true',\n focusable: 'false'\n};\nexport var iconStyles = \"\\n.anticon {\\n display: inline-block;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\";\nexport var useInsertStyles = function useInsertStyles() {\n var styleStr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : iconStyles;\n\n var _useContext = useContext(IconContext),\n csp = _useContext.csp;\n\n useEffect(function () {\n updateCSS(styleStr, '@ant-design-icons', {\n prepend: true,\n csp: csp\n });\n }, []);\n};","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar _excluded = [\"icon\", \"className\", \"onClick\", \"style\", \"primaryColor\", \"secondaryColor\"];\nimport { generate, getSecondaryColor, isIconDefinition, warning, useInsertStyles } from '../utils';\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6',\n calculated: false\n};\n\nfunction setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || getSecondaryColor(primaryColor);\n twoToneColorPalette.calculated = !!secondaryColor;\n}\n\nfunction getTwoToneColors() {\n return _objectSpread({}, twoToneColorPalette);\n}\n\nvar IconBase = function IconBase(props) {\n var icon = props.icon,\n className = props.className,\n onClick = props.onClick,\n style = props.style,\n primaryColor = props.primaryColor,\n secondaryColor = props.secondaryColor,\n restProps = _objectWithoutProperties(props, _excluded);\n\n var colors = twoToneColorPalette;\n\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || getSecondaryColor(primaryColor)\n };\n }\n\n useInsertStyles();\n warning(isIconDefinition(icon), \"icon should be icon definiton, but got \".concat(icon));\n\n if (!isIconDefinition(icon)) {\n return null;\n }\n\n var target = icon;\n\n if (target && typeof target.icon === 'function') {\n target = _objectSpread(_objectSpread({}, target), {}, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n\n return generate(target.icon, \"svg-\".concat(target.name), _objectSpread({\n className: className,\n onClick: onClick,\n style: style,\n 'data-icon': target.name,\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true'\n }, restProps));\n};\n\nIconBase.displayName = 'IconReact';\nIconBase.getTwoToneColors = getTwoToneColors;\nIconBase.setTwoToneColors = setTwoToneColors;\nexport default IconBase;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport ReactIcon from './IconBase';\nimport { normalizeTwoToneColors } from '../utils';\nexport function setTwoToneColor(twoToneColor) {\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n\n return ReactIcon.setTwoToneColors({\n primaryColor: primaryColor,\n secondaryColor: secondaryColor\n });\n}\nexport function getTwoToneColor() {\n var colors = ReactIcon.getTwoToneColors();\n\n if (!colors.calculated) {\n return colors.primaryColor;\n }\n\n return [colors.primaryColor, colors.secondaryColor];\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"icon\", \"spin\", \"rotate\", \"tabIndex\", \"onClick\", \"twoToneColor\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Context from './Context';\nimport ReactIcon from './IconBase';\nimport { getTwoToneColor, setTwoToneColor } from './twoTonePrimaryColor';\nimport { normalizeTwoToneColors } from '../utils'; // Initial setting\n// should move it to antd main repo?\n\nsetTwoToneColor('#1890ff');\nvar Icon = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n\n var className = props.className,\n icon = props.icon,\n spin = props.spin,\n rotate = props.rotate,\n tabIndex = props.tabIndex,\n onClick = props.onClick,\n twoToneColor = props.twoToneColor,\n restProps = _objectWithoutProperties(props, _excluded);\n\n var _React$useContext = React.useContext(Context),\n _React$useContext$pre = _React$useContext.prefixCls,\n prefixCls = _React$useContext$pre === void 0 ? 'anticon' : _React$useContext$pre;\n\n var classString = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(icon.name), !!icon.name), _defineProperty(_classNames, \"\".concat(prefixCls, \"-spin\"), !!spin || icon.name === 'loading'), _classNames), className);\n var iconTabIndex = tabIndex;\n\n if (iconTabIndex === undefined && onClick) {\n iconTabIndex = -1;\n }\n\n var svgStyle = rotate ? {\n msTransform: \"rotate(\".concat(rotate, \"deg)\"),\n transform: \"rotate(\".concat(rotate, \"deg)\")\n } : undefined;\n\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n\n return /*#__PURE__*/React.createElement(\"span\", _objectSpread(_objectSpread({\n role: \"img\",\n \"aria-label\": icon.name\n }, restProps), {}, {\n ref: ref,\n tabIndex: iconTabIndex,\n onClick: onClick,\n className: classString\n }), /*#__PURE__*/React.createElement(ReactIcon, {\n icon: icon,\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n style: svgStyle\n }));\n});\nIcon.displayName = 'AntdIcon';\nIcon.getTwoToneColor = getTwoToneColor;\nIcon.setTwoToneColor = setTwoToneColor;\nexport default Icon;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport SaveOutlinedSvg from \"@ant-design/icons-svg/es/asn/SaveOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar SaveOutlined = function SaveOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: SaveOutlinedSvg\n }));\n};\n\nSaveOutlined.displayName = 'SaveOutlined';\nexport default /*#__PURE__*/React.forwardRef(SaveOutlined);","import { SaveOutlined } from '@ant-design/icons';\nimport { Button, Space } from 'antd';\n\nexport interface DrawerOperationProps {\n loading?: boolean;\n okText?: string;\n cancelText?: string;\n onOk?: () => void;\n onCancel?: () => void;\n hideOkBtn?: boolean;\n}\n\nexport const DrawerOperation = ({\n loading,\n okText = '保存',\n cancelText = '取消',\n onCancel,\n onOk,\n hideOkBtn,\n}: DrawerOperationProps) => {\n return (\n <div className=\"fixed-bottom-block\">\n <Space size=\"middle\">\n <Button className=\"cancel-btn\" onClick={onCancel}>\n {cancelText}\n </Button>\n {hideOkBtn != true && (\n <Button type=\"primary\" className=\"ok-btn\" onClick={onOk} loading={loading} icon={<SaveOutlined />}>\n {okText}\n </Button>\n )}\n </Space>\n </div>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Drawer, DrawerProps } from 'antd';\nimport React, { FC } from 'react';\nimport { DrawerOperation, DrawerOperationProps } from './drawer-operation';\nimport './style.less';\n\nexport type DrawerFormProps = {\n className?: string;\n /**\n * 整个drawer页面级的spinning <Page loading />\n */\n pageLoading?: boolean;\n // 设置了 DrawerProps footer属性后,operationProps配置将失效\n operationProps?: DrawerOperationProps;\n} & DrawerProps;\n\nconst PageLoader = () => {\n return (\n <div className=\"drawer-wraper-loader\">\n <div className=\"loader-wrapper\">\n <div className=\"loader-inner\" />\n <div className=\"loader-text\">LOADING</div>\n </div>\n </div>\n );\n};\n\nexport const DrawerWraper: FC<DrawerFormProps> = (props) => {\n const { pageLoading, className, width = 600, children, footer, operationProps, ...otherProps } = props;\n\n return (\n <Drawer\n className={classNames('drawer-wraper', className)}\n keyboard={false}\n forceRender={true}\n destroyOnClose={true}\n {...otherProps}\n width={'80%'}\n contentWrapperStyle={{ maxWidth: width }}\n footer={footer ? footer : <DrawerOperation {...operationProps} />}\n size=\"default\"\n >\n <div className=\"drawer-wraper-content\">{children}</div>\n {pageLoading && <PageLoader />}\n </Drawer>\n );\n};\n","import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { DrawerActionsParamType, DrawerModel, DrawerStateType } from './drawer.model';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst drawerModels: Record<string, API<ModelType<DrawerStateType, DrawerActionsParamType, any>>> = {};\n\n/**\n * drawer弹窗模型\n * @param key 唯一值必传\n * @returns\n *\n * ```\n * 使用方式\n * const [drawerState, drawerActions] = createDrawerWraperModel('key值').useStore();\n * ```\n */\nexport const createDrawerWraperModel = (key: string) => {\n if (!drawerModels[key]) {\n drawerModels[key] = Model(DrawerModel);\n }\n return drawerModels[key];\n};\n\nexport * from './drawer-wraper';\n","import { DependencyList, EffectCallback, useEffect } from 'react';\n\nexport const useEffectCustom = (fn: EffectCallback, deps: DependencyList) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useEffect(fn, deps);\n};\n","import { DependencyList, useEffect } from 'react';\n\nexport const useEffectCustomAsync = (fn: () => Promise<void>, deps: DependencyList) => {\n useEffect(() => {\n async function asyncFunction() {\n await fn();\n }\n void asyncFunction();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n};\n","import { ModelType } from '@dimjs/model';\n\nexport interface ModalStateType {\n title?: string;\n /**\n * 显示modal\n */\n visible: boolean;\n /**\n * 用来处理form, `更新`的时候的传递当前item列表行的数据, 当`创建`的时候强制设置为 `undefined`\n */\n itemData?: Record<string, unknown> | null;\n operateType: 'create' | 'update' | 'view';\n pageLoading?: boolean;\n}\n\nexport interface ModalActionsParamType {\n openModalForm: Pick<ModalStateType, 'title' | 'itemData' | 'operateType' | 'pageLoading'>;\n closeModal: void;\n setModalItemData: Record<string, unknown>;\n}\n\n/**\n * @shared\n * 提供公共的modal处理, 通常用来表单编辑, 弹窗抽屉模式.\n * 注意全部理论上只允许一个modal实例存在,如需处理多个, 请自行实例话模型.\n */\nexport const ModalModel: ModelType<ModalStateType, ModalActionsParamType> = {\n actions: {\n openModalForm({ itemData, title, operateType, pageLoading }) {\n return (state) => {\n state.itemData = itemData;\n state.title = title;\n state.operateType = operateType;\n state.pageLoading = pageLoading;\n state.visible = true;\n };\n },\n closeModal() {\n return (state) => {\n state.visible = false;\n };\n },\n setModalItemData(params) {\n return (state) => {\n state.pageLoading = false;\n state.itemData = params;\n };\n },\n },\n state: {\n visible: false,\n title: '',\n operateType: 'view',\n },\n};\n","import { Button, ButtonProps, Space } from 'antd';\nimport { Fragment } from 'react';\n\nexport interface ModalOperationProps {\n loading?: boolean;\n okText?: string;\n cancelText?: string;\n onOk?: () => void;\n onCancel?: () => void;\n hideOkBtn?: boolean;\n okButtonProps?: Omit<ButtonProps, 'onClick' | 'loading' | 'className'>;\n cancelButtonProps?: Omit<ButtonProps, 'onClick' | 'loading' | 'className'>;\n}\n\nexport const ModalOperation = ({\n loading,\n okText = '保存',\n cancelText = '取消',\n onCancel,\n onOk,\n hideOkBtn,\n ...otherProps\n}: ModalOperationProps) => {\n return (\n <Fragment>\n <Space size=\"middle\">\n <Button {...otherProps.cancelButtonProps} className=\"cancel-btn\" onClick={onCancel}>\n {cancelText}\n </Button>\n {hideOkBtn != true && (\n <Button\n type=\"primary\"\n {...otherProps.okButtonProps}\n className=\"ok-btn\"\n onClick={onOk}\n loading={loading}\n >\n {okText}\n </Button>\n )}\n </Space>\n </Fragment>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Modal, ModalProps } from 'antd';\nimport React, { FC } from 'react';\nimport { ModalOperation, ModalOperationProps } from './modal-operation';\nimport './style.less';\n\nexport type ModalFormProps = {\n className?: string;\n // 整个modal页面级的spinning <Page loading />\n pageLoading?: boolean;\n // 设置了 ModalProps footer属性后,operationProps配置将失效\n operationProps?: ModalOperationProps;\n footer?: null | React.ReactNode;\n} & Omit<\n ModalProps,\n | 'footer'\n | 'onOk'\n | 'okText'\n | 'cancelText'\n | 'okButtonProps'\n | 'cancelButtonProps'\n | 'okType'\n | 'confirmLoading'\n>;\n\nconst PageLoader = () => {\n return (\n <div className=\"modal-wraper-loader\">\n <div className=\"loader-wrapper\">\n <div className=\"loader-inner\" />\n <div className=\"loader-text\">LOADING</div>\n </div>\n </div>\n );\n};\n\nexport const ModalWraper: FC<ModalFormProps> = (props) => {\n const { pageLoading, className, width, children, footer, operationProps, ...otherProps } = props;\n return (\n <Modal\n className={classNames('modal-wraper', className)}\n keyboard={false}\n forceRender={true}\n destroyOnClose={true}\n {...otherProps}\n width={width || 600}\n footer={null}\n >\n <div className=\"modal-wraper-content\">\n {children}\n {pageLoading && <PageLoader />}\n </div>\n {footer !== null && (\n <div className=\"modal-wraper-content-footer\">\n {footer ? footer : <ModalOperation {...operationProps} />}\n </div>\n )}\n </Modal>\n );\n};\n","import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { ModalActionsParamType, ModalModel, ModalStateType } from './modal.model';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst modalModels: Record<string, API<ModelType<ModalStateType, ModalActionsParamType, any>>> = {};\n\n/**\n * modal弹窗模型\n * @param key 唯一值必传\n * @returns\n *\n * ```\n * 使用方式\n * const [modalState, modalActions] = createModalWraperModel('key值').useStore();\n * ```\n */\nexport const createModalWraperModel = (key: string) => {\n if (!modalModels[key]) {\n modalModels[key] = Model(ModalModel);\n }\n return modalModels[key];\n};\n\nexport * from './modal-wraper';\n","export const Page404 = () => {\n return <div className=\"v-404\">404</div>;\n};\n","import { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { FC, useEffect, useMemo, useState } from 'react';\n\nexport interface SmsCountDownProps {\n onSendRequest: () => Promise<void>; // 验证码请求函数\n totalTicks?: number; // 总倒计时,默认:60(s)\n duration?: number; // 倒计时间隔,默认:1000ms(1s)\n autoStart?: boolean; // 是否自动开始倒计时,默认:fasle,注意:不会自动调用 onSendRequest\n format?: string; // 倒计时格式化,默认:'{t}s'\n sendTxt?: string; // 文案,默认:'获取验证码'\n sentTxt?: string; // 倒计时完成文案,默认:'重新获取'\n processingTxt?: string; // 倒计时中文案,默认:'发送中...'\n onTick?: (time: number) => void; // 倒计时回调\n className?: string;\n}\nexport const SmsCountDown: FC<SmsCountDownProps> = (props) => {\n const [showMessage, setShowMessage] = useState<string>();\n\n const [running, setRunning] = useState(false);\n const [starting, setStarting] = useState(false);\n\n // 初始化设置有效\n const initConfig = useMemo<Omit<SmsCountDownProps, 'onSendRequest' | 'onTick' | 'className'>>(() => {\n return {\n sendTxt: props.sendTxt,\n sentTxt: props.sentTxt,\n processingTxt: props.processingTxt,\n format: props.format,\n autoStart: props.autoStart,\n totalTicks: props.totalTicks,\n duration: props.duration,\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const format = initConfig.format as string;\n const totalTicks = initConfig.totalTicks as number;\n const duration = initConfig.duration as number;\n\n const countdownFnc = hooks.useCountdownCallback(\n (num) => {\n const second = num / 1000;\n if (num > 0) {\n if (!running) {\n setRunning(true);\n }\n setShowMessage(format.replace('{t}', String(second)));\n props.onTick?.(second);\n } else if (num === 0) {\n setRunning(false);\n setStarting(false);\n props.onTick?.(second);\n setShowMessage(initConfig.sentTxt);\n }\n },\n totalTicks * 1000,\n { intervalTime: duration },\n );\n\n useEffect(() => {\n if (!initConfig.autoStart) {\n setShowMessage(initConfig.sendTxt);\n } else {\n countdownFnc();\n setStarting(true);\n setRunning(true);\n }\n }, [countdownFnc, initConfig]);\n\n const onStart = hooks.useCallbackRef(() => {\n if (running || starting) return;\n setStarting(true);\n setShowMessage(initConfig.processingTxt);\n void props\n .onSendRequest()\n .then(() => {\n setRunning(true);\n countdownFnc();\n })\n .catch(() => {\n setShowMessage(initConfig.sendTxt);\n setStarting(false);\n });\n });\n\n const className = classNames('v-count-down', props.className, {\n running,\n starting,\n });\n\n return (\n <div className={className} onClick={onStart}>\n {showMessage}\n </div>\n );\n};\n\nSmsCountDown.defaultProps = {\n totalTicks: 60,\n duration: 1000,\n autoStart: false,\n format: '{t}s',\n sendTxt: '获取验证码',\n sentTxt: '重新获取',\n processingTxt: '发送中...',\n};\n","import { classNames } from '@dimjs/utils';\nimport { Children, cloneElement, FC } from 'react';\nimport './style.less';\n\ntype StaticMethods = {\n Condition: typeof Condition;\n Operate: typeof Operate;\n Table: typeof Table;\n Footer: typeof Footer;\n};\n\nexport type TableFilterLayoutProps = {\n className?: string;\n isFixed?: boolean;\n fullIndex?: number;\n};\n\nexport const TableFilterLayout: FC<TableFilterLayoutProps> & StaticMethods = (props) => {\n return (\n <div\n className={classNames(\n 'table-filter-layout',\n { 'table-filter-layout-flex': props.isFixed },\n props.className,\n )}\n >\n {Children.map(props.children, (item, index) => {\n if (props.isFixed && index === props.fullIndex) {\n return cloneElement(item as JSX.Element, { className: 'table-filter-layout-flex-full' });\n }\n return item;\n })}\n </div>\n );\n};\n\nconst Condition: FC<{ className?: string }> = (props) => {\n return <div className={classNames('table-filter-layout-condition', props.className)}>{props.children}</div>;\n};\n\nconst Operate: FC<{ className?: string }> = (props) => {\n return <div className={classNames('table-filter-layout-operate', props.className)}>{props.children}</div>;\n};\n\nconst Table: FC<{ className?: string }> = (props) => {\n return <div className={classNames('table-filter-layout-table', props.className)}>{props.children}</div>;\n};\nconst Footer: FC<{ className?: string }> = (props) => {\n return <div className={classNames('table-filter-layout-footer', props.className)}>{props.children}</div>;\n};\n\nTableFilterLayout.Condition = Condition;\nTableFilterLayout.Operate = Operate;\nTableFilterLayout.Table = Table;\nTableFilterLayout.Footer = Footer;\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Upload, UploadProps } from 'antd';\nimport { FC, useEffect, useState } from 'react';\nimport './style.less';\n\nexport type UploadFileItem = {\n fileKey: string;\n fileName: string;\n};\n\ntype AntdUploadFileItem = {\n uid: string;\n name: string;\n fileKey: string;\n};\n\nexport type UploadFileProps = {\n onChange?: (value?: UploadFileItem[]) => void;\n onUploadError?: (message?: string) => void;\n value?: UploadFileItem[];\n onPreview?: (item: UploadFileItem) => void;\n} & Omit<UploadProps, 'onChange' | 'fileList' | 'onPreview'>;\n\n/**\n * 文件上传,结合Form使用最佳\n * ```\n * 接口返回结构:\n * formData上传接口必须返回fileKey值\n * {\n * code: '0000',\n * data: {\n * fileKey: '预览文件对应的fileKey'\n * }\n * }\n * ```\n * ```\n * 最佳使用方式:\n * <Form.Item name=\"attachmentList\" label=\"附件\">\n * <UploadFile action={uploadUrl} onPreview={onPreviewFile}>\n * <Button type=\"primary\">选择文件导入</Button>\n * </UploadFile>\n * </Form.Item>\n * ```\n *\n */\nexport const UploadFile: FC<UploadFileProps> = (props) => {\n const { onChange, onUploadError, onPreview, value, ...otherProps } = props;\n const [uploadValue, setUploadValue] = useState<AntdUploadFileItem[]>([]);\n useEffect(() => {\n if (value && isArray(value)) {\n setUploadValue(\n value.map((item) => {\n return {\n uid: item['uid'] || item.fileKey,\n name: item.fileName,\n fileKey: item.fileKey,\n };\n }),\n );\n }\n }, [value]);\n\n const onUploadChange = hooks.useCallbackRef((info) => {\n if (info.file.status === 'done') {\n const respData = info.file.response;\n if (respData.code === '0000') {\n const uploadItem = {\n uid: info.file.uid,\n fileName: info.file.name as string,\n fileKey: respData.data.fileKey,\n };\n const respValue = (value || []).concat(uploadItem);\n onChange?.(respValue);\n } else {\n onUploadError?.(respData.message as string);\n }\n } else if (info.file.status === 'removed') {\n const uid = info.file.uid;\n const targetList = value !== undefined ? [...value] : [];\n const targetIndex = targetList.findIndex((item) => {\n const tempUid = item['uid'] || item.fileKey;\n return tempUid === uid;\n });\n if (targetIndex >= 0) {\n targetList.splice(targetIndex, 1);\n }\n onChange?.(targetList);\n } else if (info.file.status === 'error') {\n onUploadError?.();\n }\n // https://github.com/ant-design/ant-design/issues/2423\n setUploadValue([...info.fileList]);\n });\n\n const onUploadPreview = hooks.useCallbackRef((file) => {\n onPreview?.({\n fileKey: file.fileKey,\n fileName: file.fileName,\n });\n });\n\n return (\n <Upload\n {...otherProps}\n onChange={onUploadChange}\n onPreview={onUploadPreview}\n fileList={uploadValue}\n className={classNames('v-upload-file', otherProps.className)}\n >\n {props.children}\n </Upload>\n );\n};\n"],"names":["styles","noop","getPermissionList","getGlobalData","elemAclLimits","permissionList","_isArray","hasPermission","name","includes","Permission","props","_jsx","Fragment","children","ButtonOperate","className","Space","split","Divider","type","size","wrap","_isUndefined","operateList","map","item","index","text","color","onClick","permission","needConfirm","confirmMessage","hidden","style","otherProps","newStyle","Popconfirm","title","okText","cancelText","onConfirm","arrowPointAtCenter","Button","undefined","danger","_createElement","key","DrawerModel","actions","openDrawerForm","itemData","operateType","pageLoading","state","visible","closeDrawer","setDrawerItemData","params","_defineProperty","obj","value","Object","defineProperty","enumerable","configurable","writable","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread2","target","i","arguments","length","source","forEach","getOwnPropertyDescriptors","defineProperties","SaveOutlined","icon","tag","attrs","viewBox","focusable","d","theme","_arrayWithHoles","arr","Array","isArray","_iterableToArrayLimit","_i","Symbol","iterator","_arr","_n","_d","_s","_e","call","next","done","err","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","o","minLen","arrayLikeToArray","n","prototype","toString","slice","constructor","from","test","_nonIterableRest","TypeError","_slicedToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_objectWithoutPropertiesLoose","excluded","sourceKeys","indexOf","_objectWithoutProperties","objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","hasOwn","hasOwnProperty","classNames","classes","arg","argType","inner","join","module","exports","default","window","IconContext","createContext","_typeof","bound01","max","isOnePointZero","isPercent","isPercentage","Math","min","parseFloat","parseInt","String","abs","boundAlpha","a","isNaN","convertToPercentage","Number","pad2","c","rgbToRgb","r","g","b","hue2rgb","p","q","t","hslToRgb","h","s","l","rgbToHsv","v","hsvToRgb","floor","f","mod","rgbToHex","allow3Char","hex","round","startsWith","charAt","convertHexToDecimal","parseIntFromHex","val","names","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","goldenrod","gold","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavenderblush","lavender","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","inputToRGB","rgb","ok","format","stringInputToObject","isValidCSSUnit","substr","CSS_INTEGER","CSS_NUMBER","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","matchers","RegExp","rgba","hsl","hsla","hsv","hsva","hex3","hex6","hex4","hex8","trim","toLowerCase","named","match","exec","Boolean","hueStep","saturationStep","saturationStep2","brightnessStep1","brightnessStep2","lightColorCount","darkColorCount","darkColorMap","opacity","toHsv","_ref","toHex","_ref2","concat","mix","rgb1","rgb2","amount","getHue","light","hue","getSaturation","saturation","toFixed","getValue","generate","opts","patterns","pColor","colorString","_hsv","_colorString","_ref3","darkColorString","backgroundColor","presetPrimaryColors","volcano","geekblue","presetPalettes","presetDarkPalettes","primary","warned","warning","valid","message","process","env","NODE_ENV","console","error","method","warningOnce","canUseDom","document","createElement","MARK_KEY","getContainer","option","attachTo","head","querySelector","body","injectCSS","css","_option$csp","styleNode","csp","nonce","_option$csp2","innerHTML","container","firstChild","prepend","insertBefore","appendChild","containerCache","Map","findExistNode","get","find","node","tagName","updateCSS","has","placeholderStyle","parentNode","set","removeChild","existNode","_option$csp3","_option$csp4","_option$csp5","newNode","warn","isIconDefinition","normalizeAttrs","reduce","acc","class","rootProps","React","_objectSpread","child","getSecondaryColor","primaryColor","generateColor","normalizeTwoToneColors","twoToneColor","iconStyles","useInsertStyles","styleStr","_useContext","useContext","useEffect","_excluded","twoToneColorPalette","secondaryColor","calculated","setTwoToneColors","getTwoToneColors","IconBase","restProps","colors","width","height","fill","displayName","setTwoToneColor","_normalizeTwoToneColo","_normalizeTwoToneColo2","ReactIcon","getTwoToneColor","Icon","forwardRef","ref","_classNames","spin","rotate","tabIndex","_React$useContext","Context","_React$useContext$pre","prefixCls","classString","iconTabIndex","svgStyle","msTransform","transform","role","AntdIcon","SaveOutlinedSvg","DrawerOperation","loading","onCancel","onOk","hideOkBtn","_jsxs","PageLoader","DrawerWraper","footer","operationProps","Drawer","keyboard","forceRender","destroyOnClose","contentWrapperStyle","maxWidth","drawerModels","createDrawerWraperModel","Model","useEffectCustom","fn","deps","useEffectCustomAsync","asyncFunction","then","$error","ModalModel","openModalForm","closeModal","setModalItemData","ModalOperation","cancelButtonProps","okButtonProps","ModalWraper","Modal","modalModels","createModalWraperModel","Page404","SmsCountDown","useState","showMessage","setShowMessage","running","setRunning","starting","setStarting","initConfig","useMemo","sendTxt","sentTxt","processingTxt","autoStart","totalTicks","duration","countdownFnc","hooks","useCountdownCallback","num","second","replace","onTick","intervalTime","onStart","useCallbackRef","onSendRequest","catch","defaultProps","TableFilterLayout","isFixed","Children","fullIndex","cloneElement","Condition","Operate","Table","Footer","UploadFile","onChange","onUploadError","onPreview","uploadValue","setUploadValue","uid","fileKey","fileName","onUploadChange","info","file","status","respData","response","code","uploadItem","data","respValue","targetList","targetIndex","findIndex","tempUid","splice","fileList","onUploadPreview","Upload"],"mappings":"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"}
|