@kne-components/components-core 0.2.48 → 0.2.49
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/build/asset-manifest.json +108 -108
- package/build/index.html +1 -1
- package/build/remoteEntry.js +1 -1
- package/build/remoteEntry.js.map +1 -1
- package/build/static/css/1151.d531cb42.chunk.css +2 -0
- package/build/static/css/{1151.f40f6e6a.chunk.css.map → 1151.d531cb42.chunk.css.map} +1 -1
- package/build/static/css/1153.6bfd975b.chunk.css +2 -0
- package/build/static/css/1153.6bfd975b.chunk.css.map +1 -0
- package/build/static/css/1554.9b4ea595.chunk.css +2 -0
- package/build/static/css/{1554.e83d2267.chunk.css.map → 1554.9b4ea595.chunk.css.map} +1 -1
- package/build/static/css/2503.039df415.chunk.css +2 -0
- package/build/static/css/{2503.f2371958.chunk.css.map → 2503.039df415.chunk.css.map} +1 -1
- package/build/static/css/2517.8960d95a.chunk.css +2 -0
- package/build/static/css/{2517.2b4fc856.chunk.css.map → 2517.8960d95a.chunk.css.map} +1 -1
- package/build/static/css/2716.c63150a9.chunk.css +2 -0
- package/build/static/css/{2716.c000d45e.chunk.css.map → 2716.c63150a9.chunk.css.map} +1 -1
- package/build/static/css/2730.78e4f5a8.chunk.css +2 -0
- package/build/static/css/{2730.1f60a513.chunk.css.map → 2730.78e4f5a8.chunk.css.map} +1 -1
- package/build/static/css/3142.baacc098.chunk.css +2 -0
- package/build/static/css/{3142.e08f04e7.chunk.css.map → 3142.baacc098.chunk.css.map} +1 -1
- package/build/static/css/4029.a75a09cc.chunk.css +2 -0
- package/build/static/css/4029.a75a09cc.chunk.css.map +1 -0
- package/build/static/css/4265.9bf696cc.chunk.css +2 -0
- package/build/static/css/4265.9bf696cc.chunk.css.map +1 -0
- package/build/static/css/4666.4bd45148.chunk.css +2 -0
- package/build/static/css/{4666.05d09090.chunk.css.map → 4666.4bd45148.chunk.css.map} +1 -1
- package/build/static/css/5443.c9319052.chunk.css +2 -0
- package/build/static/css/5443.c9319052.chunk.css.map +1 -0
- package/build/static/css/5600.92cf0d42.chunk.css +2 -0
- package/build/static/css/{5600.b7714b1e.chunk.css.map → 5600.92cf0d42.chunk.css.map} +1 -1
- package/build/static/css/5962.c772f8d0.chunk.css +2 -0
- package/build/static/css/{5962.aea6e05a.chunk.css.map → 5962.c772f8d0.chunk.css.map} +1 -1
- package/build/static/css/{5996.9e578c74.chunk.css → 5996.6842d01b.chunk.css} +2 -2
- package/build/static/css/{5996.9e578c74.chunk.css.map → 5996.6842d01b.chunk.css.map} +1 -1
- package/build/static/css/6611.e8cb13a4.chunk.css +2 -0
- package/build/static/css/{6611.341eefe2.chunk.css.map → 6611.e8cb13a4.chunk.css.map} +1 -1
- package/build/static/css/6779.a1d9c772.chunk.css +2 -0
- package/build/static/css/{6779.d029fa93.chunk.css.map → 6779.a1d9c772.chunk.css.map} +1 -1
- package/build/static/css/6995.ccf433c2.chunk.css +2 -0
- package/build/static/css/{6995.5bb68455.chunk.css.map → 6995.ccf433c2.chunk.css.map} +1 -1
- package/build/static/css/7121.351b65d6.chunk.css +2 -0
- package/build/static/css/{7121.eb4fa5bb.chunk.css.map → 7121.351b65d6.chunk.css.map} +1 -1
- package/build/static/css/7227.869cd234.chunk.css +2 -0
- package/build/static/css/{7227.5f1a90dc.chunk.css.map → 7227.869cd234.chunk.css.map} +1 -1
- package/build/static/css/8017.6e51125e.chunk.css +2 -0
- package/build/static/css/8017.6e51125e.chunk.css.map +1 -0
- package/build/static/css/8332.1283d368.chunk.css +2 -0
- package/build/static/css/{8332.a3534d23.chunk.css.map → 8332.1283d368.chunk.css.map} +1 -1
- package/build/static/css/{8725.4a1a24b9.chunk.css → 8725.b83b84c9.chunk.css} +2 -2
- package/build/static/css/{8725.4a1a24b9.chunk.css.map → 8725.b83b84c9.chunk.css.map} +1 -1
- package/build/static/css/9968.bf7c8c4f.chunk.css +2 -0
- package/build/static/css/9968.bf7c8c4f.chunk.css.map +1 -0
- package/build/static/js/{1153.665a146b.chunk.js → 1153.b3e14a3c.chunk.js} +3 -3
- package/build/static/js/{1153.665a146b.chunk.js.map → 1153.b3e14a3c.chunk.js.map} +1 -1
- package/build/static/js/1554.41dff4cd.chunk.js +3 -0
- package/build/static/js/{1554.62727036.chunk.js.map → 1554.41dff4cd.chunk.js.map} +1 -1
- package/build/static/js/2503.b58a5071.chunk.js +2 -0
- package/build/static/js/{2503.cfdae4ae.chunk.js.map → 2503.b58a5071.chunk.js.map} +1 -1
- package/build/static/js/{2517.713b0d68.chunk.js → 2517.8985bc01.chunk.js} +2 -2
- package/build/static/js/{2517.713b0d68.chunk.js.map → 2517.8985bc01.chunk.js.map} +1 -1
- package/build/static/js/{2716.1a3cf021.chunk.js → 2716.ba8f83d6.chunk.js} +3 -3
- package/build/static/js/{2716.1a3cf021.chunk.js.map → 2716.ba8f83d6.chunk.js.map} +1 -1
- package/build/static/js/2730.ea7793a6.chunk.js +2 -0
- package/build/static/js/{2730.ee0befe4.chunk.js.map → 2730.ea7793a6.chunk.js.map} +1 -1
- package/build/static/js/2814.e9b34af7.chunk.js +2 -0
- package/build/static/js/{2814.ca4b7502.chunk.js.map → 2814.e9b34af7.chunk.js.map} +1 -1
- package/build/static/js/{3142.cddc627f.chunk.js → 3142.7ba43e5d.chunk.js} +2 -2
- package/build/static/js/{3142.cddc627f.chunk.js.map → 3142.7ba43e5d.chunk.js.map} +1 -1
- package/build/static/js/36.896e9537.chunk.js +2 -0
- package/build/static/js/36.896e9537.chunk.js.map +1 -0
- package/build/static/js/{4029.bbb47dbe.chunk.js → 4029.79d98096.chunk.js} +2 -2
- package/build/static/js/{4029.bbb47dbe.chunk.js.map → 4029.79d98096.chunk.js.map} +1 -1
- package/build/static/js/4265.bbc5239b.chunk.js +2 -0
- package/build/static/js/{4265.1adcfd10.chunk.js.map → 4265.bbc5239b.chunk.js.map} +1 -1
- package/build/static/js/{4666.40e9c7fa.chunk.js → 4666.182f4011.chunk.js} +3 -3
- package/build/static/js/{4666.40e9c7fa.chunk.js.map → 4666.182f4011.chunk.js.map} +1 -1
- package/build/static/js/5443.e97a3519.chunk.js +2 -0
- package/build/static/js/{5443.e2e5c228.chunk.js.map → 5443.e97a3519.chunk.js.map} +1 -1
- package/build/static/js/{5600.2ae5f60d.chunk.js → 5600.3fdca536.chunk.js} +2 -2
- package/build/static/js/{5600.2ae5f60d.chunk.js.map → 5600.3fdca536.chunk.js.map} +1 -1
- package/build/static/js/5962.92f1a359.chunk.js +2 -0
- package/build/static/js/{5962.96b625b0.chunk.js.map → 5962.92f1a359.chunk.js.map} +1 -1
- package/build/static/js/{5996.f18ec861.chunk.js → 5996.c59fde58.chunk.js} +2 -2
- package/build/static/js/{5996.f18ec861.chunk.js.map → 5996.c59fde58.chunk.js.map} +1 -1
- package/build/static/js/{6611.d296ef5b.chunk.js → 6611.abf93d05.chunk.js} +2 -2
- package/build/static/js/{6611.d296ef5b.chunk.js.map → 6611.abf93d05.chunk.js.map} +1 -1
- package/build/static/js/{6779.ec58c00c.chunk.js → 6779.84155da6.chunk.js} +2 -2
- package/build/static/js/{6779.ec58c00c.chunk.js.map → 6779.84155da6.chunk.js.map} +1 -1
- package/build/static/js/{6915.be6c9bb5.chunk.js → 6915.30c9ff90.chunk.js} +2 -2
- package/build/static/js/{6915.be6c9bb5.chunk.js.map → 6915.30c9ff90.chunk.js.map} +1 -1
- package/build/static/js/{6995.a26ca591.chunk.js → 6995.4e59b0d0.chunk.js} +2 -2
- package/build/static/js/{6995.a26ca591.chunk.js.map → 6995.4e59b0d0.chunk.js.map} +1 -1
- package/build/static/js/{7121.2505a6db.chunk.js → 7121.36ef61d5.chunk.js} +2 -2
- package/build/static/js/{7121.2505a6db.chunk.js.map → 7121.36ef61d5.chunk.js.map} +1 -1
- package/build/static/js/{7227.1491da92.chunk.js → 7227.da7eaa53.chunk.js} +3 -3
- package/build/static/js/{7227.1491da92.chunk.js.map → 7227.da7eaa53.chunk.js.map} +1 -1
- package/build/static/js/{7967.28a514e2.chunk.js → 7967.0069bd18.chunk.js} +2 -2
- package/build/static/js/{7967.28a514e2.chunk.js.map → 7967.0069bd18.chunk.js.map} +1 -1
- package/build/static/js/{8017.fc24364d.chunk.js → 8017.d07f9913.chunk.js} +2 -2
- package/build/static/js/{8017.fc24364d.chunk.js.map → 8017.d07f9913.chunk.js.map} +1 -1
- package/build/static/js/{8151.64a650e5.chunk.js → 8151.9a6aae96.chunk.js} +2 -2
- package/build/static/js/{8151.64a650e5.chunk.js.map → 8151.9a6aae96.chunk.js.map} +1 -1
- package/build/static/js/{8332.2c9776e4.chunk.js → 8332.00e4ab73.chunk.js} +2 -2
- package/build/static/js/{8332.2c9776e4.chunk.js.map → 8332.00e4ab73.chunk.js.map} +1 -1
- package/build/static/js/{8725.45184f26.chunk.js → 8725.204f19af.chunk.js} +2 -2
- package/build/static/js/{8725.45184f26.chunk.js.map → 8725.204f19af.chunk.js.map} +1 -1
- package/build/static/js/{9968.45a96856.chunk.js → 9968.625c4770.chunk.js} +2 -2
- package/build/static/js/{9968.45a96856.chunk.js.map → 9968.625c4770.chunk.js.map} +1 -1
- package/build/static/js/{main.7ccad8d0.js → main.b940efb7.js} +2 -2
- package/build/static/js/{main.7ccad8d0.js.map → main.b940efb7.js.map} +1 -1
- package/package.json +1 -1
- package/build/static/css/1151.f40f6e6a.chunk.css +0 -2
- package/build/static/css/1153.8b754dbb.chunk.css +0 -2
- package/build/static/css/1153.8b754dbb.chunk.css.map +0 -1
- package/build/static/css/1554.e83d2267.chunk.css +0 -2
- package/build/static/css/2503.f2371958.chunk.css +0 -2
- package/build/static/css/2517.2b4fc856.chunk.css +0 -2
- package/build/static/css/2716.c000d45e.chunk.css +0 -2
- package/build/static/css/2730.1f60a513.chunk.css +0 -2
- package/build/static/css/3142.e08f04e7.chunk.css +0 -2
- package/build/static/css/4029.5fdddb45.chunk.css +0 -2
- package/build/static/css/4029.5fdddb45.chunk.css.map +0 -1
- package/build/static/css/4265.b389c08f.chunk.css +0 -2
- package/build/static/css/4265.b389c08f.chunk.css.map +0 -1
- package/build/static/css/4666.05d09090.chunk.css +0 -2
- package/build/static/css/5443.ff76a7b9.chunk.css +0 -2
- package/build/static/css/5443.ff76a7b9.chunk.css.map +0 -1
- package/build/static/css/5600.b7714b1e.chunk.css +0 -2
- package/build/static/css/5962.aea6e05a.chunk.css +0 -2
- package/build/static/css/6611.341eefe2.chunk.css +0 -2
- package/build/static/css/6779.d029fa93.chunk.css +0 -2
- package/build/static/css/6995.5bb68455.chunk.css +0 -2
- package/build/static/css/7121.eb4fa5bb.chunk.css +0 -2
- package/build/static/css/7227.5f1a90dc.chunk.css +0 -2
- package/build/static/css/8017.9ee01a06.chunk.css +0 -2
- package/build/static/css/8017.9ee01a06.chunk.css.map +0 -1
- package/build/static/css/8332.a3534d23.chunk.css +0 -2
- package/build/static/css/9968.17c4111c.chunk.css +0 -2
- package/build/static/css/9968.17c4111c.chunk.css.map +0 -1
- package/build/static/js/1554.62727036.chunk.js +0 -3
- package/build/static/js/2503.cfdae4ae.chunk.js +0 -2
- package/build/static/js/2730.ee0befe4.chunk.js +0 -2
- package/build/static/js/2814.ca4b7502.chunk.js +0 -2
- package/build/static/js/36.f1bb8722.chunk.js +0 -2
- package/build/static/js/36.f1bb8722.chunk.js.map +0 -1
- package/build/static/js/4265.1adcfd10.chunk.js +0 -2
- package/build/static/js/5443.e2e5c228.chunk.js +0 -2
- package/build/static/js/5962.96b625b0.chunk.js +0 -2
- /package/build/static/js/{1153.665a146b.chunk.js.LICENSE.txt → 1153.b3e14a3c.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{1554.62727036.chunk.js.LICENSE.txt → 1554.41dff4cd.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{2716.1a3cf021.chunk.js.LICENSE.txt → 2716.ba8f83d6.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{4666.40e9c7fa.chunk.js.LICENSE.txt → 4666.182f4011.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{7227.1491da92.chunk.js.LICENSE.txt → 7227.da7eaa53.chunk.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/2814.ca4b7502.chunk.js","mappings":"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","sources":["common/utils/localStorage.js","webpack://@kne-components/components-core/./src/components/ButtonGroup/style.module.scss?7e95","components/ButtonGroup/index.js","components/ConfirmButton/locale/index.js","webpack://@kne-components/components-core/./src/components/ConfirmButton/style.module.scss?9447","components/ConfirmButton/index.js","components/Enum/index.js","webpack://@kne-components/components-core/./src/components/StateTag/style.module.scss?5aff","components/StateTag/index.js","webpack://@kne-components/components-core/./src/components/Table/style.module.scss?5d23","webpack://@kne-components/components-core/./src/components/Table/columns.module.scss?6c8d","components/Table/OptionsList.js","components/Table/Ellipsis.js","components/Table/ColItem.js","components/Table/isColValueEmpty.js","components/Table/HideInfoComponent.js","components/Table/columnTypes.js","components/Table/ColumnsControlContent.js","components/Table/tableLocalApis.js","components/Table/useTableConfig.js","components/Table/useColumnTypeProps.js","components/Table/useGroupHeader.js","components/Table/useSort.js","components/Table/Table.js","components/Table/locale/index.js","components/Table/TablePage.js"],"sourcesContent":["const localStorage = {\n getItem: (key) => {\n const target = window.localStorage.getItem(key);\n try {\n const { dataType, value } = JSON.parse(target);\n if (dataType === \"object\" && value === \"null\") {\n return null;\n }\n if (dataType === \"undefined\") {\n return void 0;\n }\n if (dataType === \"number\") {\n return Number(value);\n }\n if (dataType === \"boolean\") {\n return Boolean(value);\n }\n return value;\n } catch (e) {\n return null;\n }\n },\n setItem: (key, value) => {\n const dataType = typeof value;\n window.localStorage.setItem(key, JSON.stringify({ dataType, value }));\n },\n};\n\nexport default localStorage;\n","// extracted by mini-css-extract-plugin\nexport default {\"width-container\":\"style_width-container__JfEbg__Mz-vv\",\"hidden-container\":\"style_hidden-container__EdySA__Mz-vv\",\"hidden-inner\":\"style_hidden-inner__vAN59__Mz-vv\",\"menu-list\":\"style_menu-list__VDttR__Mz-vv\",\"btn-item\":\"style_btn-item__mp5MQ__Mz-vv\"};","import { startTransition, useState } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport { Button, Dropdown, Space } from \"antd\";\nimport classnames from \"classnames\";\nimport Icon from \"@components/Icon\";\nimport LoadingButton from \"@components/LoadingButton\";\nimport ConfirmButton from \"@components/ConfirmButton\";\nimport useResize from \"@common/hooks/useResize\";\nimport pick from \"lodash/pick\";\nimport style from \"./style.module.scss\";\nimport memoize from \"lodash/memoize\";\n\nconst areaWidthComputed = memoize(\n ({ amountWidth, moreBtnWidth, buttonWidthList, spaceProps, compact }) => {\n const spaceWidth = (() => {\n if (compact) {\n return 0;\n }\n\n if ([\"small\", \"middle\", \"large\"].indexOf(spaceProps.size) > -1) {\n return ([\"small\", \"middle\", \"large\"].indexOf(spaceProps.size) + 1) * 8;\n }\n\n if (Number.isInteger(spaceProps.size)) {\n return spaceProps.size;\n }\n return 8;\n })();\n\n let targetLength = 0,\n targetWidth = 0;\n\n // 采取先加后减策略\n while (\n amountWidth >=\n targetWidth +\n buttonWidthList[targetLength] +\n targetLength * spaceWidth &&\n targetLength < buttonWidthList.length\n ) {\n targetWidth += buttonWidthList[targetLength];\n targetLength += 1;\n }\n\n while (\n amountWidth <\n targetWidth +\n (targetLength - 1) * spaceWidth +\n (targetLength < buttonWidthList.length\n ? moreBtnWidth + spaceWidth\n : 0) &&\n targetLength > 0\n ) {\n targetWidth -= buttonWidthList[targetLength - 1];\n targetLength -= 1;\n }\n\n return targetLength;\n },\n ({ amountWidth, moreBtnWidth, buttonWidthList, spaceProps, compact }) => {\n return `${amountWidth}${moreBtnWidth}${buttonWidthList.join(\n \",\"\n )}${Object.values(spaceProps).join(\",\")}${compact && compact.toString()}`;\n }\n);\n\nconst ButtonGroup = ({ list, more, compact, ...props }) => {\n const spaceProps = pick(props, [\"size\", \"split\", \"align\", \"style\"]);\n const [showLength, setShowLength] = useState(list.length && 1);\n const computedLength = useRefCallback(() => {\n const el = targetRef.current,\n moreEl = moreRef.current,\n widthEl = ref.current;\n if (!el) {\n return;\n }\n\n const buttonEls = el.querySelectorAll(\".button-group-item\");\n if (!buttonEls) {\n return;\n }\n if (buttonEls.length === 0) {\n return;\n }\n\n const amountWidth = widthEl.clientWidth,\n moreBtnWidth = moreEl.clientWidth,\n buttonWidthList = [].map.call(buttonEls, (el) => el.offsetWidth);\n const targetLength = areaWidthComputed({\n amountWidth,\n moreBtnWidth,\n buttonWidthList,\n spaceProps,\n compact,\n });\n startTransition(() => {\n setShowLength(targetLength);\n });\n });\n const ref = useResize(computedLength);\n const targetRef = useResize(computedLength);\n const moreRef = useResize(computedLength);\n const otherList = list.slice(showLength);\n\n const renderButton = (renderItem, index, isDropdown) => {\n if (typeof renderItem === \"function\") {\n return renderItem({\n key: index,\n className: classnames(\"button-group-item\", style[\"btn-item\"]),\n isDropdown,\n });\n }\n const { className, confirm, buttonComponent, ...props } = renderItem;\n const isConfirm = confirm || props.message;\n const CurrentButton = isConfirm\n ? ConfirmButton\n : buttonComponent || LoadingButton;\n\n return (\n <CurrentButton\n danger={isConfirm && props.isDelete !== false}\n {...Object.assign(\n {},\n props,\n isConfirm && (props.isModal || isDropdown)\n ? {\n isModal: true,\n }\n : {}\n )}\n key={index}\n className={classnames(\n \"button-group-item\",\n style[\"btn-item\"],\n className\n )}\n />\n );\n };\n\n const SpaceComponent = compact ? Space.Compact : Space;\n\n return (\n <>\n <div className={style[\"width-container\"]} ref={ref} />\n <div className={style[\"hidden-container\"]}>\n <div className={style[\"hidden-inner\"]} ref={moreRef}>\n {more}\n </div>\n <div className={style[\"hidden-inner\"]} ref={targetRef}>\n <SpaceComponent {...spaceProps}>\n {list.map(renderButton)}\n </SpaceComponent>\n </div>\n </div>\n <SpaceComponent {...spaceProps}>\n {list\n .slice(0, showLength)\n .map((item, index) => renderButton(item, index, false))}\n {otherList.length > 0 && (\n <Dropdown\n overlayClassName={style[\"menu-list\"]}\n menu={{\n items: otherList.map((item, index) => {\n return {\n key: index,\n label: renderButton(item, index, true),\n };\n }),\n }}\n >\n {more}\n </Dropdown>\n )}\n </SpaceComponent>\n </>\n );\n};\n\nButtonGroup.defaultProps = {\n more: (\n <Button>\n 更多\n <Icon type=\"icon-arrow-thin-down\" />\n </Button>\n ),\n};\n\nexport default ButtonGroup;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","// extracted by mini-css-extract-plugin\nexport default {\"overlay\":\"style_overlay__99t5t__Mz-vv\",\"is-danger\":\"style_is-danger__gxyAB__Mz-vv\",\"title\":\"style_title__EEPu2__Mz-vv\",\"content\":\"style_content__mZZg5__Mz-vv\",\"has-title\":\"style_has-title__5+PEt__Mz-vv\"};","import React from \"react\";\nimport { Button, Popconfirm, Space, Typography } from \"antd\";\nimport importMessages from \"./locale\";\nimport Icon from \"@components/Icon\";\nimport { createWithIntl, useIntl } from \"@components/Intl\";\nimport { useConfirmModal } from \"@components/Modal\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\nexport const withConfirm = (WrappedComponent) => {\n const ConfirmComponent = createWithIntl({\n moduleName: \"ConfirmButton\",\n importMessages,\n })(\n ({\n title,\n message,\n isDelete = true,\n onClick,\n onCancel,\n disabled,\n showCancel,\n cancelText,\n isModal,\n okText,\n placement,\n getContainer,\n ...props\n }) => {\n const { formatMessage } = useIntl({ moduleName: \"ConfirmButton\" });\n const modal = useConfirmModal();\n if (isModal) {\n return (\n <WrappedComponent\n {...props}\n disabled={disabled}\n onClick={(e) => {\n modal({\n type: \"confirm\",\n title: title,\n getContainer,\n danger: isDelete,\n confirmType: isDelete ? \"warning\" : \"info\",\n message: message || formatMessage({ id: \"message\" }),\n okText: okText\n ? okText\n : isDelete\n ? formatMessage({ id: \"delete\" })\n : formatMessage({ id: \"confirm\" }),\n cancelText: cancelText || formatMessage({ id: \"cancel\" }),\n onCancel,\n onOk: onClick,\n });\n }}\n />\n );\n }\n return (\n <Popconfirm\n title={\n <Space\n direction=\"vertical\"\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n {title && (\n <Space size={0} align=\"start\" className={style[\"title\"]}>\n {isDelete && (\n <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\n )}\n {title}\n </Space>\n )}\n <Space\n size={0}\n align=\"start\"\n className={classnames(style[\"content\"], {\n [style[\"has-title\"]]: title,\n })}\n >\n {!title && isDelete ? (\n <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\n ) : null}\n {message || formatMessage({ id: \"message\" })}\n </Space>\n </Space>\n }\n placement={placement}\n onConfirm={onClick}\n okButtonProps={{\n danger: isDelete,\n }}\n onCancel={onCancel}\n overlayClassName={classnames(style[\"overlay\"], {\n [style[\"is-danger\"]]: isDelete,\n })}\n getPopupContainer={getContainer}\n disabled={disabled}\n showCancel={showCancel}\n cancelText={cancelText}\n okText={\n okText\n ? okText\n : isDelete\n ? formatMessage({ id: \"delete\" })\n : formatMessage({ id: \"confirm\" })\n }\n >\n <WrappedComponent {...props} disabled={disabled} />\n </Popconfirm>\n );\n }\n );\n\n ConfirmComponent.defaultProps = {\n isModal: false,\n showCancel: true,\n };\n\n return ConfirmComponent;\n};\n\nexport const ConfirmLink = withConfirm(Typography.Link);\nexport const ConfirmText = withConfirm(Typography.Text);\n\nexport default withConfirm(Button);\n","import { useRef } from \"react\";\nimport { withFetch } from \"@kne/react-fetch\";\nimport { useGlobalContext, usePreset } from \"@components/Global\";\nimport memoize from \"lodash/memoize\";\nimport isNil from \"lodash/isNil\";\n\nconst baseLoaders = [\n [\n \"gender\",\n () => [\n { value: \"M\", description: \"男\" },\n {\n value: \"F\",\n description: \"女\",\n },\n ],\n ],\n [\n \"marital\",\n () => [\n { description: \"已婚\", value: \"Y\" },\n {\n description: \"未婚\",\n value: \"N\",\n },\n ],\n ],\n [\n \"confirm\",\n () => [\n { description: \"是\", value: \"Y\" },\n {\n description: \"否\",\n value: \"N\",\n },\n ],\n ],\n [\n \"political\",\n () => [\n { description: \"中共党员\", value: \"中共党员\" },\n {\n description: \"共青团员\",\n value: \"共青团员\",\n },\n { description: \"群众\", value: \"群众\" },\n {\n description: \"其他党派\",\n value: \"其他党派\",\n },\n ],\n ],\n [\n \"phoneStateEnum\",\n () => [\n {\n value: 0,\n description: \"空号\",\n },\n {\n value: 1,\n description: \"实号\",\n },\n {\n value: 2,\n description: \"停机\",\n },\n {\n value: 3,\n description: \"库无\",\n },\n {\n value: 4,\n description: \"沉默号\",\n },\n {\n value: 5,\n description: \"风险号\",\n },\n ],\n ],\n [\n \"degreeEnum\",\n () => [\n {\n description: \"初中\",\n value: 10,\n },\n {\n description: \"中专\",\n value: 20,\n },\n {\n description: \"高中\",\n value: 30,\n },\n {\n description: \"大专\",\n value: 40,\n },\n {\n description: \"本科\",\n value: 50,\n },\n {\n description: \"硕士研究生\",\n value: 60,\n },\n {\n description: \"博士研究生\",\n value: 70,\n },\n {\n description: \"博士后\",\n value: 75,\n },\n {\n description: \"学历不限\",\n value: 999,\n },\n ],\n ],\n];\n\nconst EnumLoaderFetch = withFetch(({ data, children }) => {\n return typeof children === \"function\"\n ? children(data)\n : children || data?.description;\n});\n\nconst getEnumsMap = memoize((enums) => {\n return new Map(\n baseLoaders.concat(\n Object.keys(Object.assign({}, enums)).map((key) => [key, enums[key]])\n )\n );\n});\n\nconst EnumLoader = ({ loader: enumsLoader, ...props }) => {\n const {\n global: { enumsRef },\n } = useGlobalContext();\n const prevLocaleRef = useRef(null);\n return (\n <EnumLoaderFetch\n {...props}\n loader={async (...args) => {\n const enums = getEnumsMap(await enumsLoader(...args));\n const { params } = args[0];\n const { moduleName, name, force, locale } = params;\n\n const getEnumMap = async (moduleName) => {\n return (\n (() => {\n return (\n force !== true &&\n prevLocaleRef.current === locale &&\n enumsRef.current.get(moduleName)\n );\n })() ||\n (await (async () => {\n const loader = enums.get(moduleName);\n const output = await (async () => {\n if (typeof loader === \"function\") {\n return new Map(\n (await loader({ locale })).map((item) => {\n return [item.value.toString(), item];\n })\n );\n }\n if (Array.isArray(loader)) {\n return new Map(\n loader.map((item) => [item.value.toString(), item])\n );\n }\n if (typeof loader === \"object\") {\n return new Map(\n Object.keys(loader).map((key) => [\n key.toString(),\n loader[key],\n ])\n );\n }\n console.warn(\"枚举值loader的设置可能不正确\");\n return new Map();\n })();\n enumsRef.current.set(moduleName, output);\n prevLocaleRef.current = locale;\n return output;\n })())\n );\n };\n if (Array.isArray(moduleName)) {\n return await Promise.all(\n moduleName.map((target) =>\n getEnumMap(target).then((enumMap) => Array.from(enumMap.values()))\n )\n );\n }\n\n const enumMap = await getEnumMap(moduleName);\n if (!isNil(name)) {\n return enumMap.get(name.toString());\n }\n return Array.from(enumMap.values());\n }}\n />\n );\n};\n\nconst Enum = ({ moduleName, name, force, children, ...props }) => {\n const preset = usePreset();\n return (\n <EnumLoader\n {...props}\n params={{\n moduleName,\n locale: preset?.locale,\n enums: preset?.enums,\n name,\n force,\n }}\n loader={({ params }) => params.enums}\n >\n {children}\n </EnumLoader>\n );\n};\n\nEnum.defaultProps = {\n force: false,\n};\n\nexport default Enum;\n","// extracted by mini-css-extract-plugin\nexport default {\"state-tag\":\"style_state-tag__Kx27z__Mz-vv\",\"state-result-tag\":\"style_state-result-tag__CssDz__Mz-vv\",\"state-skill-tag\":\"style_state-skill-tag__k0bQE__Mz-vv\",\"event-tag\":\"style_event-tag__cg6SE__Mz-vv\",\"state-tag-filter-result-wrapper\":\"style_state-tag-filter-result-wrapper__QYS5z__Mz-vv\",\"state-tag-filter-name\":\"style_state-tag-filter-name__iJaJd__Mz-vv\",\"state-tag-filterResult\":\"style_state-tag-filterResult__KTkot__Mz-vv\",\"show-bg\":\"style_show-bg__OcL+R__Mz-vv\",\"tag-text\":\"style_tag-text__JHCt+__Mz-vv\",\"state-tag-wrapper\":\"style_state-tag-wrapper__A-gTE__Mz-vv\"};","import React, { useMemo } from \"react\";\nimport classnames from \"classnames\";\n\nimport style from \"./style.module.scss\";\nimport { Space, Tag } from \"antd\";\n\nconst tagTypeEnum = {\n default: \"#666666\",\n skill: {\n color: \"#666666\",\n borderColor: \"#EEEEEE\",\n },\n result: \"#666666\",\n filterResult: \"#5CB8B2\",\n success: \"#027A48\",\n progress: \"#F09700\",\n danger: \"#D14343\",\n info: \"#155ACF\",\n other: \"#6740C3\",\n};\n\nconst StateTag = ({\n showBorder,\n text,\n type,\n showBackground,\n className,\n filterName,\n ...props\n}) => {\n const tagColor = useMemo(\n () => ({\n color: tagTypeEnum?.[type]?.color || tagTypeEnum[type],\n borderColor: tagTypeEnum?.[type]?.borderColor || tagTypeEnum[type],\n }),\n [type]\n );\n\n return (\n <Space\n data-testid={\"components-core-state-tag\"}\n className={classnames(\n style[\"state-tag-wrapper\"],\n type === \"filterResult\" ? style[\"state-tag-filter-result-wrapper\"] : \"\"\n )}\n align=\"center\"\n size={4}\n >\n {filterName ? (\n <span className={style[\"state-tag-filter-name\"]}>{filterName}:</span>\n ) : null}\n <Tag\n color={tagColor.color}\n {...props}\n style={{\n background: showBackground ? tagColor.color + \"0F\" : \"none\",\n color: tagColor.color,\n border: showBorder ? `1px solid ${tagColor.borderColor}` : \"none\",\n }}\n className={classnames(\n style[\"state-tag\"],\n className,\n type === \"result\" ? style[\"state-result-tag\"] : \"\",\n type === \"skill\" ? style[\"state-skill-tag\"] : \"\",\n style[`state-tag-${type}`],\n showBackground ? style[\"show-bg\"] : \"\",\n showBorder ? style[\"show-border\"] : \"\",\n props?.onClick ? style[\"event-tag\"] : \"\"\n )}\n >\n <span className={style[\"tag-text\"]}>{text}</span>\n </Tag>\n </Space>\n );\n};\n\nStateTag.defaultProps = {\n color: \"#666666\",\n type: \"default\",\n showBorder: false,\n showBackground: true,\n text: \"\",\n className: \"\",\n};\n\nexport default StateTag;\n","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"style_table__z7kfz__Mz-vv\",\"is-resize\":\"style_is-resize__ut6RW__Mz-vv\",\"is-moving\":\"style_is-moving__BJ9wR__Mz-vv\",\"cell-resize-bar\":\"style_cell-resize-bar__-mlUF__Mz-vv\",\"is-computed\":\"style_is-computed__B9rIF__Mz-vv\",\"options-column\":\"style_options-column__vsPTr__Mz-vv\",\"options-btn\":\"style_options-btn__U3uoy__Mz-vv\",\"tooltip\":\"style_tooltip__vJlkv__Mz-vv\",\"table-changer-setting\":\"style_table-changer-setting__HcrwR__Mz-vv\",\"width-changer-sign\":\"style_width-changer-sign__Aflyl__Mz-vv\",\"columns-control\":\"style_columns-control__5-5ZF__Mz-vv\",\"columns-control-content\":\"style_columns-control-content__MoeUI__Mz-vv\",\"columns-control-content-title\":\"style_columns-control-content-title__P5sXV__Mz-vv\",\"columns-control-content-scroller\":\"style_columns-control-content-scroller__CeYRV__Mz-vv\",\"columns-control-content-footer\":\"style_columns-control-content-footer__0bQWm__Mz-vv\",\"columns-control-content-input\":\"style_columns-control-content-input__G6yKq__Mz-vv\",\"columns-control-content-list\":\"style_columns-control-content-list__aXvTs__Mz-vv\",\"columns-control-content-item\":\"style_columns-control-content-item__jbyyE__Mz-vv\",\"is-drag\":\"style_is-drag__U68aw__Mz-vv\",\"columns-control-content-item-icon\":\"style_columns-control-content-item-icon__yJqZf__Mz-vv\",\"sortable-drag\":\"style_sortable-drag__K5hWd__Mz-vv\",\"sortable-ghost\":\"style_sortable-ghost__lKTd2__Mz-vv\",\"columns-control-overlay\":\"style_columns-control-overlay__OxCIz__Mz-vv\",\"sort-btn\":\"style_sort-btn__KvNLr__Mz-vv\",\"sort-active-desc\":\"style_sort-active-desc__TIhMC__Mz-vv\",\"sort-icon\":\"style_sort-icon__dB85I__Mz-vv\",\"sort-active-asc\":\"style_sort-active-asc__RUBup__Mz-vv\"};","// extracted by mini-css-extract-plugin\nexport default {\"col-item\":\"columns_col-item__Ym1Ec__Mz-vv\",\"tag\":\"columns_tag__bQZLG__Mz-vv\",\"avatar\":\"columns_avatar__SLPI+__Mz-vv\",\"hover\":\"columns_hover__oAwHg__Mz-vv\",\"primary\":\"columns_primary__6KtaA__Mz-vv\",\"loading\":\"columns_loading__gtBay__Mz-vv\",\"options\":\"columns_options__WvDZD__Mz-vv\"};","import { Button } from \"antd\";\nimport classnames from \"classnames\";\nimport Icon from \"@components/Icon\";\nimport ButtonGroup from \"@components/ButtonGroup\";\nimport style from \"./style.module.scss\";\n\nconst OptionsList = ({ className, list = [], width }) => {\n return (\n <div\n className={classnames(className, style[\"options-column\"])}\n style={{\n \"--max-width\": width + \"px\",\n }}\n >\n <ButtonGroup\n list={list\n .filter((item) => !item?.hidden)\n .map(({ className, ...props }) =>\n Object.assign({}, props, {\n className: classnames(\n className,\n \"btn-no-padding\",\n style[\"options-btn\"]\n ),\n type: \"link\",\n })\n )}\n more={\n <Button\n icon={<Icon type=\"icon-gengduo2\" />}\n className=\"btn-no-padding\"\n type=\"link\"\n />\n }\n />\n </div>\n );\n};\n\nexport default OptionsList;\n","import { Typography } from \"antd\";\nimport style from \"./style.module.scss\";\n\nconst Ellipsis = ({ children, ellipsis }) => {\n return (\n <Typography.Text\n ellipsis={\n ellipsis &&\n Object.assign(\n {},\n {\n tooltip: {\n overlayClassName: style[\"tooltip\"],\n children: children,\n },\n }\n )\n }\n >\n {children}\n </Typography.Text>\n );\n};\n\nexport default Ellipsis;\n","import { useState } from \"react\";\nimport classnames from \"classnames\";\nimport columnsStyle from \"./columns.module.scss\";\n\nconst ColItem = ({\n type,\n item,\n isEmpty,\n emptyRender,\n hover,\n primary,\n children,\n width,\n style,\n onClick,\n colValue,\n}) => {\n const [loading, setLoading] = useState(false);\n return (\n <div\n style={Object.assign({}, style, { \"--max-width\": width + \"px\" })}\n className={classnames(\n columnsStyle[\"col-item\"],\n columnsStyle[type],\n isEmpty\n ? null\n : {\n [columnsStyle[\"hover\"]]: hover,\n [columnsStyle[\"primary\"]]: primary,\n [columnsStyle[\"loading\"]]: loading,\n }\n )}\n onClick={(e) => {\n if (typeof onClick === \"function\" && !isEmpty && !loading) {\n setLoading(true);\n Promise.resolve(\n onClick({ item, colItem: colValue, event: e })\n ).finally(() => {\n setLoading(false);\n });\n }\n }}\n >\n {isEmpty\n ? emptyRender({ type, item, hover, primary, children })\n : children}\n </div>\n );\n};\n\nColItem.defaultProps = {\n emptyRender: () => \"-\",\n};\n\nexport default ColItem;\n","const isColValueEmpty = (value, emptyOf) =>\n typeof emptyOf === \"function\"\n ? emptyOf(value)\n : (Array.isArray(value) && value.length === 0) ||\n (value &&\n typeof value === \"object\" &&\n Object.values(value).length === 0) ||\n value === \"\" ||\n value === void 0 ||\n value === null;\n\nexport default isColValueEmpty;\n","import { createWithFetch } from \"@kne/react-fetch\";\nimport Ellipsis from \"./Ellipsis\";\nimport { Button } from \"antd\";\nimport ColItem from \"./ColItem\";\nimport isColValueEmpty from \"./isColValueEmpty\";\n\nconst DisplayInfo = createWithFetch({\n loading: null,\n})(({ data, children }) => {\n return children(data);\n});\n\nconst HideInfoComponent = ({\n api,\n expand,\n onExpand,\n ellipsis,\n hover,\n primary,\n emptyRender,\n isEmpty,\n}) => {\n const targetApi = Object.assign({}, api);\n if (expand) {\n return (\n <DisplayInfo {...targetApi}>\n {(data) => {\n return (\n <ColItem\n type=\"hide-info-expand\"\n item={data}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isColValueEmpty(data)}\n >\n <Ellipsis ellipsis={ellipsis}>\n {typeof targetApi.children === \"function\"\n ? targetApi.children(data)\n : data}\n </Ellipsis>\n </ColItem>\n );\n }}\n </DisplayInfo>\n );\n }\n return (\n <ColItem type=\"hide-info\" primary emptyRender={emptyRender}>\n <Button className=\"btn-no-padding\" type=\"link\" onClick={onExpand}>\n 查看\n </Button>\n </ColItem>\n );\n};\n\nexport default HideInfoComponent;\n","import columnsStyle from \"./columns.module.scss\";\nimport dayjs from \"dayjs\";\nimport OptionsList from \"./OptionsList\";\nimport classnames from \"classnames\";\nimport StateTag from \"@components/StateTag\";\nimport Image from \"@components/Image\";\nimport Enum from \"@components/Enum\";\nimport HideInfoComponent from \"./HideInfoComponent\";\nimport Ellipsis from \"./Ellipsis\";\nimport ColItem from \"./ColItem\";\nimport omit from \"lodash/omit\";\n\n// init:160px min:120px max:400px\nconst date = (item, { hover, primary, isEmpty, emptyRender, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"date\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\"YYYY-MM-DD\")}\n </ColItem>\n );\n};\n\nconst dateShort = (\n item,\n { hover, primary, isEmpty, emptyRender, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"date-short\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\"YYYY-MM\")}\n </ColItem>\n );\n};\n\n// init:240px min:120px max:400px\nconst dateRange = (\n item,\n { hover, primary, isEmpty, emptyRender, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"date-range\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {dayjs(item?.[0]).format(\"YYYY-MM-DD HH:mm\") +\n \"-\" +\n dayjs(item?.[1]).format(\"HH:mm\")}\n </ColItem>\n );\n};\n// init:190px min:190px max:400px\nconst datetime = (\n item,\n { hover, primary, emptyRender, isEmpty, hideSecond, ...props }\n) => {\n return (\n <ColItem\n {...props}\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\n hideSecond ? \"YYYY-MM-DD HH:mm\" : \"YYYY-MM-DD HH:mm:ss\"\n )}\n </ColItem>\n );\n};\n// init:190px min:100px max:400px\nconst serialNumber = (\n item,\n { hover, primary, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"serial-number\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item}\n </ColItem>\n );\n};\n// init:120px min:100px max:400px\nconst serialNumberShort = (\n item,\n { hover, primary, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"serial-number-short\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item}\n </ColItem>\n );\n};\n// init:200px min:120px max:400px\nconst user = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"user\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:100px 100px 400px\nconst userName = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"user-name\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:240px 160px 400px\nconst contacts = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"contacts\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:140px min:100px max:400px\nconst tag = (item, { emptyRender, isEmpty, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"tag\"\n item={item}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item &&\n (item.isEnum ? (\n <Enum\n name={item.name}\n moduleName={item.moduleName}\n force={item.force}\n >\n {({ type, description }) => (\n <StateTag\n type={type}\n {...Object.assign(\n {},\n omit(item, [\"name\", \"isEnum\", \"moduleName\", \"force\"])\n )}\n text={description}\n />\n )}\n </Enum>\n ) : (\n <StateTag {...Object.assign({}, item)} />\n ))}\n </ColItem>\n );\n};\n// init:80px min:64px max:200px\nconst avatar = (item, { emptyRender, isEmpty, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"avatar\"\n item={item}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Image.Avatar {...Object.assign({}, item)} size={32} />\n </ColItem>\n );\n};\n// init:70px min:70px max:400px\nconst singleRow = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"single-row\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:80px min:80px max:400px\nconst hideInfo = (item, props) => {\n return <HideInfoComponent api={item} {...props} />;\n};\n// init:300px min:160px max:500px\nconst mainInfo = (\n item,\n { ellipsis, hover = true, primary = true, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"main-info\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:400px 160px 600px\nconst description = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"description\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\n// init:180px min:120px max:400px\nconst options = (item, { width }) => {\n return (\n <OptionsList\n className={classnames(columnsStyle[\"col-item\"], columnsStyle[\"options\"])}\n list={item}\n width={width}\n />\n );\n};\n\nconst other = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"other\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\nconst sensitiveInfo = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"sensitiveInfo\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\nconst columnTypes = {\n date: {\n render: date,\n width: 160,\n min: 120,\n max: 400,\n },\n dateShort: {\n render: dateShort,\n width: 120,\n min: 100,\n max: 400,\n },\n dateRange: {\n render: dateRange,\n width: 240,\n min: 120,\n max: 400,\n },\n datetime: {\n render: datetime,\n width: 190,\n min: 190,\n max: 400,\n },\n serialNumber: {\n render: serialNumber,\n width: 190,\n min: 100,\n max: 400,\n },\n serialNumberShort: {\n render: serialNumberShort,\n width: 120,\n min: 100,\n max: 400,\n },\n user: {\n render: user,\n width: 200,\n min: 120,\n max: 400,\n },\n userName: {\n render: userName,\n width: 100,\n min: 100,\n max: 400,\n },\n contacts: {\n render: contacts,\n width: 240,\n min: 160,\n max: 400,\n },\n tag: {\n render: tag,\n width: 140,\n min: 100,\n max: 400,\n },\n avatar: {\n render: avatar,\n width: 80,\n min: 64,\n max: 200,\n },\n singleRow: {\n render: singleRow,\n width: 70,\n min: 70,\n max: 400,\n },\n hideInfo: {\n render: hideInfo,\n width: 120,\n min: 80,\n max: 400,\n },\n mainInfo: {\n render: mainInfo,\n width: 300,\n min: 160,\n max: 500,\n },\n description: {\n render: description,\n width: 400,\n min: 160,\n max: 600,\n },\n options: {\n render: options,\n width: 180,\n min: 120,\n max: 400,\n },\n sensitiveInfo: {\n render: sensitiveInfo,\n width: 200,\n min: 100,\n max: 400,\n },\n other: {\n render: other,\n width: 200,\n min: 120,\n max: 400,\n },\n otherSmall: {\n render: other,\n width: 100,\n min: 70,\n max: 400,\n },\n otherLarge: {\n render: other,\n width: 300,\n min: 120,\n max: 500,\n },\n};\n\nexport default columnTypes;\n","import { useMemo, useState } from \"react\";\nimport groupBy from \"lodash/groupBy\";\nimport Icon from \"@components/Icon\";\nimport LoadingButton from \"@components/LoadingButton\";\nimport { SearchInput } from \"@components/Common\";\nimport style from \"./style.module.scss\";\nimport { Button, Checkbox, Col, Collapse, List, Row, Tooltip } from \"antd\";\nimport { ReactSortable } from \"react-sortablejs\";\nimport classnames from \"classnames\";\nimport transform from \"lodash/transform\";\nimport get from \"lodash/get\";\nimport set from \"lodash/set\";\nimport cloneDeep from \"lodash/cloneDeep\";\n\nconst { Panel } = Collapse;\n\nconst ColumnsControlContent = ({\n close,\n onConfirm,\n columns,\n config: defaultValue,\n}) => {\n const [config, onChange] = useState(defaultValue || {});\n\n const [searchText, setSearchText] = useState(\"\");\n const { leftFixedColumns, rightFixedColumns, visibleColumns, hiddenColumns } =\n useMemo(() => {\n return transform(\n Object.assign(\n {\n leftFixedColumns: [],\n rightFixedColumns: [],\n visibleColumns: [],\n hiddenColumns: [],\n },\n groupBy(columns, (item) => {\n if (item.fixed === \"right\") {\n return \"rightFixedColumns\";\n }\n if (item.fixed === true || item.fixed === \"left\") {\n return \"leftFixedColumns\";\n }\n return (get(config, `${item.name}.visible`) !== true &&\n item.hidden) ||\n get(config, `${item.name}.visible`) === false\n ? \"hiddenColumns\"\n : \"visibleColumns\";\n })\n ),\n (result, value, key) => {\n result[key] = value.sort((a, b) => {\n return (\n get(config, `${a.name}.rank`, 0) -\n get(config, `${b.name}.rank`, 0)\n );\n });\n },\n {}\n );\n }, [columns, config]);\n\n const handlerColumnsChange = (columns) => {\n const newConfig = cloneDeep(config);\n const columnsList = [].concat(\n columns.leftFixedColumns,\n columns.visibleColumns,\n columns.rightFixedColumns\n );\n (columns.hiddenColumns || []).forEach((col) => {\n set(newConfig, `${col.name}.visible`, false);\n });\n columnsList.forEach((col, index) => {\n set(newConfig, `${col.name}.rank`, index + 1);\n });\n onChange(newConfig);\n };\n\n const renderColumn = (item) => {\n return (\n <>\n {item.titleText || item.title || \"未命名列\"}\n {item.groupHeader && item.groupHeader.length > 0\n ? `(${item.groupHeader.map(({ title }) => title).join(\"-\")})`\n : \"\"}\n </>\n );\n };\n\n return (\n <div className={style[\"columns-control-content\"]}>\n <div className={style[\"columns-control-content-title\"]}>\n <Row align=\"middle\" justify=\"space-between\">\n <Col>编辑表格</Col>\n <Col>\n <Tooltip title=\"恢复默认\">\n <LoadingButton\n type=\"text\"\n icon={<Icon type=\"icon-huifumorenshezhi\" />}\n onClick={async () => {\n onConfirm && (await onConfirm({}));\n close();\n }}\n />\n </Tooltip>\n </Col>\n </Row>\n </div>\n <div className={style[\"columns-control-content-scroller\"]}>\n <Collapse\n defaultActiveKey={[\"active\", \"un-active\"]}\n ghost={true}\n bordered\n >\n <Panel key=\"active\" header=\"显示的信息\">\n <List className={style[\"columns-control-content-list\"]}>\n {leftFixedColumns.map((item, index) => (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.name || `left-${index}`}\n >\n <Checkbox checked disabled>\n {renderColumn(item)}\n </Checkbox>\n </List.Item>\n ))}\n <ReactSortable\n list={visibleColumns}\n filter=\".ignore-elements\"\n dragClass={style[\"sortable-drag\"]}\n ghostClass={style[\"sortable-ghost\"]}\n forceFallback\n setList={(visibleColumns) => {\n handlerColumnsChange({\n leftFixedColumns,\n visibleColumns,\n hiddenColumns,\n rightFixedColumns,\n });\n }}\n animation={300}\n delayOnTouchStart\n delay={2}\n >\n {visibleColumns.map((item, index) => (\n <List.Item\n className={classnames(\n style[\"columns-control-content-item\"],\n style[\"is-drag\"]\n )}\n key={item.name || `visible-${index}`}\n >\n <Icon\n type=\"icon-paixu\"\n className={style[\"columns-control-content-item-icon\"]}\n />\n <Checkbox\n checked\n disabled={\n item.fixed ||\n leftFixedColumns.length +\n visibleColumns.length +\n rightFixedColumns.length <=\n 1\n }\n onChange={(e) => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign(\n {},\n newConfig[item.name],\n { visible: false }\n );\n onChange(newConfig);\n }}\n >\n {renderColumn(item)}\n </Checkbox>\n </List.Item>\n ))}\n </ReactSortable>\n {rightFixedColumns.map((item, index) => (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.name || `right-${index}`}\n >\n <Checkbox checked disabled>\n {item.titleText || item.title || \"未命名列\"}\n </Checkbox>\n </List.Item>\n ))}\n </List>\n </Panel>\n <Panel\n key=\"un-active\"\n header={\n <Row wrap={false} justify=\"space-between\">\n <Col>隐藏的信息</Col>\n <Col\n onClick={(e) => {\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <SearchInput\n prefix={<Icon type=\"icon-sousuo\" size={12} />}\n placeholder=\"搜索\"\n onSearch={(value) => {\n setSearchText(value);\n }}\n className={style[\"columns-control-content-input\"]}\n size=\"small\"\n />\n </Col>\n </Row>\n }\n >\n <List\n dataSource={hiddenColumns.filter(\n (item) =>\n typeof (item.titleText || item.title) === \"string\" &&\n (item.titleText || item.title).indexOf(searchText) > -1\n )}\n renderItem={(item) => {\n return (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.key}\n >\n <Checkbox\n checked={false}\n onChange={(e) => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign(\n {},\n newConfig[item.name],\n { visible: true }\n );\n onChange(newConfig);\n }}\n >\n {item.titleText || item.title || \"未命名列\"}\n </Checkbox>\n </List.Item>\n );\n }}\n />\n </Panel>\n </Collapse>\n </div>\n <Row\n className={style[\"columns-control-content-footer\"]}\n justify=\"end\"\n gutter={10}\n >\n <Col>\n <Button\n size=\"small\"\n onClick={() => {\n onChange(defaultValue || {});\n close();\n }}\n >\n 取消\n </Button>\n </Col>\n <Col>\n <LoadingButton\n type=\"primary\"\n size=\"small\"\n onClick={async () => {\n onConfirm && (await onConfirm(config));\n close();\n }}\n >\n 确定\n </LoadingButton>\n </Col>\n </Row>\n </div>\n );\n};\n\nexport default ColumnsControlContent;\n","import localStorage from \"@common/utils/localStorage\";\nimport get from \"lodash/get\";\n\nconst storageKey = \"COMPONENTS_CORE_TABLE_CONFIG\";\n\nconst getDataApi = (name) => {\n if (!name) {\n return {};\n }\n\n return {\n loader: () => get(localStorage.getItem(storageKey), name, {}),\n };\n};\n\nconst setDataFunc = (name, data) => {\n if (!name) {\n return;\n }\n return localStorage.setItem(\n storageKey,\n Object.assign({}, localStorage.getItem(storageKey), { [name]: data })\n );\n};\n\nconst tableLocalApis = { getDataApi, setDataFunc };\n\nexport default tableLocalApis;\n","import { startTransition, useEffect, useMemo, useRef, useState } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport classnames from \"classnames\";\nimport columnTypes from \"./columnTypes\";\nimport get from \"lodash/get\";\nimport sumBy from \"lodash/sumBy\";\nimport transform from \"lodash/transform\";\nimport pick from \"lodash/pick\";\nimport { Col, Popover, Row } from \"antd\";\nimport Icon from \"@components/Icon\";\nimport { usePreset } from \"@components/Global\";\nimport { useFetch } from \"@kne/react-fetch\";\nimport ColumnsControlContent from \"./ColumnsControlContent\";\nimport { useDebouncedCallback } from \"use-debounce\";\nimport style from \"./style.module.scss\";\nimport isEqual from \"lodash/isEqual\";\nimport findLastIndex from \"lodash/findLastIndex\";\nimport tableLocalApis from \"./tableLocalApis\";\n\nconst TableConfig = ({ title, columns, config, setConfig }) => {\n const [open, setOpen] = useState(false);\n return (\n <Row wrap={false}>\n <Col flex={1}>{title}</Col>\n <Col>\n <Popover\n open={open}\n onOpenChange={setOpen}\n trigger=\"click\"\n placement=\"bottomLeft\"\n overlayClassName={style[\"columns-control-overlay\"]}\n content={\n <ColumnsControlContent\n columns={columns}\n config={config}\n close={() => {\n setOpen(false);\n }}\n onConfirm={(newConfig) => {\n setConfig((config) => {\n return transform(\n newConfig,\n (result, value, key) => {\n result[key] = Object.assign(\n {},\n config[key],\n pick(value, [\"visible\", \"rank\"])\n );\n },\n {}\n );\n });\n }}\n />\n }\n >\n <span className={style[\"table-changer-setting\"]}>\n <Icon type=\"icon-shezhi\" />\n </span>\n </Popover>\n </Col>\n </Row>\n );\n};\n\nconst useTableConfig = ({\n columns,\n name,\n controllerOpen,\n tableWidth,\n rowKey,\n}) => {\n const [currentMoveColumnIndex, setCurrentMoveColumnIndex] = useState(null);\n const currentMoveColumnIndexRef = useRef(currentMoveColumnIndex);\n currentMoveColumnIndexRef.current = currentMoveColumnIndex;\n const currentMoveColumnRef = useRef(null);\n const startPointRef = useRef(null);\n const [config, setConfigBase] = useState({});\n const { tableServerApis: presetTableServerApis } = usePreset();\n const tableServerApis = presetTableServerApis\n ? presetTableServerApis\n : tableLocalApis;\n\n const tablePageServerParams = tableServerApis?.getDataApi(name);\n\n const saveConfig = useDebouncedCallback((name, target) => {\n tableServerApis?.setDataFunc(name, target);\n }, 500);\n\n const setConfig = useRefCallback((newConfig) => {\n startTransition(() => {\n setConfigBase((config) => {\n const target =\n typeof newConfig === \"function\" ? newConfig(config) : newConfig;\n name && controllerOpen && saveConfig(name, target);\n return target;\n });\n });\n });\n\n const { send } = useFetch(\n Object.assign({\n ...Object.assign({}, tablePageServerParams),\n auto: false,\n cache: `TABLE_CONFIG_${name}`,\n isLocal: true,\n onRequestSuccess: (data) => {\n setConfigBase(Object.assign({}, data));\n },\n })\n );\n\n const getTableConfig = useRefCallback(() => {\n if (name && controllerOpen && tablePageServerParams) {\n send({ force: false });\n }\n });\n\n useEffect(() => {\n getTableConfig();\n }, [getTableConfig]);\n\n const visibleColumns = useMemo(() => {\n return columns\n .filter((col) => {\n return !(\n get(config, `${col.name}.visible`) === false ||\n (get(config, `${col.name}.visible`) !== true && col.hidden === true)\n );\n })\n .sort((a, b) => {\n const computedIndex = (item) => {\n return (\n get(config, `${item.name}.rank`, 0) +\n (item.fixed === \"left\" ? -10000 : 0) +\n (item.fixed === \"right\" ? 10000 : 0)\n );\n };\n return computedIndex(a) - computedIndex(b);\n });\n }, [columns, config]);\n\n const lastNotOptionsColumnIndex = useMemo(() => {\n return findLastIndex(visibleColumns, ({ type }) => type !== \"options\");\n }, [visibleColumns]);\n\n const totalWidth = useMemo(() => {\n return sumBy(\n visibleColumns,\n ({ type, name }) =>\n get(config, `${name}.width`) || columnTypes[type].width\n );\n }, [visibleColumns, config]);\n\n const computedRealWidth = ({ width, index }) => {\n return lastNotOptionsColumnIndex === index\n ? width + Math.max(tableWidth - totalWidth - 2, 0)\n : width;\n };\n\n const resizeBarRender = useRefCallback((column, index) => {\n return (\n <span\n className={classnames(style[\"cell-resize-bar\"])}\n onMouseDown={(e) => {\n currentMoveColumnRef.current = Object.assign({}, column, { index });\n startPointRef.current = e.clientX;\n setCurrentMoveColumnIndex(index);\n }}\n >\n <Icon type=\"icon-paixu\" />\n </span>\n );\n });\n\n const resize = useRefCallback((delta) => {\n if (currentMoveColumnIndex === null) {\n return;\n }\n if (!currentMoveColumnRef.current) {\n return;\n }\n const { name, width, min, max, index } = currentMoveColumnRef.current;\n const currentWidth = Math.min(Math.max(width + delta, min), max);\n if (currentWidth < computedRealWidth({ width: min, index })) {\n return;\n }\n setConfig((config) => {\n return Object.assign({}, config, {\n [name]: Object.assign({}, config[name], {\n width: currentWidth,\n }),\n });\n });\n });\n\n const computedColumnProps = useRefCallback((column, index) => {\n const { name, width, min, max } = column;\n let targetColumn = column;\n if (index === visibleColumns.length - 1) {\n targetColumn = Object.assign({}, column, {\n className: \"has-config-btn\",\n title: (\n <TableConfig\n title={column?.title}\n columns={columns}\n config={config}\n setConfig={setConfig}\n />\n ),\n });\n }\n\n const movingClass = () => {\n return {\n className: classnames({\n [style[\"is-moving\"]]: currentMoveColumnIndexRef.current === index,\n }),\n };\n };\n const currentWidth = Math.min(\n Math.max(get(config, `${name}.width`) || width, min),\n max\n );\n\n const realWidth = computedRealWidth({ width: currentWidth, index });\n\n return Object.assign({}, targetColumn, {\n onHeaderCell: movingClass,\n onCell: movingClass,\n width: realWidth,\n shouldCellUpdate: (record, prevRecord) => {\n const itemKey =\n typeof rowKey === \"function\" ? rowKey(record) : record[rowKey];\n const prevItemKey =\n typeof rowKey === \"function\"\n ? rowKey(prevRecord)\n : prevRecord[rowKey];\n return (\n currentMoveColumnIndexRef.current === null ||\n currentMoveColumnIndexRef.current === index ||\n column.type === \"hideInfo\" ||\n !(\n itemKey === prevItemKey &&\n isEqual(record[column.name], prevRecord[column.name])\n )\n );\n },\n title: (\n <>\n {targetColumn.title}\n {!(realWidth > currentWidth && realWidth > max) &&\n resizeBarRender(\n Object.assign({}, targetColumn, { width: realWidth }),\n index\n )}\n </>\n ),\n });\n });\n\n useEffect(() => {\n const handlerCancelResize = () => {\n setCurrentMoveColumnIndex(null);\n startPointRef.current = null;\n currentMoveColumnRef.current = null;\n };\n\n const handlerResize = (e) => {\n if (\n currentMoveColumnIndexRef.current === null ||\n currentMoveColumnRef.current === null\n ) {\n return;\n }\n if (startPointRef.current === null) {\n startPointRef.current = e.clientX;\n return;\n }\n resize(e.clientX - startPointRef.current);\n };\n document.documentElement.addEventListener(\n \"mouseup\",\n handlerCancelResize,\n true\n );\n document.documentElement.addEventListener(\"mousemove\", handlerResize, true);\n return () => {\n document.documentElement.removeEventListener(\n \"mouseup\",\n handlerCancelResize,\n true\n );\n document.documentElement.removeEventListener(\n \"mousemove\",\n handlerResize,\n true\n );\n };\n }, [resize]);\n\n return {\n visibleColumns,\n currentMoveColumnIndex,\n resizeBarRender,\n columnsConfig: config,\n totalWidth,\n computedColumnProps,\n };\n};\n\nexport default useTableConfig;\n","import { useRef, useState } from \"react\";\nimport columnTypes from \"@components/Table/columnTypes\";\nimport isNil from \"lodash/isNil\";\nimport pick from \"lodash/pick\";\nimport get from \"lodash/get\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport isColValueEmpty from \"./isColValueEmpty\";\n\nconst useColumnTypeProps = ({ rowKey, renderProps }) => {\n const [expandInfo, setExpandInfo] = useState(null);\n const columnRenderPropsRef = useRef(renderProps);\n columnRenderPropsRef.current = renderProps;\n\n const computedColumnProps = useRefCallback(\n (col, index, { columnsConfig }) => {\n const {\n name,\n type,\n expandType,\n title,\n titleRender,\n fixed,\n emptyOf,\n emptyRender,\n groupHeader,\n sort,\n disableColItem,\n ...otherColProps\n } = col;\n const { render, width, min, max } = Object.assign(\n {},\n columnTypes[type || \"other\"],\n type === \"hideInfo\" &&\n !isNil(expandInfo) &&\n pick(columnTypes[expandType || \"other\"], [\"width\", \"min\", \"max\"])\n );\n const targetRender = render;\n\n return {\n name,\n title: typeof titleRender === \"function\" ? titleRender(title) : title,\n min,\n max,\n width,\n fixed,\n groupHeader,\n sort,\n type,\n render: (item) => {\n const itemKey =\n typeof rowKey === \"function\" ? rowKey(item) : item[rowKey];\n const colProps = Object.assign(\n {},\n col,\n typeof col.render === \"function\"\n ? col.render({\n ...columnRenderPropsRef.current,\n name,\n target: item,\n })\n : {}\n );\n const targetRenderWithProps = (colValue) => {\n const isEmpty = isColValueEmpty(colValue, emptyOf);\n return targetRender(colValue, {\n ...otherColProps,\n name,\n width: get(columnsConfig, `${name}.width`) || width,\n min,\n max,\n isEmpty,\n emptyRender,\n hover: colProps.hover,\n colValue: Object.assign({}, item),\n renderProps: columnRenderPropsRef.current,\n primary: colProps.primary,\n ellipsis: colProps.ellipsis,\n expand: expandInfo === itemKey,\n onExpand: () => setExpandInfo(itemKey),\n });\n };\n\n const colValue =\n colProps.hasOwnProperty(\"valueOf\") &&\n typeof colProps.valueOf === \"function\"\n ? colProps.valueOf(\n item,\n Object.assign(\n {},\n columnRenderPropsRef.current,\n {\n name,\n },\n disableColItem\n ? { targetRender: targetRenderWithProps }\n : {}\n )\n )\n : get(item, name);\n return disableColItem ? colValue : targetRenderWithProps(colValue);\n },\n };\n }\n );\n\n return {\n expandInfo,\n computedColumnProps,\n };\n};\n\nexport default useColumnTypeProps;\n","import { useMemo } from \"react\";\n\nconst useGroupHeader = (columns) => {\n return useMemo(() => {\n const groupHeaderColumns = columns.filter(\n (item) => item.groupHeader && item.groupHeader.length > 0\n );\n if (groupHeaderColumns.length > 0) {\n const newColumns = columns.slice(0);\n const group = [];\n const appendGroupHeader = (column) => {\n const { groupHeader } = column;\n if (!(groupHeader && groupHeader.length > 0)) {\n return;\n }\n const columnIndex = newColumns.indexOf(column);\n const core = (groupHeader, group) => {\n const [targetHeader, ...otherHeader] = groupHeader;\n let currentGroup = group.find(\n (item) => item.name === targetHeader.name\n );\n if (!currentGroup) {\n currentGroup = Object.assign(\n { startIndex: columnIndex },\n targetHeader,\n { children: [] }\n );\n group.push(currentGroup);\n }\n if (otherHeader.length > 0) {\n core(otherHeader, currentGroup.children);\n } else {\n currentGroup.children.push(column);\n }\n };\n core(groupHeader, group);\n newColumns.splice(columnIndex, 1);\n };\n groupHeaderColumns.forEach(appendGroupHeader);\n group.forEach((groupColumn, index) => {\n newColumns.splice(groupColumn.startIndex + index, 0, groupColumn);\n });\n\n return { columns: newColumns, hasGroupHeader: true };\n }\n return { columns, hasGroupHeader: false };\n }, [columns]);\n};\n\nexport default useGroupHeader;\n","import useControlValue from \"@kne/use-control-value\";\nimport Icon from \"@components/Icon\";\nimport classnames from \"classnames\";\nimport clone from \"lodash/clone\";\nimport { useCallback, useMemo } from \"react\";\nimport style from \"./style.module.scss\";\n\nconst sortArrayToMap = (sort) =>\n new Map(\n (sort || []).map(({ name, sort }) => {\n return [name, sort];\n })\n );\n\nconst useSort = (props) => {\n const [sort, setSort] = useControlValue(props, {\n value: \"sort\",\n defaultValue: \"defaultSort\",\n onChange: \"onSortChange\",\n });\n\n const mapSort = useMemo(() => {\n return sortArrayToMap(sort);\n }, [sort]);\n\n const setMapSort = useCallback(\n (callback) => {\n return setSort((sort) => {\n const newSort = callback(sortArrayToMap(sort));\n return Array.from(newSort).map(([name, sort]) => ({ name, sort }));\n });\n },\n [setSort]\n );\n\n return useCallback(\n ({ single, name }) => (\n <div\n className={classnames(style[\"sort-btn\"], {\n [style[\"sort-active-desc\"]]: mapSort.get(name) === \"DESC\",\n [style[\"sort-active-asc\"]]: mapSort.get(name) === \"ASC\",\n })}\n onClick={() => {\n setMapSort((sort) => {\n const current = sort.get(name);\n const targetValue = (() => {\n if (current === \"DESC\") {\n return \"ASC\";\n }\n if (current === \"ASC\") {\n return null;\n }\n return \"DESC\";\n })();\n if (single) {\n return new Map(targetValue ? [[name, targetValue]] : []);\n }\n const newSort = clone(sort);\n targetValue ? newSort.set(name, targetValue) : newSort.delete(name);\n return newSort;\n });\n }}\n >\n <Icon type=\"icon-triangle-up\" className={style[\"sort-icon\"]} />\n <Icon type=\"icon-triangle-down\" className={style[\"sort-icon\"]} />\n </div>\n ),\n [mapSort, setMapSort]\n );\n};\n\nexport default useSort;\n","import style from \"./style.module.scss\";\nimport { Table as AntdTable } from \"antd\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport classnames from \"classnames\";\nimport Scroller from \"@common/components/Scroller\";\nimport { getScrollEl } from \"@common/utils/importantContainer\";\nimport useResize from \"@common/hooks/useResize\";\nimport useTableConfig from \"./useTableConfig\";\nimport useColumnTypeProps from \"@components/Table/useColumnTypeProps\";\nimport useGroupHeader from \"./useGroupHeader\";\nimport useSort from \"./useSort\";\nimport useRefCallback from \"@kne/use-ref-callback\";\n\nconst Table = ({\n columns,\n className,\n getScrollEl,\n sticky,\n stickyOffset,\n pagination,\n columnRenderProps,\n rowKey,\n dataSource,\n controllerOpen,\n name,\n summary,\n scroll,\n onTablePropsReady,\n ...props\n}) => {\n const [tableWidth, setTableWidth] = useState(0);\n const [isLayout, setIsLayout] = useState(true);\n\n useEffect(() => {\n if (tableWidth) {\n setTimeout(() => {\n setIsLayout(false);\n }, 0);\n }\n }, [tableWidth]);\n const columnRenderPropsRef = useRef(columnRenderProps);\n columnRenderPropsRef.current = columnRenderProps;\n const ref = useResize(\n (el) => {\n setTableWidth(el.clientWidth);\n },\n { isDebounce: true }\n );\n const { expandInfo, computedColumnProps } = useColumnTypeProps({\n rowKey,\n renderProps: columnRenderProps,\n });\n\n const {\n columnsConfig,\n visibleColumns,\n computedColumnProps: computedColumnConfigProps,\n currentMoveColumnIndex,\n totalWidth,\n } = useTableConfig({\n columns,\n controllerOpen,\n name,\n computedColumnProps,\n tableWidth,\n rowKey,\n });\n\n const sortRender = useSort(props);\n\n const targetColumns = useMemo(() => {\n return visibleColumns.map((col, index) => {\n let target = computedColumnProps(col, index, {\n rowKey,\n expandInfo,\n columnsConfig,\n });\n\n if (target.sort && col.type !== \"options\") {\n target = Object.assign({}, target, {\n title: (\n <>\n {target.title}\n {sortRender({\n name: col.name,\n single:\n typeof target.sort === \"object\" ? target.sort.single : true,\n })}\n </>\n ),\n });\n }\n\n if (controllerOpen) {\n target = computedColumnConfigProps(target, index, {\n tableWidth,\n columnsConfig,\n });\n }\n\n return target;\n });\n }, [\n visibleColumns,\n tableWidth,\n columnsConfig,\n expandInfo,\n rowKey,\n controllerOpen,\n computedColumnProps,\n computedColumnConfigProps,\n sortRender,\n ]);\n\n const { columns: groupColumns, hasGroupHeader } =\n useGroupHeader(targetColumns);\n\n const onTablePropsReadyCallback = useRefCallback(onTablePropsReady);\n\n useEffect(() => {\n onTablePropsReadyCallback &&\n onTablePropsReadyCallback({\n columns,\n groupColumns,\n dataSource,\n visibleColumns,\n });\n }, [\n onTablePropsReadyCallback,\n groupColumns,\n dataSource,\n columns,\n visibleColumns,\n ]);\n\n return (\n <div\n className={classnames(className, style[\"table\"], {\n [style[\"is-resize\"]]: currentMoveColumnIndex !== null,\n [style[\"is-computed\"]]: isLayout,\n [style[\"has-group-header\"]]: hasGroupHeader,\n })}\n ref={ref}\n style={{\n \"--sticky-offset\": stickyOffset,\n }}\n >\n {!isLayout && (\n <Scroller\n className=\"table-page-scroller\"\n scroller={{ getContainer: getScrollEl }}\n getScrollTarget={(el) => {\n return (\n el.querySelector(\".ant-table-body\") ||\n el.querySelector(\".ant-table-content\")\n );\n }}\n >\n <AntdTable\n {...props}\n sticky={\n sticky\n ? {\n getContainer: getScrollEl,\n }\n : false\n }\n dataSource={dataSource}\n rowKey={rowKey}\n columns={groupColumns}\n scroll={Object.assign(\n {},\n { x: Math.max(tableWidth, totalWidth) },\n scroll\n )}\n pagination={pagination}\n summary={\n typeof summary === \"function\"\n ? (current, ...args) => {\n return summary(\n Object.assign(\n {},\n { pageData: current },\n { columns: groupColumns }\n ),\n ...args\n );\n }\n : null\n }\n />\n </Scroller>\n )}\n </div>\n );\n};\n\nTable.defaultProps = {\n controllerOpen: true,\n rowKey: \"id\",\n getScrollEl,\n columnRenderProps: {},\n sticky: false,\n stickyOffset: \"var(--nav-height)\",\n pagination: false,\n};\n\nexport default Table;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","import { withFetch } from \"@kne/react-fetch\";\nimport Table from \"./Table\";\nimport classnames from \"classnames\";\nimport Features from \"@components/Features\";\nimport get from \"lodash/get\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport { forwardRef, useMemo, useState } from \"react\";\nimport style from \"./style.module.scss\";\nimport importMessages from \"./locale\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\nimport localStorage from \"@common/utils/localStorage\";\nimport { getScrollEl } from \"@common/utils/importantContainer\";\n\nconst FeaturesColumnsConfig = ({ id, columns, children }) => {\n if (id) {\n return (\n <Features id={id}>\n {({ options }) =>\n children({\n columns: columns.filter((item) => {\n if (!item.name) {\n return true;\n }\n if (!Array.isArray(get(options, \"hiddenColumns\"))) {\n return true;\n }\n return options.hiddenColumns.indexOf(item.name) === -1;\n }),\n })\n }\n </Features>\n );\n }\n return children({ columns });\n};\n\nconst TablePageInner = withFetch(\n ({\n data,\n refresh,\n reload,\n requestParams,\n fetchProps,\n isComplete,\n setData,\n loadMore,\n send,\n dataFormat,\n className,\n featureId,\n columns,\n getColumns,\n pagination,\n columnRenderProps,\n summary,\n ...props\n }) => {\n const handlerDataFormat = useRefCallback(dataFormat);\n const formatData = useMemo(() => {\n return handlerDataFormat(data);\n }, [data, handlerDataFormat]);\n\n const tableProps = {\n dataSource: formatData.list,\n pagination: pagination.open\n ? {\n total: formatData.total,\n showTotal: (total) => (\n <>\n <FormattedMessage\n id=\"Page_Total\"\n moduleName=\"Table\"\n defaultMessage=\"共\"\n />\n <span className={style[\"total_text\"]}>{total}</span>\n <FormattedMessage\n id=\"Page_TotalCount\"\n moduleName=\"Table\"\n defaultMessage=\"条\"\n />\n </>\n ),\n current: get(\n requestParams,\n [pagination.paramsType, pagination.currentName],\n 1\n ),\n pageSize: pagination.pageSize,\n onChange: pagination.onChange\n ? pagination.onChange\n : (page, size) => {\n if (\n page !==\n get(\n requestParams,\n [pagination.paramsType, pagination.currentName],\n 1\n )\n ) {\n (pagination.requestType === \"refresh\" ? refresh : reload)({\n [pagination.paramsType]: {\n [pagination.currentName]: page,\n [pagination.pageSizeName]: size,\n },\n });\n } else {\n pagination.onShowSizeChange &&\n pagination.onShowSizeChange(page, size);\n }\n getScrollEl().scrollTop = 0;\n },\n size: pagination.size,\n showSizeChanger: pagination.showSizeChanger,\n showQuickJumper: pagination.showQuickJumper,\n pageSizeOptions: pagination.pageSizeOptions,\n }\n : false,\n };\n\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"Table\">\n <FeaturesColumnsConfig id={featureId} columns={columns}>\n {({ columns }) => (\n <Table\n {...Object.assign({}, props, tableProps)}\n className={classnames(className, \"loading-container\", {\n \"is-loading\": !isComplete,\n })}\n columns={columns}\n columnRenderProps={{\n ...columnRenderProps,\n requestParams,\n fetchProps,\n data,\n }}\n summary={\n typeof summary === \"function\"\n ? (...args) => {\n return summary(\n Object.assign(\n {},\n {\n data,\n fetchProps,\n requestParams,\n refresh,\n reload,\n loadMore,\n send,\n dataFormat,\n pagination,\n },\n ...args\n )\n );\n }\n : null\n }\n />\n )}\n </FeaturesColumnsConfig>\n </IntlProvider>\n );\n }\n);\n\nTablePageInner.defaultProps = {\n pagination: {},\n columnRenderProps: {},\n sticky: true,\n dataFormat: (data) => {\n return {\n list: data.pageData,\n total: data.totalCount,\n };\n },\n};\n\nconst TablePage = forwardRef(({ pagination, ...props }, ref) => {\n pagination = Object.assign(\n {},\n {\n showSizeChanger: true,\n showQuickJumper: true,\n open: true,\n paramsType: \"data\",\n requestType: \"reload\",\n currentName: \"currentPage\",\n pageSizeName: \"perPage\",\n pageSize: 20, //size: \"small\",\n },\n pagination\n );\n const pageSizeKey = `${(\n props.name || \"common\"\n ).toUpperCase()}_TABLE_PAGE_SIZE`;\n const [pageSize, setPageSize] = useState(\n localStorage.getItem(pageSizeKey) || pagination.pageSize\n );\n const params = props[pagination.paramsType];\n const fetchParams = useMemo(() => {\n return {\n [pagination.paramsType]: Object.assign({}, params, {\n [pagination.pageSizeName]: pageSize,\n }),\n };\n }, [params, pagination.pageSizeName, pagination.paramsType, pageSize]);\n return (\n <TablePageInner\n {...props}\n {...fetchParams}\n pagination={Object.assign({}, pagination, {\n pageSize,\n onShowSizeChange: (current, size) => {\n localStorage.setItem(pageSizeKey, size);\n setPageSize(size);\n },\n })}\n ref={ref}\n />\n );\n});\n\nexport default TablePage;\n"],"names":["getItem","key","target","window","localStorage","dataType","value","JSON","parse","Number","Boolean","e","setItem","stringify","areaWidthComputed","memoize","_ref","amountWidth","moreBtnWidth","buttonWidthList","spaceProps","compact","spaceWidth","indexOf","size","isInteger","targetLength","targetWidth","length","_ref2","join","Object","values","toString","ButtonGroup","_ref3","list","more","props","pick","showLength","setShowLength","useState","computedLength","useRefCallback","el","targetRef","current","moreEl","moreRef","widthEl","ref","buttonEls","querySelectorAll","clientWidth","map","call","offsetWidth","startTransition","useResize","otherList","slice","renderButton","renderItem","index","isDropdown","className","classnames","style","confirm","buttonComponent","isConfirm","message","CurrentButton","ConfirmButton","LoadingButton","_createElement","danger","isDelete","assign","isModal","SpaceComponent","Space","Compact","_jsxs","_Fragment","children","_jsx","item","Dropdown","overlayClassName","menu","items","label","defaultProps","Button","Icon","type","locale","en-US","zh-CN","withConfirm","WrappedComponent","ConfirmComponent","createWithIntl","moduleName","importMessages","title","onClick","onCancel","disabled","showCancel","cancelText","okText","placement","getContainer","formatMessage","useIntl","modal","useConfirmModal","confirmType","id","onOk","Popconfirm","direction","stopPropagation","align","onConfirm","okButtonProps","getPopupContainer","ConfirmLink","Typography","Link","ConfirmText","Text","baseLoaders","description","EnumLoaderFetch","withFetch","data","getEnumsMap","enums","Map","concat","keys","EnumLoader","loader","enumsLoader","global","enumsRef","useGlobalContext","prevLocaleRef","useRef","async","arguments","params","undefined","name","force","getEnumMap","get","output","Array","isArray","console","warn","set","Promise","all","then","enumMap","from","isNil","Enum","preset","usePreset","_ref4","tagTypeEnum","default","skill","color","borderColor","result","filterResult","success","progress","info","other","StateTag","showBorder","text","showBackground","filterName","tagColor","useMemo","_tagTypeEnum$type","_tagTypeEnum$type2","Tag","background","border","width","filter","hidden","icon","ellipsis","tooltip","ColItem","isEmpty","emptyRender","hover","primary","colValue","loading","setLoading","columnsStyle","resolve","colItem","event","finally","isColValueEmpty","emptyOf","DisplayInfo","createWithFetch","api","expand","onExpand","targetApi","Ellipsis","_ref17","columnTypes","date","render","dayjs","isValid","format","min","max","dateShort","dateRange","datetime","hideSecond","serialNumber","_ref5","serialNumberShort","_ref6","user","_ref7","userName","_ref8","contacts","_ref9","tag","_ref10","isEnum","_ref11","omit","avatar","_ref12","Image","Avatar","singleRow","_ref13","hideInfo","HideInfoComponent","mainInfo","_ref14","_ref15","options","_ref16","OptionsList","sensitiveInfo","_ref18","otherSmall","otherLarge","Panel","Collapse","close","columns","config","defaultValue","onChange","searchText","setSearchText","leftFixedColumns","rightFixedColumns","visibleColumns","hiddenColumns","transform","groupBy","fixed","sort","a","b","renderColumn","titleText","groupHeader","Row","justify","Col","Tooltip","defaultActiveKey","ghost","bordered","header","List","Item","Checkbox","checked","ReactSortable","dragClass","ghostClass","forceFallback","setList","newConfig","cloneDeep","columnsList","forEach","col","handlerColumnsChange","animation","delayOnTouchStart","delay","preventDefault","visible","wrap","SearchInput","prefix","placeholder","onSearch","dataSource","gutter","storageKey","getDataApi","setDataFunc","TableConfig","setConfig","open","setOpen","flex","Popover","onOpenChange","trigger","content","ColumnsControlContent","controllerOpen","tableWidth","rowKey","currentMoveColumnIndex","setCurrentMoveColumnIndex","currentMoveColumnIndexRef","currentMoveColumnRef","startPointRef","setConfigBase","tableServerApis","presetTableServerApis","tableLocalApis","tablePageServerParams","saveConfig","useDebouncedCallback","send","useFetch","auto","cache","isLocal","onRequestSuccess","getTableConfig","useEffect","computedIndex","lastNotOptionsColumnIndex","findLastIndex","totalWidth","sumBy","computedRealWidth","Math","resizeBarRender","column","onMouseDown","clientX","resize","delta","currentWidth","computedColumnProps","targetColumn","movingClass","realWidth","onHeaderCell","onCell","shouldCellUpdate","record","prevRecord","itemKey","prevItemKey","isEqual","handlerCancelResize","handlerResize","document","documentElement","addEventListener","removeEventListener","columnsConfig","renderProps","expandInfo","setExpandInfo","columnRenderPropsRef","expandType","titleRender","disableColItem","otherColProps","targetRender","colProps","targetRenderWithProps","hasOwnProperty","valueOf","groupHeaderColumns","newColumns","group","appendGroupHeader","columnIndex","core","targetHeader","otherHeader","currentGroup","find","startIndex","push","splice","groupColumn","hasGroupHeader","sortArrayToMap","setSort","useControlValue","mapSort","setMapSort","useCallback","callback","newSort","single","targetValue","clone","delete","Table","getScrollEl","sticky","stickyOffset","pagination","columnRenderProps","summary","scroll","onTablePropsReady","setTableWidth","isLayout","setIsLayout","setTimeout","isDebounce","useColumnTypeProps","computedColumnConfigProps","useTableConfig","sortRender","useSort","targetColumns","groupColumns","useGroupHeader","onTablePropsReadyCallback","Scroller","scroller","getScrollTarget","querySelector","AntdTable","x","_len","args","_key","pageData","FeaturesColumnsConfig","Features","TablePageInner","refresh","reload","requestParams","fetchProps","isComplete","setData","loadMore","dataFormat","featureId","getColumns","handlerDataFormat","formatData","tableProps","total","showTotal","FormattedMessage","defaultMessage","paramsType","currentName","pageSize","page","requestType","pageSizeName","onShowSizeChange","scrollTop","showSizeChanger","showQuickJumper","pageSizeOptions","IntlProvider","totalCount","forwardRef","pageSizeKey","toUpperCase","setPageSize","fetchParams"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"static/js/2814.e9b34af7.chunk.js","mappings":"oKAAA,MA4BA,EA5BqB,CACnBA,QAAUC,IACR,MAAMC,EAASC,OAAOC,aAAaJ,QAAQC,GAC3C,IACE,MAAM,SAAEI,EAAQ,MAAEC,GAAUC,KAAKC,MAAMN,GACvC,GAAiB,WAAbG,GAAmC,SAAVC,EAC3B,OAAO,KAET,GAAiB,cAAbD,EACF,OAEF,MAAiB,WAAbA,EACKI,OAAOH,GAEC,YAAbD,EACKK,QAAQJ,GAEVA,CACT,CAAE,MAAOK,GACP,OAAO,IACT,GAEFC,QAASA,CAACX,EAAKK,KACb,MAAMD,SAAkBC,EACxBH,OAAOC,aAAaQ,QAAQX,EAAKM,KAAKM,UAAU,CAAER,WAAUC,UAAS,E,kLCvBzE,QAAkC,sCAAlC,EAA2F,uCAA3F,EAAiJ,mCAAjJ,EAAgM,gCAAhM,EAA2O,+B,mCCW3O,MAAMQ,EAAoBC,KACxBC,IAA0E,IAAzE,YAAEC,EAAW,aAAEC,EAAY,gBAAEC,EAAe,WAAEC,EAAU,QAAEC,GAASL,EAClE,MAAMM,EACAD,EACK,EAGL,CAAC,QAAS,SAAU,SAASE,QAAQH,EAAWI,OAAS,EACU,GAA7D,CAAC,QAAS,SAAU,SAASD,QAAQH,EAAWI,MAAQ,GAG9Df,OAAOgB,UAAUL,EAAWI,MACvBJ,EAAWI,KAEb,EAGT,IAAIE,EAAe,EACjBC,EAAc,EAGhB,KACEV,GACEU,EACER,EAAgBO,GAChBA,EAAeJ,GACnBI,EAAeP,EAAgBS,QAE/BD,GAAeR,EAAgBO,GAC/BA,GAAgB,EAGlB,KACET,EACEU,GACGD,EAAe,GAAKJ,GACpBI,EAAeP,EAAgBS,OAC5BV,EAAeI,EACf,IACRI,EAAe,GAEfC,GAAeR,EAAgBO,EAAe,GAC9CA,GAAgB,EAGlB,OAAOA,CAAY,IAErBG,IAA0E,IAAzE,YAAEZ,EAAW,aAAEC,EAAY,gBAAEC,EAAe,WAAEC,EAAU,QAAEC,GAASQ,EAClE,MAAO,GAAGZ,IAAcC,IAAeC,EAAgBW,KACrD,OACEC,OAAOC,OAAOZ,GAAYU,KAAK,OAAOT,GAAWA,EAAQY,YAAY,IAIvEC,EAAcC,IAAwC,IAAvC,KAAEC,EAAI,KAAEC,EAAI,QAAEhB,KAAYiB,GAAOH,EACpD,MAAMf,EAAamB,IAAKD,EAAO,CAAC,OAAQ,QAAS,QAAS,WACnDE,EAAYC,IAAiBC,EAAAA,EAAAA,UAASN,EAAKR,QAAU,GACtDe,EAAiBC,KAAe,KACpC,MAAMC,EAAKC,EAAUC,QACnBC,EAASC,EAAQF,QACjBG,EAAUC,EAAIJ,QAChB,IAAKF,EACH,OAGF,MAAMO,EAAYP,EAAGQ,iBAAiB,sBACtC,IAAKD,EACH,OAEF,GAAyB,IAArBA,EAAUxB,OACZ,OAGF,MAAMX,EAAciC,EAAQI,YAC1BpC,EAAe8B,EAAOM,YACtBnC,EAAkB,GAAGoC,IAAIC,KAAKJ,GAAYP,GAAOA,EAAGY,cAChD/B,EAAeZ,EAAkB,CACrCG,cACAC,eACAC,kBACAC,aACAC,aAEFqC,EAAAA,EAAAA,kBAAgB,KACdjB,EAAcf,EAAa,GAC3B,IAEEyB,GAAMQ,EAAAA,EAAAA,GAAUhB,GAChBG,GAAYa,EAAAA,EAAAA,GAAUhB,GACtBM,GAAUU,EAAAA,EAAAA,GAAUhB,GACpBiB,EAAYxB,EAAKyB,MAAMrB,GAEvBsB,EAAeA,CAACC,EAAYC,EAAOC,KACvC,GAA0B,oBAAfF,EACT,OAAOA,EAAW,CAChB9D,IAAK+D,EACLE,UAAWC,IAAW,oBAAqBC,GAC3CH,eAGJ,MAAM,UAAEC,EAAS,QAAEG,EAAO,gBAAEC,KAAoBhC,GAAUyB,EACpDQ,EAAYF,GAAW/B,EAAMkC,QAC7BC,EAAgBF,EAClBG,EAAAA,QACAJ,GAAmBK,EAAAA,QAEvB,OACEC,EAAAA,EAAAA,eAACH,EAAa,CACZI,OAAQN,IAAgC,IAAnBjC,EAAMwC,YACvB/C,OAAOgD,OACT,CAAC,EACDzC,EACAiC,IAAcjC,EAAM0C,SAAWf,GAC3B,CACEe,SAAS,GAEX,CAAC,GAEP/E,IAAK+D,EACLE,UAAWC,IACT,oBACAC,EACAF,IAEF,EAIAe,EAAiB5D,EAAU6D,EAAAA,MAAMC,QAAUD,EAAAA,MAEjD,OACEE,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAC,SAAA,EACEC,EAAAA,EAAAA,KAAA,OAAKrB,UAAWE,EAA0BjB,IAAKA,KAC/CiC,EAAAA,EAAAA,MAAA,OAAKlB,UAAWE,EAA0BkB,SAAA,EACxCC,EAAAA,EAAAA,KAAA,OAAKrB,UAAWE,EAAuBjB,IAAKF,EAAQqC,SACjDjD,KAEHkD,EAAAA,EAAAA,KAAA,OAAKrB,UAAWE,EAAuBjB,IAAKL,EAAUwC,UACpDC,EAAAA,EAAAA,KAACN,EAAc,IAAK7D,EAAUkE,SAC3BlD,EAAKmB,IAAIO,WAIhBsB,EAAAA,EAAAA,MAACH,EAAc,IAAK7D,EAAUkE,SAAA,CAC3BlD,EACEyB,MAAM,EAAGrB,GACTe,KAAI,CAACiC,EAAMxB,IAAUF,EAAa0B,EAAMxB,GAAO,KACjDJ,EAAUhC,OAAS,IAClB2D,EAAAA,EAAAA,KAACE,EAAAA,SAAQ,CACPC,iBAAkBtB,EAClBuB,KAAM,CACJC,MAAOhC,EAAUL,KAAI,CAACiC,EAAMxB,KACnB,CACL/D,IAAK+D,EACL6B,MAAO/B,EAAa0B,EAAMxB,GAAO,QAGrCsB,SAEDjD,SAIN,EAIPH,EAAY4D,aAAe,CACzBzD,MACE+C,EAAAA,EAAAA,MAACW,EAAAA,OAAM,CAAAT,SAAA,CAAC,gBAENC,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAK,6BAKjB,S,8HC5LA,MAOA,EAPwBC,IACf,CACL,QAASC,IAAM,gCACf,QAASC,IAAM,iCACfF,M,wDCHJ,QAA0B,8BAA1B,EAAoE,gCAApE,EAA4G,4BAA5G,EAAkJ,8BAAlJ,EAA4L,gC,eCQrL,MAAMG,EAAeC,IAC1B,MAAMC,GAAmBC,EAAAA,EAAAA,gBAAe,CACtCC,WAAY,gBACZC,eACF,GAHyBF,EAIvBxF,IAcO,IAdN,MACC2F,EAAK,QACLnC,EAAO,SACPM,GAAW,EAAI,QACf8B,EAAO,SACPC,EAAQ,SACRC,EAAQ,WACRC,EAAU,WACVC,EAAU,QACVhC,EAAO,OACPiC,EAAM,UACNC,EAAS,aACTC,KACG7E,GACJtB,EACC,MAAM,cAAEoG,IAAkBC,EAAAA,EAAAA,SAAQ,CAAEZ,WAAY,kBAC1Ca,GAAQC,EAAAA,EAAAA,mBACd,OAAIvC,GAEAO,EAAAA,EAAAA,KAACe,EAAgB,IACXhE,EACJwE,SAAUA,EACVF,QAAUjG,IACR2G,EAAM,CACJrB,KAAM,UACNU,MAAOA,EACPQ,eACAtC,OAAQC,EACR0C,YAAa1C,EAAW,UAAY,OACpCN,QAASA,GAAW4C,EAAc,CAAEK,GAAI,YACxCR,OAAQA,GAGJG,EADAtC,EACc,CAAE2C,GAAI,UACN,CAAEA,GAAI,YACxBT,WAAYA,GAAcI,EAAc,CAAEK,GAAI,WAC9CZ,WACAa,KAAMd,GACN,KAMRrB,EAAAA,EAAAA,KAACoC,EAAAA,WAAU,CACThB,OACEvB,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CACJ0C,UAAU,WACVhB,QAAUjG,IACRA,EAAEkH,iBAAiB,EACnBvC,SAAA,CAEDqB,IACCvB,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CAAC1D,KAAM,EAAGsG,MAAM,QAAQ5D,UAAWE,EAAekB,SAAA,CACrDR,IACCS,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAAC9B,UAAU,aAAa+B,KAAK,yBAEnCU,MAGLvB,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CACJ1D,KAAM,EACNsG,MAAM,QACN5D,UAAWC,IAAWC,EAAkB,CACtC,CAACA,GAAqBuC,IACrBrB,SAAA,EAEDqB,GAAS7B,GACTS,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAAC9B,UAAU,aAAa+B,KAAK,yBAChC,KACHzB,GAAW4C,EAAc,CAAEK,GAAI,kBAItCP,UAAWA,EACXa,UAAWnB,EACXoB,cAAe,CACbnD,OAAQC,GAEV+B,SAAUA,EACVnB,iBAAkBvB,IAAWC,EAAkB,CAC7C,CAACA,GAAqBU,IAExBmD,kBAAmBd,EACnBL,SAAUA,EACVC,WAAYA,EACZC,WAAYA,EACZC,OACEA,GAGIG,EADAtC,EACc,CAAE2C,GAAI,UACN,CAAEA,GAAI,YACzBnC,UAEDC,EAAAA,EAAAA,KAACe,EAAgB,IAAKhE,EAAOwE,SAAUA,KAC5B,IAUnB,OALAP,EAAiBT,aAAe,CAC9Bd,SAAS,EACT+B,YAAY,GAGPR,CAAgB,EAGZ2B,EAAc7B,EAAY8B,EAAAA,WAAWC,MACrCC,EAAchC,EAAY8B,EAAAA,WAAWG,MAElD,EAAejC,EAAYN,EAAAA,O,wICxH3B,MAAMwC,EAAc,CAClB,CACE,SACA,IAAM,CACJ,CAAEjI,MAAO,IAAKkI,YAAa,UAC3B,CACElI,MAAO,IACPkI,YAAa,YAInB,CACE,UACA,IAAM,CACJ,CAAEA,YAAa,eAAMlI,MAAO,KAC5B,CACEkI,YAAa,eACblI,MAAO,OAIb,CACE,UACA,IAAM,CACJ,CAAEkI,YAAa,SAAKlI,MAAO,KAC3B,CACEkI,YAAa,SACblI,MAAO,OAIb,CACE,YACA,IAAM,CACJ,CAAEkI,YAAa,2BAAQlI,MAAO,4BAC9B,CACEkI,YAAa,2BACblI,MAAO,4BAET,CAAEkI,YAAa,eAAMlI,MAAO,gBAC5B,CACEkI,YAAa,2BACblI,MAAO,8BAIb,CACE,iBACA,IAAM,CACJ,CACEA,MAAO,EACPkI,YAAa,gBAEf,CACElI,MAAO,EACPkI,YAAa,gBAEf,CACElI,MAAO,EACPkI,YAAa,gBAEf,CACElI,MAAO,EACPkI,YAAa,gBAEf,CACElI,MAAO,EACPkI,YAAa,sBAEf,CACElI,MAAO,EACPkI,YAAa,wBAInB,CACE,aACA,IAAM,CACJ,CACEA,YAAa,eACblI,MAAO,IAET,CACEkI,YAAa,eACblI,MAAO,IAET,CACEkI,YAAa,eACblI,MAAO,IAET,CACEkI,YAAa,eACblI,MAAO,IAET,CACEkI,YAAa,eACblI,MAAO,IAET,CACEkI,YAAa,iCACblI,MAAO,IAET,CACEkI,YAAa,iCACblI,MAAO,IAET,CACEkI,YAAa,qBACblI,MAAO,IAET,CACEkI,YAAa,2BACblI,MAAO,QAMTmI,GAAkBC,EAAAA,EAAAA,YAAU1H,IAAyB,IAAxB,KAAE2H,EAAI,SAAErD,GAAUtE,EACnD,MAA2B,oBAAbsE,EACVA,EAASqD,GACTrD,IAAgB,OAAJqD,QAAI,IAAJA,OAAI,EAAJA,EAAMH,YAAW,IAG7BI,EAAc7H,KAAS8H,GACpB,IAAIC,IACTP,EAAYQ,OACVhH,OAAOiH,KAAKjH,OAAOgD,OAAO,CAAC,EAAG8D,IAAQtF,KAAKtD,GAAQ,CAACA,EAAK4I,EAAM5I,UAK/DgJ,EAAapH,IAAwC,IAArCqH,OAAQC,KAAgB7G,GAAOT,EACnD,MACEuH,QAAQ,SAAEC,KACRC,EAAAA,EAAAA,oBACEC,GAAgBC,EAAAA,EAAAA,QAAO,MAC7B,OACEjE,EAAAA,EAAAA,KAACkD,EAAe,IACVnG,EACJ4G,OAAQO,iBACN,MAAMZ,EAAQD,QAAkBO,KAAYO,aACtC,OAAEC,GAAQD,UAAA9H,QAAA,OAAAgI,EAAAF,UAAA,IACV,WAAEjD,EAAU,KAAEoD,EAAI,MAAEC,EAAK,OAAE5D,GAAWyD,EAEtCI,EAAaN,UAID,IAAVK,GACAP,EAAcxG,UAAYmD,GAC1BmD,EAAStG,QAAQiH,IAAIvD,SAGlB,WACL,MAAMyC,EAASL,EAAMmB,IAAIvD,GACnBwD,OAAe,UACG,oBAAXf,EACF,IAAIJ,WACFI,EAAO,CAAEhD,YAAW3C,KAAKiC,GACvB,CAACA,EAAKlF,MAAM2B,WAAYuD,MAIjC0E,MAAMC,QAAQjB,GACT,IAAIJ,IACTI,EAAO3F,KAAKiC,GAAS,CAACA,EAAKlF,MAAM2B,WAAYuD,MAG3B,kBAAX0D,EACF,IAAIJ,IACT/G,OAAOiH,KAAKE,GAAQ3F,KAAKtD,GAAQ,CAC/BA,EAAIgC,WACJiH,EAAOjJ,QAIbmK,QAAQC,KAAK,4EACN,IAAIvB,KAtBQ,GA0BrB,OAFAO,EAAStG,QAAQuH,IAAI7D,EAAYwD,GACjCV,EAAcxG,QAAUmD,EACjB+D,CACR,EA7BM,GAgCX,GAAIC,MAAMC,QAAQ1D,GAChB,aAAa8D,QAAQC,IACnB/D,EAAWlD,KAAKrD,GACd6J,EAAW7J,GAAQuK,MAAMC,GAAYR,MAAMS,KAAKD,EAAQ1I,eAK9D,MAAM0I,QAAgBX,EAAWtD,GACjC,OAAKmE,IAAMf,GAGJK,MAAMS,KAAKD,EAAQ1I,UAFjB0I,EAAQV,IAAIH,EAAK5H,WAG5B,GACA,EAIA4I,EAAO1I,IAAsD,IAArD,WAAEsE,EAAU,KAAEoD,EAAI,MAAEC,EAAK,SAAExE,KAAahD,GAAOH,EAC3D,MAAM2I,GAASC,EAAAA,EAAAA,aACf,OACExF,EAAAA,EAAAA,KAAC0D,EAAU,IACL3G,EACJqH,OAAQ,CACNlD,aACAP,OAAc,OAAN4E,QAAM,IAANA,OAAM,EAANA,EAAQ5E,OAChB2C,MAAa,OAANiC,QAAM,IAANA,OAAM,EAANA,EAAQjC,MACfgB,OACAC,SAEFZ,OAAQ8B,IAAA,IAAC,OAAErB,GAAQqB,EAAA,OAAKrB,EAAOd,KAAK,EAACvD,SAEpCA,GACU,EAIjBuF,EAAK/E,aAAe,CAClBgE,OAAO,GAGT,S,mFCxOA,SAAgB,YAAY,gCAAgC,mBAAmB,uCAAuC,kBAAkB,sCAAsC,YAAY,gCAAgC,kCAAkC,sDAAsD,wBAAwB,4CAA4C,yBAAyB,6CAA6C,UAAU,8BAA8B,WAAW,+BAA+B,oBAAoB,yC,0BCKliB,MAAMmB,EAAc,CAClBC,QAAS,UACTC,MAAO,CACLC,MAAO,UACPC,YAAa,WAEfC,OAAQ,UACRC,aAAc,UACdC,QAAS,UACTC,SAAU,UACV5G,OAAQ,UACR6G,KAAM,UACNC,MAAO,WAGHC,EAAW5K,IAQV,IARW,WAChB6K,EAAU,KACVC,EAAI,KACJ7F,EAAI,eACJ8F,EAAc,UACd7H,EAAS,WACT8H,KACG1J,GACJtB,EACC,MAAMiL,GAAWC,EAAAA,EAAAA,UACf,SAAAC,EAAAC,EAAA,MAAO,CACLhB,OAAkB,OAAXH,QAAW,IAAXA,GAAmB,QAARkB,EAAXlB,EAAchF,UAAK,IAAAkG,OAAR,EAAXA,EAAqBf,QAASH,EAAYhF,GACjDoF,aAAwB,OAAXJ,QAAW,IAAXA,GAAmB,QAARmB,EAAXnB,EAAchF,UAAK,IAAAmG,OAAR,EAAXA,EAAqBf,cAAeJ,EAAYhF,GAC9D,GACD,CAACA,IAGH,OACEb,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CACJ,cAAa,4BACbhB,UAAWC,IACTC,EAAM,qBACG,iBAAT6B,EAA0B7B,EAAM,mCAAqC,IAEvE0D,MAAM,SACNtG,KAAM,EAAE8D,SAAA,CAEP0G,GACC5G,EAAAA,EAAAA,MAAA,QAAMlB,UAAWE,EAAM,yBAAyBkB,SAAA,CAAE0G,EAAW,OAC3D,MACJzG,EAAAA,EAAAA,KAAC8G,EAAAA,IAAG,CACFjB,MAAOa,EAASb,SACZ9I,EACJ8B,MAAO,CACLkI,WAAYP,EAAiBE,EAASb,MAAQ,KAAO,OACrDA,MAAOa,EAASb,MAChBmB,OAAQV,EAAa,aAAaI,EAASZ,cAAgB,QAE7DnH,UAAWC,IACTC,EAAM,aACNF,EACS,WAAT+B,EAAoB7B,EAAM,oBAAsB,GACvC,UAAT6B,EAAmB7B,EAAM,mBAAqB,GAC9CA,EAAM,aAAa6B,KACnB8F,EAAiB3H,EAAM,WAAa,GACpCyH,EAAazH,EAAM,eAAiB,GAC/B,OAAL9B,QAAK,IAALA,GAAAA,EAAOsE,QAAUxC,EAAM,aAAe,IACtCkB,UAEFC,EAAAA,EAAAA,KAAA,QAAMrB,UAAWE,EAAM,YAAYkB,SAAEwG,QAEjC,EAIZF,EAAS9F,aAAe,CACtBsF,MAAO,UACPnF,KAAM,UACN4F,YAAY,EACZE,gBAAgB,EAChBD,KAAM,GACN5H,UAAW,IAGb,S,kECpFA,SAAgB,MAAQ,4BAA4B,YAAY,gCAAgC,YAAY,gCAAgC,kBAAkB,sCAAsC,cAAc,kCAAkC,iBAAiB,qCAAqC,cAAc,kCAAkC,QAAU,8BAA8B,wBAAwB,4CAA4C,qBAAqB,yCAAyC,kBAAkB,sCAAsC,0BAA0B,8CAA8C,gCAAgC,oDAAoD,mCAAmC,uDAAuD,iCAAiC,qDAAqD,gCAAgC,oDAAoD,+BAA+B,mDAAmD,+BAA+B,mDAAmD,UAAU,8BAA8B,oCAAoC,wDAAwD,gBAAgB,oCAAoC,iBAAiB,qCAAqC,0BAA0B,8CAA8C,WAAW,+BAA+B,mBAAmB,uCAAuC,YAAY,gCAAgC,kBAAkB,uC,mGCAxlD,SAAgB,WAAW,iCAAiC,IAAM,4BAA4B,OAAS,+BAA+B,MAAQ,8BAA8B,QAAU,gCAAgC,QAAU,gCAAgC,QAAU,iC,yDCK1Q,MAiCA,EAjCoBlD,IAAsC,IAArC,UAAEkD,EAAS,KAAE9B,EAAO,GAAE,MAAEoK,GAAOxL,EAClD,OACEuE,EAAAA,EAAAA,KAAA,OACErB,UAAWC,IAAWD,EAAWE,EAAM,mBACvCA,MAAO,CACL,cAAeoI,EAAQ,MACvBlH,UAEFC,EAAAA,EAAAA,KAACrD,EAAAA,QAAW,CACVE,KAAMA,EACHqK,QAAQjH,KAAc,OAAJA,QAAI,IAAJA,GAAAA,EAAMkH,UACxBnJ,KAAI1B,IAAA,IAAC,UAAEqC,KAAc5B,GAAOT,EAAA,OAC3BE,OAAOgD,OAAO,CAAC,EAAGzC,EAAO,CACvB4B,UAAWC,IACTD,EACA,iBACAE,EAAM,gBAER6B,KAAM,QACN,IAEN5D,MACEkD,EAAAA,EAAAA,KAACQ,EAAAA,OAAM,CACL4G,MAAMpH,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAK,kBACjB/B,UAAU,iBACV+B,KAAK,YAIP,E,gDChCV,MAqBA,EArBiBjF,IAA6B,IAA5B,SAAEsE,EAAQ,SAAEsH,GAAU5L,EACtC,OACEuE,EAAAA,EAAAA,KAAC4C,EAAAA,WAAWG,KAAI,CACdsE,SACEA,GACA7K,OAAOgD,OACL,CAAC,EACD,CACE8H,QAAS,CACPnH,iBAAkBtB,EAAe,QACjCkB,SAAUA,KAIjBA,SAEAA,GACe,EChBhBwH,EAAU9L,IAYT,IAZU,KACfiF,EAAI,KACJT,EAAI,QACJuH,EAAO,YACPC,EAAW,MACXC,EAAK,QACLC,EAAO,SACP5H,EAAQ,MACRkH,EAAK,MACLpI,EAAK,QACLwC,EAAO,SACPuG,GACDnM,EACC,MAAOoM,EAASC,IAAc3K,EAAAA,EAAAA,WAAS,GACvC,OACE6C,EAAAA,EAAAA,KAAA,OACEnB,MAAOrC,OAAOgD,OAAO,CAAC,EAAGX,EAAO,CAAE,cAAeoI,EAAQ,OACzDtI,UAAWC,IACTmJ,EAAa,YACbA,EAAarH,GACb8G,EACI,KACA,CACE,CAACO,EAAoB,OAAIL,EACzB,CAACK,EAAsB,SAAIJ,EAC3B,CAACI,EAAsB,SAAIF,IAGnCxG,QAAUjG,IACe,oBAAZiG,GAA2BmG,GAAYK,IAChDC,GAAW,GACX9C,QAAQgD,QACN3G,EAAQ,CAAEpB,OAAMgI,QAASL,EAAUM,MAAO9M,KAC1C+M,SAAQ,KACRL,GAAW,EAAM,IAErB,EACA/H,SAEDyH,EACGC,EAAY,CAAE/G,OAAMT,OAAMyH,QAAOC,UAAS5H,aAC1CA,GACA,EAIVwH,EAAQhH,aAAe,CACrBkH,YAAaA,IAAM,KAGrB,UC3CA,EAXwBW,CAACrN,EAAOsN,IACX,oBAAZA,EACHA,EAAQtN,GACP4J,MAAMC,QAAQ7J,IAA2B,IAAjBA,EAAMsB,QAC9BtB,GACkB,kBAAVA,GACyB,IAAhCyB,OAAOC,OAAO1B,GAAOsB,QACb,KAAVtB,QACU,IAAVA,GACU,OAAVA,ECHAuN,GAAcC,EAAAA,EAAAA,iBAAgB,CAClCV,QAAS,MADSU,EAEjB9M,IAAyB,IAAxB,KAAE2H,EAAI,SAAErD,GAAUtE,EACpB,OAAOsE,EAASqD,EAAK,IA+CvB,EA5C0B9G,IASnB,IAToB,IACzBkM,EAAG,OACHC,EAAM,SACNC,EAAQ,SACRrB,EAAQ,MACRK,EAAK,QACLC,EAAO,YACPF,EAAW,QACXD,GACDlL,EACC,MAAMqM,EAAYnM,OAAOgD,OAAO,CAAC,EAAGgJ,GACpC,OAAIC,GAEAzI,EAAAA,EAAAA,KAACsI,EAAW,IAAKK,EAAS5I,SACtBqD,IAEEpD,EAAAA,EAAAA,KAACuH,EAAO,CACN7G,KAAK,mBACLT,KAAMmD,EACNsE,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASY,EAAgBhF,GAAMrD,UAE/BC,EAAAA,EAAAA,KAAC4I,EAAQ,CAACvB,SAAUA,EAAStH,SACI,oBAAvB4I,EAAU5I,SACd4I,EAAU5I,SAASqD,GACnBA,SAShBpD,EAAAA,EAAAA,KAACuH,EAAO,CAAC7G,KAAK,YAAYiH,SAAO,EAACF,YAAaA,EAAY1H,UACzDC,EAAAA,EAAAA,KAACQ,EAAAA,OAAM,CAAC7B,UAAU,iBAAiB+B,KAAK,OAAOW,QAASqH,EAAS3I,SAAC,kBAG1D,E,uBCvCd,MAoSMqG,EAAQA,CACZnG,EAAI4I,KAEA,IADJ,MAAEnB,EAAK,QAAEC,EAAO,SAAEN,EAAQ,YAAEI,EAAW,QAAED,KAAYzK,GAAO8L,EAE5D,OACE7I,EAAAA,EAAAA,KAACuH,EAAO,IACFxK,EACJ2D,KAAK,QACLT,KAAMA,EACNyH,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQzH,UAEjBC,EAAAA,EAAAA,KAAC4I,EAAQ,CAACvB,SAAUA,EAAStH,SAAEE,KACvB,EAuBR6I,EAAc,CAClBC,KAAM,CACJC,OA5USD,CAAC9I,EAAIxE,KAA0D,IAAxD,MAAEiM,EAAK,QAAEC,EAAO,QAAEH,EAAO,YAAEC,KAAgB1K,GAAOtB,EACpE,OACEuE,EAAAA,EAAAA,KAACuH,EAAO,IACFxK,EACJ2D,KAAK,OACLT,KAAMA,EACN0H,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,IAAYyB,IAAMhJ,GAAMiJ,UAAUnJ,SAE1CkJ,IAAMhJ,GAAMkJ,OAAO,eACZ,EAiUVlC,MAAO,IACPmC,IAAK,IACLC,IAAK,KAEPC,UAAW,CACTN,OAlUcM,CAChBrJ,EAAI3D,KAEA,IADJ,MAAEoL,EAAK,QAAEC,EAAO,QAAEH,EAAO,YAAEC,KAAgB1K,GAAOT,EAElD,OACE0D,EAAAA,EAAAA,KAACuH,EAAO,IACFxK,EACJ2D,KAAK,aACLT,KAAMA,EACN0H,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,IAAYyB,IAAMhJ,GAAMiJ,UAAUnJ,SAE1CkJ,IAAMhJ,GAAMkJ,OAAO,YACZ,EAoTVlC,MAAO,IACPmC,IAAK,IACLC,IAAK,KAEPE,UAAW,CACTP,OApTcO,CAChBtJ,EAAIrD,KAEA,IADJ,MAAE8K,EAAK,QAAEC,EAAO,QAAEH,EAAO,YAAEC,KAAgB1K,GAAOH,EAElD,OACEoD,EAAAA,EAAAA,KAACuH,EAAO,IACFxK,EACJ2D,KAAK,aACLT,KAAMA,EACN0H,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQzH,SAEhBkJ,IAAU,OAAJhJ,QAAI,IAAJA,OAAI,EAAJA,EAAO,IAAIkJ,OAAO,oBACvB,IACAF,IAAU,OAAJhJ,QAAI,IAAJA,OAAI,EAAJA,EAAO,IAAIkJ,OAAO,UAClB,EAoSVlC,MAAO,IACPmC,IAAK,IACLC,IAAK,KAEPG,SAAU,CACRR,OArSaQ,CACfvJ,EAAIwF,KAEA,IADJ,MAAEiC,EAAK,QAAEC,EAAO,YAAEF,EAAW,QAAED,EAAO,WAAEiC,KAAe1M,GAAO0I,EAE9D,OACEzF,EAAAA,EAAAA,KAACuH,EAAO,IACFxK,EACJkD,KAAMA,EACN0H,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,IAAYyB,IAAMhJ,GAAMiJ,UAAUnJ,SAE1CkJ,IAAMhJ,GAAMkJ,OACXM,EAAa,mBAAqB,wBAE5B,EAsRVxC,MAAO,IACPmC,IAAK,IACLC,IAAK,KAEPK,aAAc,CACZV,OAvRiBU,CACnBzJ,EAAI0J,KAEA,IADJ,MAAEjC,EAAK,QAAEC,EAAO,YAAEF,EAAW,QAAED,KAAYzK,GAAO4M,EAElD,OACE3J,EAAAA,EAAAA,KAACuH,EAAO,IACFxK,EACJ2D,KAAK,gBACLT,KAAMA,EACN0H,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQzH,SAEhBE,GACO,EAyQVgH,MAAO,IACPmC,IAAK,IACLC,IAAK,KAEPO,kBAAmB,CACjBZ,OA1QsBY,CACxB3J,EAAI4J,KAEA,IADJ,MAAEnC,EAAK,QAAEC,EAAO,YAAEF,EAAW,QAAED,KAAYzK,GAAO8M,EAElD,OACE7J,EAAAA,EAAAA,KAACuH,EAAO,IACFxK,EACJ2D,KAAK,sBACLT,KAAMA,EACN0H,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQzH,SAEhBE,GACO,EA4PVgH,MAAO,IACPmC,IAAK,IACLC,IAAK,KAEPS,KAAM,CACJd,OA7PSc,CACX7J,EAAI8J,KAEA,IADJ,MAAErC,EAAK,QAAEC,EAAO,SAAEN,EAAQ,YAAEI,EAAW,QAAED,KAAYzK,GAAOgN,EAE5D,OACE/J,EAAAA,EAAAA,KAACuH,EAAO,IACFxK,EACJ2D,KAAK,OACLT,KAAMA,EACN0H,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQzH,UAEjBC,EAAAA,EAAAA,KAAC4I,EAAQ,CAACvB,SAAUA,EAAStH,SAAEE,KACvB,EA+OVgH,MAAO,IACPmC,IAAK,IACLC,IAAK,KAEPW,SAAU,CACRhB,OAhPagB,CACf/J,EAAIgK,KAEA,IADJ,MAAEvC,EAAK,QAAEC,EAAO,SAAEN,EAAQ,YAAEI,EAAW,QAAED,KAAYzK,GAAOkN,EAE5D,OACEjK,EAAAA,EAAAA,KAACuH,EAAO,IACFxK,EACJ2D,KAAK,YACLT,KAAMA,EACN0H,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQzH,UAEjBC,EAAAA,EAAAA,KAAC4I,EAAQ,CAACvB,SAAUA,EAAStH,SAAEE,KACvB,EAkOVgH,MAAO,IACPmC,IAAK,IACLC,IAAK,KAEPa,SAAU,CACRlB,OAnOakB,CACfjK,EAAIkK,KAEA,IADJ,MAAEzC,EAAK,QAAEC,EAAO,SAAEN,EAAQ,YAAEI,EAAW,QAAED,KAAYzK,GAAOoN,EAE5D,OACEnK,EAAAA,EAAAA,KAACuH,EAAO,IACFxK,EACJ2D,KAAK,WACLT,KAAMA,EACN0H,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQzH,UAEjBC,EAAAA,EAAAA,KAAC4I,EAAQ,CAACvB,SAAUA,EAAStH,SAAEE,KACvB,EAqNVgH,MAAO,IACPmC,IAAK,IACLC,IAAK,KAEPe,IAAK,CACHpB,OAtNQoB,CAACnK,EAAIoK,KAA0C,IAAxC,YAAE5C,EAAW,QAAED,KAAYzK,GAAOsN,EACnD,OACErK,EAAAA,EAAAA,KAACuH,EAAO,IACFxK,EACJ2D,KAAK,MACLT,KAAMA,EACNwH,YAAaA,EACbD,QAASA,EAAQzH,SAEhBE,IACEA,EAAKqK,QACJtK,EAAAA,EAAAA,KAACsF,EAAAA,QAAI,CACHhB,KAAMrE,EAAKqE,KACXpD,WAAYjB,EAAKiB,WACjBqD,MAAOtE,EAAKsE,MAAMxE,SAEjBwK,IAAA,IAAC,KAAE7J,EAAI,YAAEuC,GAAasH,EAAA,OACrBvK,EAAAA,EAAAA,KAACqG,EAAAA,QAAQ,CACP3F,KAAMA,KACFlE,OAAOgD,OACT,CAAC,EACDgL,IAAKvK,EAAM,CAAC,OAAQ,SAAU,aAAc,WAE9CsG,KAAMtD,GACN,KAINjD,EAAAA,EAAAA,KAACqG,EAAAA,QAAQ,IAAK7J,OAAOgD,OAAO,CAAC,EAAGS,OAE5B,EAyLVgH,MAAO,IACPmC,IAAK,IACLC,IAAK,KAEPoB,OAAQ,CACNzB,OA1LWyB,CAACxK,EAAIyK,KAA0C,IAAxC,YAAEjD,EAAW,QAAED,KAAYzK,GAAO2N,EACtD,OACE1K,EAAAA,EAAAA,KAACuH,EAAO,IACFxK,EACJ2D,KAAK,SACLT,KAAMA,EACNwH,YAAaA,EACbD,QAASA,EAAQzH,UAEjBC,EAAAA,EAAAA,KAAC2K,EAAAA,QAAMC,OAAM,IAAKpO,OAAOgD,OAAO,CAAC,EAAGS,GAAOhE,KAAM,MACzC,EAiLVgL,MAAO,GACPmC,IAAK,GACLC,IAAK,KAEPwB,UAAW,CACT7B,OAlLc6B,CAChB5K,EAAI6K,KAEA,IADJ,MAAEpD,EAAK,QAAEC,EAAO,SAAEN,EAAQ,YAAEI,EAAW,QAAED,KAAYzK,GAAO+N,EAE5D,OACE9K,EAAAA,EAAAA,KAACuH,EAAO,IACFxK,EACJ2D,KAAK,aACLT,KAAMA,EACNyH,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQzH,UAEjBC,EAAAA,EAAAA,KAAC4I,EAAQ,CAACvB,SAAUA,EAAStH,SAAEE,KACvB,EAoKVgH,MAAO,GACPmC,IAAK,GACLC,IAAK,KAEP0B,SAAU,CACR/B,OArKa+B,CAAC9K,EAAMlD,KACfiD,EAAAA,EAAAA,KAACgL,EAAiB,CAACxC,IAAKvI,KAAUlD,IAqKvCkK,MAAO,IACPmC,IAAK,GACLC,IAAK,KAEP4B,SAAU,CACRjC,OAvKaiC,CACfhL,EAAIiL,KAEA,IADJ,SAAE7D,EAAQ,MAAEK,GAAQ,EAAI,QAAEC,GAAU,EAAI,YAAEF,EAAW,QAAED,KAAYzK,GAAOmO,EAE1E,OACElL,EAAAA,EAAAA,KAACuH,EAAO,IACFxK,EACJ2D,KAAK,YACLT,KAAMA,EACNyH,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQzH,UAEjBC,EAAAA,EAAAA,KAAC4I,EAAQ,CAACvB,SAAUA,EAAStH,SAAEE,KACvB,EAyJVgH,MAAO,IACPmC,IAAK,IACLC,IAAK,KAEPpG,YAAa,CACX+F,OA1JgB/F,CAClBhD,EAAIkL,KAEA,IADJ,MAAEzD,EAAK,QAAEC,EAAO,SAAEN,EAAQ,YAAEI,EAAW,QAAED,KAAYzK,GAAOoO,EAE5D,OACEnL,EAAAA,EAAAA,KAACuH,EAAO,IACFxK,EACJ2D,KAAK,cACLT,KAAMA,EACNyH,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQzH,UAEjBC,EAAAA,EAAAA,KAAC4I,EAAQ,CAACvB,SAAUA,EAAStH,SAAEE,KACvB,EA4IVgH,MAAO,IACPmC,IAAK,IACLC,IAAK,KAEP+B,QAAS,CACPpC,OA5IYoC,CAACnL,EAAIoL,KAAiB,IAAf,MAAEpE,GAAOoE,EAC9B,OACErL,EAAAA,EAAAA,KAACsL,EAAW,CACV3M,UAAWC,IAAWmJ,EAAa,YAAaA,EAAsB,SACtElL,KAAMoD,EACNgH,MAAOA,GACP,EAuIFA,MAAO,IACPmC,IAAK,IACLC,IAAK,KAEPkC,cAAe,CACbvC,OArHkBuC,CACpBtL,EAAIuL,KAEA,IADJ,MAAE9D,EAAK,QAAEC,EAAO,SAAEN,EAAQ,YAAEI,EAAW,QAAED,KAAYzK,GAAOyO,EAE5D,OACExL,EAAAA,EAAAA,KAACuH,EAAO,IACFxK,EACJ2D,KAAK,gBACLT,KAAMA,EACNyH,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQzH,UAEjBC,EAAAA,EAAAA,KAAC4I,EAAQ,CAACvB,SAAUA,EAAStH,SAAEE,KACvB,EAuGVgH,MAAO,IACPmC,IAAK,IACLC,IAAK,KAEPjD,MAAO,CACL4C,OAAQ5C,EACRa,MAAO,IACPmC,IAAK,IACLC,IAAK,KAEPoC,WAAY,CACVzC,OAAQ5C,EACRa,MAAO,IACPmC,IAAK,GACLC,IAAK,KAEPqC,WAAY,CACV1C,OAAQ5C,EACRa,MAAO,IACPmC,IAAK,IACLC,IAAK,MAIT,I,yLCpcA,MAAM,MAAEsC,GAAUC,EAAAA,SA+QlB,GA7Q8BnQ,IAKvB,IALwB,MAC7BoQ,EAAK,UACLrJ,EAAS,QACTsJ,EACAC,OAAQC,GACTvQ,EACC,MAAOsQ,EAAQE,IAAY9O,EAAAA,EAAAA,UAAS6O,GAAgB,CAAC,IAE9CE,EAAYC,IAAiBhP,EAAAA,EAAAA,UAAS,KACvC,iBAAEiP,EAAgB,kBAAEC,EAAiB,eAAEC,EAAc,cAAEC,IAC3D5F,EAAAA,EAAAA,UAAQ,IACC6F,IACLhQ,OAAOgD,OACL,CACE4M,iBAAkB,GAClBC,kBAAmB,GACnBC,eAAgB,GAChBC,cAAe,IAEjBE,IAAQX,GAAU7L,GACG,UAAfA,EAAKyM,MACA,qBAEU,IAAfzM,EAAKyM,OAAiC,SAAfzM,EAAKyM,MACvB,oBAEuC,IAAxCjI,IAAIsH,EAAQ,GAAG9L,EAAKqE,iBAC1BrE,EAAKkH,SACmC,IAAxC1C,IAAIsH,EAAQ,GAAG9L,EAAKqE,gBAClB,gBACA,qBAGR,CAACyB,EAAQhL,EAAOL,KACdqL,EAAOrL,GAAOK,EAAM4R,MAAK,CAACC,EAAGC,IAEzBpI,IAAIsH,EAAQ,GAAGa,EAAEtI,YAAa,GAC9BG,IAAIsH,EAAQ,GAAGc,EAAEvI,YAAa,IAEhC,GAEJ,CAAC,IAEF,CAACwH,EAASC,IAkBTe,EAAgB7M,IAElBJ,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAC,SAAA,CACGE,EAAK8M,WAAa9M,EAAKmB,OAAS,2BAChCnB,EAAK+M,aAAe/M,EAAK+M,YAAY3Q,OAAS,EAC3C,IAAI4D,EAAK+M,YAAYhP,KAAI1B,IAAA,IAAC,MAAE8E,GAAO9E,EAAA,OAAK8E,CAAK,IAAE7E,KAAK,QACpD,MAKV,OACEsD,EAAAA,EAAAA,MAAA,OAAKlB,UAAWE,EAAM,2BAA2BkB,SAAA,EAC/CC,EAAAA,EAAAA,KAAA,OAAKrB,UAAWE,EAAM,iCAAiCkB,UACrDF,EAAAA,EAAAA,MAACoN,EAAAA,IAAG,CAAC1K,MAAM,SAAS2K,QAAQ,gBAAenN,SAAA,EACzCC,EAAAA,EAAAA,KAACmN,EAAAA,IAAG,CAAApN,SAAC,8BACLC,EAAAA,EAAAA,KAACmN,EAAAA,IAAG,CAAApN,UACFC,EAAAA,EAAAA,KAACoN,EAAAA,QAAO,CAAChM,MAAM,2BAAMrB,UACnBC,EAAAA,EAAAA,KAACZ,EAAAA,QAAa,CACZsB,KAAK,OACL0G,MAAMpH,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAK,0BACjBW,QAAS6C,UACP1B,SAAoBA,EAAU,CAAC,GAC/BqJ,GAAO,cAOnB7L,EAAAA,EAAAA,KAAA,OAAKrB,UAAWE,EAAM,oCAAoCkB,UACxDF,EAAAA,EAAAA,MAAC+L,EAAAA,SAAQ,CACPyB,iBAAkB,CAAC,SAAU,aAC7BC,OAAO,EACPC,UAAQ,EAAAxN,SAAA,EAERC,EAAAA,EAAAA,KAAC2L,EAAK,CAAc6B,OAAO,iCAAOzN,UAChCF,EAAAA,EAAAA,MAAC4N,EAAAA,KAAI,CAAC9O,UAAWE,EAAM,gCAAgCkB,SAAA,CACpDqM,EAAiBpO,KAAI,CAACiC,EAAMxB,KAC3BuB,EAAAA,EAAAA,KAACyN,EAAAA,KAAKC,KAAI,CACR/O,UAAWE,EAAM,gCAAgCkB,UAGjDC,EAAAA,EAAAA,KAAC2N,EAAAA,SAAQ,CAACC,SAAO,EAACrM,UAAQ,EAAAxB,SACvB+M,EAAa7M,MAHXA,EAAKqE,MAAQ,QAAQ7F,QAO9BuB,EAAAA,EAAAA,KAAC6N,EAAAA,cAAa,CACZhR,KAAMyP,EACNpF,OAAO,mBACP4G,UAAWjP,EAAM,iBACjBkP,WAAYlP,EAAM,kBAClBmP,eAAa,EACbC,QAAU3B,IAtEMR,KAC5B,MAAMoC,EAAYC,IAAUpC,GACtBqC,EAAc,GAAG5K,OACrBsI,EAAQM,iBACRN,EAAQQ,eACRR,EAAQO,oBAETP,EAAQS,eAAiB,IAAI8B,SAASC,IACrCvJ,IAAImJ,EAAW,GAAGI,EAAIhK,gBAAgB,EAAM,IAE9C8J,EAAYC,SAAQ,CAACC,EAAK7P,KACxBsG,IAAImJ,EAAW,GAAGI,EAAIhK,YAAa7F,EAAQ,EAAE,IAE/CwN,EAASiC,EAAU,EA0DLK,CAAqB,CACnBnC,mBACAE,iBACAC,gBACAF,qBACA,EAEJmC,UAAW,IACXC,mBAAiB,EACjBC,MAAO,EAAE3O,SAERuM,EAAetO,KAAI,CAACiC,EAAMxB,KACzBoB,EAAAA,EAAAA,MAAC4N,EAAAA,KAAKC,KAAI,CACR/O,UAAWC,IACTC,EAAM,gCACNA,EAAM,YACNkB,SAAA,EAGFC,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CACHC,KAAK,aACL/B,UAAWE,EAAM,wCAEnBmB,EAAAA,EAAAA,KAAC2N,EAAAA,SAAQ,CACPC,SAAO,EACPrM,SACEtB,EAAKyM,OACLN,EAAiB/P,OACfiQ,EAAejQ,OACfgQ,EAAkBhQ,QAClB,EAEJ4P,SAAW7Q,IACTA,EAAEkH,kBACFlH,EAAEuT,iBACF,MAAMT,EAAY1R,OAAOgD,OAAO,CAAC,EAAGuM,GACpCmC,EAAUjO,EAAKqE,MAAQ9H,OAAOgD,OAC5B,CAAC,EACD0O,EAAUjO,EAAKqE,MACf,CAAEsK,SAAS,IAEb3C,EAASiC,EAAU,EACnBnO,SAED+M,EAAa7M,OA3BXA,EAAKqE,MAAQ,WAAW7F,SAgClC4N,EAAkBrO,KAAI,CAACiC,EAAMxB,KAC5BuB,EAAAA,EAAAA,KAACyN,EAAAA,KAAKC,KAAI,CACR/O,UAAWE,EAAM,gCAAgCkB,UAGjDC,EAAAA,EAAAA,KAAC2N,EAAAA,SAAQ,CAACC,SAAO,EAACrM,UAAQ,EAAAxB,SACvBE,EAAK8M,WAAa9M,EAAKmB,OAAS,8BAH9BnB,EAAKqE,MAAQ,SAAS7F,WAvExB,WAgFXuB,EAAAA,EAAAA,KAAC2L,EAAK,CAEJ6B,QACE3N,EAAAA,EAAAA,MAACoN,EAAAA,IAAG,CAAC4B,MAAM,EAAO3B,QAAQ,gBAAenN,SAAA,EACvCC,EAAAA,EAAAA,KAACmN,EAAAA,IAAG,CAAApN,SAAC,oCACLC,EAAAA,EAAAA,KAACmN,EAAAA,IAAG,CACF9L,QAAUjG,IACRA,EAAEkH,kBACFlH,EAAEuT,gBAAgB,EAClB5O,UAEFC,EAAAA,EAAAA,KAAC8O,EAAAA,YAAW,CACVC,QAAQ/O,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAK,cAAczE,KAAM,KACvC+S,YAAY,eACZC,SAAWlU,IACToR,EAAcpR,EAAM,EAEtB4D,UAAWE,EAAM,iCACjB5C,KAAK,eAIZ8D,UAEDC,EAAAA,EAAAA,KAACyN,EAAAA,KAAI,CACHyB,WAAY3C,EAAcrF,QACvBjH,GAC2C,kBAAlCA,EAAK8M,WAAa9M,EAAKmB,SAC9BnB,EAAK8M,WAAa9M,EAAKmB,OAAOpF,QAAQkQ,IAAe,IAE1D1N,WAAayB,IAETD,EAAAA,EAAAA,KAACyN,EAAAA,KAAKC,KAAI,CACR/O,UAAWE,EAAM,gCAAgCkB,UAGjDC,EAAAA,EAAAA,KAAC2N,EAAAA,SAAQ,CACPC,SAAS,EACT3B,SAAW7Q,IACTA,EAAEkH,kBACFlH,EAAEuT,iBACF,MAAMT,EAAY1R,OAAOgD,OAAO,CAAC,EAAGuM,GACpCmC,EAAUjO,EAAKqE,MAAQ9H,OAAOgD,OAC5B,CAAC,EACD0O,EAAUjO,EAAKqE,MACf,CAAEsK,SAAS,IAEb3C,EAASiC,EAAU,EACnBnO,SAEDE,EAAK8M,WAAa9M,EAAKmB,OAAS,8BAhB9BnB,EAAKvF,QAjCd,mBA0DVmF,EAAAA,EAAAA,MAACoN,EAAAA,IAAG,CACFtO,UAAWE,EAAM,kCACjBqO,QAAQ,MACRiC,OAAQ,GAAGpP,SAAA,EAEXC,EAAAA,EAAAA,KAACmN,EAAAA,IAAG,CAAApN,UACFC,EAAAA,EAAAA,KAACQ,EAAAA,OAAM,CACLvE,KAAK,QACLoF,QAASA,KACP4K,EAASD,GAAgB,CAAC,GAC1BH,GAAO,EACP9L,SACH,oBAIHC,EAAAA,EAAAA,KAACmN,EAAAA,IAAG,CAAApN,UACFC,EAAAA,EAAAA,KAACZ,EAAAA,QAAa,CACZsB,KAAK,UACLzE,KAAK,QACLoF,QAAS6C,UACP1B,SAAoBA,EAAUuJ,GAC9BF,GAAO,EACP9L,SACH,wBAKD,E,0ECtRV,MAAMqP,GAAa,+BAwBnB,GAFuB,CAAEC,WApBL/K,GACbA,EAIE,CACLX,OAAQA,IAAMc,IAAI5J,GAAAA,EAAaJ,QAAQ2U,IAAa9K,EAAM,CAAC,IAJpD,CAAC,EAkByBgL,YAVjBA,CAAChL,EAAMlB,KACzB,GAAKkB,EAGL,OAAOzJ,GAAAA,EAAaQ,QAClB+T,GACA5S,OAAOgD,OAAO,CAAC,EAAG3E,GAAAA,EAAaJ,QAAQ2U,IAAa,CAAE,CAAC9K,GAAOlB,IAC/D,GCHGmM,GAAc9T,IAA4C,IAA3C,MAAE2F,EAAK,QAAE0K,EAAO,OAAEC,EAAM,UAAEyD,GAAW/T,EACxD,MAAOgU,EAAMC,IAAWvS,EAAAA,EAAAA,WAAS,GACjC,OACE0C,EAAAA,EAAAA,MAACoN,EAAAA,IAAG,CAAC4B,MAAM,EAAM9O,SAAA,EACfC,EAAAA,EAAAA,KAACmN,EAAAA,IAAG,CAACwC,KAAM,EAAE5P,SAAEqB,KACfpB,EAAAA,EAAAA,KAACmN,EAAAA,IAAG,CAAApN,UACFC,EAAAA,EAAAA,KAAC4P,EAAAA,QAAO,CACNH,KAAMA,EACNI,aAAcH,EACdI,QAAQ,QACRnO,UAAU,aACVxB,iBAAkBtB,EAAM,2BACxBkR,SACE/P,EAAAA,EAAAA,KAACgQ,GAAqB,CACpBlE,QAASA,EACTC,OAAQA,EACRF,MAAOA,KACL6D,GAAQ,EAAM,EAEhBlN,UAAY0L,IACVsB,GAAWzD,GACFS,IACL0B,GACA,CAACnI,EAAQhL,EAAOL,KACdqL,EAAOrL,GAAO8B,OAAOgD,OACnB,CAAC,EACDuM,EAAOrR,GACPsC,IAAKjC,EAAO,CAAC,UAAW,SACzB,GAEH,CAAC,IAEH,IAGPgF,UAEDC,EAAAA,EAAAA,KAAA,QAAMrB,UAAWE,EAAM,yBAAyBkB,UAC9CC,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAK,wBAIb,EA0PV,GAtPuBpE,IAMhB,IANiB,QACtBwP,EAAO,KACPxH,EAAI,eACJ2L,EAAc,WACdC,EAAU,OACVC,GACD7T,EACC,MAAO8T,EAAwBC,IAA6BlT,EAAAA,EAAAA,UAAS,MAC/DmT,GAA4BrM,EAAAA,EAAAA,QAAOmM,GACzCE,EAA0B9S,QAAU4S,EACpC,MAAMG,GAAuBtM,EAAAA,EAAAA,QAAO,MAC9BuM,GAAgBvM,EAAAA,EAAAA,QAAO,OACtB8H,EAAQ0E,IAAiBtT,EAAAA,EAAAA,UAAS,CAAC,IAClCuT,gBAAiBC,IAA0BnL,EAAAA,EAAAA,aAC7CkL,EAAkBC,GAEpBC,GAEEC,EAAuC,OAAfH,QAAe,IAAfA,OAAe,EAAfA,EAAiBrB,WAAW/K,GAEpDwM,GAAaC,EAAAA,GAAAA,uBAAqB,CAACzM,EAAM3J,KAC9B,OAAf+V,QAAe,IAAfA,GAAAA,EAAiBpB,YAAYhL,EAAM3J,EAAO,GACzC,KAEG6U,EAAYnS,KAAgB6Q,KAChC/P,EAAAA,EAAAA,kBAAgB,KACdsS,GAAe1E,IACb,MAAMpR,EACiB,oBAAduT,EAA2BA,EAAUnC,GAAUmC,EAExD,OADA5J,GAAQ2L,GAAkBa,EAAWxM,EAAM3J,GACpCA,CAAM,GACb,GACF,KAGE,KAAEqW,IAASC,EAAAA,EAAAA,UACfzU,OAAOgD,OAAO,IACThD,OAAOgD,OAAO,CAAC,EAAGqR,GACrBK,MAAM,EACNC,MAAO,gBAAgB7M,IACvB8M,SAAS,EACTC,iBAAmBjO,IACjBqN,EAAcjU,OAAOgD,OAAO,CAAC,EAAG4D,GAAM,KAKtCkO,EAAiBjU,KAAe,KAChCiH,GAAQ2L,GAAkBY,GAC5BG,EAAK,CAAEzM,OAAO,GAChB,KAGFgN,EAAAA,EAAAA,YAAU,KACRD,GAAgB,GACf,CAACA,IAEJ,MAAMhF,GAAiB3F,EAAAA,EAAAA,UAAQ,IACtBmF,EACJ5E,QAAQoH,MAEkC,IAAvC7J,IAAIsH,EAAQ,GAAGuC,EAAIhK,kBACqB,IAAvCG,IAAIsH,EAAQ,GAAGuC,EAAIhK,kBAA2C,IAAfgK,EAAInH,UAGvDwF,MAAK,CAACC,EAAGC,KACR,MAAM2E,EAAiBvR,GAEnBwE,IAAIsH,EAAQ,GAAG9L,EAAKqE,YAAa,IACjB,SAAfrE,EAAKyM,OAAoB,IAAQ,IAClB,UAAfzM,EAAKyM,MAAoB,IAAQ,GAGtC,OAAO8E,EAAc5E,GAAK4E,EAAc3E,EAAE,KAE7C,CAACf,EAASC,IAEP0F,GAA4B9K,EAAAA,EAAAA,UAAQ,IACjC+K,KAAcpF,GAAgB1P,IAAA,IAAC,KAAE8D,GAAM9D,EAAA,MAAc,YAAT8D,CAAkB,KACpE,CAAC4L,IAEEqF,GAAahL,EAAAA,EAAAA,UAAQ,IAClBiL,IACLtF,GACA7G,IAAA,IAAC,KAAE/E,EAAI,KAAE4D,GAAMmB,EAAA,OACbhB,IAAIsH,EAAQ,GAAGzH,YAAiBwE,EAAYpI,GAAMuG,KAAK,KAE1D,CAACqF,EAAgBP,IAEd8F,EAAoBlI,IAAuB,IAAtB,MAAE1C,EAAK,MAAExI,GAAOkL,EACzC,OAAO8H,IAA8BhT,EACjCwI,EAAQ6K,KAAKzI,IAAI6G,EAAayB,EAAa,EAAG,GAC9C1K,CAAK,EAGL8K,EAAkB1U,KAAe,CAAC2U,EAAQvT,KAE5CuB,EAAAA,EAAAA,KAAA,QACErB,UAAWC,IAAWC,EAAM,oBAC5BoT,YAAc7W,IACZmV,EAAqB/S,QAAUhB,OAAOgD,OAAO,CAAC,EAAGwS,EAAQ,CAAEvT,UAC3D+R,EAAchT,QAAUpC,EAAE8W,QAC1B7B,EAA0B5R,EAAM,EAChCsB,UAEFC,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAK,mBAKXyR,EAAS9U,KAAgB+U,IAC7B,GAA+B,OAA3BhC,EACF,OAEF,IAAKG,EAAqB/S,QACxB,OAEF,MAAM,KAAE8G,EAAI,MAAE2C,EAAK,IAAEmC,EAAG,IAAEC,EAAG,MAAE5K,GAAU8R,EAAqB/S,QACxD6U,EAAeP,KAAK1I,IAAI0I,KAAKzI,IAAIpC,EAAQmL,EAAOhJ,GAAMC,GACxDgJ,EAAeR,EAAkB,CAAE5K,MAAOmC,EAAK3K,WAGnD+Q,GAAWzD,GACFvP,OAAOgD,OAAO,CAAC,EAAGuM,EAAQ,CAC/B,CAACzH,GAAO9H,OAAOgD,OAAO,CAAC,EAAGuM,EAAOzH,GAAO,CACtC2C,MAAOoL,OAGX,IAGEC,EAAsBjV,KAAe,CAAC2U,EAAQvT,KAClD,MAAM,KAAE6F,EAAI,MAAE2C,EAAK,IAAEmC,EAAG,IAAEC,GAAQ2I,EAClC,IAAIO,EAAeP,EACfvT,IAAU6N,EAAejQ,OAAS,IACpCkW,EAAe/V,OAAOgD,OAAO,CAAC,EAAGwS,EAAQ,CACvCrT,UAAW,iBACXyC,OACEpB,EAAAA,EAAAA,KAACuP,GAAW,CACVnO,MAAa,OAAN4Q,QAAM,IAANA,OAAM,EAANA,EAAQ5Q,MACf0K,QAASA,EACTC,OAAQA,EACRyD,UAAWA,OAMnB,MAAMgD,EAAcA,KACX,CACL7T,UAAWC,IAAW,CACpB,CAACC,EAAM,cAAeyR,EAA0B9S,UAAYiB,MAI5D4T,EAAeP,KAAK1I,IACxB0I,KAAKzI,IAAI5E,IAAIsH,EAAQ,GAAGzH,YAAiB2C,EAAOmC,GAChDC,GAGIoJ,EAAYZ,EAAkB,CAAE5K,MAAOoL,EAAc5T,UAE3D,OAAOjC,OAAOgD,OAAO,CAAC,EAAG+S,EAAc,CACrCG,aAAcF,EACdG,OAAQH,EACRvL,MAAOwL,EACPG,iBAAkBA,CAACC,EAAQC,KACzB,MAAMC,EACc,oBAAX5C,EAAwBA,EAAO0C,GAAUA,EAAO1C,GACnD6C,EACc,oBAAX7C,EACHA,EAAO2C,GACPA,EAAW3C,GACjB,OACwC,OAAtCG,EAA0B9S,SAC1B8S,EAA0B9S,UAAYiB,GACtB,aAAhBuT,EAAOtR,QAELqS,IAAYC,GACZC,KAAQJ,EAAOb,EAAO1N,MAAOwO,EAAWd,EAAO1N,OAChD,EAGLlD,OACEvB,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAC,SAAA,CACGwS,EAAanR,QACXqR,EAAYJ,GAAgBI,EAAYpJ,IACzC0I,EACEvV,OAAOgD,OAAO,CAAC,EAAG+S,EAAc,CAAEtL,MAAOwL,IACzChU,OAIR,IA2CJ,OAxCA8S,EAAAA,EAAAA,YAAU,KACR,MAAM2B,EAAsBA,KAC1B7C,EAA0B,MAC1BG,EAAchT,QAAU,KACxB+S,EAAqB/S,QAAU,IAAI,EAG/B2V,EAAiB/X,IAEmB,OAAtCkV,EAA0B9S,SACO,OAAjC+S,EAAqB/S,UAIO,OAA1BgT,EAAchT,QAIlB2U,EAAO/W,EAAE8W,QAAU1B,EAAchT,SAH/BgT,EAAchT,QAAUpC,EAAE8W,QAGa,EAQ3C,OANAkB,SAASC,gBAAgBC,iBACvB,UACAJ,GACA,GAEFE,SAASC,gBAAgBC,iBAAiB,YAAaH,GAAe,GAC/D,KACLC,SAASC,gBAAgBE,oBACvB,UACAL,GACA,GAEFE,SAASC,gBAAgBE,oBACvB,YACAJ,GACA,EACD,CACF,GACA,CAAChB,IAEG,CACL7F,iBACA8D,yBACA2B,kBACAyB,cAAezH,EACf4F,aACAW,sBACD,E,2BC5SH,MAuGA,GAvG2B7W,IAA8B,IAA7B,OAAE0U,EAAM,YAAEsD,GAAahY,EACjD,MAAOiY,EAAYC,IAAiBxW,EAAAA,EAAAA,UAAS,MACvCyW,GAAuB3P,EAAAA,EAAAA,QAAOwP,GACpCG,EAAqBpW,QAAUiW,EAE/B,MAAMnB,EAAsBjV,KAC1B,CAACiR,EAAK7P,EAAKnC,KAAyB,IAAvB,cAAEkX,GAAelX,EAC5B,MAAM,KACJgI,EAAI,KACJ5D,EAAI,WACJmT,EAAU,MACVzS,EAAK,YACL0S,EAAW,MACXpH,EAAK,QACLrE,EAAO,YACPZ,EAAW,YACXuF,EAAW,KACXL,EAAI,eACJoH,KACGC,GACD1F,GACE,OAAEtF,EAAM,MAAE/B,EAAK,IAAEmC,EAAG,IAAEC,GAAQ7M,OAAOgD,OACzC,CAAC,EACDsJ,EAAYpI,GAAQ,SACX,aAATA,IACG2E,KAAMqO,IACP1W,IAAK8L,EAAY+K,GAAc,SAAU,CAAC,QAAS,MAAO,SAExDI,EAAejL,EAErB,MAAO,CACL1E,OACAlD,MAA8B,oBAAhB0S,EAA6BA,EAAY1S,GAASA,EAChEgI,MACAC,MACApC,QACAyF,QACAM,cACAL,OACAjM,OACAsI,OAAS/I,IACP,MAAM8S,EACc,oBAAX5C,EAAwBA,EAAOlQ,GAAQA,EAAKkQ,GAC/C+D,EAAW1X,OAAOgD,OACtB,CAAC,EACD8O,EACsB,oBAAfA,EAAItF,OACPsF,EAAItF,OAAO,IACN4K,EAAqBpW,QACxB8G,OACA3J,OAAQsF,IAEV,CAAC,GAEDkU,EAAyBvM,IAC7B,MAAMJ,EAAUY,EAAgBR,EAAUS,GAC1C,OAAO4L,EAAarM,EAAU,IACzBoM,EACH1P,OACA2C,MAAOxC,IAAI+O,EAAe,GAAGlP,YAAiB2C,EAC9CmC,MACAC,MACA7B,UACAC,cACAC,MAAOwM,EAASxM,MAChBE,SAAUpL,OAAOgD,OAAO,CAAC,EAAGS,GAC5BwT,YAAaG,EAAqBpW,QAClCmK,QAASuM,EAASvM,QAClBN,SAAU6M,EAAS7M,SACnBoB,OAAQiL,IAAeX,EACvBrK,SAAUA,IAAMiL,EAAcZ,IAC9B,EAGEnL,EACJsM,EAASE,eAAe,YACI,oBAArBF,EAASG,QACZH,EAASG,QACPpU,EACAzD,OAAOgD,OACL,CAAC,EACDoU,EAAqBpW,QACrB,CACE8G,QAEFyP,EACI,CAAEE,aAAcE,GAChB,CAAC,IAGT1P,IAAIxE,EAAMqE,GAChB,OAAOyP,EAAiBnM,EAAWuM,EAAsBvM,EAAS,EAErE,IAIL,MAAO,CACL8L,aACApB,sBACD,EC3DH,GA/CwBxG,IACfnF,EAAAA,EAAAA,UAAQ,KACb,MAAM2N,EAAqBxI,EAAQ5E,QAChCjH,GAASA,EAAK+M,aAAe/M,EAAK+M,YAAY3Q,OAAS,IAE1D,GAAIiY,EAAmBjY,OAAS,EAAG,CACjC,MAAMkY,EAAazI,EAAQxN,MAAM,GAC3BkW,EAAQ,GACRC,EAAqBzC,IACzB,MAAM,YAAEhF,GAAgBgF,EACxB,KAAMhF,GAAeA,EAAY3Q,OAAS,GACxC,OAEF,MAAMqY,EAAcH,EAAWvY,QAAQgW,GACjC2C,EAAOA,CAAC3H,EAAawH,KACzB,MAAOI,KAAiBC,GAAe7H,EACvC,IAAI8H,EAAeN,EAAMO,MACtB9U,GAASA,EAAKqE,OAASsQ,EAAatQ,OAElCwQ,IACHA,EAAetY,OAAOgD,OACpB,CAAEwV,WAAYN,GACdE,EACA,CAAE7U,SAAU,KAEdyU,EAAMS,KAAKH,IAETD,EAAYxY,OAAS,EACvBsY,EAAKE,EAAaC,EAAa/U,UAE/B+U,EAAa/U,SAASkV,KAAKjD,EAC7B,EAEF2C,EAAK3H,EAAawH,GAClBD,EAAWW,OAAOR,EAAa,EAAE,EAOnC,OALAJ,EAAmBjG,QAAQoG,GAC3BD,EAAMnG,SAAQ,CAAC8G,EAAa1W,KAC1B8V,EAAWW,OAAOC,EAAYH,WAAavW,EAAO,EAAG0W,EAAY,IAG5D,CAAErJ,QAASyI,EAAYa,gBAAgB,EAChD,CACA,MAAO,CAAEtJ,UAASsJ,gBAAgB,EAAO,GACxC,CAACtJ,I,kDCvCN,MAAMuJ,GAAkB1I,GACtB,IAAIpJ,KACDoJ,GAAQ,IAAI3O,KAAIvC,IAAqB,IAApB,KAAE6I,EAAI,KAAEqI,GAAMlR,EAC9B,MAAO,CAAC6I,EAAMqI,EAAK,KA6DzB,GAzDiB5P,IACf,MAAO4P,EAAM2I,GAAWC,KAAgBxY,EAAO,CAC7ChC,MAAO,OACPiR,aAAc,cACdC,SAAU,iBAGNuJ,GAAU7O,EAAAA,EAAAA,UAAQ,IACf0O,GAAe1I,IACrB,CAACA,IAEE8I,GAAaC,EAAAA,EAAAA,cAChBC,GACQL,GAAS3I,IACd,MAAMiJ,EAAUD,EAASN,GAAe1I,IACxC,OAAOhI,MAAMS,KAAKwQ,GAAS5X,KAAI1B,IAAA,IAAEgI,EAAMqI,GAAKrQ,EAAA,MAAM,CAAEgI,OAAMqI,OAAM,GAAE,KAGtE,CAAC2I,IAGH,OAAOI,EAAAA,EAAAA,cACL9Y,IAAA,IAAC,OAAEiZ,EAAM,KAAEvR,GAAM1H,EAAA,OACfiD,EAAAA,EAAAA,MAAA,OACElB,UAAWC,IAAWC,EAAM,YAAa,CACvC,CAACA,EAAM,qBAA4C,SAAtB2W,EAAQ/Q,IAAIH,GACzC,CAACzF,EAAM,oBAA2C,QAAtB2W,EAAQ/Q,IAAIH,KAE1CjD,QAASA,KACPoU,GAAY9I,IACV,MAAMnP,EAAUmP,EAAKlI,IAAIH,GACnBwR,EACY,SAAZtY,EACK,MAEO,QAAZA,EACK,KAEF,OAET,GAAIqY,EACF,OAAO,IAAItS,IAAIuS,EAAc,CAAC,CAACxR,EAAMwR,IAAgB,IAEvD,MAAMF,EAAUG,KAAMpJ,GAEtB,OADAmJ,EAAcF,EAAQ7Q,IAAIT,EAAMwR,GAAeF,EAAQI,OAAO1R,GACvDsR,CAAO,GACd,EACF7V,SAAA,EAEFC,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAK,mBAAmB/B,UAAWE,EAAM,gBAC/CmB,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAK,qBAAqB/B,UAAWE,EAAM,iBAC7C,GAER,CAAC2W,EAASC,GACX,ECvDGQ,GAAQxa,IAgBP,IAhBQ,QACbqQ,EAAO,UACPnN,EAAS,YACTuX,EAAW,OACXC,EAAM,aACNC,EAAY,WACZC,EAAU,kBACVC,EAAiB,OACjBnG,EAAM,WACNjB,EAAU,eACVe,EAAc,KACd3L,EAAI,QACJiS,EAAO,OACPC,EAAM,kBACNC,KACG1Z,GACJtB,EACC,MAAOyU,EAAYwG,IAAiBvZ,EAAAA,EAAAA,UAAS,IACtCwZ,EAAUC,IAAezZ,EAAAA,EAAAA,WAAS,IAEzCoU,EAAAA,EAAAA,YAAU,KACJrB,GACF2G,YAAW,KACTD,GAAY,EAAM,GACjB,EACL,GACC,CAAC1G,KACyBjM,EAAAA,EAAAA,QAAOqS,GACf9Y,QAAU8Y,EAC/B,MAAM1Y,GAAMQ,EAAAA,EAAAA,IACTd,IACCoZ,EAAcpZ,EAAGS,YAAY,GAE/B,CAAE+Y,YAAY,KAEV,WAAEpD,EAAU,oBAAEpB,GAAwByE,GAAmB,CAC7D5G,SACAsD,YAAa6C,KAGT,cACJ9C,EAAa,eACblH,EACAgG,oBAAqB0E,EAAyB,uBAC9C5G,EAAsB,WACtBuB,GACEsF,GAAe,CACjBnL,UACAmE,iBACA3L,OACAgO,sBACApC,aACAC,WAGI+G,EAAaC,GAAQpa,GAErBqa,GAAgBzQ,EAAAA,EAAAA,UAAQ,IACrB2F,EAAetO,KAAI,CAACsQ,EAAK7P,KAC9B,IAAI9D,EAAS2X,EAAoBhE,EAAK7P,EAAO,CAC3C0R,SACAuD,aACAF,kBAyBF,OAtBI7Y,EAAOgS,MAAqB,YAAb2B,EAAI5N,OACrB/F,EAAS6B,OAAOgD,OAAO,CAAC,EAAG7E,EAAQ,CACjCyG,OACEvB,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAC,SAAA,CACGpF,EAAOyG,MACP8V,EAAW,CACV5S,KAAMgK,EAAIhK,KACVuR,OACyB,kBAAhBlb,EAAOgS,MAAoBhS,EAAOgS,KAAKkJ,eAOtD5F,IACFtV,EAASqc,EAA0Brc,EAAQ8D,EAAO,CAChDyR,aACAsD,mBAIG7Y,CAAM,KAEd,CACD2R,EACA4D,EACAsD,EACAE,EACAvD,EACAF,EACAqC,EACA0E,EACAE,KAGMpL,QAASuL,EAAY,eAAEjC,GAC7BkC,GAAeF,GAEXG,EAA4Bla,IAAeoZ,GAkBjD,OAhBAlF,EAAAA,EAAAA,YAAU,KACRgG,GACEA,EAA0B,CACxBzL,UACAuL,eACAnI,aACA5C,kBACA,GACH,CACDiL,EACAF,EACAnI,EACApD,EACAQ,KAIAtM,EAAAA,EAAAA,KAAA,OACErB,UAAWC,IAAWD,EAAWE,EAAa,MAAG,CAC/C,CAACA,EAAM,cAA0C,OAA3BuR,EACtB,CAACvR,EAAM,gBAAiB8X,EACxB,CAAC9X,EAAM,qBAAsBuW,IAE/BxX,IAAKA,EACLiB,MAAO,CACL,kBAAmBuX,GACnBrW,UAEA4W,IACA3W,EAAAA,EAAAA,KAACwX,EAAAA,EAAQ,CACP7Y,UAAU,sBACV8Y,SAAU,CAAE7V,aAAcsU,GAC1BwB,gBAAkBpa,GAEdA,EAAGqa,cAAc,oBACjBra,EAAGqa,cAAc,sBAEnB5X,UAEFC,EAAAA,EAAAA,KAAC4X,EAAAA,MAAS,IACJ7a,EACJoZ,SACEA,GACI,CACEvU,aAAcsU,GAItBhH,WAAYA,EACZiB,OAAQA,EACRrE,QAASuL,EACTb,OAAQha,OAAOgD,OACb,CAAC,EACD,CAAEqY,EAAG/F,KAAKzI,IAAI6G,EAAYyB,IAC1B6E,GAEFH,WAAYA,EACZE,QACqB,oBAAZA,EACH,SAAC/Y,GAAsB,IAAD,IAAAsa,EAAA3T,UAAA9H,OAAT0b,EAAI,IAAApT,MAAAmT,EAAA,EAAAA,EAAA,KAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAJD,EAAIC,EAAA,GAAA7T,UAAA6T,GACf,OAAOzB,EACL/Z,OAAOgD,OACL,CAAC,EACD,CAAEyY,SAAUza,GACZ,CAAEsO,QAASuL,OAEVU,EAEP,EACA,UAKR,EAIV9B,GAAM1V,aAAe,CACnB0P,gBAAgB,EAChBE,OAAQ,KACR+F,YAAW,IACXI,kBAAmB,CAAC,EACpBH,QAAQ,EACRC,aAAc,oBACdC,YAAY,GAGd,Y,gBC/MA,MAOA,GAPwB1V,IACf,CACL,QAASC,IAAM,+BACf,QAASC,IAAM,iCACfF,M,gBCSJ,MAAMuX,GAAwBzc,IAAgC,IAA/B,GAAEyG,EAAE,QAAE4J,EAAO,SAAE/L,GAAUtE,EACtD,OAAIyG,GAEAlC,EAAAA,EAAAA,KAACmY,GAAAA,QAAQ,CAACjW,GAAIA,EAAGnC,SACdzD,IAAA,IAAC,QAAE8O,GAAS9O,EAAA,OACXyD,EAAS,CACP+L,QAASA,EAAQ5E,QAAQjH,IAClBA,EAAKqE,QAGLK,MAAMC,QAAQH,IAAI2G,EAAS,oBAGqB,IAA9CA,EAAQmB,cAAcvQ,QAAQiE,EAAKqE,UAE5C,IAKHvE,EAAS,CAAE+L,WAAU,EAGxBsM,IAAiBjV,EAAAA,EAAAA,YACrBvG,IAmBO,IAnBN,KACCwG,EAAI,QACJiV,EAAO,OACPC,EAAM,cACNC,EAAa,WACbC,EAAU,WACVC,EAAU,QACVC,EAAO,SACPC,EAAQ,KACR3H,EAAI,WACJ4H,EAAU,UACVja,EAAS,UACTka,EAAS,QACT/M,EAAO,WACPgN,EAAU,WACVzC,EAAU,kBACVC,EAAiB,QACjBC,KACGxZ,GACJH,EACC,MAAMmc,EAAoB1b,IAAeub,GACnCI,GAAarS,EAAAA,EAAAA,UAAQ,IAClBoS,EAAkB3V,IACxB,CAACA,EAAM2V,IAEJE,EAAa,CACjB/J,WAAY8J,EAAWnc,KACvBwZ,aAAYA,EAAW5G,MACnB,CACEyJ,MAAOF,EAAWE,MAClBC,UAAYD,IACVrZ,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAC,SAAA,EACEC,EAAAA,EAAAA,KAACoZ,GAAAA,iBAAgB,CACflX,GAAG,aACHhB,WAAW,QACXmY,eAAe,YAEjBrZ,EAAAA,EAAAA,KAAA,QAAMrB,UAAWE,EAAkB,WAAEkB,SAAEmZ,KACvClZ,EAAAA,EAAAA,KAACoZ,GAAAA,iBAAgB,CACflX,GAAG,kBACHhB,WAAW,QACXmY,eAAe,cAIrB7b,QAASiH,IACP8T,EACA,CAAClC,EAAWiD,WAAYjD,EAAWkD,aACnC,GAEFC,SAAUnD,EAAWmD,SACrBvN,SAAUoK,EAAWpK,SACjBoK,EAAWpK,SACX,CAACwN,EAAMxd,KAEHwd,IACAhV,IACE8T,EACA,CAAClC,EAAWiD,WAAYjD,EAAWkD,aACnC,IAG0B,YAA3BlD,EAAWqD,YAA4BrB,EAAUC,GAAQ,CACxD,CAACjC,EAAWiD,YAAa,CACvB,CAACjD,EAAWkD,aAAcE,EAC1B,CAACpD,EAAWsD,cAAe1d,KAI/Boa,EAAWuD,kBACTvD,EAAWuD,iBAAiBH,EAAMxd,IAEtCia,EAAAA,EAAAA,KAAc2D,UAAY,CAAC,EAEjC5d,KAAMoa,EAAWpa,KACjB6d,gBAAiBzD,EAAWyD,gBAC5BC,gBAAiB1D,EAAW0D,gBAC5BC,gBAAiB3D,EAAW2D,kBAKpC,OACEha,EAAAA,EAAAA,KAACia,GAAAA,aAAY,CAAC9Y,eAAgBA,GAAgBD,WAAW,QAAOnB,UAC9DC,EAAAA,EAAAA,KAACkY,GAAqB,CAAChW,GAAI2W,EAAW/M,QAASA,EAAQ/L,SACpD0F,IAAA,IAAC,QAAEqG,GAASrG,EAAA,OACXzF,EAAAA,EAAAA,KAACiW,GAAK,IACAzZ,OAAOgD,OAAO,CAAC,EAAGzC,EAAOkc,GAC7Bta,UAAWC,IAAWD,EAAW,oBAAqB,CACpD,cAAe8Z,IAEjB3M,QAASA,EACTwK,kBAAmB,IACdA,EACHiC,gBACAC,aACApV,QAEFmT,QACqB,oBAAZA,EACH,WAAc,IAAD,IAAAuB,EAAA3T,UAAA9H,OAAT0b,EAAI,IAAApT,MAAAmT,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAJD,EAAIC,GAAA7T,UAAA6T,GACN,OAAOzB,EACL/Z,OAAOgD,OACL,CAAC,EACD,CACE4D,OACAoV,aACAD,gBACAF,UACAC,SACAK,WACA3H,OACA4H,aACAvC,iBAEC0B,GAGT,EACA,MAEN,KAGO,IAKrBK,GAAe7X,aAAe,CAC5B8V,WAAY,CAAC,EACbC,kBAAmB,CAAC,EACpBH,QAAQ,EACRyC,WAAaxV,IACJ,CACLvG,KAAMuG,EAAK6U,SACXiB,MAAO9V,EAAK8W,cAKlB,MA6CA,IA7CkBC,EAAAA,EAAAA,aAAW,CAAAxQ,EAA2B/L,KAAS,IAAnC,WAAEyY,KAAetZ,GAAO4M,EACpD0M,EAAa7Z,OAAOgD,OAClB,CAAC,EACD,CACEsa,iBAAiB,EACjBC,iBAAiB,EACjBtK,MAAM,EACN6J,WAAY,OACZI,YAAa,SACbH,YAAa,cACbI,aAAc,UACdH,SAAU,IAEZnD,GAEF,MAAM+D,EAAc,IAClBrd,EAAMuH,MAAQ,UACd+V,iCACKb,EAAUc,IAAend,EAAAA,EAAAA,UAC9BtC,GAAAA,EAAaJ,QAAQ2f,IAAgB/D,EAAWmD,UAE5CpV,EAASrH,EAAMsZ,EAAWiD,YAC1BiB,GAAc5T,EAAAA,EAAAA,UAAQ,KACnB,CACL,CAAC0P,EAAWiD,YAAa9c,OAAOgD,OAAO,CAAC,EAAG4E,EAAQ,CACjD,CAACiS,EAAWsD,cAAeH,OAG9B,CAACpV,EAAQiS,EAAWsD,aAActD,EAAWiD,WAAYE,IAC5D,OACExZ,EAAAA,EAAAA,KAACoY,GAAc,IACTrb,KACAwd,EACJlE,WAAY7Z,OAAOgD,OAAO,CAAC,EAAG6W,EAAY,CACxCmD,WACAI,iBAAkBA,CAACpc,EAASvB,KAC1BpB,GAAAA,EAAaQ,QAAQ+e,EAAane,GAClCqe,EAAYre,EAAK,IAGrB2B,IAAKA,GACL,G","sources":["common/utils/localStorage.js","webpack://@kne-components/components-core/./src/components/ButtonGroup/style.module.scss?7e95","components/ButtonGroup/index.js","components/ConfirmButton/locale/index.js","webpack://@kne-components/components-core/./src/components/ConfirmButton/style.module.scss?9447","components/ConfirmButton/index.js","components/Enum/index.js","webpack://@kne-components/components-core/./src/components/StateTag/style.module.scss?5aff","components/StateTag/index.js","webpack://@kne-components/components-core/./src/components/Table/style.module.scss?5d23","webpack://@kne-components/components-core/./src/components/Table/columns.module.scss?6c8d","components/Table/OptionsList.js","components/Table/Ellipsis.js","components/Table/ColItem.js","components/Table/isColValueEmpty.js","components/Table/HideInfoComponent.js","components/Table/columnTypes.js","components/Table/ColumnsControlContent.js","components/Table/tableLocalApis.js","components/Table/useTableConfig.js","components/Table/useColumnTypeProps.js","components/Table/useGroupHeader.js","components/Table/useSort.js","components/Table/Table.js","components/Table/locale/index.js","components/Table/TablePage.js"],"sourcesContent":["const localStorage = {\n getItem: (key) => {\n const target = window.localStorage.getItem(key);\n try {\n const { dataType, value } = JSON.parse(target);\n if (dataType === \"object\" && value === \"null\") {\n return null;\n }\n if (dataType === \"undefined\") {\n return void 0;\n }\n if (dataType === \"number\") {\n return Number(value);\n }\n if (dataType === \"boolean\") {\n return Boolean(value);\n }\n return value;\n } catch (e) {\n return null;\n }\n },\n setItem: (key, value) => {\n const dataType = typeof value;\n window.localStorage.setItem(key, JSON.stringify({ dataType, value }));\n },\n};\n\nexport default localStorage;\n","// extracted by mini-css-extract-plugin\nexport default {\"width-container\":\"style_width-container__JfEbg__+BqSZ\",\"hidden-container\":\"style_hidden-container__EdySA__+BqSZ\",\"hidden-inner\":\"style_hidden-inner__vAN59__+BqSZ\",\"menu-list\":\"style_menu-list__VDttR__+BqSZ\",\"btn-item\":\"style_btn-item__mp5MQ__+BqSZ\"};","import { startTransition, useState } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport { Button, Dropdown, Space } from \"antd\";\nimport classnames from \"classnames\";\nimport Icon from \"@components/Icon\";\nimport LoadingButton from \"@components/LoadingButton\";\nimport ConfirmButton from \"@components/ConfirmButton\";\nimport useResize from \"@common/hooks/useResize\";\nimport pick from \"lodash/pick\";\nimport style from \"./style.module.scss\";\nimport memoize from \"lodash/memoize\";\n\nconst areaWidthComputed = memoize(\n ({ amountWidth, moreBtnWidth, buttonWidthList, spaceProps, compact }) => {\n const spaceWidth = (() => {\n if (compact) {\n return 0;\n }\n\n if ([\"small\", \"middle\", \"large\"].indexOf(spaceProps.size) > -1) {\n return ([\"small\", \"middle\", \"large\"].indexOf(spaceProps.size) + 1) * 8;\n }\n\n if (Number.isInteger(spaceProps.size)) {\n return spaceProps.size;\n }\n return 8;\n })();\n\n let targetLength = 0,\n targetWidth = 0;\n\n // 采取先加后减策略\n while (\n amountWidth >=\n targetWidth +\n buttonWidthList[targetLength] +\n targetLength * spaceWidth &&\n targetLength < buttonWidthList.length\n ) {\n targetWidth += buttonWidthList[targetLength];\n targetLength += 1;\n }\n\n while (\n amountWidth <\n targetWidth +\n (targetLength - 1) * spaceWidth +\n (targetLength < buttonWidthList.length\n ? moreBtnWidth + spaceWidth\n : 0) &&\n targetLength > 0\n ) {\n targetWidth -= buttonWidthList[targetLength - 1];\n targetLength -= 1;\n }\n\n return targetLength;\n },\n ({ amountWidth, moreBtnWidth, buttonWidthList, spaceProps, compact }) => {\n return `${amountWidth}${moreBtnWidth}${buttonWidthList.join(\n \",\"\n )}${Object.values(spaceProps).join(\",\")}${compact && compact.toString()}`;\n }\n);\n\nconst ButtonGroup = ({ list, more, compact, ...props }) => {\n const spaceProps = pick(props, [\"size\", \"split\", \"align\", \"style\"]);\n const [showLength, setShowLength] = useState(list.length && 1);\n const computedLength = useRefCallback(() => {\n const el = targetRef.current,\n moreEl = moreRef.current,\n widthEl = ref.current;\n if (!el) {\n return;\n }\n\n const buttonEls = el.querySelectorAll(\".button-group-item\");\n if (!buttonEls) {\n return;\n }\n if (buttonEls.length === 0) {\n return;\n }\n\n const amountWidth = widthEl.clientWidth,\n moreBtnWidth = moreEl.clientWidth,\n buttonWidthList = [].map.call(buttonEls, (el) => el.offsetWidth);\n const targetLength = areaWidthComputed({\n amountWidth,\n moreBtnWidth,\n buttonWidthList,\n spaceProps,\n compact,\n });\n startTransition(() => {\n setShowLength(targetLength);\n });\n });\n const ref = useResize(computedLength);\n const targetRef = useResize(computedLength);\n const moreRef = useResize(computedLength);\n const otherList = list.slice(showLength);\n\n const renderButton = (renderItem, index, isDropdown) => {\n if (typeof renderItem === \"function\") {\n return renderItem({\n key: index,\n className: classnames(\"button-group-item\", style[\"btn-item\"]),\n isDropdown,\n });\n }\n const { className, confirm, buttonComponent, ...props } = renderItem;\n const isConfirm = confirm || props.message;\n const CurrentButton = isConfirm\n ? ConfirmButton\n : buttonComponent || LoadingButton;\n\n return (\n <CurrentButton\n danger={isConfirm && props.isDelete !== false}\n {...Object.assign(\n {},\n props,\n isConfirm && (props.isModal || isDropdown)\n ? {\n isModal: true,\n }\n : {}\n )}\n key={index}\n className={classnames(\n \"button-group-item\",\n style[\"btn-item\"],\n className\n )}\n />\n );\n };\n\n const SpaceComponent = compact ? Space.Compact : Space;\n\n return (\n <>\n <div className={style[\"width-container\"]} ref={ref} />\n <div className={style[\"hidden-container\"]}>\n <div className={style[\"hidden-inner\"]} ref={moreRef}>\n {more}\n </div>\n <div className={style[\"hidden-inner\"]} ref={targetRef}>\n <SpaceComponent {...spaceProps}>\n {list.map(renderButton)}\n </SpaceComponent>\n </div>\n </div>\n <SpaceComponent {...spaceProps}>\n {list\n .slice(0, showLength)\n .map((item, index) => renderButton(item, index, false))}\n {otherList.length > 0 && (\n <Dropdown\n overlayClassName={style[\"menu-list\"]}\n menu={{\n items: otherList.map((item, index) => {\n return {\n key: index,\n label: renderButton(item, index, true),\n };\n }),\n }}\n >\n {more}\n </Dropdown>\n )}\n </SpaceComponent>\n </>\n );\n};\n\nButtonGroup.defaultProps = {\n more: (\n <Button>\n 更多\n <Icon type=\"icon-arrow-thin-down\" />\n </Button>\n ),\n};\n\nexport default ButtonGroup;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","// extracted by mini-css-extract-plugin\nexport default {\"overlay\":\"style_overlay__99t5t__+BqSZ\",\"is-danger\":\"style_is-danger__gxyAB__+BqSZ\",\"title\":\"style_title__EEPu2__+BqSZ\",\"content\":\"style_content__mZZg5__+BqSZ\",\"has-title\":\"style_has-title__5+PEt__+BqSZ\"};","import React from \"react\";\nimport { Button, Popconfirm, Space, Typography } from \"antd\";\nimport importMessages from \"./locale\";\nimport Icon from \"@components/Icon\";\nimport { createWithIntl, useIntl } from \"@components/Intl\";\nimport { useConfirmModal } from \"@components/Modal\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\nexport const withConfirm = (WrappedComponent) => {\n const ConfirmComponent = createWithIntl({\n moduleName: \"ConfirmButton\",\n importMessages,\n })(\n ({\n title,\n message,\n isDelete = true,\n onClick,\n onCancel,\n disabled,\n showCancel,\n cancelText,\n isModal,\n okText,\n placement,\n getContainer,\n ...props\n }) => {\n const { formatMessage } = useIntl({ moduleName: \"ConfirmButton\" });\n const modal = useConfirmModal();\n if (isModal) {\n return (\n <WrappedComponent\n {...props}\n disabled={disabled}\n onClick={(e) => {\n modal({\n type: \"confirm\",\n title: title,\n getContainer,\n danger: isDelete,\n confirmType: isDelete ? \"warning\" : \"info\",\n message: message || formatMessage({ id: \"message\" }),\n okText: okText\n ? okText\n : isDelete\n ? formatMessage({ id: \"delete\" })\n : formatMessage({ id: \"confirm\" }),\n cancelText: cancelText || formatMessage({ id: \"cancel\" }),\n onCancel,\n onOk: onClick,\n });\n }}\n />\n );\n }\n return (\n <Popconfirm\n title={\n <Space\n direction=\"vertical\"\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n {title && (\n <Space size={0} align=\"start\" className={style[\"title\"]}>\n {isDelete && (\n <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\n )}\n {title}\n </Space>\n )}\n <Space\n size={0}\n align=\"start\"\n className={classnames(style[\"content\"], {\n [style[\"has-title\"]]: title,\n })}\n >\n {!title && isDelete ? (\n <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\n ) : null}\n {message || formatMessage({ id: \"message\" })}\n </Space>\n </Space>\n }\n placement={placement}\n onConfirm={onClick}\n okButtonProps={{\n danger: isDelete,\n }}\n onCancel={onCancel}\n overlayClassName={classnames(style[\"overlay\"], {\n [style[\"is-danger\"]]: isDelete,\n })}\n getPopupContainer={getContainer}\n disabled={disabled}\n showCancel={showCancel}\n cancelText={cancelText}\n okText={\n okText\n ? okText\n : isDelete\n ? formatMessage({ id: \"delete\" })\n : formatMessage({ id: \"confirm\" })\n }\n >\n <WrappedComponent {...props} disabled={disabled} />\n </Popconfirm>\n );\n }\n );\n\n ConfirmComponent.defaultProps = {\n isModal: false,\n showCancel: true,\n };\n\n return ConfirmComponent;\n};\n\nexport const ConfirmLink = withConfirm(Typography.Link);\nexport const ConfirmText = withConfirm(Typography.Text);\n\nexport default withConfirm(Button);\n","import { useRef } from \"react\";\nimport { withFetch } from \"@kne/react-fetch\";\nimport { useGlobalContext, usePreset } from \"@components/Global\";\nimport memoize from \"lodash/memoize\";\nimport isNil from \"lodash/isNil\";\n\nconst baseLoaders = [\n [\n \"gender\",\n () => [\n { value: \"M\", description: \"男\" },\n {\n value: \"F\",\n description: \"女\",\n },\n ],\n ],\n [\n \"marital\",\n () => [\n { description: \"已婚\", value: \"Y\" },\n {\n description: \"未婚\",\n value: \"N\",\n },\n ],\n ],\n [\n \"confirm\",\n () => [\n { description: \"是\", value: \"Y\" },\n {\n description: \"否\",\n value: \"N\",\n },\n ],\n ],\n [\n \"political\",\n () => [\n { description: \"中共党员\", value: \"中共党员\" },\n {\n description: \"共青团员\",\n value: \"共青团员\",\n },\n { description: \"群众\", value: \"群众\" },\n {\n description: \"其他党派\",\n value: \"其他党派\",\n },\n ],\n ],\n [\n \"phoneStateEnum\",\n () => [\n {\n value: 0,\n description: \"空号\",\n },\n {\n value: 1,\n description: \"实号\",\n },\n {\n value: 2,\n description: \"停机\",\n },\n {\n value: 3,\n description: \"库无\",\n },\n {\n value: 4,\n description: \"沉默号\",\n },\n {\n value: 5,\n description: \"风险号\",\n },\n ],\n ],\n [\n \"degreeEnum\",\n () => [\n {\n description: \"初中\",\n value: 10,\n },\n {\n description: \"中专\",\n value: 20,\n },\n {\n description: \"高中\",\n value: 30,\n },\n {\n description: \"大专\",\n value: 40,\n },\n {\n description: \"本科\",\n value: 50,\n },\n {\n description: \"硕士研究生\",\n value: 60,\n },\n {\n description: \"博士研究生\",\n value: 70,\n },\n {\n description: \"博士后\",\n value: 75,\n },\n {\n description: \"学历不限\",\n value: 999,\n },\n ],\n ],\n];\n\nconst EnumLoaderFetch = withFetch(({ data, children }) => {\n return typeof children === \"function\"\n ? children(data)\n : children || data?.description;\n});\n\nconst getEnumsMap = memoize((enums) => {\n return new Map(\n baseLoaders.concat(\n Object.keys(Object.assign({}, enums)).map((key) => [key, enums[key]])\n )\n );\n});\n\nconst EnumLoader = ({ loader: enumsLoader, ...props }) => {\n const {\n global: { enumsRef },\n } = useGlobalContext();\n const prevLocaleRef = useRef(null);\n return (\n <EnumLoaderFetch\n {...props}\n loader={async (...args) => {\n const enums = getEnumsMap(await enumsLoader(...args));\n const { params } = args[0];\n const { moduleName, name, force, locale } = params;\n\n const getEnumMap = async (moduleName) => {\n return (\n (() => {\n return (\n force !== true &&\n prevLocaleRef.current === locale &&\n enumsRef.current.get(moduleName)\n );\n })() ||\n (await (async () => {\n const loader = enums.get(moduleName);\n const output = await (async () => {\n if (typeof loader === \"function\") {\n return new Map(\n (await loader({ locale })).map((item) => {\n return [item.value.toString(), item];\n })\n );\n }\n if (Array.isArray(loader)) {\n return new Map(\n loader.map((item) => [item.value.toString(), item])\n );\n }\n if (typeof loader === \"object\") {\n return new Map(\n Object.keys(loader).map((key) => [\n key.toString(),\n loader[key],\n ])\n );\n }\n console.warn(\"枚举值loader的设置可能不正确\");\n return new Map();\n })();\n enumsRef.current.set(moduleName, output);\n prevLocaleRef.current = locale;\n return output;\n })())\n );\n };\n if (Array.isArray(moduleName)) {\n return await Promise.all(\n moduleName.map((target) =>\n getEnumMap(target).then((enumMap) => Array.from(enumMap.values()))\n )\n );\n }\n\n const enumMap = await getEnumMap(moduleName);\n if (!isNil(name)) {\n return enumMap.get(name.toString());\n }\n return Array.from(enumMap.values());\n }}\n />\n );\n};\n\nconst Enum = ({ moduleName, name, force, children, ...props }) => {\n const preset = usePreset();\n return (\n <EnumLoader\n {...props}\n params={{\n moduleName,\n locale: preset?.locale,\n enums: preset?.enums,\n name,\n force,\n }}\n loader={({ params }) => params.enums}\n >\n {children}\n </EnumLoader>\n );\n};\n\nEnum.defaultProps = {\n force: false,\n};\n\nexport default Enum;\n","// extracted by mini-css-extract-plugin\nexport default {\"state-tag\":\"style_state-tag__Kx27z__+BqSZ\",\"state-result-tag\":\"style_state-result-tag__CssDz__+BqSZ\",\"state-skill-tag\":\"style_state-skill-tag__k0bQE__+BqSZ\",\"event-tag\":\"style_event-tag__cg6SE__+BqSZ\",\"state-tag-filter-result-wrapper\":\"style_state-tag-filter-result-wrapper__QYS5z__+BqSZ\",\"state-tag-filter-name\":\"style_state-tag-filter-name__iJaJd__+BqSZ\",\"state-tag-filterResult\":\"style_state-tag-filterResult__KTkot__+BqSZ\",\"show-bg\":\"style_show-bg__OcL+R__+BqSZ\",\"tag-text\":\"style_tag-text__JHCt+__+BqSZ\",\"state-tag-wrapper\":\"style_state-tag-wrapper__A-gTE__+BqSZ\"};","import React, { useMemo } from \"react\";\nimport classnames from \"classnames\";\n\nimport style from \"./style.module.scss\";\nimport { Space, Tag } from \"antd\";\n\nconst tagTypeEnum = {\n default: \"#666666\",\n skill: {\n color: \"#666666\",\n borderColor: \"#EEEEEE\",\n },\n result: \"#666666\",\n filterResult: \"#5CB8B2\",\n success: \"#027A48\",\n progress: \"#F09700\",\n danger: \"#D14343\",\n info: \"#155ACF\",\n other: \"#6740C3\",\n};\n\nconst StateTag = ({\n showBorder,\n text,\n type,\n showBackground,\n className,\n filterName,\n ...props\n}) => {\n const tagColor = useMemo(\n () => ({\n color: tagTypeEnum?.[type]?.color || tagTypeEnum[type],\n borderColor: tagTypeEnum?.[type]?.borderColor || tagTypeEnum[type],\n }),\n [type]\n );\n\n return (\n <Space\n data-testid={\"components-core-state-tag\"}\n className={classnames(\n style[\"state-tag-wrapper\"],\n type === \"filterResult\" ? style[\"state-tag-filter-result-wrapper\"] : \"\"\n )}\n align=\"center\"\n size={4}\n >\n {filterName ? (\n <span className={style[\"state-tag-filter-name\"]}>{filterName}:</span>\n ) : null}\n <Tag\n color={tagColor.color}\n {...props}\n style={{\n background: showBackground ? tagColor.color + \"0F\" : \"none\",\n color: tagColor.color,\n border: showBorder ? `1px solid ${tagColor.borderColor}` : \"none\",\n }}\n className={classnames(\n style[\"state-tag\"],\n className,\n type === \"result\" ? style[\"state-result-tag\"] : \"\",\n type === \"skill\" ? style[\"state-skill-tag\"] : \"\",\n style[`state-tag-${type}`],\n showBackground ? style[\"show-bg\"] : \"\",\n showBorder ? style[\"show-border\"] : \"\",\n props?.onClick ? style[\"event-tag\"] : \"\"\n )}\n >\n <span className={style[\"tag-text\"]}>{text}</span>\n </Tag>\n </Space>\n );\n};\n\nStateTag.defaultProps = {\n color: \"#666666\",\n type: \"default\",\n showBorder: false,\n showBackground: true,\n text: \"\",\n className: \"\",\n};\n\nexport default StateTag;\n","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"style_table__z7kfz__+BqSZ\",\"is-resize\":\"style_is-resize__ut6RW__+BqSZ\",\"is-moving\":\"style_is-moving__BJ9wR__+BqSZ\",\"cell-resize-bar\":\"style_cell-resize-bar__-mlUF__+BqSZ\",\"is-computed\":\"style_is-computed__B9rIF__+BqSZ\",\"options-column\":\"style_options-column__vsPTr__+BqSZ\",\"options-btn\":\"style_options-btn__U3uoy__+BqSZ\",\"tooltip\":\"style_tooltip__vJlkv__+BqSZ\",\"table-changer-setting\":\"style_table-changer-setting__HcrwR__+BqSZ\",\"width-changer-sign\":\"style_width-changer-sign__Aflyl__+BqSZ\",\"columns-control\":\"style_columns-control__5-5ZF__+BqSZ\",\"columns-control-content\":\"style_columns-control-content__MoeUI__+BqSZ\",\"columns-control-content-title\":\"style_columns-control-content-title__P5sXV__+BqSZ\",\"columns-control-content-scroller\":\"style_columns-control-content-scroller__CeYRV__+BqSZ\",\"columns-control-content-footer\":\"style_columns-control-content-footer__0bQWm__+BqSZ\",\"columns-control-content-input\":\"style_columns-control-content-input__G6yKq__+BqSZ\",\"columns-control-content-list\":\"style_columns-control-content-list__aXvTs__+BqSZ\",\"columns-control-content-item\":\"style_columns-control-content-item__jbyyE__+BqSZ\",\"is-drag\":\"style_is-drag__U68aw__+BqSZ\",\"columns-control-content-item-icon\":\"style_columns-control-content-item-icon__yJqZf__+BqSZ\",\"sortable-drag\":\"style_sortable-drag__K5hWd__+BqSZ\",\"sortable-ghost\":\"style_sortable-ghost__lKTd2__+BqSZ\",\"columns-control-overlay\":\"style_columns-control-overlay__OxCIz__+BqSZ\",\"sort-btn\":\"style_sort-btn__KvNLr__+BqSZ\",\"sort-active-desc\":\"style_sort-active-desc__TIhMC__+BqSZ\",\"sort-icon\":\"style_sort-icon__dB85I__+BqSZ\",\"sort-active-asc\":\"style_sort-active-asc__RUBup__+BqSZ\"};","// extracted by mini-css-extract-plugin\nexport default {\"col-item\":\"columns_col-item__Ym1Ec__+BqSZ\",\"tag\":\"columns_tag__bQZLG__+BqSZ\",\"avatar\":\"columns_avatar__SLPI+__+BqSZ\",\"hover\":\"columns_hover__oAwHg__+BqSZ\",\"primary\":\"columns_primary__6KtaA__+BqSZ\",\"loading\":\"columns_loading__gtBay__+BqSZ\",\"options\":\"columns_options__WvDZD__+BqSZ\"};","import { Button } from \"antd\";\nimport classnames from \"classnames\";\nimport Icon from \"@components/Icon\";\nimport ButtonGroup from \"@components/ButtonGroup\";\nimport style from \"./style.module.scss\";\n\nconst OptionsList = ({ className, list = [], width }) => {\n return (\n <div\n className={classnames(className, style[\"options-column\"])}\n style={{\n \"--max-width\": width + \"px\",\n }}\n >\n <ButtonGroup\n list={list\n .filter((item) => !item?.hidden)\n .map(({ className, ...props }) =>\n Object.assign({}, props, {\n className: classnames(\n className,\n \"btn-no-padding\",\n style[\"options-btn\"]\n ),\n type: \"link\",\n })\n )}\n more={\n <Button\n icon={<Icon type=\"icon-gengduo2\" />}\n className=\"btn-no-padding\"\n type=\"link\"\n />\n }\n />\n </div>\n );\n};\n\nexport default OptionsList;\n","import { Typography } from \"antd\";\nimport style from \"./style.module.scss\";\n\nconst Ellipsis = ({ children, ellipsis }) => {\n return (\n <Typography.Text\n ellipsis={\n ellipsis &&\n Object.assign(\n {},\n {\n tooltip: {\n overlayClassName: style[\"tooltip\"],\n children: children,\n },\n }\n )\n }\n >\n {children}\n </Typography.Text>\n );\n};\n\nexport default Ellipsis;\n","import { useState } from \"react\";\nimport classnames from \"classnames\";\nimport columnsStyle from \"./columns.module.scss\";\n\nconst ColItem = ({\n type,\n item,\n isEmpty,\n emptyRender,\n hover,\n primary,\n children,\n width,\n style,\n onClick,\n colValue,\n}) => {\n const [loading, setLoading] = useState(false);\n return (\n <div\n style={Object.assign({}, style, { \"--max-width\": width + \"px\" })}\n className={classnames(\n columnsStyle[\"col-item\"],\n columnsStyle[type],\n isEmpty\n ? null\n : {\n [columnsStyle[\"hover\"]]: hover,\n [columnsStyle[\"primary\"]]: primary,\n [columnsStyle[\"loading\"]]: loading,\n }\n )}\n onClick={(e) => {\n if (typeof onClick === \"function\" && !isEmpty && !loading) {\n setLoading(true);\n Promise.resolve(\n onClick({ item, colItem: colValue, event: e })\n ).finally(() => {\n setLoading(false);\n });\n }\n }}\n >\n {isEmpty\n ? emptyRender({ type, item, hover, primary, children })\n : children}\n </div>\n );\n};\n\nColItem.defaultProps = {\n emptyRender: () => \"-\",\n};\n\nexport default ColItem;\n","const isColValueEmpty = (value, emptyOf) =>\n typeof emptyOf === \"function\"\n ? emptyOf(value)\n : (Array.isArray(value) && value.length === 0) ||\n (value &&\n typeof value === \"object\" &&\n Object.values(value).length === 0) ||\n value === \"\" ||\n value === void 0 ||\n value === null;\n\nexport default isColValueEmpty;\n","import { createWithFetch } from \"@kne/react-fetch\";\nimport Ellipsis from \"./Ellipsis\";\nimport { Button } from \"antd\";\nimport ColItem from \"./ColItem\";\nimport isColValueEmpty from \"./isColValueEmpty\";\n\nconst DisplayInfo = createWithFetch({\n loading: null,\n})(({ data, children }) => {\n return children(data);\n});\n\nconst HideInfoComponent = ({\n api,\n expand,\n onExpand,\n ellipsis,\n hover,\n primary,\n emptyRender,\n isEmpty,\n}) => {\n const targetApi = Object.assign({}, api);\n if (expand) {\n return (\n <DisplayInfo {...targetApi}>\n {(data) => {\n return (\n <ColItem\n type=\"hide-info-expand\"\n item={data}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isColValueEmpty(data)}\n >\n <Ellipsis ellipsis={ellipsis}>\n {typeof targetApi.children === \"function\"\n ? targetApi.children(data)\n : data}\n </Ellipsis>\n </ColItem>\n );\n }}\n </DisplayInfo>\n );\n }\n return (\n <ColItem type=\"hide-info\" primary emptyRender={emptyRender}>\n <Button className=\"btn-no-padding\" type=\"link\" onClick={onExpand}>\n 查看\n </Button>\n </ColItem>\n );\n};\n\nexport default HideInfoComponent;\n","import columnsStyle from \"./columns.module.scss\";\nimport dayjs from \"dayjs\";\nimport OptionsList from \"./OptionsList\";\nimport classnames from \"classnames\";\nimport StateTag from \"@components/StateTag\";\nimport Image from \"@components/Image\";\nimport Enum from \"@components/Enum\";\nimport HideInfoComponent from \"./HideInfoComponent\";\nimport Ellipsis from \"./Ellipsis\";\nimport ColItem from \"./ColItem\";\nimport omit from \"lodash/omit\";\n\n// init:160px min:120px max:400px\nconst date = (item, { hover, primary, isEmpty, emptyRender, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"date\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\"YYYY-MM-DD\")}\n </ColItem>\n );\n};\n\nconst dateShort = (\n item,\n { hover, primary, isEmpty, emptyRender, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"date-short\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\"YYYY-MM\")}\n </ColItem>\n );\n};\n\n// init:240px min:120px max:400px\nconst dateRange = (\n item,\n { hover, primary, isEmpty, emptyRender, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"date-range\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {dayjs(item?.[0]).format(\"YYYY-MM-DD HH:mm\") +\n \"-\" +\n dayjs(item?.[1]).format(\"HH:mm\")}\n </ColItem>\n );\n};\n// init:190px min:190px max:400px\nconst datetime = (\n item,\n { hover, primary, emptyRender, isEmpty, hideSecond, ...props }\n) => {\n return (\n <ColItem\n {...props}\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\n hideSecond ? \"YYYY-MM-DD HH:mm\" : \"YYYY-MM-DD HH:mm:ss\"\n )}\n </ColItem>\n );\n};\n// init:190px min:100px max:400px\nconst serialNumber = (\n item,\n { hover, primary, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"serial-number\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item}\n </ColItem>\n );\n};\n// init:120px min:100px max:400px\nconst serialNumberShort = (\n item,\n { hover, primary, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"serial-number-short\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item}\n </ColItem>\n );\n};\n// init:200px min:120px max:400px\nconst user = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"user\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:100px 100px 400px\nconst userName = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"user-name\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:240px 160px 400px\nconst contacts = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"contacts\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:140px min:100px max:400px\nconst tag = (item, { emptyRender, isEmpty, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"tag\"\n item={item}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item &&\n (item.isEnum ? (\n <Enum\n name={item.name}\n moduleName={item.moduleName}\n force={item.force}\n >\n {({ type, description }) => (\n <StateTag\n type={type}\n {...Object.assign(\n {},\n omit(item, [\"name\", \"isEnum\", \"moduleName\", \"force\"])\n )}\n text={description}\n />\n )}\n </Enum>\n ) : (\n <StateTag {...Object.assign({}, item)} />\n ))}\n </ColItem>\n );\n};\n// init:80px min:64px max:200px\nconst avatar = (item, { emptyRender, isEmpty, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"avatar\"\n item={item}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Image.Avatar {...Object.assign({}, item)} size={32} />\n </ColItem>\n );\n};\n// init:70px min:70px max:400px\nconst singleRow = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"single-row\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:80px min:80px max:400px\nconst hideInfo = (item, props) => {\n return <HideInfoComponent api={item} {...props} />;\n};\n// init:300px min:160px max:500px\nconst mainInfo = (\n item,\n { ellipsis, hover = true, primary = true, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"main-info\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:400px 160px 600px\nconst description = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"description\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\n// init:180px min:120px max:400px\nconst options = (item, { width }) => {\n return (\n <OptionsList\n className={classnames(columnsStyle[\"col-item\"], columnsStyle[\"options\"])}\n list={item}\n width={width}\n />\n );\n};\n\nconst other = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"other\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\nconst sensitiveInfo = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"sensitiveInfo\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\nconst columnTypes = {\n date: {\n render: date,\n width: 160,\n min: 120,\n max: 400,\n },\n dateShort: {\n render: dateShort,\n width: 120,\n min: 100,\n max: 400,\n },\n dateRange: {\n render: dateRange,\n width: 240,\n min: 120,\n max: 400,\n },\n datetime: {\n render: datetime,\n width: 190,\n min: 190,\n max: 400,\n },\n serialNumber: {\n render: serialNumber,\n width: 190,\n min: 100,\n max: 400,\n },\n serialNumberShort: {\n render: serialNumberShort,\n width: 120,\n min: 100,\n max: 400,\n },\n user: {\n render: user,\n width: 200,\n min: 120,\n max: 400,\n },\n userName: {\n render: userName,\n width: 100,\n min: 100,\n max: 400,\n },\n contacts: {\n render: contacts,\n width: 240,\n min: 160,\n max: 400,\n },\n tag: {\n render: tag,\n width: 140,\n min: 100,\n max: 400,\n },\n avatar: {\n render: avatar,\n width: 80,\n min: 64,\n max: 200,\n },\n singleRow: {\n render: singleRow,\n width: 70,\n min: 70,\n max: 400,\n },\n hideInfo: {\n render: hideInfo,\n width: 120,\n min: 80,\n max: 400,\n },\n mainInfo: {\n render: mainInfo,\n width: 300,\n min: 160,\n max: 500,\n },\n description: {\n render: description,\n width: 400,\n min: 160,\n max: 600,\n },\n options: {\n render: options,\n width: 180,\n min: 120,\n max: 400,\n },\n sensitiveInfo: {\n render: sensitiveInfo,\n width: 200,\n min: 100,\n max: 400,\n },\n other: {\n render: other,\n width: 200,\n min: 120,\n max: 400,\n },\n otherSmall: {\n render: other,\n width: 100,\n min: 70,\n max: 400,\n },\n otherLarge: {\n render: other,\n width: 300,\n min: 120,\n max: 500,\n },\n};\n\nexport default columnTypes;\n","import { useMemo, useState } from \"react\";\nimport groupBy from \"lodash/groupBy\";\nimport Icon from \"@components/Icon\";\nimport LoadingButton from \"@components/LoadingButton\";\nimport { SearchInput } from \"@components/Common\";\nimport style from \"./style.module.scss\";\nimport { Button, Checkbox, Col, Collapse, List, Row, Tooltip } from \"antd\";\nimport { ReactSortable } from \"react-sortablejs\";\nimport classnames from \"classnames\";\nimport transform from \"lodash/transform\";\nimport get from \"lodash/get\";\nimport set from \"lodash/set\";\nimport cloneDeep from \"lodash/cloneDeep\";\n\nconst { Panel } = Collapse;\n\nconst ColumnsControlContent = ({\n close,\n onConfirm,\n columns,\n config: defaultValue,\n}) => {\n const [config, onChange] = useState(defaultValue || {});\n\n const [searchText, setSearchText] = useState(\"\");\n const { leftFixedColumns, rightFixedColumns, visibleColumns, hiddenColumns } =\n useMemo(() => {\n return transform(\n Object.assign(\n {\n leftFixedColumns: [],\n rightFixedColumns: [],\n visibleColumns: [],\n hiddenColumns: [],\n },\n groupBy(columns, (item) => {\n if (item.fixed === \"right\") {\n return \"rightFixedColumns\";\n }\n if (item.fixed === true || item.fixed === \"left\") {\n return \"leftFixedColumns\";\n }\n return (get(config, `${item.name}.visible`) !== true &&\n item.hidden) ||\n get(config, `${item.name}.visible`) === false\n ? \"hiddenColumns\"\n : \"visibleColumns\";\n })\n ),\n (result, value, key) => {\n result[key] = value.sort((a, b) => {\n return (\n get(config, `${a.name}.rank`, 0) -\n get(config, `${b.name}.rank`, 0)\n );\n });\n },\n {}\n );\n }, [columns, config]);\n\n const handlerColumnsChange = (columns) => {\n const newConfig = cloneDeep(config);\n const columnsList = [].concat(\n columns.leftFixedColumns,\n columns.visibleColumns,\n columns.rightFixedColumns\n );\n (columns.hiddenColumns || []).forEach((col) => {\n set(newConfig, `${col.name}.visible`, false);\n });\n columnsList.forEach((col, index) => {\n set(newConfig, `${col.name}.rank`, index + 1);\n });\n onChange(newConfig);\n };\n\n const renderColumn = (item) => {\n return (\n <>\n {item.titleText || item.title || \"未命名列\"}\n {item.groupHeader && item.groupHeader.length > 0\n ? `(${item.groupHeader.map(({ title }) => title).join(\"-\")})`\n : \"\"}\n </>\n );\n };\n\n return (\n <div className={style[\"columns-control-content\"]}>\n <div className={style[\"columns-control-content-title\"]}>\n <Row align=\"middle\" justify=\"space-between\">\n <Col>编辑表格</Col>\n <Col>\n <Tooltip title=\"恢复默认\">\n <LoadingButton\n type=\"text\"\n icon={<Icon type=\"icon-huifumorenshezhi\" />}\n onClick={async () => {\n onConfirm && (await onConfirm({}));\n close();\n }}\n />\n </Tooltip>\n </Col>\n </Row>\n </div>\n <div className={style[\"columns-control-content-scroller\"]}>\n <Collapse\n defaultActiveKey={[\"active\", \"un-active\"]}\n ghost={true}\n bordered\n >\n <Panel key=\"active\" header=\"显示的信息\">\n <List className={style[\"columns-control-content-list\"]}>\n {leftFixedColumns.map((item, index) => (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.name || `left-${index}`}\n >\n <Checkbox checked disabled>\n {renderColumn(item)}\n </Checkbox>\n </List.Item>\n ))}\n <ReactSortable\n list={visibleColumns}\n filter=\".ignore-elements\"\n dragClass={style[\"sortable-drag\"]}\n ghostClass={style[\"sortable-ghost\"]}\n forceFallback\n setList={(visibleColumns) => {\n handlerColumnsChange({\n leftFixedColumns,\n visibleColumns,\n hiddenColumns,\n rightFixedColumns,\n });\n }}\n animation={300}\n delayOnTouchStart\n delay={2}\n >\n {visibleColumns.map((item, index) => (\n <List.Item\n className={classnames(\n style[\"columns-control-content-item\"],\n style[\"is-drag\"]\n )}\n key={item.name || `visible-${index}`}\n >\n <Icon\n type=\"icon-paixu\"\n className={style[\"columns-control-content-item-icon\"]}\n />\n <Checkbox\n checked\n disabled={\n item.fixed ||\n leftFixedColumns.length +\n visibleColumns.length +\n rightFixedColumns.length <=\n 1\n }\n onChange={(e) => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign(\n {},\n newConfig[item.name],\n { visible: false }\n );\n onChange(newConfig);\n }}\n >\n {renderColumn(item)}\n </Checkbox>\n </List.Item>\n ))}\n </ReactSortable>\n {rightFixedColumns.map((item, index) => (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.name || `right-${index}`}\n >\n <Checkbox checked disabled>\n {item.titleText || item.title || \"未命名列\"}\n </Checkbox>\n </List.Item>\n ))}\n </List>\n </Panel>\n <Panel\n key=\"un-active\"\n header={\n <Row wrap={false} justify=\"space-between\">\n <Col>隐藏的信息</Col>\n <Col\n onClick={(e) => {\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <SearchInput\n prefix={<Icon type=\"icon-sousuo\" size={12} />}\n placeholder=\"搜索\"\n onSearch={(value) => {\n setSearchText(value);\n }}\n className={style[\"columns-control-content-input\"]}\n size=\"small\"\n />\n </Col>\n </Row>\n }\n >\n <List\n dataSource={hiddenColumns.filter(\n (item) =>\n typeof (item.titleText || item.title) === \"string\" &&\n (item.titleText || item.title).indexOf(searchText) > -1\n )}\n renderItem={(item) => {\n return (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.key}\n >\n <Checkbox\n checked={false}\n onChange={(e) => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign(\n {},\n newConfig[item.name],\n { visible: true }\n );\n onChange(newConfig);\n }}\n >\n {item.titleText || item.title || \"未命名列\"}\n </Checkbox>\n </List.Item>\n );\n }}\n />\n </Panel>\n </Collapse>\n </div>\n <Row\n className={style[\"columns-control-content-footer\"]}\n justify=\"end\"\n gutter={10}\n >\n <Col>\n <Button\n size=\"small\"\n onClick={() => {\n onChange(defaultValue || {});\n close();\n }}\n >\n 取消\n </Button>\n </Col>\n <Col>\n <LoadingButton\n type=\"primary\"\n size=\"small\"\n onClick={async () => {\n onConfirm && (await onConfirm(config));\n close();\n }}\n >\n 确定\n </LoadingButton>\n </Col>\n </Row>\n </div>\n );\n};\n\nexport default ColumnsControlContent;\n","import localStorage from \"@common/utils/localStorage\";\nimport get from \"lodash/get\";\n\nconst storageKey = \"COMPONENTS_CORE_TABLE_CONFIG\";\n\nconst getDataApi = (name) => {\n if (!name) {\n return {};\n }\n\n return {\n loader: () => get(localStorage.getItem(storageKey), name, {}),\n };\n};\n\nconst setDataFunc = (name, data) => {\n if (!name) {\n return;\n }\n return localStorage.setItem(\n storageKey,\n Object.assign({}, localStorage.getItem(storageKey), { [name]: data })\n );\n};\n\nconst tableLocalApis = { getDataApi, setDataFunc };\n\nexport default tableLocalApis;\n","import { startTransition, useEffect, useMemo, useRef, useState } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport classnames from \"classnames\";\nimport columnTypes from \"./columnTypes\";\nimport get from \"lodash/get\";\nimport sumBy from \"lodash/sumBy\";\nimport transform from \"lodash/transform\";\nimport pick from \"lodash/pick\";\nimport { Col, Popover, Row } from \"antd\";\nimport Icon from \"@components/Icon\";\nimport { usePreset } from \"@components/Global\";\nimport { useFetch } from \"@kne/react-fetch\";\nimport ColumnsControlContent from \"./ColumnsControlContent\";\nimport { useDebouncedCallback } from \"use-debounce\";\nimport style from \"./style.module.scss\";\nimport isEqual from \"lodash/isEqual\";\nimport findLastIndex from \"lodash/findLastIndex\";\nimport tableLocalApis from \"./tableLocalApis\";\n\nconst TableConfig = ({ title, columns, config, setConfig }) => {\n const [open, setOpen] = useState(false);\n return (\n <Row wrap={false}>\n <Col flex={1}>{title}</Col>\n <Col>\n <Popover\n open={open}\n onOpenChange={setOpen}\n trigger=\"click\"\n placement=\"bottomLeft\"\n overlayClassName={style[\"columns-control-overlay\"]}\n content={\n <ColumnsControlContent\n columns={columns}\n config={config}\n close={() => {\n setOpen(false);\n }}\n onConfirm={(newConfig) => {\n setConfig((config) => {\n return transform(\n newConfig,\n (result, value, key) => {\n result[key] = Object.assign(\n {},\n config[key],\n pick(value, [\"visible\", \"rank\"])\n );\n },\n {}\n );\n });\n }}\n />\n }\n >\n <span className={style[\"table-changer-setting\"]}>\n <Icon type=\"icon-shezhi\" />\n </span>\n </Popover>\n </Col>\n </Row>\n );\n};\n\nconst useTableConfig = ({\n columns,\n name,\n controllerOpen,\n tableWidth,\n rowKey,\n}) => {\n const [currentMoveColumnIndex, setCurrentMoveColumnIndex] = useState(null);\n const currentMoveColumnIndexRef = useRef(currentMoveColumnIndex);\n currentMoveColumnIndexRef.current = currentMoveColumnIndex;\n const currentMoveColumnRef = useRef(null);\n const startPointRef = useRef(null);\n const [config, setConfigBase] = useState({});\n const { tableServerApis: presetTableServerApis } = usePreset();\n const tableServerApis = presetTableServerApis\n ? presetTableServerApis\n : tableLocalApis;\n\n const tablePageServerParams = tableServerApis?.getDataApi(name);\n\n const saveConfig = useDebouncedCallback((name, target) => {\n tableServerApis?.setDataFunc(name, target);\n }, 500);\n\n const setConfig = useRefCallback((newConfig) => {\n startTransition(() => {\n setConfigBase((config) => {\n const target =\n typeof newConfig === \"function\" ? newConfig(config) : newConfig;\n name && controllerOpen && saveConfig(name, target);\n return target;\n });\n });\n });\n\n const { send } = useFetch(\n Object.assign({\n ...Object.assign({}, tablePageServerParams),\n auto: false,\n cache: `TABLE_CONFIG_${name}`,\n isLocal: true,\n onRequestSuccess: (data) => {\n setConfigBase(Object.assign({}, data));\n },\n })\n );\n\n const getTableConfig = useRefCallback(() => {\n if (name && controllerOpen && tablePageServerParams) {\n send({ force: false });\n }\n });\n\n useEffect(() => {\n getTableConfig();\n }, [getTableConfig]);\n\n const visibleColumns = useMemo(() => {\n return columns\n .filter((col) => {\n return !(\n get(config, `${col.name}.visible`) === false ||\n (get(config, `${col.name}.visible`) !== true && col.hidden === true)\n );\n })\n .sort((a, b) => {\n const computedIndex = (item) => {\n return (\n get(config, `${item.name}.rank`, 0) +\n (item.fixed === \"left\" ? -10000 : 0) +\n (item.fixed === \"right\" ? 10000 : 0)\n );\n };\n return computedIndex(a) - computedIndex(b);\n });\n }, [columns, config]);\n\n const lastNotOptionsColumnIndex = useMemo(() => {\n return findLastIndex(visibleColumns, ({ type }) => type !== \"options\");\n }, [visibleColumns]);\n\n const totalWidth = useMemo(() => {\n return sumBy(\n visibleColumns,\n ({ type, name }) =>\n get(config, `${name}.width`) || columnTypes[type].width\n );\n }, [visibleColumns, config]);\n\n const computedRealWidth = ({ width, index }) => {\n return lastNotOptionsColumnIndex === index\n ? width + Math.max(tableWidth - totalWidth - 2, 0)\n : width;\n };\n\n const resizeBarRender = useRefCallback((column, index) => {\n return (\n <span\n className={classnames(style[\"cell-resize-bar\"])}\n onMouseDown={(e) => {\n currentMoveColumnRef.current = Object.assign({}, column, { index });\n startPointRef.current = e.clientX;\n setCurrentMoveColumnIndex(index);\n }}\n >\n <Icon type=\"icon-paixu\" />\n </span>\n );\n });\n\n const resize = useRefCallback((delta) => {\n if (currentMoveColumnIndex === null) {\n return;\n }\n if (!currentMoveColumnRef.current) {\n return;\n }\n const { name, width, min, max, index } = currentMoveColumnRef.current;\n const currentWidth = Math.min(Math.max(width + delta, min), max);\n if (currentWidth < computedRealWidth({ width: min, index })) {\n return;\n }\n setConfig((config) => {\n return Object.assign({}, config, {\n [name]: Object.assign({}, config[name], {\n width: currentWidth,\n }),\n });\n });\n });\n\n const computedColumnProps = useRefCallback((column, index) => {\n const { name, width, min, max } = column;\n let targetColumn = column;\n if (index === visibleColumns.length - 1) {\n targetColumn = Object.assign({}, column, {\n className: \"has-config-btn\",\n title: (\n <TableConfig\n title={column?.title}\n columns={columns}\n config={config}\n setConfig={setConfig}\n />\n ),\n });\n }\n\n const movingClass = () => {\n return {\n className: classnames({\n [style[\"is-moving\"]]: currentMoveColumnIndexRef.current === index,\n }),\n };\n };\n const currentWidth = Math.min(\n Math.max(get(config, `${name}.width`) || width, min),\n max\n );\n\n const realWidth = computedRealWidth({ width: currentWidth, index });\n\n return Object.assign({}, targetColumn, {\n onHeaderCell: movingClass,\n onCell: movingClass,\n width: realWidth,\n shouldCellUpdate: (record, prevRecord) => {\n const itemKey =\n typeof rowKey === \"function\" ? rowKey(record) : record[rowKey];\n const prevItemKey =\n typeof rowKey === \"function\"\n ? rowKey(prevRecord)\n : prevRecord[rowKey];\n return (\n currentMoveColumnIndexRef.current === null ||\n currentMoveColumnIndexRef.current === index ||\n column.type === \"hideInfo\" ||\n !(\n itemKey === prevItemKey &&\n isEqual(record[column.name], prevRecord[column.name])\n )\n );\n },\n title: (\n <>\n {targetColumn.title}\n {!(realWidth > currentWidth && realWidth > max) &&\n resizeBarRender(\n Object.assign({}, targetColumn, { width: realWidth }),\n index\n )}\n </>\n ),\n });\n });\n\n useEffect(() => {\n const handlerCancelResize = () => {\n setCurrentMoveColumnIndex(null);\n startPointRef.current = null;\n currentMoveColumnRef.current = null;\n };\n\n const handlerResize = (e) => {\n if (\n currentMoveColumnIndexRef.current === null ||\n currentMoveColumnRef.current === null\n ) {\n return;\n }\n if (startPointRef.current === null) {\n startPointRef.current = e.clientX;\n return;\n }\n resize(e.clientX - startPointRef.current);\n };\n document.documentElement.addEventListener(\n \"mouseup\",\n handlerCancelResize,\n true\n );\n document.documentElement.addEventListener(\"mousemove\", handlerResize, true);\n return () => {\n document.documentElement.removeEventListener(\n \"mouseup\",\n handlerCancelResize,\n true\n );\n document.documentElement.removeEventListener(\n \"mousemove\",\n handlerResize,\n true\n );\n };\n }, [resize]);\n\n return {\n visibleColumns,\n currentMoveColumnIndex,\n resizeBarRender,\n columnsConfig: config,\n totalWidth,\n computedColumnProps,\n };\n};\n\nexport default useTableConfig;\n","import { useRef, useState } from \"react\";\nimport columnTypes from \"@components/Table/columnTypes\";\nimport isNil from \"lodash/isNil\";\nimport pick from \"lodash/pick\";\nimport get from \"lodash/get\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport isColValueEmpty from \"./isColValueEmpty\";\n\nconst useColumnTypeProps = ({ rowKey, renderProps }) => {\n const [expandInfo, setExpandInfo] = useState(null);\n const columnRenderPropsRef = useRef(renderProps);\n columnRenderPropsRef.current = renderProps;\n\n const computedColumnProps = useRefCallback(\n (col, index, { columnsConfig }) => {\n const {\n name,\n type,\n expandType,\n title,\n titleRender,\n fixed,\n emptyOf,\n emptyRender,\n groupHeader,\n sort,\n disableColItem,\n ...otherColProps\n } = col;\n const { render, width, min, max } = Object.assign(\n {},\n columnTypes[type || \"other\"],\n type === \"hideInfo\" &&\n !isNil(expandInfo) &&\n pick(columnTypes[expandType || \"other\"], [\"width\", \"min\", \"max\"])\n );\n const targetRender = render;\n\n return {\n name,\n title: typeof titleRender === \"function\" ? titleRender(title) : title,\n min,\n max,\n width,\n fixed,\n groupHeader,\n sort,\n type,\n render: (item) => {\n const itemKey =\n typeof rowKey === \"function\" ? rowKey(item) : item[rowKey];\n const colProps = Object.assign(\n {},\n col,\n typeof col.render === \"function\"\n ? col.render({\n ...columnRenderPropsRef.current,\n name,\n target: item,\n })\n : {}\n );\n const targetRenderWithProps = (colValue) => {\n const isEmpty = isColValueEmpty(colValue, emptyOf);\n return targetRender(colValue, {\n ...otherColProps,\n name,\n width: get(columnsConfig, `${name}.width`) || width,\n min,\n max,\n isEmpty,\n emptyRender,\n hover: colProps.hover,\n colValue: Object.assign({}, item),\n renderProps: columnRenderPropsRef.current,\n primary: colProps.primary,\n ellipsis: colProps.ellipsis,\n expand: expandInfo === itemKey,\n onExpand: () => setExpandInfo(itemKey),\n });\n };\n\n const colValue =\n colProps.hasOwnProperty(\"valueOf\") &&\n typeof colProps.valueOf === \"function\"\n ? colProps.valueOf(\n item,\n Object.assign(\n {},\n columnRenderPropsRef.current,\n {\n name,\n },\n disableColItem\n ? { targetRender: targetRenderWithProps }\n : {}\n )\n )\n : get(item, name);\n return disableColItem ? colValue : targetRenderWithProps(colValue);\n },\n };\n }\n );\n\n return {\n expandInfo,\n computedColumnProps,\n };\n};\n\nexport default useColumnTypeProps;\n","import { useMemo } from \"react\";\n\nconst useGroupHeader = (columns) => {\n return useMemo(() => {\n const groupHeaderColumns = columns.filter(\n (item) => item.groupHeader && item.groupHeader.length > 0\n );\n if (groupHeaderColumns.length > 0) {\n const newColumns = columns.slice(0);\n const group = [];\n const appendGroupHeader = (column) => {\n const { groupHeader } = column;\n if (!(groupHeader && groupHeader.length > 0)) {\n return;\n }\n const columnIndex = newColumns.indexOf(column);\n const core = (groupHeader, group) => {\n const [targetHeader, ...otherHeader] = groupHeader;\n let currentGroup = group.find(\n (item) => item.name === targetHeader.name\n );\n if (!currentGroup) {\n currentGroup = Object.assign(\n { startIndex: columnIndex },\n targetHeader,\n { children: [] }\n );\n group.push(currentGroup);\n }\n if (otherHeader.length > 0) {\n core(otherHeader, currentGroup.children);\n } else {\n currentGroup.children.push(column);\n }\n };\n core(groupHeader, group);\n newColumns.splice(columnIndex, 1);\n };\n groupHeaderColumns.forEach(appendGroupHeader);\n group.forEach((groupColumn, index) => {\n newColumns.splice(groupColumn.startIndex + index, 0, groupColumn);\n });\n\n return { columns: newColumns, hasGroupHeader: true };\n }\n return { columns, hasGroupHeader: false };\n }, [columns]);\n};\n\nexport default useGroupHeader;\n","import useControlValue from \"@kne/use-control-value\";\nimport Icon from \"@components/Icon\";\nimport classnames from \"classnames\";\nimport clone from \"lodash/clone\";\nimport { useCallback, useMemo } from \"react\";\nimport style from \"./style.module.scss\";\n\nconst sortArrayToMap = (sort) =>\n new Map(\n (sort || []).map(({ name, sort }) => {\n return [name, sort];\n })\n );\n\nconst useSort = (props) => {\n const [sort, setSort] = useControlValue(props, {\n value: \"sort\",\n defaultValue: \"defaultSort\",\n onChange: \"onSortChange\",\n });\n\n const mapSort = useMemo(() => {\n return sortArrayToMap(sort);\n }, [sort]);\n\n const setMapSort = useCallback(\n (callback) => {\n return setSort((sort) => {\n const newSort = callback(sortArrayToMap(sort));\n return Array.from(newSort).map(([name, sort]) => ({ name, sort }));\n });\n },\n [setSort]\n );\n\n return useCallback(\n ({ single, name }) => (\n <div\n className={classnames(style[\"sort-btn\"], {\n [style[\"sort-active-desc\"]]: mapSort.get(name) === \"DESC\",\n [style[\"sort-active-asc\"]]: mapSort.get(name) === \"ASC\",\n })}\n onClick={() => {\n setMapSort((sort) => {\n const current = sort.get(name);\n const targetValue = (() => {\n if (current === \"DESC\") {\n return \"ASC\";\n }\n if (current === \"ASC\") {\n return null;\n }\n return \"DESC\";\n })();\n if (single) {\n return new Map(targetValue ? [[name, targetValue]] : []);\n }\n const newSort = clone(sort);\n targetValue ? newSort.set(name, targetValue) : newSort.delete(name);\n return newSort;\n });\n }}\n >\n <Icon type=\"icon-triangle-up\" className={style[\"sort-icon\"]} />\n <Icon type=\"icon-triangle-down\" className={style[\"sort-icon\"]} />\n </div>\n ),\n [mapSort, setMapSort]\n );\n};\n\nexport default useSort;\n","import style from \"./style.module.scss\";\nimport { Table as AntdTable } from \"antd\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport classnames from \"classnames\";\nimport Scroller from \"@common/components/Scroller\";\nimport { getScrollEl } from \"@common/utils/importantContainer\";\nimport useResize from \"@common/hooks/useResize\";\nimport useTableConfig from \"./useTableConfig\";\nimport useColumnTypeProps from \"@components/Table/useColumnTypeProps\";\nimport useGroupHeader from \"./useGroupHeader\";\nimport useSort from \"./useSort\";\nimport useRefCallback from \"@kne/use-ref-callback\";\n\nconst Table = ({\n columns,\n className,\n getScrollEl,\n sticky,\n stickyOffset,\n pagination,\n columnRenderProps,\n rowKey,\n dataSource,\n controllerOpen,\n name,\n summary,\n scroll,\n onTablePropsReady,\n ...props\n}) => {\n const [tableWidth, setTableWidth] = useState(0);\n const [isLayout, setIsLayout] = useState(true);\n\n useEffect(() => {\n if (tableWidth) {\n setTimeout(() => {\n setIsLayout(false);\n }, 0);\n }\n }, [tableWidth]);\n const columnRenderPropsRef = useRef(columnRenderProps);\n columnRenderPropsRef.current = columnRenderProps;\n const ref = useResize(\n (el) => {\n setTableWidth(el.clientWidth);\n },\n { isDebounce: true }\n );\n const { expandInfo, computedColumnProps } = useColumnTypeProps({\n rowKey,\n renderProps: columnRenderProps,\n });\n\n const {\n columnsConfig,\n visibleColumns,\n computedColumnProps: computedColumnConfigProps,\n currentMoveColumnIndex,\n totalWidth,\n } = useTableConfig({\n columns,\n controllerOpen,\n name,\n computedColumnProps,\n tableWidth,\n rowKey,\n });\n\n const sortRender = useSort(props);\n\n const targetColumns = useMemo(() => {\n return visibleColumns.map((col, index) => {\n let target = computedColumnProps(col, index, {\n rowKey,\n expandInfo,\n columnsConfig,\n });\n\n if (target.sort && col.type !== \"options\") {\n target = Object.assign({}, target, {\n title: (\n <>\n {target.title}\n {sortRender({\n name: col.name,\n single:\n typeof target.sort === \"object\" ? target.sort.single : true,\n })}\n </>\n ),\n });\n }\n\n if (controllerOpen) {\n target = computedColumnConfigProps(target, index, {\n tableWidth,\n columnsConfig,\n });\n }\n\n return target;\n });\n }, [\n visibleColumns,\n tableWidth,\n columnsConfig,\n expandInfo,\n rowKey,\n controllerOpen,\n computedColumnProps,\n computedColumnConfigProps,\n sortRender,\n ]);\n\n const { columns: groupColumns, hasGroupHeader } =\n useGroupHeader(targetColumns);\n\n const onTablePropsReadyCallback = useRefCallback(onTablePropsReady);\n\n useEffect(() => {\n onTablePropsReadyCallback &&\n onTablePropsReadyCallback({\n columns,\n groupColumns,\n dataSource,\n visibleColumns,\n });\n }, [\n onTablePropsReadyCallback,\n groupColumns,\n dataSource,\n columns,\n visibleColumns,\n ]);\n\n return (\n <div\n className={classnames(className, style[\"table\"], {\n [style[\"is-resize\"]]: currentMoveColumnIndex !== null,\n [style[\"is-computed\"]]: isLayout,\n [style[\"has-group-header\"]]: hasGroupHeader,\n })}\n ref={ref}\n style={{\n \"--sticky-offset\": stickyOffset,\n }}\n >\n {!isLayout && (\n <Scroller\n className=\"table-page-scroller\"\n scroller={{ getContainer: getScrollEl }}\n getScrollTarget={(el) => {\n return (\n el.querySelector(\".ant-table-body\") ||\n el.querySelector(\".ant-table-content\")\n );\n }}\n >\n <AntdTable\n {...props}\n sticky={\n sticky\n ? {\n getContainer: getScrollEl,\n }\n : false\n }\n dataSource={dataSource}\n rowKey={rowKey}\n columns={groupColumns}\n scroll={Object.assign(\n {},\n { x: Math.max(tableWidth, totalWidth) },\n scroll\n )}\n pagination={pagination}\n summary={\n typeof summary === \"function\"\n ? (current, ...args) => {\n return summary(\n Object.assign(\n {},\n { pageData: current },\n { columns: groupColumns }\n ),\n ...args\n );\n }\n : null\n }\n />\n </Scroller>\n )}\n </div>\n );\n};\n\nTable.defaultProps = {\n controllerOpen: true,\n rowKey: \"id\",\n getScrollEl,\n columnRenderProps: {},\n sticky: false,\n stickyOffset: \"var(--nav-height)\",\n pagination: false,\n};\n\nexport default Table;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","import { withFetch } from \"@kne/react-fetch\";\nimport Table from \"./Table\";\nimport classnames from \"classnames\";\nimport Features from \"@components/Features\";\nimport get from \"lodash/get\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport { forwardRef, useMemo, useState } from \"react\";\nimport style from \"./style.module.scss\";\nimport importMessages from \"./locale\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\nimport localStorage from \"@common/utils/localStorage\";\nimport { getScrollEl } from \"@common/utils/importantContainer\";\n\nconst FeaturesColumnsConfig = ({ id, columns, children }) => {\n if (id) {\n return (\n <Features id={id}>\n {({ options }) =>\n children({\n columns: columns.filter((item) => {\n if (!item.name) {\n return true;\n }\n if (!Array.isArray(get(options, \"hiddenColumns\"))) {\n return true;\n }\n return options.hiddenColumns.indexOf(item.name) === -1;\n }),\n })\n }\n </Features>\n );\n }\n return children({ columns });\n};\n\nconst TablePageInner = withFetch(\n ({\n data,\n refresh,\n reload,\n requestParams,\n fetchProps,\n isComplete,\n setData,\n loadMore,\n send,\n dataFormat,\n className,\n featureId,\n columns,\n getColumns,\n pagination,\n columnRenderProps,\n summary,\n ...props\n }) => {\n const handlerDataFormat = useRefCallback(dataFormat);\n const formatData = useMemo(() => {\n return handlerDataFormat(data);\n }, [data, handlerDataFormat]);\n\n const tableProps = {\n dataSource: formatData.list,\n pagination: pagination.open\n ? {\n total: formatData.total,\n showTotal: (total) => (\n <>\n <FormattedMessage\n id=\"Page_Total\"\n moduleName=\"Table\"\n defaultMessage=\"共\"\n />\n <span className={style[\"total_text\"]}>{total}</span>\n <FormattedMessage\n id=\"Page_TotalCount\"\n moduleName=\"Table\"\n defaultMessage=\"条\"\n />\n </>\n ),\n current: get(\n requestParams,\n [pagination.paramsType, pagination.currentName],\n 1\n ),\n pageSize: pagination.pageSize,\n onChange: pagination.onChange\n ? pagination.onChange\n : (page, size) => {\n if (\n page !==\n get(\n requestParams,\n [pagination.paramsType, pagination.currentName],\n 1\n )\n ) {\n (pagination.requestType === \"refresh\" ? refresh : reload)({\n [pagination.paramsType]: {\n [pagination.currentName]: page,\n [pagination.pageSizeName]: size,\n },\n });\n } else {\n pagination.onShowSizeChange &&\n pagination.onShowSizeChange(page, size);\n }\n getScrollEl().scrollTop = 0;\n },\n size: pagination.size,\n showSizeChanger: pagination.showSizeChanger,\n showQuickJumper: pagination.showQuickJumper,\n pageSizeOptions: pagination.pageSizeOptions,\n }\n : false,\n };\n\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"Table\">\n <FeaturesColumnsConfig id={featureId} columns={columns}>\n {({ columns }) => (\n <Table\n {...Object.assign({}, props, tableProps)}\n className={classnames(className, \"loading-container\", {\n \"is-loading\": !isComplete,\n })}\n columns={columns}\n columnRenderProps={{\n ...columnRenderProps,\n requestParams,\n fetchProps,\n data,\n }}\n summary={\n typeof summary === \"function\"\n ? (...args) => {\n return summary(\n Object.assign(\n {},\n {\n data,\n fetchProps,\n requestParams,\n refresh,\n reload,\n loadMore,\n send,\n dataFormat,\n pagination,\n },\n ...args\n )\n );\n }\n : null\n }\n />\n )}\n </FeaturesColumnsConfig>\n </IntlProvider>\n );\n }\n);\n\nTablePageInner.defaultProps = {\n pagination: {},\n columnRenderProps: {},\n sticky: true,\n dataFormat: (data) => {\n return {\n list: data.pageData,\n total: data.totalCount,\n };\n },\n};\n\nconst TablePage = forwardRef(({ pagination, ...props }, ref) => {\n pagination = Object.assign(\n {},\n {\n showSizeChanger: true,\n showQuickJumper: true,\n open: true,\n paramsType: \"data\",\n requestType: \"reload\",\n currentName: \"currentPage\",\n pageSizeName: \"perPage\",\n pageSize: 20, //size: \"small\",\n },\n pagination\n );\n const pageSizeKey = `${(\n props.name || \"common\"\n ).toUpperCase()}_TABLE_PAGE_SIZE`;\n const [pageSize, setPageSize] = useState(\n localStorage.getItem(pageSizeKey) || pagination.pageSize\n );\n const params = props[pagination.paramsType];\n const fetchParams = useMemo(() => {\n return {\n [pagination.paramsType]: Object.assign({}, params, {\n [pagination.pageSizeName]: pageSize,\n }),\n };\n }, [params, pagination.pageSizeName, pagination.paramsType, pageSize]);\n return (\n <TablePageInner\n {...props}\n {...fetchParams}\n pagination={Object.assign({}, pagination, {\n pageSize,\n onShowSizeChange: (current, size) => {\n localStorage.setItem(pageSizeKey, size);\n setPageSize(size);\n },\n })}\n ref={ref}\n />\n );\n});\n\nexport default TablePage;\n"],"names":["getItem","key","target","window","localStorage","dataType","value","JSON","parse","Number","Boolean","e","setItem","stringify","areaWidthComputed","memoize","_ref","amountWidth","moreBtnWidth","buttonWidthList","spaceProps","compact","spaceWidth","indexOf","size","isInteger","targetLength","targetWidth","length","_ref2","join","Object","values","toString","ButtonGroup","_ref3","list","more","props","pick","showLength","setShowLength","useState","computedLength","useRefCallback","el","targetRef","current","moreEl","moreRef","widthEl","ref","buttonEls","querySelectorAll","clientWidth","map","call","offsetWidth","startTransition","useResize","otherList","slice","renderButton","renderItem","index","isDropdown","className","classnames","style","confirm","buttonComponent","isConfirm","message","CurrentButton","ConfirmButton","LoadingButton","_createElement","danger","isDelete","assign","isModal","SpaceComponent","Space","Compact","_jsxs","_Fragment","children","_jsx","item","Dropdown","overlayClassName","menu","items","label","defaultProps","Button","Icon","type","locale","en-US","zh-CN","withConfirm","WrappedComponent","ConfirmComponent","createWithIntl","moduleName","importMessages","title","onClick","onCancel","disabled","showCancel","cancelText","okText","placement","getContainer","formatMessage","useIntl","modal","useConfirmModal","confirmType","id","onOk","Popconfirm","direction","stopPropagation","align","onConfirm","okButtonProps","getPopupContainer","ConfirmLink","Typography","Link","ConfirmText","Text","baseLoaders","description","EnumLoaderFetch","withFetch","data","getEnumsMap","enums","Map","concat","keys","EnumLoader","loader","enumsLoader","global","enumsRef","useGlobalContext","prevLocaleRef","useRef","async","arguments","params","undefined","name","force","getEnumMap","get","output","Array","isArray","console","warn","set","Promise","all","then","enumMap","from","isNil","Enum","preset","usePreset","_ref4","tagTypeEnum","default","skill","color","borderColor","result","filterResult","success","progress","info","other","StateTag","showBorder","text","showBackground","filterName","tagColor","useMemo","_tagTypeEnum$type","_tagTypeEnum$type2","Tag","background","border","width","filter","hidden","icon","ellipsis","tooltip","ColItem","isEmpty","emptyRender","hover","primary","colValue","loading","setLoading","columnsStyle","resolve","colItem","event","finally","isColValueEmpty","emptyOf","DisplayInfo","createWithFetch","api","expand","onExpand","targetApi","Ellipsis","_ref17","columnTypes","date","render","dayjs","isValid","format","min","max","dateShort","dateRange","datetime","hideSecond","serialNumber","_ref5","serialNumberShort","_ref6","user","_ref7","userName","_ref8","contacts","_ref9","tag","_ref10","isEnum","_ref11","omit","avatar","_ref12","Image","Avatar","singleRow","_ref13","hideInfo","HideInfoComponent","mainInfo","_ref14","_ref15","options","_ref16","OptionsList","sensitiveInfo","_ref18","otherSmall","otherLarge","Panel","Collapse","close","columns","config","defaultValue","onChange","searchText","setSearchText","leftFixedColumns","rightFixedColumns","visibleColumns","hiddenColumns","transform","groupBy","fixed","sort","a","b","renderColumn","titleText","groupHeader","Row","justify","Col","Tooltip","defaultActiveKey","ghost","bordered","header","List","Item","Checkbox","checked","ReactSortable","dragClass","ghostClass","forceFallback","setList","newConfig","cloneDeep","columnsList","forEach","col","handlerColumnsChange","animation","delayOnTouchStart","delay","preventDefault","visible","wrap","SearchInput","prefix","placeholder","onSearch","dataSource","gutter","storageKey","getDataApi","setDataFunc","TableConfig","setConfig","open","setOpen","flex","Popover","onOpenChange","trigger","content","ColumnsControlContent","controllerOpen","tableWidth","rowKey","currentMoveColumnIndex","setCurrentMoveColumnIndex","currentMoveColumnIndexRef","currentMoveColumnRef","startPointRef","setConfigBase","tableServerApis","presetTableServerApis","tableLocalApis","tablePageServerParams","saveConfig","useDebouncedCallback","send","useFetch","auto","cache","isLocal","onRequestSuccess","getTableConfig","useEffect","computedIndex","lastNotOptionsColumnIndex","findLastIndex","totalWidth","sumBy","computedRealWidth","Math","resizeBarRender","column","onMouseDown","clientX","resize","delta","currentWidth","computedColumnProps","targetColumn","movingClass","realWidth","onHeaderCell","onCell","shouldCellUpdate","record","prevRecord","itemKey","prevItemKey","isEqual","handlerCancelResize","handlerResize","document","documentElement","addEventListener","removeEventListener","columnsConfig","renderProps","expandInfo","setExpandInfo","columnRenderPropsRef","expandType","titleRender","disableColItem","otherColProps","targetRender","colProps","targetRenderWithProps","hasOwnProperty","valueOf","groupHeaderColumns","newColumns","group","appendGroupHeader","columnIndex","core","targetHeader","otherHeader","currentGroup","find","startIndex","push","splice","groupColumn","hasGroupHeader","sortArrayToMap","setSort","useControlValue","mapSort","setMapSort","useCallback","callback","newSort","single","targetValue","clone","delete","Table","getScrollEl","sticky","stickyOffset","pagination","columnRenderProps","summary","scroll","onTablePropsReady","setTableWidth","isLayout","setIsLayout","setTimeout","isDebounce","useColumnTypeProps","computedColumnConfigProps","useTableConfig","sortRender","useSort","targetColumns","groupColumns","useGroupHeader","onTablePropsReadyCallback","Scroller","scroller","getScrollTarget","querySelector","AntdTable","x","_len","args","_key","pageData","FeaturesColumnsConfig","Features","TablePageInner","refresh","reload","requestParams","fetchProps","isComplete","setData","loadMore","dataFormat","featureId","getColumns","handlerDataFormat","formatData","tableProps","total","showTotal","FormattedMessage","defaultMessage","paramsType","currentName","pageSize","page","requestType","pageSizeName","onShowSizeChange","scrollTop","showSizeChanger","showQuickJumper","pageSizeOptions","IntlProvider","totalCount","forwardRef","pageSizeKey","toUpperCase","setPageSize","fetchParams"],"sourceRoot":""}
|