@kne-components/components-core 0.1.63 → 0.1.65
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 +126 -126
- package/build/index.html +1 -1
- package/build/remoteEntry.js +1 -1
- package/build/remoteEntry.js.map +1 -1
- package/build/static/css/1151.09c186c4.chunk.css +2 -0
- package/build/static/css/{1151.79b35a64.chunk.css.map → 1151.09c186c4.chunk.css.map} +1 -1
- package/build/static/css/1153.f71bbb4d.chunk.css +2 -0
- package/build/static/css/{1153.220cf254.chunk.css.map → 1153.f71bbb4d.chunk.css.map} +1 -1
- package/build/static/css/1454.ac7e29c1.chunk.css +2 -0
- package/build/static/css/{1454.25f2f737.chunk.css.map → 1454.ac7e29c1.chunk.css.map} +1 -1
- package/build/static/css/1554.6767cb42.chunk.css +2 -0
- package/build/static/css/{1554.dea37b4c.chunk.css.map → 1554.6767cb42.chunk.css.map} +1 -1
- package/build/static/css/{2503.f52066b9.chunk.css → 2503.1041a7cd.chunk.css} +2 -2
- package/build/static/css/{2503.f52066b9.chunk.css.map → 2503.1041a7cd.chunk.css.map} +1 -1
- package/build/static/css/{2517.54d998b9.chunk.css → 2517.4b2ffe1c.chunk.css} +2 -2
- package/build/static/css/{2517.54d998b9.chunk.css.map → 2517.4b2ffe1c.chunk.css.map} +1 -1
- package/build/static/css/2716.426319cd.chunk.css +2 -0
- package/build/static/css/{2716.11b55792.chunk.css.map → 2716.426319cd.chunk.css.map} +1 -1
- package/build/static/css/{2730.bc03e4cc.chunk.css → 2730.cacd6939.chunk.css} +2 -2
- package/build/static/css/{2730.bc03e4cc.chunk.css.map → 2730.cacd6939.chunk.css.map} +1 -1
- package/build/static/css/{289.04bbb2f0.chunk.css → 289.2216e089.chunk.css} +2 -2
- package/build/static/css/{289.04bbb2f0.chunk.css.map → 289.2216e089.chunk.css.map} +1 -1
- package/build/static/css/2999.bb10a4ea.chunk.css +2 -0
- package/build/static/css/{2999.dfec4798.chunk.css.map → 2999.bb10a4ea.chunk.css.map} +1 -1
- package/build/static/css/3040.03db7c9c.chunk.css +2 -0
- package/build/static/css/3040.03db7c9c.chunk.css.map +1 -0
- package/build/static/css/3333.0b014710.chunk.css +2 -0
- package/build/static/css/{3333.78a71b24.chunk.css.map → 3333.0b014710.chunk.css.map} +1 -1
- package/build/static/css/3801.7117b4fc.chunk.css +2 -0
- package/build/static/css/{3801.d5b83985.chunk.css.map → 3801.7117b4fc.chunk.css.map} +1 -1
- package/build/static/css/{3843.05e06462.chunk.css → 3843.7ad7aefd.chunk.css} +2 -2
- package/build/static/css/{3843.05e06462.chunk.css.map → 3843.7ad7aefd.chunk.css.map} +1 -1
- package/build/static/css/4666.75d33960.chunk.css +2 -0
- package/build/static/css/{4666.41336c73.chunk.css.map → 4666.75d33960.chunk.css.map} +1 -1
- package/build/static/css/5600.a6f953a8.chunk.css +2 -0
- package/build/static/css/{5600.5be9434f.chunk.css.map → 5600.a6f953a8.chunk.css.map} +1 -1
- package/build/static/css/5846.88210d70.chunk.css +2 -0
- package/build/static/css/5846.88210d70.chunk.css.map +1 -0
- package/build/static/css/5868.6e1c8951.chunk.css +2 -0
- package/build/static/css/{5868.94ee3b2a.chunk.css.map → 5868.6e1c8951.chunk.css.map} +1 -1
- package/build/static/css/{5996.d4868114.chunk.css → 5996.ef12a721.chunk.css} +2 -2
- package/build/static/css/{5996.d4868114.chunk.css.map → 5996.ef12a721.chunk.css.map} +1 -1
- package/build/static/css/6779.4ec546c9.chunk.css +2 -0
- package/build/static/css/{6779.62d8e89f.chunk.css.map → 6779.4ec546c9.chunk.css.map} +1 -1
- package/build/static/css/7227.40beb6bd.chunk.css +2 -0
- package/build/static/css/{7227.b2a9eb21.chunk.css.map → 7227.40beb6bd.chunk.css.map} +1 -1
- package/build/static/css/8148.c96d014d.chunk.css +2 -0
- package/build/static/css/{8148.3f50cd35.chunk.css.map → 8148.c96d014d.chunk.css.map} +1 -1
- package/build/static/css/8393.bb66f96b.chunk.css +2 -0
- package/build/static/css/8393.bb66f96b.chunk.css.map +1 -0
- package/build/static/css/{8725.3d2b096f.chunk.css → 8725.92be1696.chunk.css} +2 -2
- package/build/static/css/{8725.3d2b096f.chunk.css.map → 8725.92be1696.chunk.css.map} +1 -1
- package/build/static/css/9053.46c298ac.chunk.css +2 -0
- package/build/static/css/{9053.facda2bf.chunk.css.map → 9053.46c298ac.chunk.css.map} +1 -1
- package/build/static/css/931.db19ba4c.chunk.css +2 -0
- package/build/static/css/{931.ed62c658.chunk.css.map → 931.db19ba4c.chunk.css.map} +1 -1
- package/build/static/css/{9449.c0e0e1df.chunk.css → 9449.bb650cdd.chunk.css} +2 -2
- package/build/static/css/{9449.c0e0e1df.chunk.css.map → 9449.bb650cdd.chunk.css.map} +1 -1
- package/build/static/css/9689.a378c0d6.chunk.css +2 -0
- package/build/static/css/{9689.03912f00.chunk.css.map → 9689.a378c0d6.chunk.css.map} +1 -1
- package/build/static/js/{1153.d50ce568.chunk.js → 1153.1e765379.chunk.js} +3 -3
- package/build/static/js/{1153.d50ce568.chunk.js.map → 1153.1e765379.chunk.js.map} +1 -1
- package/build/static/js/{1454.ebcfe995.chunk.js → 1454.7e01c768.chunk.js} +3 -3
- package/build/static/js/{1454.ebcfe995.chunk.js.map → 1454.7e01c768.chunk.js.map} +1 -1
- package/build/static/js/1554.75b20234.chunk.js +3 -0
- package/build/static/js/{1554.c0107914.chunk.js.map → 1554.75b20234.chunk.js.map} +1 -1
- package/build/static/js/{2503.7d59f1be.chunk.js → 2503.311139a9.chunk.js} +2 -2
- package/build/static/js/{2503.7d59f1be.chunk.js.map → 2503.311139a9.chunk.js.map} +1 -1
- package/build/static/js/{2517.f25ad30b.chunk.js → 2517.ebfe379d.chunk.js} +2 -2
- package/build/static/js/{2517.f25ad30b.chunk.js.map → 2517.ebfe379d.chunk.js.map} +1 -1
- package/build/static/js/2716.0835366f.chunk.js +3 -0
- package/build/static/js/{2716.743b5118.chunk.js.map → 2716.0835366f.chunk.js.map} +1 -1
- package/build/static/js/{2730.a1361b4b.chunk.js → 2730.6e6bbd50.chunk.js} +2 -2
- package/build/static/js/{2730.a1361b4b.chunk.js.map → 2730.6e6bbd50.chunk.js.map} +1 -1
- package/build/static/js/{289.7c20e21b.chunk.js → 289.11cbf5b0.chunk.js} +2 -2
- package/build/static/js/{289.7c20e21b.chunk.js.map → 289.11cbf5b0.chunk.js.map} +1 -1
- package/build/static/js/2999.e7f01852.chunk.js +2 -0
- package/build/static/js/{2999.9656751b.chunk.js.map → 2999.e7f01852.chunk.js.map} +1 -1
- package/build/static/js/3040.6505e983.chunk.js +2 -0
- package/build/static/js/3040.6505e983.chunk.js.map +1 -0
- package/build/static/js/{3333.39fec99b.chunk.js → 3333.1816dece.chunk.js} +2 -2
- package/build/static/js/{3333.39fec99b.chunk.js.map → 3333.1816dece.chunk.js.map} +1 -1
- package/build/static/js/36.32568b2b.chunk.js +2 -0
- package/build/static/js/36.32568b2b.chunk.js.map +1 -0
- package/build/static/js/{3801.f57ea15a.chunk.js → 3801.e1fbf1f5.chunk.js} +2 -2
- package/build/static/js/{3801.f57ea15a.chunk.js.map → 3801.e1fbf1f5.chunk.js.map} +1 -1
- package/build/static/js/{3843.7ee67ff9.chunk.js → 3843.9ad0280b.chunk.js} +2 -2
- package/build/static/js/{3843.7ee67ff9.chunk.js.map → 3843.9ad0280b.chunk.js.map} +1 -1
- package/build/static/js/{409.e3189885.chunk.js → 409.37dd1f15.chunk.js} +2 -2
- package/build/static/js/409.37dd1f15.chunk.js.map +1 -0
- package/build/static/js/{4666.b3c0e431.chunk.js → 4666.e958816e.chunk.js} +3 -3
- package/build/static/js/{4666.b3c0e431.chunk.js.map → 4666.e958816e.chunk.js.map} +1 -1
- package/build/static/js/{5009.a5e8b544.chunk.js → 5009.c54b6ce3.chunk.js} +2 -2
- package/build/static/js/{5009.a5e8b544.chunk.js.map → 5009.c54b6ce3.chunk.js.map} +1 -1
- package/build/static/js/{5600.14ab846a.chunk.js → 5600.db7a237d.chunk.js} +2 -2
- package/build/static/js/{5600.14ab846a.chunk.js.map → 5600.db7a237d.chunk.js.map} +1 -1
- package/build/static/js/5846.4c3e8ca1.chunk.js +2 -0
- package/build/static/js/5846.4c3e8ca1.chunk.js.map +1 -0
- package/build/static/js/{5868.d7e76d9c.chunk.js → 5868.691cc3d1.chunk.js} +2 -2
- package/build/static/js/{5868.d7e76d9c.chunk.js.map → 5868.691cc3d1.chunk.js.map} +1 -1
- package/build/static/js/{5996.f3e4d8c9.chunk.js → 5996.87668f05.chunk.js} +2 -2
- package/build/static/js/{5996.f3e4d8c9.chunk.js.map → 5996.87668f05.chunk.js.map} +1 -1
- package/build/static/js/{6779.87b6f8aa.chunk.js → 6779.5687f2a6.chunk.js} +2 -2
- package/build/static/js/{6779.87b6f8aa.chunk.js.map → 6779.5687f2a6.chunk.js.map} +1 -1
- package/build/static/js/{7227.275c09f1.chunk.js → 7227.dc98e5a5.chunk.js} +3 -3
- package/build/static/js/{7227.275c09f1.chunk.js.map → 7227.dc98e5a5.chunk.js.map} +1 -1
- package/build/static/js/{7777.86647e55.chunk.js → 7777.f92782a0.chunk.js} +2 -2
- package/build/static/js/{7777.86647e55.chunk.js.map → 7777.f92782a0.chunk.js.map} +1 -1
- package/build/static/js/{8148.411c0656.chunk.js → 8148.098850f5.chunk.js} +3 -3
- package/build/static/js/{8148.411c0656.chunk.js.map → 8148.098850f5.chunk.js.map} +1 -1
- package/build/static/js/8393.66cde464.chunk.js +2 -0
- package/build/static/js/8393.66cde464.chunk.js.map +1 -0
- package/build/static/js/8620.437a0aa1.chunk.js +2 -0
- package/build/static/js/{8620.99fa27fb.chunk.js.map → 8620.437a0aa1.chunk.js.map} +1 -1
- package/build/static/js/{8643.e56718a2.chunk.js → 8643.2ec57250.chunk.js} +3 -3
- package/build/static/js/{8643.e56718a2.chunk.js.map → 8643.2ec57250.chunk.js.map} +1 -1
- package/build/static/js/{8725.07fe47f9.chunk.js → 8725.b1e0c118.chunk.js} +2 -2
- package/build/static/js/{8725.07fe47f9.chunk.js.map → 8725.b1e0c118.chunk.js.map} +1 -1
- package/build/static/js/8768.3949a507.chunk.js +3 -0
- package/build/static/js/8768.3949a507.chunk.js.map +1 -0
- package/build/static/js/{9053.dc447f96.chunk.js → 9053.dea29532.chunk.js} +3 -3
- package/build/static/js/{9053.dc447f96.chunk.js.map → 9053.dea29532.chunk.js.map} +1 -1
- package/build/static/js/{931.565a635d.chunk.js → 931.d4b46c3f.chunk.js} +2 -2
- package/build/static/js/{931.565a635d.chunk.js.map → 931.d4b46c3f.chunk.js.map} +1 -1
- package/build/static/js/{9449.8b9a1305.chunk.js → 9449.b13e3199.chunk.js} +2 -2
- package/build/static/js/{9449.8b9a1305.chunk.js.map → 9449.b13e3199.chunk.js.map} +1 -1
- package/build/static/js/{main.4aae74a9.js → main.76eaa0f9.js} +2 -2
- package/build/static/js/{main.4aae74a9.js.map → main.76eaa0f9.js.map} +1 -1
- package/package.json +3 -2
- package/build/static/css/1151.79b35a64.chunk.css +0 -2
- package/build/static/css/1153.220cf254.chunk.css +0 -2
- package/build/static/css/1454.25f2f737.chunk.css +0 -2
- package/build/static/css/1554.dea37b4c.chunk.css +0 -2
- package/build/static/css/2716.11b55792.chunk.css +0 -2
- package/build/static/css/2999.dfec4798.chunk.css +0 -2
- package/build/static/css/3040.5bf78c42.chunk.css +0 -2
- package/build/static/css/3040.5bf78c42.chunk.css.map +0 -1
- package/build/static/css/3333.78a71b24.chunk.css +0 -2
- package/build/static/css/3801.d5b83985.chunk.css +0 -2
- package/build/static/css/4666.41336c73.chunk.css +0 -2
- package/build/static/css/5600.5be9434f.chunk.css +0 -2
- package/build/static/css/5846.ab027159.chunk.css +0 -2
- package/build/static/css/5846.ab027159.chunk.css.map +0 -1
- package/build/static/css/5868.94ee3b2a.chunk.css +0 -2
- package/build/static/css/6779.62d8e89f.chunk.css +0 -2
- package/build/static/css/7227.b2a9eb21.chunk.css +0 -2
- package/build/static/css/8148.3f50cd35.chunk.css +0 -2
- package/build/static/css/8393.cc602194.chunk.css +0 -2
- package/build/static/css/8393.cc602194.chunk.css.map +0 -1
- package/build/static/css/9053.facda2bf.chunk.css +0 -2
- package/build/static/css/931.ed62c658.chunk.css +0 -2
- package/build/static/css/9689.03912f00.chunk.css +0 -2
- package/build/static/js/1554.c0107914.chunk.js +0 -3
- package/build/static/js/2716.743b5118.chunk.js +0 -3
- package/build/static/js/2999.9656751b.chunk.js +0 -2
- package/build/static/js/3040.49de78b4.chunk.js +0 -2
- package/build/static/js/3040.49de78b4.chunk.js.map +0 -1
- package/build/static/js/36.417dd7ba.chunk.js +0 -2
- package/build/static/js/36.417dd7ba.chunk.js.map +0 -1
- package/build/static/js/4065.eec0fa21.chunk.js +0 -3
- package/build/static/js/4065.eec0fa21.chunk.js.map +0 -1
- package/build/static/js/409.e3189885.chunk.js.map +0 -1
- package/build/static/js/5846.c9e8f53b.chunk.js +0 -2
- package/build/static/js/5846.c9e8f53b.chunk.js.map +0 -1
- package/build/static/js/8393.20607742.chunk.js +0 -2
- package/build/static/js/8393.20607742.chunk.js.map +0 -1
- package/build/static/js/8620.99fa27fb.chunk.js +0 -2
- /package/build/static/js/{1153.d50ce568.chunk.js.LICENSE.txt → 1153.1e765379.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{1454.ebcfe995.chunk.js.LICENSE.txt → 1454.7e01c768.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{1554.c0107914.chunk.js.LICENSE.txt → 1554.75b20234.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{2716.743b5118.chunk.js.LICENSE.txt → 2716.0835366f.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{4666.b3c0e431.chunk.js.LICENSE.txt → 4666.e958816e.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{7227.275c09f1.chunk.js.LICENSE.txt → 7227.dc98e5a5.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{8148.411c0656.chunk.js.LICENSE.txt → 8148.098850f5.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{8643.e56718a2.chunk.js.LICENSE.txt → 8643.2ec57250.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{4065.eec0fa21.chunk.js.LICENSE.txt → 8768.3949a507.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{9053.dc447f96.chunk.js.LICENSE.txt → 9053.dea29532.chunk.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/2999.9656751b.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/Filter/style.module.scss?eebc","components/Filter/locale/index.js","components/Filter/context.js","components/Filter/FilterLines.js","components/Filter/FilterValueDisplay.js","components/Filter/FilterOuter.js","components/Filter/Filter.js","components/Filter/FilterItem.js","components/Filter/withFieldItem.js","webpack://@kne-components/components-core/./src/common/components/TreeField/style.module.scss?bcd6","common/components/TreeField/index.js","components/Filter/PopoverItem.js","components/Filter/fields/InputFilterItem.js","components/Filter/fields/NumberRangeFilterItem.js","components/Filter/fields/DatePickerFilterItem.js","components/Filter/fields/DateRangePickerFilterItem.js","components/Filter/fields/TypeDateRangePickerFilterItem.js","components/Filter/fields/index.js","components/Filter/getFilterValue.js","components/Filter/AdvancedFilter/fields/CityFilterItem.js","components/Filter/AdvancedFilter/fields/ListFilterItem.js","components/Filter/AdvancedFilter/fields/InputFilterItem.js","components/Filter/AdvancedFilter/fields/index.js","components/Filter/AdvancedFilter/index.js","components/Filter/FilterItemContainer.js","components/Filter/index.js","components/HelperGuide/locale/index.js","webpack://@kne-components/components-core/./src/components/HelperGuide/style.module.scss?bc31","components/HelperGuide/index.js","components/Layout/context.js","webpack://@kne-components/components-core/./src/components/Layout/style.module.scss?8c20","components/Layout/Page/FixedContainer.js","components/Layout/Page/Menu.js","components/Layout/Page/Page.js","components/Layout/Affix.js","components/Layout/Page/ContainerHeight.js","components/Layout/Page/Header.js","components/Layout/Page/HeaderInfo.js","components/Layout/Page/PageTitle.js","components/Layout/Page/Option.js","components/Layout/Layout.js","components/Layout/PermissionsPage.js","components/Layout/TablePage.js","components/Layout/StateBarPage.js","webpack://@kne-components/components-core/./src/components/Menu/style.module.scss?ca16","components/Menu/index.js","components/Navigation/favicon.svg","components/Navigation/locale/index.js","webpack://@kne-components/components-core/./src/components/Navigation/style.module.scss?d5bc","components/Navigation/index.js","webpack://@kne-components/components-core/./src/components/Permissions/style.module.scss?e327","components/Permissions/index.js","webpack://@kne-components/components-core/./src/components/StateBar/style.module.scss?ecea","components/StateBar/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/HideInfoComponent.js","components/Table/columnTypes.js","components/Table/ColumnsControlContent.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__yG3J4\",\"hidden-container\":\"style_hidden-container__EdySA__yG3J4\",\"hidden-inner\":\"style_hidden-inner__vAN59__yG3J4\",\"menu-list\":\"style_menu-list__VDttR__yG3J4\",\"btn-item\":\"style_btn-item__mp5MQ__yG3J4\"};","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, ...props } = renderItem;\n const isConfirm = confirm || props.message;\n const CurrentButton = isConfirm ? ConfirmButton : 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__yG3J4\",\"is-danger\":\"style_is-danger__gxyAB__yG3J4\",\"title\":\"style_title__EEPu2__yG3J4\",\"content\":\"style_content__mZZg5__yG3J4\",\"has-title\":\"style_has-title__5+PEt__yG3J4\"};","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 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 <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\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 && (\n <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\n )}\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 {\"filter\":\"style_filter__Xml45__yG3J4\",\"filter-item-icon\":\"style_filter-item-icon__kVCRK__yG3J4\",\"filter-item-option-icon\":\"style_filter-item-option-icon__q1fz3__yG3J4\",\"filter-title\":\"style_filter-title__PlIpS__yG3J4\",\"filter-title-hidden\":\"style_filter-title-hidden__NJ1ZB__yG3J4\",\"ad-filter-title\":\"style_ad-filter-title__5-OzD__yG3J4\",\"ad-filter-line\":\"style_ad-filter-line__ga6UH__yG3J4\",\"filter-line\":\"style_filter-line__E+cRh__yG3J4\",\"clean-btn\":\"style_clean-btn__oSEvm__yG3J4\",\"filter-item\":\"style_filter-item__Q2ncE__yG3J4\",\"un-expand\":\"style_un-expand__4PFY8__yG3J4\",\"ad-filter-selected\":\"style_ad-filter-selected__KbLfG__yG3J4\",\"filter-label\":\"style_filter-label__qu26i__yG3J4\",\"filter-item-wrap\":\"style_filter-item-wrap__rOq7H__yG3J4\",\"option\":\"style_option__rd5Qo__yG3J4\",\"is-active\":\"style_is-active__OArQI__yG3J4\",\"is-visited\":\"style_is-visited__gZ5ni__yG3J4\",\"un-expand-shadow\":\"style_un-expand-shadow__fj92e__yG3J4\",\"filter-item-label\":\"style_filter-item-label__C781J__yG3J4\",\"filter-item-field\":\"style_filter-item-field__Ltfr8__yG3J4\",\"filter-drop-tag\":\"style_filter-drop-tag__DD-2P__yG3J4\",\"filter-list-tag\":\"style_filter-list-tag__Qt5hA__yG3J4\",\"filter-tag\":\"style_filter-tag__dUGfu__yG3J4\",\"filter-tag-value\":\"style_filter-tag-value__p-SFv__yG3J4\",\"pop-util-content\":\"style_pop-util-content__bx5zP__yG3J4\",\"pop-util-overlay\":\"style_pop-util-overlay__LEASt__yG3J4\",\"pop-util-footer\":\"style_pop-util-footer__Xat1s__yG3J4\",\"pop-util-text\":\"style_pop-util-text__pzeUy__yG3J4\",\"filter-item-inner\":\"style_filter-item-inner__LVXgh__yG3J4\",\"filter-item-text\":\"style_filter-item-text__MA8tU__yG3J4\",\"filter-item-number-range\":\"style_filter-item-number-range__U-OgQ__yG3J4\",\"filter-item-custom\":\"style_filter-item-custom__UusRa__yG3J4\",\"filter-item-custom-active\":\"style_filter-item-custom-active__uFtny__yG3J4\",\"filter-item-number-range-split\":\"style_filter-item-number-range-split__fVt8E__yG3J4\",\"filter-item-number-input\":\"style_filter-item-number-input__YPO6K__yG3J4\",\"range-picker\":\"style_range-picker__c6ngq__yG3J4\",\"cascader-select-wrap\":\"style_cascader-select-wrap__z5hu7__yG3J4\",\"cascader-dropdown-menu\":\"style_cascader-dropdown-menu__nhAH5__yG3J4\",\"filter-advanced\":\"style_filter-advanced__4cyDy__yG3J4\",\"filter-advanced-item-other\":\"style_filter-advanced-item-other__-v86K__yG3J4\",\"filter-advanced-item-other-inner\":\"style_filter-advanced-item-other-inner__sXLEV__yG3J4\",\"filter-advanced-more\":\"style_filter-advanced-more__OFXq4__yG3J4\"};","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 { createContext, useContext as useReactContext } from \"react\";\n\nexport const context = createContext({});\n\nexport const { Provider } = context;\n\nexport const useContext = () => useReactContext(context);\n","import classnames from \"classnames\";\nimport { useState } from \"react\";\nimport Icon from \"@components/Icon\";\nimport style from \"./style.module.scss\";\nimport { Col, Row, Space } from \"antd\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\nimport importMessages from \"./locale\";\nimport { useContext } from \"./context\";\nimport get from \"lodash/get\";\n\nconst Line = ({ list, children }) => {\n const { value, onChange } = useContext();\n return (\n <div className={style[\"filter-line\"]}>\n {list.map((item, index) => {\n const ComponentItem = item.type;\n return (\n <ComponentItem\n {...item.props}\n key={item.key || item.props.name || index}\n value={\n value\n ? get(value.get(item.props.name), \"value\")\n : item.props.value\n }\n onChange={\n onChange\n ? (value) =>\n onChange({\n name: item.props.name,\n label: item.props.label,\n value,\n })\n : item.props.onChange\n }\n />\n );\n })}\n {children}\n </div>\n );\n};\n\nconst FilterLines = ({\n className,\n list,\n displayLine,\n label,\n extra,\n children,\n}) => {\n const hasMore = list.length > displayLine;\n const [isExpand, setIsExpand] = useState(false);\n\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"Filter\">\n <Space\n className={classnames(style[\"filter-title\"], className)}\n align=\"top\"\n size={16}\n >\n <span className={style[\"filter-label\"]}>\n {label || (\n <FormattedMessage\n id=\"filterText\"\n moduleName=\"Filter\"\n defaultMessage=\"筛选\"\n />\n )}\n </span>\n <Row justify=\"space-between\" wrap={false} align=\"middle\">\n <Col className={style[\"filter-list\"]} flex={1}>\n {list.slice(0, displayLine).map((item, index) => (\n <Line key={index} list={item}>\n {hasMore && isExpand === false && index === displayLine - 1 ? (\n <Space\n size={4}\n className={classnames(\n style[\"filter-item\"],\n style[\"option\"]\n )}\n onClick={() => {\n setIsExpand((value) => !value);\n }}\n >\n <FormattedMessage\n id=\"moreText\"\n moduleName=\"Filter\"\n defaultMessage=\"更多\"\n />\n <Icon\n className={style[\"filter-item-option-icon\"]}\n type=\"icon-arrow-thin-down\"\n />\n </Space>\n ) : null}\n </Line>\n ))}\n </Col>\n <Col>{extra}</Col>\n </Row>\n </Space>\n <Space\n className={classnames(style[\"filter-title\"], \"filter-title-wrap\")}\n align=\"center\"\n size={16}\n >\n {children}\n </Space>\n <Space\n className={classnames(style[\"filter-title\"], \"filter-title-wrap\", {\n [style[\"filter-title-hidden\"]]: !(hasMore && isExpand),\n })}\n align=\"top\"\n size={16}\n >\n <span className={style[\"filter-label\"]}>\n <FormattedMessage\n id=\"moreText\"\n moduleName=\"Filter\"\n defaultMessage=\"更多\"\n />\n </span>\n <div className={style[\"filter-list\"]}>\n {list.slice(displayLine).map((item, index) => (\n <Line key={index} list={item}>\n {index === list.length - displayLine - 1 && (\n <>\n <Space\n size={4}\n className={classnames(style[\"un-expand-shadow\"])}\n >\n <Space\n size={4}\n className={classnames(\n style[\"option\"],\n style[\"filter-item\"]\n )}\n >\n <FormattedMessage\n id=\"toggleUpText\"\n moduleName=\"Filter\"\n defaultMessage=\"收起\"\n />\n <Icon\n className={style[\"filter-item-option-icon\"]}\n type=\"icon-arrow-thin-up\"\n />\n </Space>\n </Space>\n <Space\n size={4}\n className={classnames(style[\"un-expand\"])}\n onClick={() => {\n setIsExpand((value) => !value);\n }}\n >\n <Space\n size={4}\n className={classnames(\n style[\"option\"],\n style[\"filter-item\"]\n )}\n >\n <FormattedMessage\n id=\"toggleUpText\"\n moduleName=\"Filter\"\n defaultMessage=\"收起\"\n />\n <Icon\n className={style[\"filter-item-option-icon\"]}\n type=\"icon-arrow-thin-up\"\n />\n </Space>\n </Space>\n </>\n )}\n </Line>\n ))}\n </div>\n </Space>\n </IntlProvider>\n );\n};\n\nFilterLines.defaultProps = {\n displayLine: 1,\n};\n\nexport default FilterLines;\n","import { Button, Space } from \"antd\";\nimport StateTag from \"@components/StateTag\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\nimport style from \"@components/Filter/style.module.scss\";\nimport classnames from \"classnames\";\nimport importMessages from \"@components/Filter/locale\";\n\nconst FilterValueDisplay = ({ value: filterValue, extraExpand, onChange }) => {\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"Filter\">\n <Space className={style[\"filter-title\"]} align=\"top\" size={16}>\n <span className={style[\"filter-label\"]}>\n <FormattedMessage\n id=\"selectedText\"\n moduleName=\"Filter\"\n defaultMessage=\"您已选择\"\n />\n </span>\n {/*<div className={style[\"filter-list\"]}>*/}\n <div className={style[\"filter-line\"]}>\n {filterValue.map(({ name, label, value }, index) => {\n return (\n <StateTag\n key={name}\n type=\"filterResult\"\n filterName={label}\n text={\n Array.isArray(value)\n ? value\n .map((item) => {\n return item.label;\n })\n .join(\",\")\n : value.label\n }\n closable\n onClose={() => {\n const newValue = filterValue.slice(0);\n newValue.splice(index, 1);\n onChange(newValue);\n }}\n />\n );\n })}\n <Space size={4} className={classnames(style[\"un-expand-shadow\"])}>\n {extraExpand}\n <Button size=\"small\">\n <FormattedMessage\n id=\"clearAllText\"\n moduleName=\"Filter\"\n defaultMessage=\"清空全部\"\n />\n </Button>\n </Space>\n <Space size={4} className={classnames(style[\"un-expand\"])}>\n {extraExpand}\n <Button\n size=\"small\"\n onClick={() => {\n onChange([]);\n }}\n >\n <FormattedMessage\n id=\"clearAllText\"\n moduleName=\"Filter\"\n defaultMessage=\"清空全部\"\n />\n </Button>\n </Space>\n\n </div>\n {/*</div>*/}\n </Space>\n </IntlProvider>\n );\n};\n\nexport default FilterValueDisplay;\n","import { Provider } from \"./context\";\nimport useControlValue from \"@kne/use-control-value\";\nimport clone from \"lodash/clone\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport { useMemo } from \"react\";\nimport { isNotEmpty } from \"@components/Common\";\nimport importMessages from \"./locale\";\n\nimport { IntlProvider } from \"@components/Intl\";\n\nconst FilterOuter = ({ children, className, ...props }) => {\n const [valueBase, onChange] = useControlValue(props);\n\n const value = useMemo(() => {\n return valueBase.filter((item) => isNotEmpty(item.value));\n }, [valueBase]);\n\n const filterValue = useMemo(() => {\n return new Map(value.map((item) => [item.name, item]));\n }, [value]);\n\n return (\n <IntlProvider moduleName=\"Filter\" importMessages={importMessages}>\n <Provider\n value={{\n value: filterValue,\n onChange: (item) => {\n const newFilterValue = clone(filterValue);\n item.value\n ? newFilterValue.set(item.name, item)\n : newFilterValue.delete(item.name);\n onChange?.(Array.from(newFilterValue.values()));\n },\n }}\n >\n <div className={classnames(style[\"filter\"], className)}>\n {children({ props, value, onChange })}\n </div>\n </Provider>\n </IntlProvider>\n );\n};\n\nFilterOuter.defaultProps = {\n defaultValue: [],\n};\n\nexport default FilterOuter;\n","import FilterLines from \"./FilterLines\";\nimport FilterValueDisplay from \"./FilterValueDisplay\";\nimport FilterOuter from \"./FilterOuter\";\n\nconst Filter = (props) => {\n return (\n <FilterOuter {...props}>\n {({ props, value, onChange }) => {\n const { extraExpand, ...others } = props;\n return (\n <>\n <FilterLines {...others} />\n {value && value.length > 0 && (\n <FilterValueDisplay\n value={value}\n onChange={onChange}\n extraExpand={extraExpand}\n />\n )}\n </>\n );\n }}\n </FilterOuter>\n );\n};\n\nFilter.defaultProps = {\n defaultValue: [],\n};\n\nexport default Filter;\n","import classnames from \"classnames\";\nimport { Space } from \"antd\";\nimport Icon from \"@components/Icon\";\nimport style from \"./style.module.scss\";\n\nconst FilterItem = ({ open, active, label, children }) => {\n return (\n <Space className={style[\"filter-item-wrap\"]}>\n <div\n className={classnames(style[\"filter-item\"], {\n [style[\"is-active\"]]: active,\n [style[\"is-visited\"]]: open,\n })}\n >\n <Space className={style[\"filter-item-label\"]} size={4}>\n <div>{label}</div>\n <Icon\n className={style[\"filter-item-icon\"]}\n type=\"icon-triangle-down\"\n />\n </Space>\n <div className={style[\"filter-item-field\"]}>{children}</div>\n </div>\n </Space>\n );\n};\n\nexport default FilterItem;\n","import { useState } from \"react\";\nimport isNotEmpty from \"@common/utils/isNotEmpty\";\nimport FilterItem from \"./FilterItem\";\nimport style from \"./style.module.scss\";\n\nconst withFieldItem =\n (WrappedComponent) =>\n ({ value, onChange, label, ...props }) => {\n const [open, setOpen] = useState(false);\n return (\n <FilterItem label={label} open={open} active={isNotEmpty(value)}>\n <WrappedComponent\n allowClear={false}\n {...props}\n className={style[\"filter-item-inner\"]}\n value={value}\n onChange={onChange}\n valueType=\"all\"\n onOpenChange={setOpen}\n />\n </FilterItem>\n );\n };\n\nexport default withFieldItem;\n","// extracted by mini-css-extract-plugin\nexport default {\"scroll-loader\":\"style_scroll-loader__Rcuti__yG3J4\",\"is-popup\":\"style_is-popup__pCRv2__yG3J4\"};","import SelectInnerInput from \"@common/components/SelectInnerInput\";\nimport { useMemo, useRef } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport style from \"./style.module.scss\";\nimport classnames from \"classnames\";\nimport { Space, Tree } from \"antd\";\nimport SimpleBar from \"@common/components/SimpleBar\";\nimport get from \"lodash/get\";\nimport omit from \"lodash/omit\";\nimport memoize from \"lodash/memoize\";\n\nconst useSelectInnerContext = SelectInnerInput.useContext;\n\nconst TreeFieldInner = ({ value: selected, setValue: setSelect, size }) => {\n const { fetchApi, props } = useSelectInnerContext();\n const dataFormat = useRefCallback(props.dataFormat);\n const { single, isPopup, searchPlaceholder, ...others } = props;\n const fieldNamesRef = useRef(props.fieldNames);\n fieldNamesRef.current = props.fieldNames;\n const fetchData = fetchApi.data;\n const { treeData } = useMemo(\n () =>\n dataFormat(fetchData, {\n fieldNames: fieldNamesRef.current,\n }),\n [dataFormat, fetchData]\n );\n\n return (\n <Space direction=\"vertical\" size={16}>\n <SimpleBar\n className={classnames(style[\"scroll-loader\"], {\n [style[\"is-popup\"]]: props.isPopup,\n })}\n >\n <Tree\n {...omit(others, [\"value\", \"valueType\", \"children\", \"dataFormat\"])}\n size={size}\n checkable={!single}\n treeData={treeData}\n onCheck={setSelect}\n checkedKeys={selected}\n onSelect={\n single\n ? setSelect\n : (selectKeys) => {\n const selectKey = selectKeys[0];\n if (selectKey === void 0) {\n return;\n }\n setSelect((current) => {\n const newCurrent = current.slice(0);\n const index = newCurrent.indexOf(selectKey);\n if (index > -1) {\n newCurrent.splice(index, 1);\n } else {\n newCurrent.push(selectKey);\n }\n return newCurrent;\n });\n }\n }\n selectedKeys={single ? selected : undefined}\n />\n </SimpleBar>\n </Space>\n );\n};\n\nconst TreeField = ({ maxLength, dataFormat, ...props }) => {\n return (\n <SelectInnerInput\n {...props}\n dataFormat={(data) => {\n return dataFormat(data, { fieldNames: props.fieldNames });\n }}\n >\n {({ value, setValue }) => {\n return (\n <TreeFieldInner size={maxLength} value={value} setValue={setValue} />\n );\n }}\n </SelectInnerInput>\n );\n};\n\nTreeField.defaultProps = {\n searchPlaceholder: \"搜索\",\n maxLength: Number.MAX_VALUE,\n size: \"middle\",\n isPopup: true,\n checkStrictly: false,\n dataFormat: (data, { fieldNames }) => {\n const treeToList = memoize((nodeList, { fieldNames }) => {\n const list = [];\n const core = (nodeList) => {\n if (!(Array.isArray(nodeList) && nodeList.length > 0)) {\n return;\n }\n nodeList.forEach((node) => {\n const value = node[get(fieldNames, \"key\", \"key\")],\n label = node[get(fieldNames, \"title\", \"title\")],\n children = node[get(fieldNames, \"children\", \"children\")];\n list.push({ id: value, value, label });\n core(children);\n });\n };\n core(nodeList);\n return list;\n });\n\n return {\n treeData: data,\n list: treeToList(data, { fieldNames }),\n };\n },\n};\n\nexport default TreeField;\n","import { useState, useMemo } from \"react\";\nimport { Button, Col, Popover, Row } from \"antd\";\nimport FilterItem from \"./FilterItem\";\nimport isNotEmpty from \"@common/utils/isNotEmpty\";\nimport classnames from \"classnames\";\nimport { FormattedMessage } from \"@components/Intl\";\nimport style from \"./style.module.scss\";\n\nconst PopoverItem = ({\n value,\n label,\n onValidate,\n overlayClassName,\n placement,\n onOpenChange,\n onChange,\n children,\n}) => {\n const [state, setState] = useState(value);\n const [open, setOpen] = useState(false);\n const disabled = useMemo(() => {\n return onValidate && !onValidate(state);\n }, [onValidate, state]);\n return (\n <Popover\n open={open}\n trigger=\"click\"\n placement={placement}\n overlayClassName={classnames(style[\"pop-util-overlay\"], overlayClassName)}\n onOpenChange={(open) => {\n setOpen(open);\n setState(value);\n onOpenChange && onOpenChange(open);\n }}\n content={\n <span\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n <div className={style[\"pop-util-content\"]}>\n {children({ value: state, onChange: setState })}\n </div>\n <Row className={style[\"pop-util-footer\"]} justify=\"end\" gutter={8}>\n <Col>\n <Button\n size=\"small\"\n onClick={() => {\n setOpen(false);\n onOpenChange && onOpenChange(false);\n }}\n >\n <FormattedMessage\n id=\"cancelText\"\n moduleName=\"Filter\"\n defaultMessage=\"取消\"\n />\n </Button>\n </Col>\n <Col>\n <Button\n size=\"small\"\n type=\"primary\"\n disabled={disabled}\n onClick={() => {\n setOpen(false);\n onOpenChange && onOpenChange(false);\n onChange && onChange(state);\n }}\n >\n <FormattedMessage\n id=\"determineText\"\n moduleName=\"Filter\"\n defaultMessage=\"确定\"\n />\n </Button>\n </Col>\n </Row>\n </span>\n }\n >\n <span>\n <FilterItem open={open} active={isNotEmpty(value)} label={label} />\n </span>\n </Popover>\n );\n};\n\nPopoverItem.defaultProps = {\n placeholder: \"请选择\",\n placement: \"bottomLeft\",\n};\n\nexport default PopoverItem;\n","import PopoverItem from \"../PopoverItem\";\nimport { Input } from \"antd\";\nimport get from \"lodash/get\";\nimport style from \"../style.module.scss\";\n\nconst InputFilterItem = ({\n label,\n value,\n onChange,\n placeholder,\n onValidate,\n overlayClassName,\n placement,\n onOpenChange,\n ...props\n}) => {\n return (\n <PopoverItem\n label={label}\n value={value}\n onChange={onChange}\n {...{ onValidate, overlayClassName, placement, onOpenChange }}\n >\n {({ value, onChange }) => (\n <Input\n {...props}\n placeholder={placeholder || `请输入${label}`}\n className={style[\"filter-item-text\"]}\n value={get(value, \"value\", \"\")}\n onChange={(e) =>\n onChange(\n e.target.value\n ? { label: e.target.value, value: e.target.value }\n : null\n )\n }\n />\n )}\n </PopoverItem>\n );\n};\n\nexport default InputFilterItem;\n","import PopoverItem from \"../PopoverItem\";\nimport { Input, InputNumber, Space } from \"antd\";\nimport get from \"lodash/get\";\nimport isNumber from \"lodash/isNumber\";\nimport { useIntl } from \"@components/Intl\";\nimport style from \"../style.module.scss\";\nimport React from \"react\";\n\nconst computedFilterValue = (range, unit, formatMessage) => {\n if (!isNumber(range[0]) && !isNumber(range[1])) {\n return null;\n }\n\n return {\n label: ((range) => {\n if (isNumber(range[0]) && isNumber(range[1])) {\n return `${range[0]}-${range[1]}${unit || \"\"}`;\n }\n if (isNumber(range[0])) {\n return formatMessage({ id: \"over\" }, { count: range[0], unit });\n }\n if (isNumber(range[1])) {\n return formatMessage({ id: \"lessThan\" }, { count: range[1], unit });\n }\n })(range),\n value: [range[0] || null, range[1] || null],\n };\n};\n\nconst InputFilterItem = ({\n label,\n value,\n onChange,\n placeholder,\n onValidate,\n overlayClassName,\n placement,\n onOpenChange,\n unit,\n ...props\n}) => {\n const { formatMessage } = useIntl({ moduleName: \"Filter\" });\n return (\n <PopoverItem\n label={label}\n value={value}\n onChange={onChange}\n {...{ onValidate, overlayClassName, placement, onOpenChange }}\n >\n {({ value, onChange }) => (\n <Space.Compact>\n <InputNumber\n {...props}\n placeholder={\n placeholder || `${formatMessage({ id: \"pleaseInput\" })}${label}`\n }\n className={style[\"filter-item-number-range\"]}\n value={get(value, \"value[0]\", \"\")}\n onChange={(target) => {\n onChange(\n computedFilterValue(\n [target, get(value, \"value[1]\")],\n unit,\n formatMessage\n )\n );\n }}\n />\n <Input\n style={{\n width: 30,\n borderLeft: 0,\n borderRight: 0,\n pointerEvents: \"none\",\n }}\n placeholder=\"~\"\n disabled\n />\n <InputNumber\n {...props}\n placeholder={\n placeholder || `${formatMessage({ id: \"pleaseInput\" })}${label}`\n }\n className={style[\"filter-item-number-range\"]}\n value={get(value, \"value[1]\", \"\")}\n onChange={(target) => {\n onChange(\n computedFilterValue(\n [get(value, \"value[0]\"), target],\n unit,\n formatMessage\n )\n );\n }}\n />\n {unit && (\n <Input\n style={{\n width: 50,\n borderLeft: 0,\n }}\n value={unit}\n disabled\n />\n )}\n </Space.Compact>\n )}\n </PopoverItem>\n );\n};\n\nInputFilterItem.defaultProps = {\n onValidate: (value) => {\n const range = get(value, \"value\");\n return !(\n range &&\n isNumber(range[0]) &&\n isNumber(range[1]) &&\n range[1] < range[0]\n );\n },\n};\n\nexport default InputFilterItem;\n","import { DatePicker } from \"antd\";\nimport withFieldItem from \"../withFieldItem\";\nimport dayjs from \"dayjs\";\n\nconst DatePickerFilterItem = withFieldItem(\n ({ value, onChange, picker, ...props }) => {\n return (\n <DatePicker\n {...props}\n picker={picker}\n value={value && dayjs(value.value)}\n onChange={(value) => {\n const { format } = Object.assign({ format: \"YYYY-MM-DD\" }, props);\n value &&\n onChange({\n label:\n picker !== \"date\"\n ? `${value.startOf(picker).format(format)}~${value\n .endOf(picker)\n .format(format)}`\n : value.format(format),\n value: new Date(value.startOf(picker).valueOf()),\n });\n }}\n />\n );\n }\n);\n\nDatePickerFilterItem.defaultProps = \"date\";\n\nexport default DatePickerFilterItem;\n","import { DatePicker } from \"antd\";\nimport withFieldItem from \"../withFieldItem\";\nimport dayjs from \"dayjs\";\n\nconst DateRangePickerFilterItem = withFieldItem(\n ({ value, onChange, ...props }) => {\n return (\n <DatePicker.RangePicker\n {...props}\n allowEmpty={[false, false]}\n value={\n value &&\n Array.isArray(value.value) &&\n value.value.length === 2 &&\n value.value.map((item) => dayjs(item))\n }\n onChange={(value) => {\n const { format } = Object.assign({ format: \"YYYY-MM-DD\" }, props);\n onChange({\n label: value.map((item) => item.format(format)).join(\"~\"),\n value: value.map((item) => new Date(item.valueOf())),\n });\n }}\n />\n );\n }\n);\n\nexport default DateRangePickerFilterItem;\n","import PopoverItem from \"../PopoverItem\";\nimport TypeDateRangePickerField from \"@common/components/TypeDateRangePickerField\";\nimport get from \"lodash/get\";\nimport style from \"../style.module.scss\";\nimport dayjs from \"dayjs\";\n\nconst TypeDateRangePickerFilterItem = ({\n label,\n value,\n onChange,\n ...props\n}) => {\n return (\n <PopoverItem\n label={label}\n value={value}\n onChange={onChange}\n onValidate={(item) => {\n const value = item?.value;\n return (\n value?.type && Array.isArray(value?.value) && value.value.length === 2\n );\n }}\n >\n {({ value, onChange }) => (\n <TypeDateRangePickerField\n {...props}\n className={style[\"filter-item-text\"]}\n value={get(value, \"value\")}\n onChange={(pickerValue) => {\n const { format } = Object.assign({ format: \"YYYY-MM-DD\" }, props);\n const value = pickerValue?.value || [];\n onChange({\n label: (() => {\n if (value[0] && !value[1]) {\n return `${dayjs(value[0]).format(format)}以后`;\n }\n if (!value[0] && value[1]) {\n return `${dayjs(value[1]).format(format)}以前`;\n }\n if (value[0] && value[1]) {\n return `${dayjs(value[0]).format(format)}~${dayjs(\n value[1]\n ).format(format)}`;\n }\n return \"\";\n })(),\n value: pickerValue,\n });\n }}\n />\n )}\n </PopoverItem>\n );\n};\n\nexport default TypeDateRangePickerFilterItem;\n","import { FormattedMessage } from \"@components/Intl\";\nimport withFieldItem from \"../withFieldItem\";\nimport AdvancedSelectField, {\n UserField,\n} from \"@common/components/AdvancedSelectField\";\nimport FunctionSelectField from \"@common/components/FunctionSelectField\";\nimport AddressSelectField from \"@common/components/AddressSelectField\";\nimport IndustrySelectField from \"@common/components/IndustrySelectField\";\nimport CascaderField from \"@common/components/CascaderField\";\nimport TreeField from \"@common/components/TreeField\";\nimport InputFilterItemField from \"./InputFilterItem\";\nimport NumberRangeFilterItemField from \"./NumberRangeFilterItem\";\n\nconst withInputDefaultPlaceholder =\n (WrappedComponent) =>\n ({ placeholder, label, ...props }) =>\n (\n <FormattedMessage\n id=\"defaultInputPlaceholder\"\n moduleName=\"Filter\"\n values={{ label }}\n >\n {(text) => {\n return (\n <WrappedComponent\n {...props}\n label={label}\n placeholder={placeholder || text}\n />\n );\n }}\n </FormattedMessage>\n );\n\nexport const AdvancedSelectFilterItem = withFieldItem(AdvancedSelectField);\nexport const UserFilterItem = withFieldItem(UserField);\nexport const FunctionSelectFilterItem = withFieldItem(FunctionSelectField);\nexport const IndustrySelectFilterItem = withFieldItem(IndustrySelectField);\n\nexport const CityFilterItem = withFieldItem(AddressSelectField);\n\nexport const CascaderFilterItem = withFieldItem(CascaderField);\n\nexport const TreeFilterItem = withFieldItem(TreeField);\nexport const InputFilterItem =\n withInputDefaultPlaceholder(InputFilterItemField);\nexport const NumberRangeFilterItem = withInputDefaultPlaceholder(\n NumberRangeFilterItemField\n);\n\nexport { default as DatePickerFilterItem } from \"./DatePickerFilterItem\";\nexport { default as DateRangePickerFilterItem } from \"./DateRangePickerFilterItem\";\nexport { default as TypeDateRangePickerFilterItem } from \"./TypeDateRangePickerFilterItem\";\n","import transform from \"lodash/transform\";\n\nconst getFilterValue = (filterValue) => {\n return transform(\n filterValue,\n (result, { name, value }) => {\n result[name] = Array.isArray(value)\n ? value.map(({ value }) => value)\n : value.value;\n },\n {}\n );\n};\n\nexport default getFilterValue;\n","import { App, Tag } from \"antd\";\nimport AddressSelectField, {\n getLabelForLocal,\n withAddressApi,\n} from \"@common/components/AddressSelectField\";\nimport { FormattedMessage, useIntl } from \"@components/Intl\";\nimport { usePreset } from \"@components/Global\";\nimport { useMemo } from \"react\";\nimport style from \"../../style.module.scss\";\n\nconst { CheckableTag } = Tag;\n\nconst CityFilterItemInner = ({\n value,\n onChange,\n single,\n maxLength,\n addressApi,\n ...props\n}) => {\n const { message } = App.useApp();\n const { locale } = usePreset();\n const { formatMessage } = useIntl({ moduleName: \"Filter\" });\n const cityList = useMemo(() => {\n return addressApi.getChinaHotCities();\n }, [addressApi]);\n return (\n <>\n {cityList.map((city) => {\n const { code } = city;\n const name = getLabelForLocal(city, locale);\n return (\n <CheckableTag\n key={code}\n size=\"small\"\n checked={\n single\n ? value?.value === code\n : !!(value || []).find(({ value }) => value === code)\n }\n onChange={(checked) => {\n if (single) {\n onChange(checked ? { value: code, label: name } : null);\n return;\n }\n const newValue = (value || []).slice(0);\n checked\n ? newValue.push({ value: code, label: name })\n : (() => {\n const index = newValue.findIndex(\n ({ value }) => value === code\n );\n newValue.splice(index, 1);\n })();\n if (newValue.length > maxLength) {\n message.error(\n formatMessage(\n { id: \"maxSelectedCount\" },\n { count: maxLength }\n )\n );\n return;\n }\n onChange(newValue);\n }}\n >\n {name}\n </CheckableTag>\n );\n })}\n <CheckableTag\n className={style[\"filter-advanced-item-other\"]}\n size=\"small\"\n checked={\n (single ? value?.value : value?.value && value.value.length > 0) &&\n !cityList.find(({ code }) =>\n single\n ? value?.value === code\n : !!(value || []).find(({ value }) => value === code)\n )\n }\n >\n <FormattedMessage\n id={\"otherText\"}\n moduleName=\"Filter\"\n defaultMessage=\"其他\"\n />\n <AddressSelectField\n {...props}\n className={style[\"filter-advanced-item-other-inner\"]}\n maxLength={maxLength}\n value={\n single ? value?.value : (value || []).map(({ value }) => value)\n }\n single={single}\n onChange={(value, ...args) => {\n const getCityValue = (value) => {\n const { city } = addressApi.getCity(value);\n return { value: city?.code, label: city?.name };\n };\n onChange(\n single\n ? getCityValue(value)\n : value.map((value) => getCityValue(value))\n );\n }}\n />\n </CheckableTag>\n </>\n );\n};\nCityFilterItemInner.defaultProps = {\n single: false,\n maxLength: 5,\n};\nconst CityFilterItem = withAddressApi(CityFilterItemInner);\nexport default CityFilterItem;\n","import { Tag, App } from \"antd\";\nimport isEqual from \"lodash/isEqual\";\nimport * as fields from \"../../fields\";\nimport { useIntl } from \"@components/Intl\";\n\nconst { CheckableTag } = Tag;\nconst ListFilterItem = ({\n value,\n onChange,\n label,\n single,\n maxLength,\n items,\n custom,\n}) => {\n const { message } = App.useApp();\n const { formatMessage } = useIntl({ moduleName: \"Filter\" });\n return (\n <>\n {items.map(({ label, value: itemValue }) => {\n return (\n <CheckableTag\n key={label}\n size=\"small\"\n checked={\n single\n ? isEqual(itemValue, value?.value)\n : !!(value || []).find(({ value }) => isEqual(itemValue, value))\n }\n onChange={(checked) => {\n if (single) {\n onChange(checked ? { value: itemValue, label } : null);\n return;\n }\n const newValue = (value || []).slice(0);\n checked\n ? newValue.push({ value: itemValue, label })\n : (() => {\n const index = newValue.find(({ value }) =>\n isEqual(itemValue, value)\n );\n newValue.splice(index, 1);\n })();\n if (newValue.length > maxLength) {\n message.error(\n formatMessage(\n { id: \"maxSelectedCount\" },\n { count: maxLength }\n )\n );\n return;\n }\n onChange(newValue);\n }}\n >\n {label}\n </CheckableTag>\n );\n })}\n {custom &&\n (() => {\n const ComponentItem = Object.values(fields).find(\n (item) => item === custom.type\n );\n if (!ComponentItem) {\n return null;\n }\n return (\n <ComponentItem\n {...custom.props}\n value={value}\n placeholder={`${formatMessage({ id: \"pleaseInput\" })}${label}`}\n onChange={onChange}\n />\n );\n })()}\n </>\n );\n};\n\nListFilterItem.defaultProps = {\n single: false,\n maxLength: 5,\n items: [],\n};\n\nexport default ListFilterItem;\n","import { Input, Space, Button } from \"antd\";\nimport { useState, useEffect, useRef } from \"react\";\nimport useSimulationBlur from \"@kne/use-simulation-blur\";\nimport { useIntl } from \"@components/Intl\";\n\nconst InputFilterItem = ({ value, label, onChange, ...props }) => {\n const propsValue = value?.value;\n const [inputValue, setInputValue] = useState(propsValue || \"\");\n const [active, setActive] = useState(false);\n const { formatMessage } = useIntl({ moduleName: \"Filter\" });\n const searchHandler = () => {\n onChange(inputValue ? { label: inputValue, value: inputValue } : null);\n };\n const ref = useSimulationBlur(() => {\n setActive(false);\n searchHandler();\n });\n const inputValueRef = useRef(\"\");\n inputValueRef.current = inputValue;\n\n useEffect(() => {\n if (propsValue !== inputValueRef.current) {\n setInputValue(propsValue);\n }\n }, [propsValue]);\n return (\n <span ref={ref}>\n <Space.Compact>\n <Input\n placeholder={`${formatMessage({ id: \"pleaseInput\" })}${label}`}\n {...props}\n size=\"small\"\n value={inputValue}\n onFocus={() => {\n setActive(true);\n }}\n onChange={(e) => {\n setInputValue(e.target.value);\n }}\n onPressEnter={searchHandler}\n />\n {active && (\n <Button size=\"small\" type=\"primary\" onClick={searchHandler}>\n {formatMessage({ id: \"search\" })}\n </Button>\n )}\n </Space.Compact>\n </span>\n );\n};\n\nexport default InputFilterItem;\n","import CityFilterItem from \"./CityFilterItem\";\nimport ListFilterItem from \"./ListFilterItem\";\nimport InputFilterItem from \"./InputFilterItem\";\n\nconst fields = { CityFilterItem, ListFilterItem, InputFilterItem };\n\nexport default fields;\n","import FilterOuter from \"../FilterOuter\";\nimport MoreFilterLines from \"../FilterLines\";\nimport { Flex } from \"antd\";\nimport advancedFields from \"./fields\";\nimport { createWithIntl, useIntl } from \"@components/Intl\";\nimport get from \"lodash/get\";\nimport { useContext } from \"../context\";\nimport style from \"../style.module.scss\";\nimport FilterValueDisplay from \"../FilterValueDisplay\";\nimport importMessages from \"../locale\";\n\nconst Line = ({ list }) => {\n const { value, onChange } = useContext();\n return (\n <Flex gap={8}>\n {list.map((item, index) => {\n const ComponentItem = item.type;\n return (\n <Flex gap={16} key={item.key || item.props.name || index}>\n <div className={style[\"filter-label\"]}>{item.props.label}:</div>\n <Flex wrap={true}>\n <ComponentItem\n {...item.props}\n value={\n value\n ? get(value.get(item.props.name), \"value\")\n : item.props.value\n }\n onChange={\n onChange\n ? (value) =>\n onChange({\n name: item.props.name,\n label: item.props.label,\n value,\n })\n : item.props.onChange\n }\n />\n </Flex>\n </Flex>\n );\n })}\n </Flex>\n );\n};\n\nconst AdvancedFilter = createWithIntl({ importMessages, moduleName: \"Filter\" })(\n (props) => {\n const { formatMessage } = useIntl({ moduleName: \"Filter\" });\n return (\n <FilterOuter {...props}>\n {({ value, onChange, props }) => {\n const { list, more } = props;\n return (\n <div>\n <Flex gap={8} vertical className={style[\"filter-advanced\"]}>\n {list.map((item, index) => {\n return <Line key={index} list={item} />;\n })}\n {more && (\n <MoreFilterLines\n className={style[\"filter-advanced-more\"]}\n label={`${formatMessage({ id: \"moreText\" })}:`}\n list={[more]}\n />\n )}\n </Flex>\n {value && value.length > 0 && (\n <FilterValueDisplay value={value} onChange={onChange} />\n )}\n </div>\n );\n }}\n </FilterOuter>\n );\n }\n);\n\nAdvancedFilter.fields = advancedFields;\nexport default AdvancedFilter;\n\nexport { advancedFields };\n","const FilterItemContainer = ({ children, ...props }) => {\n return children(props);\n};\n\nexport default FilterItemContainer;\n","import Filter from \"./Filter\";\nimport * as fields from \"./fields\";\nimport getFilterValue from \"./getFilterValue\";\n\nFilter.fields = fields;\nFilter.getFilterValue = getFilterValue;\nexport default Filter;\nexport { fields, getFilterValue };\nexport { default as AdvancedFilter, advancedFields } from \"./AdvancedFilter\";\nexport { default as FilterValueDisplay } from \"./FilterValueDisplay\";\nexport { default as FilterItem } from \"./FilterItem\";\nexport { default as FilterLines } from \"./FilterLines\";\nexport { default as PopoverItem } from \"./PopoverItem\";\nexport { default as withFieldItem } from \"./withFieldItem\";\nexport { default as FilterItemContainer } from \"./FilterItemContainer\";\nexport {\n NumberRangeFilterItem,\n InputFilterItem,\n CityFilterItem,\n AdvancedSelectFilterItem,\n UserFilterItem,\n FunctionSelectFilterItem,\n IndustrySelectFilterItem,\n CascaderFilterItem,\n TreeFilterItem,\n DatePickerFilterItem,\n DateRangePickerFilterItem,\n TypeDateRangePickerFilterItem,\n} from \"./fields\";\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 {\"helper-guide\":\"style_helper-guide__K5xFw__yG3J4\",\"inner\":\"style_inner__bMKeU__yG3J4\",\"content\":\"style_content__xTfWZ__yG3J4\",\"link\":\"style_link__93j7O__yG3J4\"};","import importMessages from \"./locale\";\nimport { IntlProvider } from \"@components/Intl\";\nimport Icon from \"@components/Icon\";\nimport { Space, Typography } from \"antd\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport Enum from \"@components/Enum\";\n\nconst HelperGuide = ({ name, className }) => {\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"HelperGuide\">\n <Enum moduleName=\"helperGuide\" name={name}>\n {(data) => {\n return (\n data &&\n data.value && (\n <div className={classnames(style[\"helper-guide\"], className)}>\n <Space className={style[\"inner\"]}>\n <Icon colorful type=\"icon-color-bangzhuyindao\" />\n <span className={style[\"content\"]}>{data.content}</span>\n {data.url && (\n <Typography.Link\n className={style[\"link\"]}\n href={data.url}\n target=\"_blank\"\n >\n 查看帮助\n <Icon type=\"icon-shuangjiantou-right\" />\n </Typography.Link>\n )}\n </Space>\n </div>\n )\n );\n }}\n </Enum>\n </IntlProvider>\n );\n};\n\nexport default HelperGuide;\n","import { createContext, useContext as useReactContext } from \"react\";\n\nexport const defaultProps = {\n menu: null,\n filter: null,\n menuOpen: true,\n menuWidth: \"240px\",\n menuFixed: true,\n menuCloseButton: true,\n backgroundColor: null,\n header: null,\n headerHeight: 0,\n headerFixed: true,\n headerInfo: null,\n backUrl: null,\n title: null,\n titleExtra: null,\n titleLeftExtra: null,\n noMargin: false,\n noPadding: false,\n optionFooterHeight: 0,\n option: null,\n optionWidth: \"400px\",\n optionNoPadding: false,\n optionFixed: true,\n optionFooter: null,\n};\n\nexport const context = createContext({});\n\nexport const { Provider, Consumer } = context;\n\nexport const useContext = () => {\n return useReactContext(context);\n};\n\nexport default context;\n","// extracted by mini-css-extract-plugin\nexport default {\"layout\":\"style_layout__k+lxR__yG3J4\",\"page-content\":\"style_page-content__4XeN8__yG3J4\",\"page-main\":\"style_page-main__P0yEF__yG3J4\",\"page-main-content\":\"style_page-main-content__1OVPN__yG3J4\",\"table-page\":\"style_table-page__JkbLf__yG3J4\",\"helper-guide\":\"style_helper-guide__vzw4z__yG3J4\",\"page-outer\":\"style_page-outer__2a6iH__yG3J4\",\"no-margin\":\"style_no-margin__S6caT__yG3J4\",\"page-menu\":\"style_page-menu__CZSa9__yG3J4\",\"closed\":\"style_closed__hmnft__yG3J4\",\"page-menu-inner\":\"style_page-menu-inner__rmKpu__yG3J4\",\"page-menu-main\":\"style_page-menu-main__OXg2M__yG3J4\",\"page-option-main\":\"style_page-option-main__LyfT3__yG3J4\",\"page-menu-main-outer\":\"style_page-menu-main-outer__yY+-Q__yG3J4\",\"page-option\":\"style_page-option__diS2S__yG3J4\",\"page-option-inner\":\"style_page-option-inner__Fj1JH__yG3J4\",\"page-option-footer\":\"style_page-option-footer__d7xE0__yG3J4\",\"fixed-container\":\"style_fixed-container__1VZwY__yG3J4\",\"is-fixed\":\"style_is-fixed__1aQhp__yG3J4\",\"page-menu-btn-outer\":\"style_page-menu-btn-outer__iVJiW__yG3J4\",\"page-menu-btn\":\"style_page-menu-btn__BiTy8__yG3J4\",\"page-title\":\"style_page-title__zw-Fd__yG3J4\",\"page-title-text\":\"style_page-title-text__Rj4RC__yG3J4\",\"no-padding\":\"style_no-padding__V7Dwy__yG3J4\",\"page-header\":\"style_page-header__a813p__yG3J4\",\"page-header-info\":\"style_page-header-info__cMrZR__yG3J4\",\"layout-menu\":\"style_layout-menu__yiab0__yG3J4\",\"sub-menu\":\"style_sub-menu__dyqK7__yG3J4\",\"no-collapsed\":\"style_no-collapsed__76h8W__yG3J4\",\"has-not-children\":\"style_has-not-children__fnjRK__yG3J4\",\"table-page-top\":\"style_table-page-top__bt1l9__yG3J4\",\"error-component\":\"style_error-component__HvghB__yG3J4\",\"state-bar-page\":\"style_state-bar-page__+aUM4__yG3J4\",\"back-icon\":\"style_back-icon__79v2G__yG3J4\"};","import style from \"../style.module.scss\";\nimport classnames from \"classnames\";\n\nconst FixedContainer = ({ className, isFixed, children }) => {\n if (isFixed) {\n return (\n <div\n className={classnames(\n className,\n \"fixed-container\",\n style[\"fixed-container\"],\n {\n [style[\"is-fixed\"]]: isFixed,\n }\n )}\n >\n {children}\n </div>\n );\n }\n return (\n <div\n className={classnames(\n className,\n \"fixed-container\",\n style[\"fixed-container\"]\n )}\n >\n {children}\n </div>\n );\n};\n\nexport default FixedContainer;\n","import { Button, Col } from \"antd\";\nimport classnames from \"classnames\";\nimport style from \"../style.module.scss\";\nimport FixedContainer from \"./FixedContainer\";\nimport { useContext } from \"../context\";\nimport Icon from \"@components/Icon\";\nimport SimpleBar from \"@common/components/SimpleBar\";\nimport { useLocation } from \"react-router-dom\";\nimport get from \"lodash/get\";\nimport isNotEmpty from \"@utils/isNotEmpty\";\nimport localStorage from \"@utils/localStorage\";\nimport { useMemo } from \"react\";\n\nconst pageMenuOpenKey = \"CORE_PAGE_MENU_OPEN_KEY\";\n\nexport const useMenuOpen = () => {\n const location = useLocation();\n const pathModuleName = location.pathname.split(\"/\")[1];\n return useMemo(() => {\n const pageResult = localStorage.getItem(pageMenuOpenKey) || {};\n return isNotEmpty(get(pageResult, pathModuleName))\n ? get(pageResult, pathModuleName)\n : true;\n }, [pathModuleName]);\n};\n\nconst Menu = () => {\n const { pageProps, setPageProps } = useContext();\n const { menu, menuOpen, menuWidth, menuFixed, menuCloseButton } = pageProps;\n\n const location = useLocation();\n const pathModuleName = location.pathname.split(\"/\")[1];\n\n return menu ? (\n <Col\n className={classnames(style[\"page-menu\"], {\n [style[\"closed\"]]: !menuOpen,\n })}\n style={{ \"--width\": menuWidth }}\n >\n <FixedContainer className={style[\"page-menu-inner\"]} isFixed={menuFixed}>\n <div className={style[\"page-menu-main-outer\"]}>\n <SimpleBar className={style[\"page-menu-main\"]}>{menu}</SimpleBar>\n </div>\n </FixedContainer>\n {menuCloseButton ? (\n <FixedContainer\n className={classnames(style[\"page-menu-btn-outer\"], {\n [style[\"is-fixed\"]]: menuFixed,\n })}\n isFixed={menuFixed}\n >\n <Button\n className={classnames(style[\"page-menu-btn\"], {\n [style[\"closed\"]]: !menuOpen,\n })}\n icon={\n menuOpen ? (\n <Icon type=\"icon-arrow-bold-left\" />\n ) : (\n <Icon type=\"icon-arrow-bold-right\" />\n )\n }\n onClick={() => {\n setPageProps({ menuOpen: !pageProps.menuOpen });\n const pageResult = localStorage.getItem(pageMenuOpenKey) || {};\n pageResult[pathModuleName] = !pageProps.menuOpen;\n localStorage.setItem(pageMenuOpenKey, pageResult);\n setPageProps({ menuOpen: !pageProps.menuOpen });\n }}\n />\n </FixedContainer>\n ) : null}\n </Col>\n ) : null;\n};\n\nexport default Menu;\n","import { defaultProps, useContext } from \"../context\";\nimport isEqual from \"lodash/isEqual\";\nimport { useEffect, useRef } from \"react\";\nimport { Result } from \"antd\";\nimport Features from \"@components/Features\";\nimport { useMenuOpen } from \"./Menu\";\n\nconst PageInner = ({ children, isPass, ...props }) => {\n const { setPageProps } = useContext();\n const propsRef = useRef(null);\n const localMenuOpen = useMenuOpen();\n const localMenuOpenRef = useRef(localMenuOpen);\n localMenuOpenRef.current = localMenuOpen;\n useEffect(() => {\n if (!isEqual(propsRef.current, props)) {\n propsRef.current = props;\n /**\n * 解决两个页面都用header时,menuButton产生的跳动问题:如果下一个页面有header,\n * headerHeight由其header组件自己更新,不再统一重置为0。\n * optionFooter同理\n * */\n const targetProps = Object.assign(\n {},\n defaultProps,\n props,\n typeof localMenuOpenRef.current === \"boolean\"\n ? { menuOpen: localMenuOpenRef.current }\n : {}\n );\n if (targetProps.header && targetProps.headerHeight === 0) {\n delete targetProps[\"headerHeight\"];\n }\n if (targetProps.optionFooter && targetProps.optionFooterHeight === 0) {\n delete targetProps[\"optionFooter\"];\n }\n setPageProps(targetProps);\n }\n }, [props, setPageProps]);\n\n if (isPass === false) {\n return <Result status=\"403\" subTitle=\"暂未开放此功能\" />;\n }\n\n return children;\n};\n\nconst Page = ({ featureId, name, openFeatures, ...props }) => {\n if (openFeatures === true) {\n return (\n <Features id={name}>\n {({ isPass }) => <PageInner {...props} key={name} isPass={isPass} />}\n </Features>\n );\n }\n return <PageInner {...props} key={name} />;\n};\n\nPage.defaultProps = defaultProps;\n\nexport default Page;\n","import { Affix as AntdAffix } from \"antd\";\n\nconst Affix = ({ isFixed, offsetTop, offsetBottom, onChange, ...props }) => {\n if (!isFixed) {\n return <div {...props} />;\n }\n return (\n <AntdAffix\n {...props}\n offsetTop={Number.isInteger(offsetTop) ? offsetTop - 0.1 : offsetTop}\n offsetBottom={offsetBottom}\n onChange={onChange}\n />\n );\n};\n\nexport default Affix;\n","import { useContext } from \"@components/Layout/context\";\nimport { useLayoutEffect, useRef } from \"react\";\n\nconst useContainerHeight = ({ targetKey }) => {\n const { setPageProps } = useContext();\n const ref = useRef(null);\n useLayoutEffect(() => {\n const callback = () => {\n setPageProps({\n [targetKey]: ref.current.offsetHeight,\n });\n };\n\n callback();\n const resizeObserver = new MutationObserver(callback);\n resizeObserver.observe(ref.current, { subtree: true, childList: true });\n return () => {\n resizeObserver.disconnect();\n };\n }, [setPageProps, targetKey]);\n\n return ref;\n};\n\nconst ContainerHeight = ({ targetKey, ...props }) => {\n const ref = useContainerHeight({ targetKey });\n return <div {...props} ref={ref} />;\n};\n\nexport default ContainerHeight;\n","import { useContext } from \"../context\";\nimport Affix from \"../Affix\";\nimport { navigationHeight } from \"@components/Navigation\";\nimport ContainerHeight from \"./ContainerHeight\";\nimport style from \"../style.module.scss\";\n\nconst Header = () => {\n const { pageProps } = useContext();\n const { header, headerFixed } = pageProps;\n return header ? (\n <Affix\n isFixed={headerFixed}\n className={style[\"page-header\"]}\n offsetTop={navigationHeight}\n >\n <ContainerHeight targetKey=\"headerHeight\">{header}</ContainerHeight>\n </Affix>\n ) : null;\n};\n\nexport default Header;\n","import { useContext } from \"../context\";\nimport { useRef } from \"react\";\nimport style from \"../style.module.scss\";\nimport classnames from \"classnames\";\n\nconst HeaderInfo = () => {\n const { pageProps } = useContext();\n const { headerInfo } = pageProps;\n const headerInfoRef = useRef(null);\n return headerInfo ? (\n <div\n ref={headerInfoRef}\n className={classnames(style[\"page-header-info\"], \"page-header-info\")}\n >\n {headerInfo}\n </div>\n ) : null;\n};\n\nexport default HeaderInfo;\n","import { Col, Row, Space } from \"antd\";\nimport { useNavigate } from \"react-router-dom\";\nimport Filter from \"@components/Filter\";\nimport Icon from \"@components/Icon\";\nimport style from \"../style.module.scss\";\n\nconst PageTitle = ({ title, filter, titleExtra, titleLeftExtra, backUrl }) => {\n const navigator = useNavigate();\n if (filter) {\n return (\n <Filter className={style[\"page-title\"]} {...filter} extra={titleExtra} />\n );\n }\n if (!(title || titleLeftExtra || titleExtra)) {\n return null;\n }\n return (\n <Row justify=\"space-between\" align=\"middle\" className={style[\"page-title\"]}>\n <Col>\n <Space>\n {title ? (\n <div className={style[\"page-title-text\"]}>\n {backUrl ? (\n <Space>\n <span\n className={style[\"back-icon\"]}\n onClick={() => {\n navigator(backUrl);\n }}\n >\n <Icon type=\"icon-arrow-thin-left\" />\n </span>\n <span>{title}</span>\n </Space>\n ) : (\n title\n )}\n </div>\n ) : null}\n {titleLeftExtra ? titleLeftExtra : null}\n </Space>\n </Col>\n <Col>{titleExtra}</Col>\n </Row>\n );\n};\n\nexport default PageTitle;\n","import { Col, Space } from \"antd\";\nimport FixedContainer from \"./FixedContainer\";\nimport { useContext } from \"../context\";\nimport classnames from \"classnames\";\nimport SimpleBar from \"@common/components/SimpleBar\";\nimport ContainerHeight from \"./ContainerHeight\";\nimport style from \"../style.module.scss\";\n\nconst Option = () => {\n const { pageProps } = useContext();\n const {\n option,\n optionWidth,\n optionFixed,\n optionFooter,\n optionFooterHeight,\n optionNoPadding,\n } = pageProps;\n return option ? (\n <Col\n className={classnames(style[\"page-option\"], \"page-option\")}\n style={{\n \"--width\": optionWidth,\n \"--foot-height\": optionFooterHeight + \"px\",\n }}\n >\n <FixedContainer\n className={style[\"page-option-inner\"]}\n isFixed={optionFixed}\n >\n <SimpleBar\n className={classnames(style[\"page-option-main\"], \"page-option-main\")}\n style={{ padding: optionNoPadding ? \"0px\" : \"var(--padding-width)\" }}\n >\n {option}\n </SimpleBar>\n {optionFooter ? (\n <ContainerHeight\n className={style[\"page-option-footer\"]}\n targetKey=\"optionFooterHeight\"\n >\n <Space align=\"center\">{optionFooter}</Space>\n </ContainerHeight>\n ) : null}\n </FixedContainer>\n </Col>\n ) : null;\n};\n\nexport default Option;\n","import { Alert, Button, Col, Layout as AntdLayout, Row } from \"antd\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { defaultProps, Provider } from \"./context\";\nimport Navigation, { navigationHeight } from \"@components/Navigation\";\nimport { getScrollEl } from \"@common/utils/importantContainer\";\nimport ReactErrorBoundary from \"@kne/react-error-boundary\";\nimport { Header, HeaderInfo, Menu, Option, PageTitle } from \"./Page\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport HelperGuide from \"@components/HelperGuide\";\n\nconst { Content } = AntdLayout;\n\nconst ErrorComponent = () => {\n return (\n <Alert\n message=\"系统出了点小问题,可刷新页面进行解决\"\n showIcon\n type=\"error\"\n action={\n <Button size=\"small\" danger onClick={() => window.location.reload()}>\n 刷新\n </Button>\n }\n />\n );\n};\n\nconst ErrorBoundary = (props) => {\n return <ReactErrorBoundary {...props} errorComponent={ErrorComponent} />;\n};\n\nconst Layout = ({ children, theme, navigation }) => {\n const [scrollLeft, setScrollLeft] = useState(0);\n const [pageProps, _setPageProps] = useState(Object.assign({}, defaultProps));\n const setPageProps = useCallback((value) => {\n return _setPageProps((pageProps) => {\n return Object.assign({}, pageProps, value);\n });\n }, []);\n useEffect(() => {\n const scrollEl = getScrollEl();\n const handlerScroll = () => {\n setScrollLeft(scrollEl.scrollLeft);\n };\n scrollEl.addEventListener(\"scroll\", handlerScroll);\n return () => {\n scrollEl.removeEventListener(\"scroll\", handlerScroll);\n };\n }, []);\n\n return (\n <AntdLayout\n className={style[\"layout\"]}\n style={Object.assign(\n {},\n {\n \"--nav-height\": navigationHeight + \"px\",\n \"--nav-height-base\": \"var(--nav-height)\",\n \"--scroll-left\": -scrollLeft + \"px\",\n },\n theme\n )}\n >\n {navigation && (\n <ErrorBoundary>\n <Navigation\n {...navigation}\n onChange={(path) => {\n navigation?.onChange && navigation.onChange(path);\n }}\n />\n </ErrorBoundary>\n )}\n <ErrorBoundary>\n <Content className={style[\"layout-content-wrap\"]}>\n <Provider value={{ pageProps, setPageProps }}>\n <ErrorBoundary>\n <Header />\n </ErrorBoundary>\n <ErrorBoundary>\n <HeaderInfo />\n </ErrorBoundary>\n <ErrorBoundary>\n <Row\n className={classnames(pageProps.className, style[\"page-outer\"])}\n wrap={false}\n style={{\n \"--nav-height\": `calc(${pageProps.headerHeight}px + var(--nav-height-base))`,\n \"--nav-only-height\": `var(--nav-height-base)`,\n }}\n >\n <ErrorBoundary>\n <Menu />\n </ErrorBoundary>\n <Col\n className={classnames(style[\"page-content\"], {\n [style[\"no-margin\"]]: pageProps.noMargin,\n })}\n flex={1}\n style={{ \"--background-color\": pageProps.backgroundColor }}\n >\n <div className={style[\"page-main\"]}>\n <ErrorBoundary>\n <PageTitle\n title={pageProps.title}\n backUrl={pageProps.backUrl}\n filter={pageProps.filter}\n titleExtra={pageProps.titleExtra}\n titleLeftExtra={pageProps.titleLeftExtra}\n />\n </ErrorBoundary>\n <div\n className={classnames(style[\"page-main-content\"], {\n [style[\"no-padding\"]]: pageProps.noPadding,\n })}\n >\n <ErrorBoundary>\n {pageProps.helperGuideName && (\n <HelperGuide\n className={style[\"helper-guide-page\"]}\n name={pageProps.helperGuideName}\n />\n )}\n {children}\n </ErrorBoundary>\n </div>\n </div>\n </Col>\n <ErrorBoundary>\n <Option />\n </ErrorBoundary>\n </Row>\n </ErrorBoundary>\n </Provider>\n </Content>\n </ErrorBoundary>\n </AntdLayout>\n );\n};\n\nLayout.defaultProps = {\n navigation: {},\n};\n\nexport default Layout;\n","import Page from \"./Page\";\nimport Permissions from \"@components/Permissions\";\n\nconst PermissionsPage = ({ permissions, ...props }) => {\n return (\n <Permissions {...Object.assign({}, permissions, { type: \"error\" })}>\n <Page {...props} />\n </Permissions>\n );\n};\n\nexport default PermissionsPage;\n","import { TablePage as Table } from \"@components/Table\";\nimport PermissionsPage from \"./PermissionsPage\";\nimport { forwardRef, useState } from \"react\";\nimport style from \"./style.module.scss\";\nimport HelperGuide from \"@components/HelperGuide\";\nimport classnames from \"classnames\";\n\nconst TablePage = forwardRef(\n (\n {\n helperGuideName,\n permissions,\n page,\n openFeatures,\n name,\n topArea,\n ...props\n },\n ref\n ) => {\n const [tableData, setTableData] = useState(null);\n return (\n <PermissionsPage\n name={name}\n openFeatures={openFeatures}\n permissions={permissions}\n {...page}\n >\n {topArea ? (\n <div className={style[\"table-page-top\"]}>\n {typeof topArea === \"function\" ? topArea(tableData) : topArea}\n </div>\n ) : null}\n <div className={style[\"table-page\"]}>\n {helperGuideName && (\n <HelperGuide\n className={classnames(\"helper-guide\", style[\"helper-guide\"])}\n name={helperGuideName}\n />\n )}\n <Table\n {...props}\n ref={ref}\n name={name}\n onRequestSuccess={(data) => {\n setTableData(data);\n }}\n />\n </div>\n </PermissionsPage>\n );\n }\n);\n\nexport default TablePage;\n","import StateBar from \"@components/StateBar\";\nimport PermissionsPage from \"./PermissionsPage\";\nimport style from \"./style.module.scss\";\nimport HelperGuide from \"@components/HelperGuide\";\n\nconst StateBarPage = ({\n helperGuideName,\n permissions,\n page,\n stateBar,\n children,\n ...props\n}) => {\n return (\n <PermissionsPage {...page} permissions={permissions} {...props}>\n <div className={style[\"state-bar-page\"]}>\n <StateBar {...stateBar} />\n </div>\n {helperGuideName && (\n <HelperGuide className={style[\"helper-guide\"]} name={helperGuideName} />\n )}\n {children}\n </PermissionsPage>\n );\n};\n\nexport default StateBarPage;\n","// extracted by mini-css-extract-plugin\nexport default {\"menu\":\"style_menu__gvIvn__yG3J4\",\"all-no-start-icon\":\"style_all-no-start-icon__CA+zR__yG3J4\",\"no-start-icon\":\"style_no-start-icon__LnC1S__yG3J4\",\"has-children\":\"style_has-children__m9tce__yG3J4\",\"has-children-node\":\"style_has-children-node__2bhEB__yG3J4\",\"is-root\":\"style_is-root__4hhOc__yG3J4\",\"title\":\"style_title__+Hcar__yG3J4\",\"active\":\"style_active__WU49K__yG3J4\",\"no-collapse\":\"style_no-collapse__aIZBM__yG3J4\",\"title-content\":\"style_title-content__cQXpK__yG3J4\",\"loading\":\"style_loading__1pU4P__yG3J4\"};","import style from \"./style.module.scss\";\nimport classnames from \"classnames\";\nimport { Spin } from \"antd\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport Permissions from \"@components/Permissions\";\nimport useControlValue from \"@kne/use-control-value\";\nimport Icon from \"@components/Icon\";\nimport { useCallback, useEffect, useMemo } from \"react\";\nimport ensureSlash from \"@kne/ensure-slash\";\nimport { useFetch } from \"@kne/react-fetch\";\n\nconst treeEnhance = (items) => {\n const childrenKeys = {},\n nodeMapping = [];\n const traversal = (children, options) => {\n const { parentKey, depth } = Object.assign(\n {\n parentKey: \"root\",\n depth: 0,\n paths: [],\n },\n options\n );\n if (!(Array.isArray(children) && children.length > 0)) {\n return null;\n }\n return children.map((item, index) => {\n const currentKey = `${\n item.key ||\n `${parentKey !== \"root\" ? `${parentKey}-` : \"\"}node-${index}`\n }`;\n if (!childrenKeys[parentKey]) {\n childrenKeys[parentKey] = [];\n }\n childrenKeys[parentKey].push(currentKey);\n const children = traversal(item.children, {\n parentKey: currentKey,\n depth: depth + 1,\n });\n childrenKeys[currentKey] &&\n childrenKeys[parentKey].push(...childrenKeys[currentKey]);\n const targetItem = Object.assign({}, item, {\n key: currentKey,\n parentKey,\n depth,\n children: children,\n originItem: item,\n });\n nodeMapping[currentKey] = targetItem;\n return targetItem;\n });\n };\n\n return { items: traversal(items), childrenKeys, nodeMapping };\n};\n\nconst MenuItem = (props) => {\n const navigation = useNavigate();\n const {\n id,\n className,\n label,\n iconType,\n path,\n request,\n onClick,\n isOpen,\n isSelected,\n onOpenChange,\n children,\n fetchOptions,\n depth,\n onLoad,\n allowCollapsed,\n } = props;\n\n const hasChildren =\n (Array.isArray(children) && children.length > 0) || fetchOptions;\n const { refresh, isLoading } = useFetch(\n Object.assign({}, fetchOptions, {\n auto: !allowCollapsed && fetchOptions,\n onRequestSuccess: (data) => {\n onLoad(data);\n },\n })\n );\n\n const renderChildren = () => {\n if (!hasChildren) {\n return null;\n }\n if (!allowCollapsed || (isOpen && children)) {\n return <div className={style[\"children-list\"]}>{children}</div>;\n }\n\n if (!allowCollapsed || (isOpen && isLoading)) {\n return (\n <div className={style[\"children-list\"]}>\n <Spin className={style[\"loading\"]} size=\"small\" />\n </div>\n );\n }\n };\n return (\n <Permissions request={request}>\n <div className={classnames(className, style[\"menu-item\"])}>\n <div\n className={classnames(style[\"title\"], {\n [style[\"active\"]]: isSelected,\n [style[\"has-children\"]]: hasChildren,\n [style[\"no-collapse\"]]: hasChildren && !allowCollapsed,\n [style[\"no-start-icon\"]]: !iconType,\n [style[\"is-root\"]]: depth === 0,\n })}\n onClick={(e) => {\n e.stopPropagation();\n if (!hasChildren && path) {\n navigation(path);\n return;\n }\n if (!hasChildren && !fetchOptions) {\n onClick?.(id, props);\n return;\n }\n if (!allowCollapsed) {\n return;\n }\n fetchOptions && refresh({});\n onOpenChange(!isOpen);\n }}\n >\n {iconType && <Icon type={iconType} />}\n <span className={style[\"title-content\"]}>{label}</span>\n {hasChildren && allowCollapsed && (\n <Icon\n type={isOpen ? \"icon-arrow-bold-down\" : \"icon-arrow-bold-right\"}\n />\n )}\n </div>\n {renderChildren()}\n </div>\n </Permissions>\n );\n};\n\nconst Menu = ({ className, allowCollapsed, ...props }) => {\n const { pathname, search } = useLocation();\n const [selectedKey, setSelectKeyChange] = useControlValue(props, {\n value: \"currentKey\",\n defaultValue: \"defaultCurrentKey\",\n });\n\n const [items, setItems] = useControlValue(props, {\n defaultValue: \"defaultItems\",\n value: \"items\",\n onChange: \"onItemsChange\",\n });\n\n const {\n items: targetItems,\n defaultOpenKeys,\n links,\n childrenKeys,\n hasStartIcon,\n hasChildren,\n } = useMemo(() => {\n const {\n items: targetItems,\n childrenKeys,\n nodeMapping,\n } = treeEnhance(items);\n let hasStartIcon = false,\n hasChildren = false;\n const links = [],\n defaultOpenKeys = [];\n childrenKeys?.[\"root\"]?.forEach((key) => {\n const node = nodeMapping[key];\n if (node.iconType) {\n hasStartIcon = true;\n }\n node.path && links.push({ path: node.path, key });\n if (Array.isArray(node.children) && node.children.length > 0) {\n hasChildren = true;\n defaultOpenKeys.push(node.key);\n }\n });\n return {\n defaultOpenKeys,\n links,\n items: targetItems,\n childrenKeys,\n hasStartIcon,\n hasChildren,\n };\n }, [items]);\n useEffect(() => {\n const matchedPath = links.find(({ path }) => {\n return (\n ensureSlash(pathname.replace(/[#,?].*/, \"\")) === ensureSlash(path) ||\n ensureSlash(pathname + search) === ensureSlash(path)\n );\n });\n if (matchedPath) {\n setSelectKeyChange(matchedPath.key);\n }\n }, [links, pathname, search, setSelectKeyChange]);\n\n const [openKeys, setOpenKeys] = useControlValue(\n Object.assign({}, props, {\n defaultOpenKeys: props.defaultOpenKeys || defaultOpenKeys,\n }),\n {\n value: \"openKeys\",\n defaultValue: \"defaultOpenKeys\",\n onChange: \"onOpenChange\",\n }\n );\n\n const renderChildren = useCallback(\n (children, options) => {\n const { parentKey, depth, selectedKey, openKeys, paths } = Object.assign(\n {\n parentKey: null,\n depth: 0,\n paths: [],\n },\n options\n );\n if (Array.isArray(children) && children.length > 0) {\n return children.map(\n ({ children, key: currentKey, originItem, ...item }) => {\n return (\n <MenuItem\n {...Object.assign({}, item)}\n id={currentKey}\n parentId={parentKey}\n depth={depth}\n allowCollapsed={allowCollapsed}\n isSelected={\n currentKey === selectedKey ||\n (childrenKeys[currentKey] &&\n childrenKeys[currentKey].indexOf(selectedKey) > -1)\n }\n onClick={setSelectKeyChange}\n onLoad={(data) => {\n setItems((items) => {\n const core = (children) => {\n if (Array.isArray(children) && children.length > 0) {\n return children.map((item) => {\n return Object.assign({}, item, {\n children:\n originItem === item ? data : core(item.children),\n });\n });\n }\n return null;\n };\n\n return core(items);\n });\n }}\n isOpen={(openKeys || []).indexOf(currentKey) > -1}\n key={currentKey}\n onOpenChange={() => {\n setOpenKeys((openKeys) => {\n const newOpenKeys = openKeys.slice(0);\n if (openKeys.indexOf(currentKey) > -1) {\n newOpenKeys.splice(openKeys.indexOf(currentKey), 1);\n } else {\n newOpenKeys.push(currentKey);\n }\n return newOpenKeys;\n });\n }}\n >\n {renderChildren(children, {\n parentKey,\n depth: depth + 1,\n selectedKey,\n openKeys,\n paths: [...paths, currentKey],\n })}\n </MenuItem>\n );\n }\n );\n }\n return null;\n },\n [setItems, setOpenKeys, setSelectKeyChange, childrenKeys, allowCollapsed]\n );\n\n return (\n <div\n className={classnames(className, style[\"menu\"], {\n [style[\"all-no-start-icon\"]]: !hasStartIcon,\n [style[\"has-children-node\"]]: hasChildren,\n })}\n >\n {renderChildren(targetItems, { selectedKey, openKeys })}\n </div>\n );\n};\n\nMenu.defaultProps = {\n defaultItems: [],\n allowCollapsed: true,\n};\n\nexport default Menu;\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgFavicon(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n t: 1679367216639,\n className: \"icon\",\n viewBox: \"0 0 1030 1024\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"p-id\": 1696,\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 201.171875,\n height: 200,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M252.479711 385.587015v293.958522l258.791705 146.528403 258.791704-146.528403V385.587015l-251.127142-145.62669L252.479711 385.587015z\",\n fill: \"#FFFFFF\",\n opacity: 0.1,\n \"p-id\": 1697\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M778.629396 405.875564A20.739405 20.739405 0 0 1 766.456267 405.875564l-39.675383-21.641119a22.091975 22.091975 0 0 1 21.190261-39.224526l39.675383 21.190261a22.542831 22.542831 0 0 1-10.820559 42.380523z m-518.485122-6.76285a22.542831 22.542831 0 0 1-19.837691-12.173129 22.091975 22.091975 0 0 1 9.918845-30.207394l40.12624-20.739405a22.993688 22.993688 0 0 1 30.207394 9.918846 22.542831 22.542831 0 0 1-9.918846 30.207394L270.513977 396.858431a20.739405 20.739405 0 0 1-10.369703 2.254283z m399.909829-57.258792a22.542831 22.542831 0 0 1-10.820559-2.705139l-39.675383-21.190262a22.993688 22.993688 0 0 1-9.017133-30.65825 22.091975 22.091975 0 0 1 30.207394-9.017133l39.675383 21.190261a22.542831 22.542831 0 0 1-10.369702 42.380523z m-279.531109-4.057709a22.542831 22.542831 0 0 1-9.918846-45.085663l40.12624-20.288548a22.542831 22.542831 0 0 1 30.207394 9.467989 22.993688 22.993688 0 0 1-9.918846 33.814247l-40.12624 20.288548a20.739405 20.739405 0 0 1-10.369702 1.803427zM541.027953 277.381425a19.386835 19.386835 0 0 1-10.820559-2.70514L519.837692 270.618575l-8.566276 4.508567a22.542831 22.542831 0 0 1-20.288549-40.577097l18.935979-9.017132a23.895401 23.895401 0 0 1 20.739405 0l21.190261 11.722272a22.091975 22.091975 0 0 1 9.017133 30.207394 22.091975 22.091975 0 0 1-19.837692 9.918846z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1698\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1002.70514 289.554554a24.346258 24.346258 0 0 1-9.918846 0L513.074842 47.895401 33.814247 287.300271a22.542831 22.542831 0 0 1-30.207394-10.369703 22.993688 22.993688 0 0 1 9.918846-30.207394L503.155996 2.358882a22.993688 22.993688 0 0 1 20.288549 0l489.179441 244.364292a22.542831 22.542831 0 0 1-9.918846 45.085663z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1699\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.085663 762.052299a22.542831 22.542831 0 0 1-9.918846-40.577096l81.154193-39.675383A22.542831 22.542831 0 0 1 135.256988 721.475203l-81.154193 39.675383a24.346258 24.346258 0 0 1-9.017132 0.901713z m889.540126-14.427412a24.346258 24.346258 0 0 1-9.918846 0l-80.703336-40.577096a22.542831 22.542831 0 0 1-10.369703-30.207394 22.091975 22.091975 0 0 1 30.207394-9.918846l80.703337 40.12624a22.542831 22.542831 0 0 1-9.918846 42.831379zM206.943192 683.15239a23.444545 23.444545 0 0 1-20.288548-12.623986 22.993688 22.993688 0 0 1 10.369702-30.207394l81.154193-39.675383a22.993688 22.993688 0 0 1 30.207394 10.369702 22.542831 22.542831 0 0 1-10.369702 30.207394l-81.154193 39.675383a24.346258 24.346258 0 0 1-9.918846 2.254284z m566.275924-16.230839a26.600541 26.600541 0 0 1-9.918845 0l-80.703337-40.577097a22.091975 22.091975 0 0 1-9.918846-30.207394 22.542831 22.542831 0 0 1 30.207394-9.918845l80.703337 40.126239a22.993688 22.993688 0 0 1 9.918846 30.207395 22.542831 22.542831 0 0 1-20.288549 10.369702z m-405.770965-62.669071a22.091975 22.091975 0 0 1-20.288548-12.623986 22.542831 22.542831 0 0 1 13.525699-30.207394l81.154193-39.224527a22.542831 22.542831 0 0 1 30.207394 10.369703 22.091975 22.091975 0 0 1-10.369702 29.756537l-81.154193 39.675384a26.600541 26.600541 0 0 1-11.271416 2.254283z m242.560866-18.034265a19.837692 19.837692 0 0 1-9.918846-2.254284l-80.703336-40.577096a22.091975 22.091975 0 0 1-9.918846-30.207394 22.542831 22.542831 0 0 1 30.207394-9.918846l80.703337 40.12624a23.444545 23.444545 0 0 1 9.918845 30.658251 22.542831 22.542831 0 0 1-18.485121 12.173129z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1700\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M512.173129 1024a24.346258 24.346258 0 0 1-9.918846-2.254283L12.623986 783.242561a22.993688 22.993688 0 0 1-12.623986-20.288548V273.774572a23.444545 23.444545 0 0 1 10.820559-19.386835 21.641118 21.641118 0 0 1 21.641118 0l479.711452 238.954012L991.884581 253.486023a21.641118 21.641118 0 0 1 21.641118 0 23.444545 23.444545 0 0 1 10.820559 19.386835v490.081155a22.993688 22.993688 0 0 1-12.623986 20.288548l-490.081154 238.503156a22.542831 22.542831 0 0 1-9.467989 2.254283zM45.085663 748.526601l467.087466 225.428313 467.087466-225.428313V310.293959l-454.914337 225.428313a22.542831 22.542831 0 0 1-22.091975 0L45.085663 310.293959z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1701\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M511.722272 1020.393147a22.542831 22.542831 0 0 1-22.542831-22.542831V526.254283a22.542831 22.542831 0 0 1 45.085663 0v471.596033a22.542831 22.542831 0 0 1-22.542832 22.542831z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1702\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M512.623986 841.853922a18.935978 18.935978 0 0 1-9.918846-2.254283l-266.005411-128.043282a22.091975 22.091975 0 0 1-11.271415-20.288548V383.783589a22.542831 22.542831 0 0 1 22.542831-22.542832 22.542831 22.542831 0 0 1 22.542832 22.542832V676.38954l243.913435 117.222723 243.462579-117.222723V383.783589a22.542831 22.542831 0 0 1 22.542831-22.542832 22.542831 22.542831 0 0 1 22.542832 22.542832v307.48422a22.542831 22.542831 0 0 1-12.623986 20.288548l-266.00541 128.043282a19.837692 19.837692 0 0 1-11.722272 2.254283z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1703\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFavicon);\nexport default __webpack_public_path__ + \"static/media/favicon.477a5bb996fd5b367fe0dddc29f67824.svg\";\nexport { ForwardRef as ReactComponent };","const importMessages = (locale) => {\n return ({\n 'en-US': () => import('./en-US'), 'zh-CN': () => import('./zh-CN')\n })[locale]();\n};\n\nexport default importMessages;","// extracted by mini-css-extract-plugin\nexport default {\"navigation-wrap\":\"style_navigation-wrap__VF8x2__yG3J4\",\"navigation\":\"style_navigation__60RrS__yG3J4\",\"is-fixed\":\"style_is-fixed__kHFWj__yG3J4\",\"navigation-logo\":\"style_navigation-logo__q9qHu__yG3J4\",\"logo\":\"style_logo__lB9RC__yG3J4\",\"navigation-list\":\"style_navigation-list__EYtkg__yG3J4\",\"navigation-options\":\"style_navigation-options__0BdJU__yG3J4\",\"menu-overlay\":\"style_menu-overlay__zU-vZ__yG3J4\",\"more-icon\":\"style_more-icon__gNMnt__yG3J4\"};","import { Col, Layout, Menu, Row, Space } from \"antd\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport get from \"lodash/get\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport classnames from \"classnames\";\nimport logo from \"./favicon.svg\";\nimport Image from \"@components/Image\";\nimport importMessages from \"./locale\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\nimport Icon from \"@components/Icon\";\nimport style from \"./style.module.scss\";\n\nconst { Header } = Layout;\n\nexport const navigationHeight = 48;\n\nconst SetTitle = ({ name, mapping, defaultTitle }) => {\n const propsRef = useRef({\n mapping,\n defaultTitle,\n });\n useEffect(() => {\n const title = get(propsRef.current.mapping.get(name), \"title\");\n document.title = (title ? title + \"-\" : \"\") + propsRef.current.defaultTitle;\n }, [name]);\n return null;\n};\n\nconst Navigation = ({\n permissions,\n list,\n headerLogo,\n rightOptions,\n isFixed,\n showIndex,\n indexLabel,\n defaultTitle,\n overflowedIndicator,\n base,\n onChange,\n className,\n}) => {\n const mapping = useMemo(() => {\n return new Map(list.map(({ key, ...others }) => [key, others]));\n }, [list]);\n const navigate = useNavigate();\n const location = useLocation();\n const navigationRef = useRef();\n const resizeObserverRef = useRef(null);\n const [nameLabel, setNameLabel] = useState(\"更多\");\n const pathModuleName = location.pathname\n .replace(new RegExp(`^${base}`), \"\")\n .split(\"/\")[1];\n const name = pathModuleName\n ? get(\n Array.from(mapping.entries()).find(([name, { path, permission }]) => {\n const _path =\n typeof path === \"function\" ? path(permission, permissions) : path;\n return _path.indexOf(\"/\" + pathModuleName) !== -1;\n }),\n \"[0]\"\n )\n : \"home\";\n useEffect(() => {\n const callback = () => {\n if (navigationRef.current) {\n const menuDom =\n navigationRef.current.querySelectorAll(`li[data-menu-id]`);\n let exist = false;\n for (let i = 0; i < menuDom.length; i++) {\n const dom = menuDom[i];\n const menuId = dom.getAttribute(\"data-menu-id\");\n if (menuId.indexOf(name) !== -1) {\n exist = true;\n break;\n }\n }\n let _nameLabel =\n mapping.get(name) && !exist ? get(mapping.get(name), \"title\") : \"\";\n setNameLabel(_nameLabel);\n }\n };\n const mutationObserverInitConfig = {\n attributes: true,\n childList: true,\n subtree: true,\n };\n if (navigationRef && navigationRef.current) {\n callback();\n if (resizeObserverRef.current) {\n resizeObserverRef.current.disconnect();\n }\n resizeObserverRef.current = new MutationObserver(callback);\n resizeObserverRef.current.observe(\n navigationRef.current,\n mutationObserverInitConfig\n );\n }\n\n return () => {\n resizeObserverRef.current && resizeObserverRef.current.disconnect();\n };\n }, [name, mapping]);\n const indexNav = showIndex\n ? {\n label: indexLabel || (\n <FormattedMessage id=\"indexLabel\" moduleName=\"Navigation\" />\n ),\n key: \"home\",\n onClick: () => {\n onChange && onChange(\"/\");\n setTimeout(() => {\n navigate(\"/\");\n }, 0);\n },\n }\n : false;\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"Navigation\">\n <FormattedMessage id=\"defaultTitle\" moduleName=\"Navigation\">\n {(text) => (\n <SetTitle\n defaultTitle={defaultTitle || text}\n mapping={mapping}\n name={name}\n />\n )}\n </FormattedMessage>\n <div className={classnames(style[\"navigation-wrap\"], className)}>\n <Header\n className={classnames(\"navigation\", style[\"navigation\"], {\n [style[\"is-fixed\"]]: isFixed,\n })}\n >\n <Row justify=\"space-around\" wrap={false}>\n <Col\n className={classnames(\n \"navigation-logo\",\n style[\"navigation-logo\"]\n )}\n >\n <Image\n className={classnames(style[\"logo\"])}\n src={logo}\n alt=\"logo\"\n {...headerLogo}\n />\n </Col>\n <Col\n ref={navigationRef}\n flex={1}\n className={classnames(\n \"navigation-list\",\n style[\"navigation-list\"]\n )}\n >\n <Menu\n selectedKeys={[name]}\n mode=\"horizontal\"\n overflowedIndicator={\n overflowedIndicator || (\n <Space size={4}>\n <span>\n {nameLabel || (\n <FormattedMessage\n id=\"overflowedIndicator\"\n moduleName=\"Navigation\"\n />\n )}\n </span>\n <span className={style[\"more-icon\"]}>\n <Icon type=\"icon-arrow-thin-down\" />\n </span>\n </Space>\n )\n }\n items={[\n indexNav,\n ...Array.from(mapping.entries())\n .filter(([name, { permission }]) => {\n if (typeof permission === \"string\") {\n return permissions.indexOf(permission) > -1;\n }\n if (typeof permission === \"function\") {\n return permission(permissions);\n }\n if (Array.isArray(permission)) {\n for (let item of permission) {\n if (permissions.indexOf(item) > -1) {\n return true;\n }\n }\n return false;\n }\n return true;\n })\n .map(([name, { title, path, permission }]) => {\n const _path =\n typeof path === \"function\"\n ? path(permission, permissions)\n : path;\n return {\n label: title,\n key: name,\n onClick: () => {\n onChange && onChange(_path);\n setTimeout(() => {\n navigate(_path);\n }, 0);\n },\n };\n }),\n ]}\n />\n </Col>\n <Col className={style[\"navigation-options\"]}>{rightOptions}</Col>\n </Row>\n </Header>\n </div>\n </IntlProvider>\n );\n};\n\nNavigation.defaultProps = {\n isFixed: true,\n permissions: [],\n list: [],\n showIndex: true,\n base: \"\",\n};\n\nexport default Navigation;\n","// extracted by mini-css-extract-plugin\nexport default {\"outer\":\"style_outer__vbHB9__yG3J4\"};","import { createElement } from \"react\";\nimport { Result, Tooltip } from \"antd\";\nimport get from \"lodash/get\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport { useGlobalContext as useContext } from \"@kne/global-context\";\n\nexport const computedIsPass = ({ permissions, request }) => {\n return Array.isArray(request) && request.length > 0\n ? request.some((currentKey) => (permissions || []).indexOf(currentKey) > -1)\n : true;\n};\n\nexport const usePermissions = () => {\n const preset = useContext();\n return {\n permissions: get(preset, \"global.accountInfo.permissions\", []),\n };\n};\n\nexport const usePermissionsPass = ({ request }) => {\n const { permissions } = usePermissions();\n return computedIsPass({ permissions, request });\n};\n\nconst Permissions = ({\n type,\n className,\n tagName,\n message,\n request,\n children,\n ...props\n}) => {\n const isPass = usePermissionsPass({ request });\n if (typeof children === \"function\") {\n return children({ isPass, type, request });\n }\n\n if (isPass === true) {\n return children;\n }\n\n if (type === \"error\") {\n return <Result status=\"403\" subTitle={message} />;\n }\n\n if (type === \"tooltip\") {\n return (\n <Tooltip title={message}>\n {createElement(\n tagName,\n { ...props, className: classnames(style[\"outer\"], className) },\n children\n )}\n </Tooltip>\n );\n }\n\n return null;\n};\n\nPermissions.defaultProps = {\n type: \"hidden\",\n tagName: \"span\",\n message: \"您暂无权限,请联系管理员\",\n};\n\nexport default Permissions;\n","// extracted by mini-css-extract-plugin\nexport default {\"state-bar\":\"style_state-bar__3jfis__yG3J4\",\"has-children\":\"style_has-children__oQDqU__yG3J4\",\"tab-tab-control\":\"style_tab-tab-control__SopeO__yG3J4\",\"tab-radio-control\":\"style_tab-radio-control__R8X6-__yG3J4\",\"tab-step-control\":\"style_tab-step-control__EQaCl__yG3J4\",\"inner-state-bar\":\"style_inner-state-bar__lWmOz__yG3J4\"};","import { Tabs } from \"antd\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\n/**\n *\n * @param className\n * @param type 'tab' | 'radio' | 'step'\n * @param stateOption\n * @param isInner\n * @param props\n * @returns {JSX.Element}\n * @constructor\n */\nconst StateBar = ({\n className,\n type = \"tab\",\n stateOption = [],\n isInner,\n ...props\n}) => {\n return (\n <Tabs\n {...props}\n data-testid={\"components-core-state-bar\"}\n className={classnames(\n style[\"state-bar\"],\n style[`tab-${type}-control`],\n className,\n {\n [style[\"inner-state-bar\"]]: isInner,\n [style[\"has-children\"]]: stateOption.some((item) => !!item.children),\n }\n )}\n style={{ \"--total-count\": stateOption.length }}\n animated={false}\n items={stateOption.map(({ tab, label, key, ...props }) => {\n return { label: tab || label, key, ...props };\n })}\n />\n );\n};\n\nexport default StateBar;\n","// extracted by mini-css-extract-plugin\nexport default {\"state-tag\":\"style_state-tag__Kx27z__yG3J4\",\"state-result-tag\":\"style_state-result-tag__CssDz__yG3J4\",\"state-skill-tag\":\"style_state-skill-tag__k0bQE__yG3J4\",\"state-tag-filter-result-wrapper\":\"style_state-tag-filter-result-wrapper__QYS5z__yG3J4\",\"state-tag-filter-name\":\"style_state-tag-filter-name__iJaJd__yG3J4\",\"state-tag-filterResult\":\"style_state-tag-filterResult__KTkot__yG3J4\",\"show-bg\":\"style_show-bg__OcL+R__yG3J4\",\"tag-text\":\"style_tag-text__JHCt+__yG3J4\",\"state-tag-wrapper\":\"style_state-tag-wrapper__A-gTE__yG3J4\"};","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 )}\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__yG3J4\",\"is-resize\":\"style_is-resize__ut6RW__yG3J4\",\"is-moving\":\"style_is-moving__BJ9wR__yG3J4\",\"cell-resize-bar\":\"style_cell-resize-bar__-mlUF__yG3J4\",\"is-computed\":\"style_is-computed__B9rIF__yG3J4\",\"options-column\":\"style_options-column__vsPTr__yG3J4\",\"options-btn\":\"style_options-btn__U3uoy__yG3J4\",\"tooltip\":\"style_tooltip__vJlkv__yG3J4\",\"table-changer-setting\":\"style_table-changer-setting__HcrwR__yG3J4\",\"width-changer-sign\":\"style_width-changer-sign__Aflyl__yG3J4\",\"columns-control\":\"style_columns-control__5-5ZF__yG3J4\",\"columns-control-content\":\"style_columns-control-content__MoeUI__yG3J4\",\"columns-control-content-title\":\"style_columns-control-content-title__P5sXV__yG3J4\",\"columns-control-content-scroller\":\"style_columns-control-content-scroller__CeYRV__yG3J4\",\"columns-control-content-footer\":\"style_columns-control-content-footer__0bQWm__yG3J4\",\"columns-control-content-input\":\"style_columns-control-content-input__G6yKq__yG3J4\",\"columns-control-content-list\":\"style_columns-control-content-list__aXvTs__yG3J4\",\"columns-control-content-item\":\"style_columns-control-content-item__jbyyE__yG3J4\",\"is-drag\":\"style_is-drag__U68aw__yG3J4\",\"columns-control-content-item-icon\":\"style_columns-control-content-item-icon__yJqZf__yG3J4\",\"sortable-drag\":\"style_sortable-drag__K5hWd__yG3J4\",\"sortable-ghost\":\"style_sortable-ghost__lKTd2__yG3J4\",\"columns-control-overlay\":\"style_columns-control-overlay__OxCIz__yG3J4\",\"sort-btn\":\"style_sort-btn__KvNLr__yG3J4\",\"sort-active-desc\":\"style_sort-active-desc__TIhMC__yG3J4\",\"sort-icon\":\"style_sort-icon__dB85I__yG3J4\",\"sort-active-asc\":\"style_sort-active-asc__RUBup__yG3J4\"};","// extracted by mini-css-extract-plugin\nexport default {\"col-item\":\"columns_col-item__Ym1Ec__yG3J4\",\"tag\":\"columns_tag__bQZLG__yG3J4\",\"avatar\":\"columns_avatar__SLPI+__yG3J4\",\"hover\":\"columns_hover__oAwHg__yG3J4\",\"primary\":\"columns_primary__6KtaA__yG3J4\",\"loading\":\"columns_loading__gtBay__yG3J4\",\"options\":\"columns_options__WvDZD__yG3J4\"};","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.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","import { createWithFetch } from \"@kne/react-fetch\";\nimport Ellipsis from \"./Ellipsis\";\nimport { Button } from \"antd\";\nimport ColItem from \"./ColItem\";\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 if (expand) {\n return (\n <DisplayInfo {...api}>\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={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>\n {typeof api.children === \"function\" ? api.children(data) : data}\n </Ellipsis>\n </ColItem>\n );\n }}\n </DisplayInfo>\n );\n }\n return (\n <ColItem\n type=\"hide-info\"\n primary\n isEmpty={isEmpty}\n emptyRender={emptyRender}\n >\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 { 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\";\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 = ({ columns, name, controllerOpen, tableWidth }) => {\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 } = usePreset();\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 return (\n currentMoveColumnIndexRef.current === null ||\n currentMoveColumnIndexRef.current === index ||\n column.type === \"hideInfo\" ||\n !isEqual(record[column.name], prevRecord[column.name])\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 memoize from \"lodash/memoize\";\nimport get from \"lodash/get\";\nimport useRefCallback from \"@kne/use-ref-callback\";\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],\n type === \"hideInfo\" &&\n !isNil(expandInfo) &&\n pick(columnTypes[expandType || \"other\"], [\"width\", \"min\", \"max\"])\n );\n const targetRender = memoize(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\n const targetRenderWithProps = (colValue) => {\n const isEmpty = (\n emptyOf ||\n ((value) => value === \"\" || value === void 0 || value === null)\n )(colValue);\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: 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 });\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 }\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","concat","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","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","id","onOk","Popconfirm","direction","stopPropagation","align","onConfirm","okButtonProps","getPopupContainer","ConfirmLink","Typography","Link","ConfirmText","Text","baseLoaders","description","EnumLoaderFetch","withFetch","data","getEnumsMap","enums","Map","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","context","createContext","Provider","useContext","useReactContext","Line","onChange","ComponentItem","FilterLines","displayLine","extra","hasMore","isExpand","setIsExpand","IntlProvider","FormattedMessage","defaultMessage","Row","justify","wrap","Col","flex","filterValue","extraExpand","StateTag","filterName","text","closable","onClose","newValue","splice","FilterOuter","valueBase","useControlValue","useMemo","filter","isNotEmpty","newFilterValue","clone","delete","defaultValue","Filter","others","FilterValueDisplay","open","active","setOpen","FilterItem","allowClear","valueType","onOpenChange","useSelectInnerContext","SelectInnerInput","TreeFieldInner","selected","setValue","setSelect","fetchApi","dataFormat","single","isPopup","searchPlaceholder","fieldNamesRef","fieldNames","fetchData","treeData","SimpleBar","Tree","omit","checkable","onCheck","checkedKeys","onSelect","selectKeys","selectKey","newCurrent","push","selectedKeys","TreeField","maxLength","MAX_VALUE","checkStrictly","treeToList","nodeList","_ref5","core","forEach","node","PopoverItem","onValidate","state","setState","Popover","trigger","content","gutter","placeholder","Input","computedFilterValue","range","unit","isNumber","count","InputFilterItem","InputNumber","width","borderLeft","borderRight","pointerEvents","DatePickerFilterItem","withFieldItem","picker","DatePicker","dayjs","format","startOf","endOf","Date","valueOf","RangePicker","allowEmpty","TypeDateRangePickerField","pickerValue","withInputDefaultPlaceholder","AdvancedSelectFilterItem","AdvancedSelectField","UserFilterItem","UserField","FunctionSelectFilterItem","FunctionSelectField","IndustrySelectFilterItem","IndustrySelectField","CityFilterItem","AddressSelectField","CascaderFilterItem","CascaderField","TreeFilterItem","InputFilterItemField","NumberRangeFilterItem","NumberRangeFilterItemField","transform","result","CheckableTag","Tag","CityFilterItemInner","addressApi","App","useApp","cityList","getChinaHotCities","city","code","getLabelForLocal","checked","find","findIndex","error","_ref6","getCityValue","getCity","withAddressApi","ListFilterItem","custom","itemValue","isEqual","fields","propsValue","inputValue","setInputValue","setActive","searchHandler","useSimulationBlur","inputValueRef","useEffect","onFocus","onPressEnter","Flex","gap","AdvancedFilter","vertical","MoreFilterLines","advancedFields","getFilterValue","colorful","url","href","menuOpen","menuWidth","menuFixed","menuCloseButton","backgroundColor","header","headerHeight","headerFixed","headerInfo","backUrl","titleExtra","titleLeftExtra","noMargin","noPadding","optionFooterHeight","option","optionWidth","optionNoPadding","optionFixed","optionFooter","Consumer","isFixed","pageMenuOpenKey","Menu","pageProps","setPageProps","pathModuleName","useLocation","pathname","split","FixedContainer","icon","pageResult","PageInner","isPass","propsRef","localMenuOpen","useMenuOpen","localMenuOpenRef","targetProps","Result","status","subTitle","Page","featureId","openFeatures","Features","offsetTop","offsetBottom","AntdAffix","targetKey","useLayoutEffect","callback","offsetHeight","resizeObserver","MutationObserver","observe","subtree","childList","disconnect","useContainerHeight","Header","Affix","navigationHeight","ContainerHeight","HeaderInfo","headerInfoRef","navigator","useNavigate","Option","padding","Content","AntdLayout","ErrorComponent","Alert","showIcon","action","location","reload","ErrorBoundary","ReactErrorBoundary","errorComponent","Layout","theme","navigation","scrollLeft","setScrollLeft","_setPageProps","useCallback","scrollEl","getScrollEl","handlerScroll","addEventListener","removeEventListener","Navigation","path","PageTitle","helperGuideName","HelperGuide","permissions","Permissions","forwardRef","page","topArea","tableData","setTableData","PermissionsPage","Table","onRequestSuccess","stateBar","StateBar","MenuItem","iconType","request","isOpen","isSelected","fetchOptions","depth","onLoad","allowCollapsed","hasChildren","refresh","isLoading","useFetch","auto","Spin","search","selectedKey","setSelectKeyChange","setItems","targetItems","defaultOpenKeys","links","childrenKeys","hasStartIcon","_childrenKeys$root","nodeMapping","traversal","options","parentKey","paths","currentKey","targetItem","originItem","treeEnhance","matchedPath","ensureSlash","replace","openKeys","setOpenKeys","renderChildren","parentId","newOpenKeys","defaultItems","SetTitle","mapping","defaultTitle","document","headerLogo","rightOptions","showIndex","indexLabel","overflowedIndicator","base","navigate","navigationRef","resizeObserverRef","nameLabel","setNameLabel","RegExp","entries","permission","menuDom","exist","i","getAttribute","_nameLabel","mutationObserverInitConfig","attributes","indexNav","setTimeout","Image","src","logo","alt","mode","_path","computedIsPass","some","usePermissions","usePermissionsPass","tagName","Tooltip","createElement","stateOption","isInner","Tabs","animated","tab","tagTypeEnum","default","skill","color","borderColor","filterResult","success","progress","info","other","showBorder","showBackground","tagColor","_tagTypeEnum$type","_tagTypeEnum$type2","background","border","ellipsis","tooltip","ColItem","isEmpty","emptyRender","hover","primary","colValue","loading","setLoading","columnsStyle","resolve","colItem","event","finally","DisplayInfo","createWithFetch","api","expand","onExpand","Ellipsis","_ref17","columnTypes","date","render","isValid","min","max","dateShort","dateRange","datetime","hideSecond","serialNumber","serialNumberShort","user","_ref7","userName","_ref8","contacts","_ref9","tag","_ref10","isEnum","_ref11","avatar","_ref12","Avatar","singleRow","_ref13","hideInfo","HideInfoComponent","mainInfo","_ref14","_ref15","_ref16","OptionsList","sensitiveInfo","_ref18","otherSmall","otherLarge","Panel","Collapse","close","columns","config","searchText","setSearchText","leftFixedColumns","rightFixedColumns","visibleColumns","hiddenColumns","groupBy","fixed","hidden","sort","a","b","renderColumn","titleText","groupHeader","defaultActiveKey","ghost","bordered","List","Item","Checkbox","ReactSortable","dragClass","ghostClass","forceFallback","setList","newConfig","cloneDeep","columnsList","col","handlerColumnsChange","animation","delayOnTouchStart","delay","preventDefault","visible","SearchInput","prefix","onSearch","dataSource","TableConfig","setConfig","ColumnsControlContent","controllerOpen","tableWidth","currentMoveColumnIndex","setCurrentMoveColumnIndex","currentMoveColumnIndexRef","currentMoveColumnRef","startPointRef","setConfigBase","tableServerApis","tablePageServerParams","getDataApi","saveConfig","useDebouncedCallback","setDataFunc","send","cache","isLocal","getTableConfig","computedIndex","lastNotOptionsColumnIndex","findLastIndex","totalWidth","sumBy","computedRealWidth","Math","resizeBarRender","column","onMouseDown","clientX","resize","delta","currentWidth","computedColumnProps","targetColumn","movingClass","realWidth","onHeaderCell","onCell","shouldCellUpdate","record","prevRecord","handlerCancelResize","handlerResize","documentElement","columnsConfig","rowKey","renderProps","expandInfo","setExpandInfo","columnRenderPropsRef","expandType","titleRender","emptyOf","disableColItem","otherColProps","targetRender","itemKey","colProps","targetRenderWithProps","hasOwnProperty","groupHeaderColumns","newColumns","group","appendGroupHeader","columnIndex","targetHeader","otherHeader","currentGroup","startIndex","groupColumn","hasGroupHeader","sortArrayToMap","setSort","mapSort","setMapSort","newSort","targetValue","sticky","stickyOffset","pagination","columnRenderProps","summary","scroll","onTablePropsReady","setTableWidth","isLayout","setIsLayout","isDebounce","useColumnTypeProps","computedColumnConfigProps","useTableConfig","sortRender","useSort","targetColumns","groupColumns","useGroupHeader","onTablePropsReadyCallback","Scroller","scroller","getScrollTarget","querySelector","AntdTable","x","_len","args","_key","pageData","FeaturesColumnsConfig","TablePageInner","requestParams","fetchProps","isComplete","setData","loadMore","getColumns","handlerDataFormat","formatData","tableProps","total","showTotal","paramsType","currentName","pageSize","requestType","pageSizeName","onShowSizeChange","scrollTop","showSizeChanger","showQuickJumper","totalCount","pageSizeKey","toUpperCase","setPageSize","fetchParams"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"static/js/2999.e7f01852.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,MAAM,GAANC,OAAUb,GAAWa,OAAGZ,GAAYY,OAAGX,EAAgBY,KACrD,MACDD,OAAGE,OAAOC,OAAOb,GAAYW,KAAK,MAAID,OAAGT,GAAWA,EAAQa,WAAU,IAIrEC,EAAcC,IAAwC,IAAvC,KAAEC,EAAI,KAAEC,EAAI,QAAEjB,KAAYkB,GAAOH,EACpD,MAAMhB,EAAaoB,IAAKD,EAAO,CAAC,OAAQ,QAAS,QAAS,WACnDE,EAAYC,IAAiBC,EAAAA,EAAAA,UAASN,EAAKT,QAAU,GACtDgB,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,EAAUzB,OACZ,OAGF,MAAMX,EAAckC,EAAQI,YAC1BrC,EAAe+B,EAAOM,YACtBpC,EAAkB,GAAGqC,IAAIC,KAAKJ,GAAYP,GAAOA,EAAGY,cAChDhC,EAAeZ,EAAkB,CACrCG,cACAC,eACAC,kBACAC,aACAC,aAEFsC,EAAAA,EAAAA,kBAAgB,KACdjB,EAAchB,EAAa,GAC3B,IAEE0B,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,CAChB/D,IAAKgE,EACLE,UAAWC,IAAW,oBAAqBC,GAC3CH,eAGJ,MAAM,UAAEC,EAAS,QAAEG,KAAY/B,GAAUyB,EACnCO,EAAYD,GAAW/B,EAAMiC,QAC7BC,EAAgBF,EAAYG,EAAAA,QAAgBC,EAAAA,QAElD,OACEC,EAAAA,EAAAA,eAACH,EAAa,CACZI,OAAQN,IAAgC,IAAnBhC,EAAMuC,YACvB9C,OAAO+C,OACT,CAAC,EACDxC,EACAgC,IAAchC,EAAMyC,SAAWd,GAC3B,CACEc,SAAS,GAEX,CAAC,GAEP/E,IAAKgE,EACLE,UAAWC,IACT,oBACAC,EACAF,IAEF,EAIAc,EAAiB5D,EAAU6D,EAAAA,MAAMC,QAAUD,EAAAA,MAEjD,OACEE,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAC,SAAA,EACEC,EAAAA,EAAAA,KAAA,OAAKpB,UAAWE,EAA0BjB,IAAKA,KAC/CgC,EAAAA,EAAAA,MAAA,OAAKjB,UAAWE,EAA0BiB,SAAA,EACxCC,EAAAA,EAAAA,KAAA,OAAKpB,UAAWE,EAAuBjB,IAAKF,EAAQoC,SACjDhD,KAEHiD,EAAAA,EAAAA,KAAA,OAAKpB,UAAWE,EAAuBjB,IAAKL,EAAUuC,UACpDC,EAAAA,EAAAA,KAACN,EAAc,IAAK7D,EAAUkE,SAC3BjD,EAAKmB,IAAIO,WAIhBqB,EAAAA,EAAAA,MAACH,EAAc,IAAK7D,EAAUkE,SAAA,CAC3BjD,EACEyB,MAAM,EAAGrB,GACTe,KAAI,CAACgC,EAAMvB,IAAUF,EAAayB,EAAMvB,GAAO,KACjDJ,EAAUjC,OAAS,IAClB2D,EAAAA,EAAAA,KAACE,EAAAA,SAAQ,CACPC,iBAAkBrB,EAClBsB,KAAM,CACJC,MAAO/B,EAAUL,KAAI,CAACgC,EAAMvB,KACnB,CACLhE,IAAKgE,EACL4B,MAAO9B,EAAayB,EAAMvB,GAAO,QAGrCqB,SAEDhD,SAIN,EAIPH,EAAY2D,aAAe,CACzBxD,MACE8C,EAAAA,EAAAA,MAACW,EAAAA,OAAM,CAAAT,SAAA,CAAC,gBAENC,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAK,6BAKjB,S,8HC1LA,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,KACG5E,GACJvB,EACC,MAAM,cAAEoG,IAAkBC,EAAAA,EAAAA,SAAQ,CAAEZ,WAAY,kBAC1Ca,GAAQC,EAAAA,EAAAA,mBACd,OAAIvC,GAEAO,EAAAA,EAAAA,KAACe,EAAgB,IACX/D,EACJuE,SAAUA,EACVF,QAAUjG,IACR2G,EAAM,CACJrB,KAAM,UACNU,MAAOA,EACPQ,eACAtC,OAAQC,EACRN,QAASA,GAAW4C,EAAc,CAAEI,GAAI,YACxCP,OAAQA,GAGJG,EADAtC,EACc,CAAE0C,GAAI,UACN,CAAEA,GAAI,YACxBR,WAAYA,GAAcI,EAAc,CAAEI,GAAI,WAC9CX,WACAY,KAAMb,GACN,KAMRrB,EAAAA,EAAAA,KAACmC,EAAAA,WAAU,CACTf,OACEvB,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CACJyC,UAAU,WACVf,QAAUjG,IACRA,EAAEiH,iBAAiB,EACnBtC,SAAA,CAEDqB,IACCvB,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CAAC1D,KAAM,EAAGqG,MAAM,QAAQ1D,UAAWE,EAAeiB,SAAA,EACtDC,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAAC7B,UAAU,aAAa8B,KAAK,yBACjCU,MAGLvB,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CACJ1D,KAAM,EACNqG,MAAM,QACN1D,UAAWC,IAAWC,EAAkB,CACtC,CAACA,GAAqBsC,IACrBrB,SAAA,EAEDqB,IACApB,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAAC7B,UAAU,aAAa8B,KAAK,yBAEnCzB,GAAW4C,EAAc,CAAEI,GAAI,kBAItCN,UAAWA,EACXY,UAAWlB,EACXmB,cAAe,CACblD,OAAQC,GAEV+B,SAAUA,EACVnB,iBAAkBtB,IAAWC,EAAkB,CAC7C,CAACA,GAAqBS,IAExBkD,kBAAmBb,EACnBL,SAAUA,EACVC,WAAYA,EACZC,WAAYA,EACZC,OACEA,GAGIG,EADAtC,EACc,CAAE0C,GAAI,UACN,CAAEA,GAAI,YACzBlC,UAEDC,EAAAA,EAAAA,KAACe,EAAgB,IAAK/D,EAAOuE,SAAUA,KAC5B,IAUnB,OALAP,EAAiBT,aAAe,CAC9Bd,SAAS,EACT+B,YAAY,GAGPR,CAAgB,EAGZ0B,EAAc5B,EAAY6B,EAAAA,WAAWC,MACrCC,EAAc/B,EAAY6B,EAAAA,WAAWG,MAElD,EAAehC,EAAYN,EAAAA,O,wICrH3B,MAAMuC,EAAc,CAClB,CACE,SACA,IAAM,CACJ,CAAEhI,MAAO,IAAKiI,YAAa,UAC3B,CACEjI,MAAO,IACPiI,YAAa,YAInB,CACE,UACA,IAAM,CACJ,CAAEA,YAAa,eAAMjI,MAAO,KAC5B,CACEiI,YAAa,eACbjI,MAAO,OAIb,CACE,UACA,IAAM,CACJ,CAAEiI,YAAa,SAAKjI,MAAO,KAC3B,CACEiI,YAAa,SACbjI,MAAO,OAIb,CACE,YACA,IAAM,CACJ,CAAEiI,YAAa,2BAAQjI,MAAO,4BAC9B,CACEiI,YAAa,2BACbjI,MAAO,4BAET,CAAEiI,YAAa,eAAMjI,MAAO,gBAC5B,CACEiI,YAAa,2BACbjI,MAAO,8BAIb,CACE,iBACA,IAAM,CACJ,CACEA,MAAO,EACPiI,YAAa,gBAEf,CACEjI,MAAO,EACPiI,YAAa,gBAEf,CACEjI,MAAO,EACPiI,YAAa,gBAEf,CACEjI,MAAO,EACPiI,YAAa,gBAEf,CACEjI,MAAO,EACPiI,YAAa,sBAEf,CACEjI,MAAO,EACPiI,YAAa,wBAInB,CACE,aACA,IAAM,CACJ,CACEA,YAAa,eACbjI,MAAO,IAET,CACEiI,YAAa,eACbjI,MAAO,IAET,CACEiI,YAAa,eACbjI,MAAO,IAET,CACEiI,YAAa,eACbjI,MAAO,IAET,CACEiI,YAAa,eACbjI,MAAO,IAET,CACEiI,YAAa,iCACbjI,MAAO,IAET,CACEiI,YAAa,iCACbjI,MAAO,IAET,CACEiI,YAAa,qBACbjI,MAAO,IAET,CACEiI,YAAa,2BACbjI,MAAO,QAMTkI,GAAkBC,EAAAA,EAAAA,YAAUzH,IAAyB,IAAxB,KAAE0H,EAAI,SAAEpD,GAAUtE,EACnD,MAA2B,oBAAbsE,EACVA,EAASoD,GACTpD,IAAgB,OAAJoD,QAAI,IAAJA,OAAI,EAAJA,EAAMH,YAAW,IAG7BI,EAAc5H,KAAS6H,GACpB,IAAIC,IACTP,EAAYxG,OACVE,OAAO8G,KAAK9G,OAAO+C,OAAO,CAAC,EAAG6D,IAAQpF,KAAKvD,GAAQ,CAACA,EAAK2I,EAAM3I,UAK/D8I,EAAalH,IAAwC,IAArCmH,OAAQC,KAAgB1G,GAAOV,EACnD,MACEqH,QAAQ,SAAEC,KACRC,EAAAA,EAAAA,oBACEC,GAAgBC,EAAAA,EAAAA,QAAO,MAC7B,OACE/D,EAAAA,EAAAA,KAACiD,EAAe,IACVjG,EACJyG,OAAQO,iBACN,MAAMX,EAAQD,QAAkBM,KAAYO,aACtC,OAAEC,GAAQD,UAAA5H,QAAA,OAAA8H,EAAAF,UAAA,IACV,WAAE/C,EAAU,KAAEkD,EAAI,MAAEC,EAAK,OAAE1D,GAAWuD,EAEtCI,EAAaN,UAID,IAAVK,GACAP,EAAcrG,UAAYkD,GAC1BiD,EAASnG,QAAQ8G,IAAIrD,SAGlB,WACL,MAAMuC,EAASJ,EAAMkB,IAAIrD,GACnBsD,OAAe,UACG,oBAAXf,EACF,IAAIH,WACFG,EAAO,CAAE9C,YAAW1C,KAAKgC,GACvB,CAACA,EAAKlF,MAAM4B,WAAYsD,MAIjCwE,MAAMC,QAAQjB,GACT,IAAIH,IACTG,EAAOxF,KAAKgC,GAAS,CAACA,EAAKlF,MAAM4B,WAAYsD,MAG3B,kBAAXwD,EACF,IAAIH,IACT7G,OAAO8G,KAAKE,GAAQxF,KAAKvD,GAAQ,CAC/BA,EAAIiC,WACJ8G,EAAO/I,QAIbiK,QAAQC,KAAK,4EACN,IAAItB,KAtBQ,GA0BrB,OAFAM,EAASnG,QAAQoH,IAAI3D,EAAYsD,GACjCV,EAAcrG,QAAUkD,EACjB6D,CACR,EA7BM,GAgCX,GAAIC,MAAMC,QAAQxD,GAChB,aAAa4D,QAAQC,IACnB7D,EAAWjD,KAAKtD,GACd2J,EAAW3J,GAAQqK,MAAMC,GAAYR,MAAMS,KAAKD,EAAQvI,eAK9D,MAAMuI,QAAgBX,EAAWpD,GACjC,OAAKiE,IAAMf,GAGJK,MAAMS,KAAKD,EAAQvI,UAFjBuI,EAAQV,IAAIH,EAAKzH,WAG5B,GACA,EAIAyI,EAAOvI,IAAsD,IAArD,WAAEqE,EAAU,KAAEkD,EAAI,MAAEC,EAAK,SAAEtE,KAAa/C,GAAOH,EAC3D,MAAMwI,GAASC,EAAAA,EAAAA,aACf,OACEtF,EAAAA,EAAAA,KAACwD,EAAU,IACLxG,EACJkH,OAAQ,CACNhD,aACAP,OAAc,OAAN0E,QAAM,IAANA,OAAM,EAANA,EAAQ1E,OAChB0C,MAAa,OAANgC,QAAM,IAANA,OAAM,EAANA,EAAQhC,MACfe,OACAC,SAEFZ,OAAQ8B,IAAA,IAAC,OAAErB,GAAQqB,EAAA,OAAKrB,EAAOb,KAAK,EAACtD,SAEpCA,GACU,EAIjBqF,EAAK7E,aAAe,CAClB8D,OAAO,GAGT,S,w+BCxOA,SAAgB,OAAS,6BAA6B,mBAAmB,uCAAuC,0BAA0B,8CAA8C,eAAe,mCAAmC,sBAAsB,0CAA0C,kBAAkB,sCAAsC,iBAAiB,qCAAqC,cAAc,kCAAkC,YAAY,gCAAgC,cAAc,kCAAkC,YAAY,gCAAgC,qBAAqB,yCAAyC,eAAe,mCAAmC,mBAAmB,uCAAuC,OAAS,6BAA6B,YAAY,gCAAgC,aAAa,iCAAiC,mBAAmB,uCAAuC,oBAAoB,wCAAwC,oBAAoB,wCAAwC,kBAAkB,sCAAsC,kBAAkB,sCAAsC,aAAa,iCAAiC,mBAAmB,uCAAuC,mBAAmB,uCAAuC,mBAAmB,uCAAuC,kBAAkB,sCAAsC,gBAAgB,oCAAoC,oBAAoB,wCAAwC,mBAAmB,uCAAuC,2BAA2B,+CAA+C,qBAAqB,yCAAyC,4BAA4B,gDAAgD,iCAAiC,qDAAqD,2BAA2B,+CAA+C,eAAe,mCAAmC,uBAAuB,2CAA2C,yBAAyB,6CAA6C,kBAAkB,sCAAsC,6BAA6B,iDAAiD,mCAAmC,uDAAuD,uBAAuB,4C,0BCD/3E,MAOA,EAPwB1D,IACf,CACL,QAASC,IAAM,gCACf,QAASC,IAAM,iCACfF,MCFS6E,GAAUC,EAAAA,EAAAA,eAAc,CAAC,IAEzB,SAAEC,GAAaF,EAEfG,EAAaA,KAAMC,EAAAA,EAAAA,YAAgBJ,G,mCCIhD,MAAMK,EAAOpK,IAAyB,IAAxB,KAAEqB,EAAI,SAAEiD,GAAUtE,EAC9B,MAAM,MAAEV,EAAK,SAAE+K,GAAaH,IAC5B,OACE9F,EAAAA,EAAAA,MAAA,OAAKjB,UAAWE,EAAM,eAAeiB,SAAA,CAClCjD,EAAKmB,KAAI,CAACgC,EAAMvB,KACf,MAAMqH,EAAgB9F,EAAKS,KAC3B,OACErB,EAAAA,EAAAA,eAAC0G,EAAa,IACR9F,EAAKjD,MACTtC,IAAKuF,EAAKvF,KAAOuF,EAAKjD,MAAMoH,MAAQ1F,EACpC3D,MACEA,EACIwJ,IAAIxJ,EAAMwJ,IAAItE,EAAKjD,MAAMoH,MAAO,SAChCnE,EAAKjD,MAAMjC,MAEjB+K,SACEA,EACK/K,GACC+K,EAAS,CACP1B,KAAMnE,EAAKjD,MAAMoH,KACjB9D,MAAOL,EAAKjD,MAAMsD,MAClBvF,UAEJkF,EAAKjD,MAAM8I,UAEjB,IAGL/F,IACG,EAIJiG,EAAc1J,IAOb,IAPc,UACnBsC,EAAS,KACT9B,EAAI,YACJmJ,EAAW,MACX3F,EAAK,MACL4F,EAAK,SACLnG,GACDzD,EACC,MAAM6J,EAAUrJ,EAAKT,OAAS4J,GACvBG,EAAUC,IAAejJ,EAAAA,EAAAA,WAAS,GAEzC,OACEyC,EAAAA,EAAAA,MAACyG,EAAAA,aAAY,CAACnF,eAAgBA,EAAgBD,WAAW,SAAQnB,SAAA,EAC/DF,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CACJf,UAAWC,IAAWC,EAAM,gBAAiBF,GAC7C0D,MAAM,MACNrG,KAAM,GAAG8D,SAAA,EAETC,EAAAA,EAAAA,KAAA,QAAMpB,UAAWE,EAAM,gBAAgBiB,SACpCO,IACCN,EAAAA,EAAAA,KAACuG,EAAAA,iBAAgB,CACftE,GAAG,aACHf,WAAW,SACXsF,eAAe,oBAIrB3G,EAAAA,EAAAA,MAAC4G,EAAAA,IAAG,CAACC,QAAQ,gBAAgBC,MAAM,EAAOrE,MAAM,SAAQvC,SAAA,EACtDC,EAAAA,EAAAA,KAAC4G,EAAAA,IAAG,CAAChI,UAAWE,EAAM,eAAgB+H,KAAM,EAAE9G,SAC3CjD,EAAKyB,MAAM,EAAG0H,GAAahI,KAAI,CAACgC,EAAMvB,KACrCsB,EAAAA,EAAAA,KAAC6F,EAAI,CAAa/I,KAAMmD,EAAKF,SAC1BoG,IAAwB,IAAbC,GAAsB1H,IAAUuH,EAAc,GACxDpG,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CACJ1D,KAAM,EACN2C,UAAWC,IACTC,EAAM,eACNA,EAAc,QAEhBuC,QAASA,KACPgF,GAAatL,IAAWA,GAAM,EAC9BgF,SAAA,EAEFC,EAAAA,EAAAA,KAACuG,EAAAA,iBAAgB,CACftE,GAAG,WACHf,WAAW,SACXsF,eAAe,kBAEjBxG,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CACH7B,UAAWE,EAAM,2BACjB4B,KAAK,4BAGP,MAtBKhC,QA0BfsB,EAAAA,EAAAA,KAAC4G,EAAAA,IAAG,CAAA7G,SAAEmG,WAGVlG,EAAAA,EAAAA,KAACL,EAAAA,MAAK,CACJf,UAAWC,IAAWC,EAAM,gBAAiB,qBAC7CwD,MAAM,SACNrG,KAAM,GAAG8D,SAERA,KAEHF,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CACJf,UAAWC,IAAWC,EAAM,gBAAiB,oBAAqB,CAChE,CAACA,EAAM,0BAA2BqH,GAAWC,KAE/C9D,MAAM,MACNrG,KAAM,GAAG8D,SAAA,EAETC,EAAAA,EAAAA,KAAA,QAAMpB,UAAWE,EAAM,gBAAgBiB,UACrCC,EAAAA,EAAAA,KAACuG,EAAAA,iBAAgB,CACftE,GAAG,WACHf,WAAW,SACXsF,eAAe,oBAGnBxG,EAAAA,EAAAA,KAAA,OAAKpB,UAAWE,EAAM,eAAeiB,SAClCjD,EAAKyB,MAAM0H,GAAahI,KAAI,CAACgC,EAAMvB,KAClCsB,EAAAA,EAAAA,KAAC6F,EAAI,CAAa/I,KAAMmD,EAAKF,SAC1BrB,IAAU5B,EAAKT,OAAS4J,EAAc,IACrCpG,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAC,SAAA,EACEC,EAAAA,EAAAA,KAACL,EAAAA,MAAK,CACJ1D,KAAM,EACN2C,UAAWC,IAAWC,EAAM,qBAAqBiB,UAEjDF,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CACJ1D,KAAM,EACN2C,UAAWC,IACTC,EAAc,OACdA,EAAM,gBACNiB,SAAA,EAEFC,EAAAA,EAAAA,KAACuG,EAAAA,iBAAgB,CACftE,GAAG,eACHf,WAAW,SACXsF,eAAe,kBAEjBxG,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CACH7B,UAAWE,EAAM,2BACjB4B,KAAK,6BAIXV,EAAAA,EAAAA,KAACL,EAAAA,MAAK,CACJ1D,KAAM,EACN2C,UAAWC,IAAWC,EAAM,cAC5BuC,QAASA,KACPgF,GAAatL,IAAWA,GAAM,EAC9BgF,UAEFF,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CACJ1D,KAAM,EACN2C,UAAWC,IACTC,EAAc,OACdA,EAAM,gBACNiB,SAAA,EAEFC,EAAAA,EAAAA,KAACuG,EAAAA,iBAAgB,CACftE,GAAG,eACHf,WAAW,SACXsF,eAAe,kBAEjBxG,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CACH7B,UAAWE,EAAM,2BACjB4B,KAAK,gCA9CNhC,YAwDJ,EAInBsH,EAAYzF,aAAe,CACzB0F,YAAa,GAGf,U,eCtLA,MAsEA,EAtE2BxK,IAAoD,IAAjDV,MAAO+L,EAAW,YAAEC,EAAW,SAAEjB,GAAUrK,EACvE,OACEuE,EAAAA,EAAAA,KAACsG,EAAAA,aAAY,CAACnF,eAAgBA,EAAgBD,WAAW,SAAQnB,UAC/DF,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CAACf,UAAWE,EAAM,gBAAiBwD,MAAM,MAAMrG,KAAM,GAAG8D,SAAA,EAC5DC,EAAAA,EAAAA,KAAA,QAAMpB,UAAWE,EAAM,gBAAgBiB,UACrCC,EAAAA,EAAAA,KAACuG,EAAAA,iBAAgB,CACftE,GAAG,eACHf,WAAW,SACXsF,eAAe,gCAIjB3G,EAAAA,EAAAA,MAAA,OAAKjB,UAAWE,EAAM,eAAeiB,SAAA,CAClC+G,EAAY7I,KAAI,CAAA3B,EAAyBoC,KAAW,IAAnC,KAAE0F,EAAI,MAAE9D,EAAK,MAAEvF,GAAOuB,EACtC,OACE0D,EAAAA,EAAAA,KAACgH,EAAAA,QAAQ,CAEPtG,KAAK,eACLuG,WAAY3G,EACZ4G,KACEzC,MAAMC,QAAQ3J,GACVA,EACGkD,KAAKgC,GACGA,EAAKK,QAEb9D,KAAK,UACRzB,EAAMuF,MAEZ6G,UAAQ,EACRC,QAASA,KACP,MAAMC,EAAWP,EAAYvI,MAAM,GACnC8I,EAASC,OAAO5I,EAAO,GACvBoH,EAASuB,EAAS,GAhBfjD,EAkBL,KAGNvE,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CAAC1D,KAAM,EAAG2C,UAAWC,IAAWC,EAAM,qBAAqBiB,SAAA,CAC9DgH,GACD/G,EAAAA,EAAAA,KAACQ,EAAAA,OAAM,CAACvE,KAAK,QAAO8D,UAClBC,EAAAA,EAAAA,KAACuG,EAAAA,iBAAgB,CACftE,GAAG,eACHf,WAAW,SACXsF,eAAe,mCAIrB3G,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CAAC1D,KAAM,EAAG2C,UAAWC,IAAWC,EAAM,cAAciB,SAAA,CACvDgH,GACD/G,EAAAA,EAAAA,KAACQ,EAAAA,OAAM,CACLvE,KAAK,QACLoF,QAASA,KACPyE,EAAS,GAAG,EACZ/F,UAEFC,EAAAA,EAAAA,KAACuG,EAAAA,iBAAgB,CACftE,GAAG,eACHf,WAAW,SACXsF,eAAe,yCAQd,E,oDC9DnB,MAAMe,EAAc9L,IAAwC,IAAvC,SAAEsE,EAAQ,UAAEnB,KAAc5B,GAAOvB,EACpD,MAAO+L,EAAW1B,GAAY2B,IAAgBzK,GAExCjC,GAAQ2M,EAAAA,EAAAA,UAAQ,IACbF,EAAUG,QAAQ1H,IAAS2H,EAAAA,EAAAA,YAAW3H,EAAKlF,UACjD,CAACyM,IAEEV,GAAcY,EAAAA,EAAAA,UAAQ,IACnB,IAAIpE,IAAIvI,EAAMkD,KAAKgC,GAAS,CAACA,EAAKmE,KAAMnE,OAC9C,CAAClF,IAEJ,OACEiF,EAAAA,EAAAA,KAACsG,EAAAA,aAAY,CAACpF,WAAW,SAASC,eAAgBA,EAAepB,UAC/DC,EAAAA,EAAAA,KAAC0F,EAAQ,CACP3K,MAAO,CACLA,MAAO+L,EACPhB,SAAW7F,IACT,MAAM4H,EAAiBC,IAAMhB,GAC7B7G,EAAKlF,MACD8M,EAAehD,IAAI5E,EAAKmE,KAAMnE,GAC9B4H,EAAeE,OAAO9H,EAAKmE,MACvB,OAAR0B,QAAQ,IAARA,GAAAA,EAAWrB,MAAMS,KAAK2C,EAAenL,UAAU,GAEjDqD,UAEFC,EAAAA,EAAAA,KAAA,OAAKpB,UAAWC,IAAWC,EAAc,OAAGF,GAAWmB,SACpDA,EAAS,CAAE/C,QAAOjC,QAAO+K,kBAGjB,EAInByB,EAAYhH,aAAe,CACzByH,aAAc,IAGhB,UC5CMC,EAAUjL,IAEZgD,EAAAA,EAAAA,KAACuH,EAAW,IAAKvK,EAAK+C,SACnBtE,IAAiC,IAAhC,MAAEuB,EAAK,MAAEjC,EAAK,SAAE+K,GAAUrK,EAC1B,MAAM,YAAEsL,KAAgBmB,GAAWlL,EACnC,OACE6C,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAC,SAAA,EACEC,EAAAA,EAAAA,KAACgG,EAAW,IAAKkC,IAChBnN,GAASA,EAAMsB,OAAS,IACvB2D,EAAAA,EAAAA,KAACmI,EAAkB,CACjBpN,MAAOA,EACP+K,SAAUA,EACViB,YAAaA,MAGhB,IAObkB,EAAO1H,aAAe,CACpByH,aAAc,IAGhB,U,eCzBA,MAsBA,EAtBmBvM,IAAwC,IAAvC,KAAE2M,EAAI,OAAEC,EAAM,MAAE/H,EAAK,SAAEP,GAAUtE,EACnD,OACEuE,EAAAA,EAAAA,KAACL,EAAAA,MAAK,CAACf,UAAWE,EAAM,oBAAoBiB,UAC1CF,EAAAA,EAAAA,MAAA,OACEjB,UAAWC,IAAWC,EAAM,eAAgB,CAC1C,CAACA,EAAM,cAAeuJ,EACtB,CAACvJ,EAAM,eAAgBsJ,IACtBrI,SAAA,EAEHF,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CAACf,UAAWE,EAAM,qBAAsB7C,KAAM,EAAE8D,SAAA,EACpDC,EAAAA,EAAAA,KAAA,OAAAD,SAAMO,KACNN,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CACH7B,UAAWE,EAAM,oBACjB4B,KAAK,2BAGTV,EAAAA,EAAAA,KAAA,OAAKpB,UAAWE,EAAM,qBAAqBiB,SAAEA,QAEzC,ECCZ,EAlBGgB,GACDtF,IAA2C,IAA1C,MAAEV,EAAK,SAAE+K,EAAQ,MAAExF,KAAUtD,GAAOvB,EACnC,MAAO2M,EAAME,IAAWlL,EAAAA,EAAAA,WAAS,GACjC,OACE4C,EAAAA,EAAAA,KAACuI,EAAU,CAACjI,MAAOA,EAAO8H,KAAMA,EAAMC,QAAQT,EAAAA,EAAAA,GAAW7M,GAAOgF,UAC9DC,EAAAA,EAAAA,KAACe,EAAgB,CACfyH,YAAY,KACRxL,EACJ4B,UAAWE,EAAM,qBACjB/D,MAAOA,EACP+K,SAAUA,EACV2C,UAAU,MACVC,aAAcJ,KAEL,E,0FCnBnB,QAAgC,oCAAhC,EAA+E,+B,sDCU/E,MAAMK,EAAwBC,EAAAA,EAAiBjD,WAEzCkD,EAAiBpN,IAAqD,IAAlDV,MAAO+N,EAAUC,SAAUC,EAAS,KAAE/M,GAAMR,EACpE,MAAM,SAAEwN,EAAQ,MAAEjM,GAAU2L,IACtBO,EAAa5L,IAAeN,EAAMkM,aAClC,OAAEC,EAAM,QAAEC,EAAO,kBAAEC,KAAsBnB,GAAWlL,EACpDsM,GAAgBvF,EAAAA,EAAAA,QAAO/G,EAAMuM,YACnCD,EAAc7L,QAAUT,EAAMuM,WAC9B,MAAMC,EAAYP,EAAS9F,MACrB,SAAEsG,IAAa/B,EAAAA,EAAAA,UACnB,IACEwB,EAAWM,EAAW,CACpBD,WAAYD,EAAc7L,WAE9B,CAACyL,EAAYM,IAGf,OACExJ,EAAAA,EAAAA,KAACL,EAAAA,MAAK,CAACyC,UAAU,WAAWnG,KAAM,GAAG8D,UACnCC,EAAAA,EAAAA,KAAC0J,EAAAA,EAAS,CACR9K,UAAWC,IAAWC,EAAwB,CAC5C,CAACA,GAAoB9B,EAAMoM,UAC1BrJ,UAEHC,EAAAA,EAAAA,KAAC2J,EAAAA,KAAI,IACCC,IAAK1B,EAAQ,CAAC,QAAS,YAAa,WAAY,eACpDjM,KAAMA,EACN4N,WAAYV,EACZM,SAAUA,EACVK,QAASd,EACTe,YAAajB,EACbkB,SACEb,EACIH,EACCiB,IACC,MAAMC,EAAYD,EAAW,QACX,IAAdC,GAGJlB,GAAWvL,IACT,MAAM0M,EAAa1M,EAAQc,MAAM,GAC3BG,EAAQyL,EAAWnO,QAAQkO,GAMjC,OALIxL,GAAS,EACXyL,EAAW7C,OAAO5I,EAAO,GAEzByL,EAAWC,KAAKF,GAEXC,CAAU,GACjB,EAGVE,aAAclB,EAASL,OAAW3E,OAGhC,EAINmG,EAAYhO,IAA0C,IAAzC,UAAEiO,EAAS,WAAErB,KAAelM,GAAOV,EACpD,OACE0D,EAAAA,EAAAA,KAAC4I,EAAAA,EAAgB,IACX5L,EACJkM,WAAa/F,GACJ+F,EAAW/F,EAAM,CAAEoG,WAAYvM,EAAMuM,aAC5CxJ,SAEDlD,IAA0B,IAAzB,MAAE9B,EAAK,SAAEgO,GAAUlM,EACnB,OACEmD,EAAAA,EAAAA,KAAC6I,EAAc,CAAC5M,KAAMsO,EAAWxP,MAAOA,EAAOgO,SAAUA,GAAY,GAGxD,EAIvBuB,EAAU/J,aAAe,CACvB8I,kBAAmB,eACnBkB,UAAWrP,OAAOsP,UAClBvO,KAAM,SACNmN,SAAS,EACTqB,eAAe,EACfvB,WAAYA,CAAC/F,EAAIoC,KAAsB,IAApB,WAAEgE,GAAYhE,EAC/B,MAAMmF,EAAalP,KAAQ,CAACmP,EAAQC,KAAsB,IAApB,WAAErB,GAAYqB,EAClD,MAAM9N,EAAO,GACP+N,EAAQF,IACNlG,MAAMC,QAAQiG,IAAaA,EAAStO,OAAS,GAGnDsO,EAASG,SAASC,IAChB,MAAMhQ,EAAQgQ,EAAKxG,IAAIgF,EAAY,MAAO,QACxCjJ,EAAQyK,EAAKxG,IAAIgF,EAAY,QAAS,UACtCxJ,EAAWgL,EAAKxG,IAAIgF,EAAY,WAAY,aAC9CzM,EAAKsN,KAAK,CAAEnI,GAAIlH,EAAOA,QAAOuF,UAC9BuK,EAAK9K,EAAS,GACd,EAGJ,OADA8K,EAAKF,GACE7N,CAAI,IAGb,MAAO,CACL2M,SAAUtG,EACVrG,KAAM4N,EAAWvH,EAAM,CAAEoG,eAC1B,GAIL,UC9GMyB,GAAcvP,IASb,IATc,MACnBV,EAAK,MACLuF,EAAK,WACL2K,EAAU,iBACV9K,EAAgB,UAChBwB,EAAS,aACT+G,EAAY,SACZ5C,EAAQ,SACR/F,GACDtE,EACC,MAAOyP,EAAOC,IAAY/N,EAAAA,EAAAA,UAASrC,IAC5BqN,EAAME,IAAWlL,EAAAA,EAAAA,WAAS,GAC3BmE,GAAWmG,EAAAA,EAAAA,UAAQ,IAChBuD,IAAeA,EAAWC,IAChC,CAACD,EAAYC,IAChB,OACElL,EAAAA,EAAAA,KAACoL,EAAAA,QAAO,CACNhD,KAAMA,EACNiD,QAAQ,QACR1J,UAAWA,EACXxB,iBAAkBtB,IAAWC,EAAM,oBAAqBqB,GACxDuI,aAAeN,IACbE,EAAQF,GACR+C,EAASpQ,GACT2N,GAAgBA,EAAaN,EAAK,EAEpCkD,SACEzL,EAAAA,EAAAA,MAAA,QACEwB,QAAUjG,IACRA,EAAEiH,iBAAiB,EACnBtC,SAAA,EAEFC,EAAAA,EAAAA,KAAA,OAAKpB,UAAWE,EAAM,oBAAoBiB,SACvCA,EAAS,CAAEhF,MAAOmQ,EAAOpF,SAAUqF,OAEtCtL,EAAAA,EAAAA,MAAC4G,EAAAA,IAAG,CAAC7H,UAAWE,EAAM,mBAAoB4H,QAAQ,MAAM6E,OAAQ,EAAExL,SAAA,EAChEC,EAAAA,EAAAA,KAAC4G,EAAAA,IAAG,CAAA7G,UACFC,EAAAA,EAAAA,KAACQ,EAAAA,OAAM,CACLvE,KAAK,QACLoF,QAASA,KACPiH,GAAQ,GACRI,GAAgBA,GAAa,EAAM,EACnC3I,UAEFC,EAAAA,EAAAA,KAACuG,EAAAA,iBAAgB,CACftE,GAAG,aACHf,WAAW,SACXsF,eAAe,sBAIrBxG,EAAAA,EAAAA,KAAC4G,EAAAA,IAAG,CAAA7G,UACFC,EAAAA,EAAAA,KAACQ,EAAAA,OAAM,CACLvE,KAAK,QACLyE,KAAK,UACLa,SAAUA,EACVF,QAASA,KACPiH,GAAQ,GACRI,GAAgBA,GAAa,GAC7B5C,GAAYA,EAASoF,EAAM,EAC3BnL,UAEFC,EAAAA,EAAAA,KAACuG,EAAAA,iBAAgB,CACftE,GAAG,gBACHf,WAAW,SACXsF,eAAe,2BAM1BzG,UAEDC,EAAAA,EAAAA,KAAA,QAAAD,UACEC,EAAAA,EAAAA,KAACuI,EAAU,CAACH,KAAMA,EAAMC,QAAQT,EAAAA,EAAAA,GAAW7M,GAAQuF,MAAOA,OAEpD,EAId0K,GAAYzK,aAAe,CACzBiL,YAAa,qBACb7J,UAAW,cAGb,YCnDA,GArCwBlG,IAUjB,IAVkB,MACvB6E,EAAK,MACLvF,EAAK,SACL+K,EAAQ,YACR0F,EAAW,WACXP,EAAU,iBACV9K,EAAgB,UAChBwB,EAAS,aACT+G,KACG1L,GACJvB,EACC,OACEuE,EAAAA,EAAAA,KAACgL,GAAW,CACV1K,MAAOA,EACPvF,MAAOA,EACP+K,SAAUA,EACJmF,aAAY9K,mBAAkBwB,YAAW+G,eAAY3I,SAE1DzD,IAAA,IAAC,MAAEvB,EAAK,SAAE+K,GAAUxJ,EAAA,OACnB0D,EAAAA,EAAAA,KAACyL,EAAAA,MAAK,IACAzO,EACJwO,YAAaA,GAAW,qBAAAjP,OAAU+D,GAClC1B,UAAWE,EAAM,oBACjB/D,MAAOwJ,IAAIxJ,EAAO,QAAS,IAC3B+K,SAAW1K,GACT0K,EACE1K,EAAET,OAAOI,MACL,CAAEuF,MAAOlF,EAAET,OAAOI,MAAOA,MAAOK,EAAET,OAAOI,OACzC,OAGR,GAEQ,E,2BC9BlB,MAAM2Q,GAAsBA,CAACC,EAAOC,EAAM/J,IACnCgK,KAASF,EAAM,KAAQE,KAASF,EAAM,IAIpC,CACLrL,MAAO,CAAEqL,GACHE,KAASF,EAAM,KAAOE,KAASF,EAAM,IACjC,GAANpP,OAAUoP,EAAM,GAAE,KAAApP,OAAIoP,EAAM,IAAEpP,OAAGqP,GAAQ,IAEvCC,KAASF,EAAM,IACV9J,EAAc,CAAEI,GAAI,QAAU,CAAE6J,MAAOH,EAAM,GAAIC,SAEtDC,KAASF,EAAM,IACV9J,EAAc,CAAEI,GAAI,YAAc,CAAE6J,MAAOH,EAAM,GAAIC,cAD9D,EAPK,CAUJD,GACH5Q,MAAO,CAAC4Q,EAAM,IAAM,KAAMA,EAAM,IAAM,OAf/B,KAmBLI,GAAkBtQ,IAWjB,IAXkB,MACvB6E,EAAK,MACLvF,EAAK,SACL+K,EAAQ,YACR0F,EAAW,WACXP,EAAU,iBACV9K,EAAgB,UAChBwB,EAAS,aACT+G,EAAY,KACZkD,KACG5O,GACJvB,EACC,MAAM,cAAEoG,IAAkBC,EAAAA,EAAAA,SAAQ,CAAEZ,WAAY,WAChD,OACElB,EAAAA,EAAAA,KAACgL,GAAW,CACV1K,MAAOA,EACPvF,MAAOA,EACP+K,SAAUA,EACJmF,aAAY9K,mBAAkBwB,YAAW+G,eAAY3I,SAE1DzD,IAAA,IAAC,MAAEvB,EAAK,SAAE+K,GAAUxJ,EAAA,OACnBuD,EAAAA,EAAAA,MAACF,EAAAA,MAAMC,QAAO,CAAAG,SAAA,EACZC,EAAAA,EAAAA,KAACgM,EAAAA,YAAW,IACNhP,EACJwO,YACEA,GAAW,GAAAjP,OAAOsF,EAAc,CAAEI,GAAI,iBAAgB1F,OAAG+D,GAE3D1B,UAAWE,EAAM,4BACjB/D,MAAOwJ,IAAIxJ,EAAO,WAAY,IAC9B+K,SAAWnL,IACTmL,EACE4F,GACE,CAAC/Q,EAAQ4J,IAAIxJ,EAAO,aACpB6Q,EACA/J,GAEH,KAGL7B,EAAAA,EAAAA,KAACyL,EAAAA,MAAK,CACJ3M,MAAO,CACLmN,MAAO,GACPC,WAAY,EACZC,YAAa,EACbC,cAAe,QAEjBZ,YAAY,IACZjK,UAAQ,KAEVvB,EAAAA,EAAAA,KAACgM,EAAAA,YAAW,IACNhP,EACJwO,YACEA,GAAW,GAAAjP,OAAOsF,EAAc,CAAEI,GAAI,iBAAgB1F,OAAG+D,GAE3D1B,UAAWE,EAAM,4BACjB/D,MAAOwJ,IAAIxJ,EAAO,WAAY,IAC9B+K,SAAWnL,IACTmL,EACE4F,GACE,CAACnH,IAAIxJ,EAAO,YAAaJ,GACzBiR,EACA/J,GAEH,IAGJ+J,IACC5L,EAAAA,EAAAA,KAACyL,EAAAA,MAAK,CACJ3M,MAAO,CACLmN,MAAO,GACPC,WAAY,GAEdnR,MAAO6Q,EACPrK,UAAQ,MAGE,GAEN,EAIlBwK,GAAgBxL,aAAe,CAC7B0K,WAAalQ,IACX,MAAM4Q,EAAQpH,IAAIxJ,EAAO,SACzB,QACE4Q,GACAE,KAASF,EAAM,KACfE,KAASF,EAAM,KACfA,EAAM,GAAKA,EAAM,GAClB,GAIL,Y,2BCvHA,MAAMU,GAAuBC,GAC3B7Q,IAA4C,IAA3C,MAAEV,EAAK,SAAE+K,EAAQ,OAAEyG,KAAWvP,GAAOvB,EACpC,OACEuE,EAAAA,EAAAA,KAACwM,EAAAA,WAAU,IACLxP,EACJuP,OAAQA,EACRxR,MAAOA,GAAS0R,KAAM1R,EAAMA,OAC5B+K,SAAW/K,IACT,MAAM,OAAE2R,GAAWjQ,OAAO+C,OAAO,CAAEkN,OAAQ,cAAgB1P,GAC3DjC,GACE+K,EAAS,CACPxF,MACa,SAAXiM,EAAiB,GAAAhQ,OACVxB,EAAM4R,QAAQJ,GAAQG,OAAOA,GAAO,KAAAnQ,OAAIxB,EACxC6R,MAAML,GACNG,OAAOA,IACV3R,EAAM2R,OAAOA,GACnB3R,MAAO,IAAI8R,KAAK9R,EAAM4R,QAAQJ,GAAQO,YACtC,GAEN,IAKRT,GAAqB9L,aAAe,OAEpC,YCHA,GAxBkC+L,GAChC7Q,IAAoC,IAAnC,MAAEV,EAAK,SAAE+K,KAAa9I,GAAOvB,EAC5B,OACEuE,EAAAA,EAAAA,KAACwM,EAAAA,WAAWO,YAAW,IACjB/P,EACJgQ,WAAY,EAAC,GAAO,GACpBjS,MACEA,GACA0J,MAAMC,QAAQ3J,EAAMA,QACG,IAAvBA,EAAMA,MAAMsB,QACZtB,EAAMA,MAAMkD,KAAKgC,GAASwM,KAAMxM,KAElC6F,SAAW/K,IACT,MAAM,OAAE2R,GAAWjQ,OAAO+C,OAAO,CAAEkN,OAAQ,cAAgB1P,GAC3D8I,EAAS,CACPxF,MAAOvF,EAAMkD,KAAKgC,GAASA,EAAKyM,OAAOA,KAASlQ,KAAK,KACrDzB,MAAOA,EAAMkD,KAAKgC,GAAS,IAAI4M,KAAK5M,EAAK6M,cACzC,GAEJ,I,gBCjBR,MAkDA,GAlDsCrR,IAK/B,IALgC,MACrC6E,EAAK,MACLvF,EAAK,SACL+K,KACG9I,GACJvB,EACC,OACEuE,EAAAA,EAAAA,KAACgL,GAAW,CACV1K,MAAOA,EACPvF,MAAOA,EACP+K,SAAUA,EACVmF,WAAahL,IACX,MAAMlF,EAAY,OAAJkF,QAAI,IAAJA,OAAI,EAAJA,EAAMlF,MACpB,OACO,OAALA,QAAK,IAALA,OAAK,EAALA,EAAO2F,OAAQ+D,MAAMC,QAAa,OAAL3J,QAAK,IAALA,OAAK,EAALA,EAAOA,QAAiC,IAAvBA,EAAMA,MAAMsB,MAAY,EAExE0D,SAEDzD,IAAA,IAAC,MAAEvB,EAAK,SAAE+K,GAAUxJ,EAAA,OACnB0D,EAAAA,EAAAA,KAACiN,GAAAA,EAAwB,IACnBjQ,EACJ4B,UAAWE,EAAM,oBACjB/D,MAAOwJ,IAAIxJ,EAAO,SAClB+K,SAAWoH,IACT,MAAM,OAAER,GAAWjQ,OAAO+C,OAAO,CAAEkN,OAAQ,cAAgB1P,GACrDjC,GAAmB,OAAXmS,QAAW,IAAXA,OAAW,EAAXA,EAAanS,QAAS,GACpC+K,EAAS,CACPxF,MACMvF,EAAM,KAAOA,EAAM,GACf,GAANwB,OAAUkQ,KAAM1R,EAAM,IAAI2R,OAAOA,GAAO,iBAErC3R,EAAM,IAAMA,EAAM,GACf,GAANwB,OAAUkQ,KAAM1R,EAAM,IAAI2R,OAAOA,GAAO,gBAEtC3R,EAAM,IAAMA,EAAM,GACd,GAANwB,OAAUkQ,KAAM1R,EAAM,IAAI2R,OAAOA,GAAO,KAAAnQ,OAAIkQ,KAC1C1R,EAAM,IACN2R,OAAOA,IAEJ,GAET3R,MAAOmS,GACP,GAEJ,GAEQ,ECvCZC,GACHpM,GACDtF,IAAA,IAAC,YAAE+P,EAAW,MAAElL,KAAUtD,GAAOvB,EAAA,OAE7BuE,EAAAA,EAAAA,KAACuG,EAAAA,iBAAgB,CACftE,GAAG,0BACHf,WAAW,SACXxE,OAAQ,CAAE4D,SAAQP,SAEhBmH,IAEElH,EAAAA,EAAAA,KAACe,EAAgB,IACX/D,EACJsD,MAAOA,EACPkL,YAAaA,GAAetE,KAIjB,EAGZkG,GAA2Bd,EAAce,EAAAA,IACzCC,GAAiBhB,EAAciB,EAAAA,IAC/BC,GAA2BlB,EAAcmB,EAAAA,GACzCC,GAA2BpB,EAAcqB,EAAAA,GAEzCC,GAAiBtB,EAAcuB,EAAAA,IAE/BC,GAAqBxB,EAAcyB,EAAAA,IAEnCC,GAAiB1B,EAAchC,GAC/ByB,GACXoB,GAA4Bc,IACjBC,GAAwBf,GACnCgB,I,2BC7CF,MAYA,GAZwBrH,GACfsH,KACLtH,GACA,CAACuH,EAAM5S,KAAuB,IAArB,KAAE2I,EAAI,MAAErJ,GAAOU,EACtB4S,EAAOjK,GAAQK,MAAMC,QAAQ3J,GACzBA,EAAMkD,KAAI3B,IAAA,IAAC,MAAEvB,GAAOuB,EAAA,OAAKvB,CAAK,IAC9BA,EAAMA,KAAK,GAEjB,CAAC,G,gBCAL,MAAM,aAAEuT,IAAiBC,EAAAA,IAEnBC,GAAsB/S,IAOrB,IAPsB,MAC3BV,EAAK,SACL+K,EAAQ,OACRqD,EAAM,UACNoB,EAAS,WACTkE,KACGzR,GACJvB,EACC,MAAM,QAAEwD,GAAYyP,EAAAA,IAAIC,UAClB,OAAEhO,IAAW2E,EAAAA,GAAAA,cACb,cAAEzD,IAAkBC,EAAAA,EAAAA,SAAQ,CAAEZ,WAAY,WAC1C0N,GAAWlH,EAAAA,EAAAA,UAAQ,IAChB+G,EAAWI,qBACjB,CAACJ,IACJ,OACE5O,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAC,SAAA,CACG6O,EAAS3Q,KAAK6Q,IACb,MAAM,KAAEC,GAASD,EACX1K,GAAO4K,EAAAA,EAAAA,IAAiBF,EAAMnO,GACpC,OACEX,EAAAA,EAAAA,KAACsO,GAAY,CAEXrS,KAAK,QACLgT,QACE9F,GACS,OAALpO,QAAK,IAALA,OAAK,EAALA,EAAOA,SAAUgU,KACdhU,GAAS,IAAImU,MAAK5S,IAAA,IAAC,MAAEvB,GAAOuB,EAAA,OAAKvB,IAAUgU,CAAI,IAExDjJ,SAAWmJ,IACT,GAAI9F,EAEF,YADArD,EAASmJ,EAAU,CAAElU,MAAOgU,EAAMzO,MAAO8D,GAAS,MAGpD,MAAMiD,GAAYtM,GAAS,IAAIwD,MAAM,GACrC0Q,EACI5H,EAAS+C,KAAK,CAAErP,MAAOgU,EAAMzO,MAAO8D,IACpC,MACE,MAAM1F,EAAQ2I,EAAS8H,WACrBtS,IAAA,IAAC,MAAE9B,GAAO8B,EAAA,OAAK9B,IAAUgU,CAAI,IAE/B1H,EAASC,OAAO5I,EAAO,EACxB,EALD,GAMA2I,EAAShL,OAASkO,EACpBtL,EAAQmQ,MACNvN,EACE,CAAEI,GAAI,oBACN,CAAE6J,MAAOvB,KAKfzE,EAASuB,EAAS,EAClBtH,SAEDqE,GAjCI2K,EAkCQ,KAGnBlP,EAAAA,EAAAA,MAACyO,GAAY,CACX1P,UAAWE,EAAM,8BACjB7C,KAAK,QACLgT,SACG9F,EAAc,OAALpO,QAAK,IAALA,OAAK,EAALA,EAAOA,OAAa,OAALA,QAAK,IAALA,OAAK,EAALA,EAAOA,QAASA,EAAMA,MAAMsB,OAAS,KAC7DuS,EAASM,MAAK3J,IAAA,IAAC,KAAEwJ,GAAMxJ,EAAA,OACtB4D,GACS,OAALpO,QAAK,IAALA,OAAK,EAALA,EAAOA,SAAUgU,KACdhU,GAAS,IAAImU,MAAKtE,IAAA,IAAC,MAAE7P,GAAO6P,EAAA,OAAK7P,IAAUgU,CAAI,GAAC,IAE1DhP,SAAA,EAEDC,EAAAA,EAAAA,KAACuG,EAAAA,iBAAgB,CACftE,GAAI,YACJf,WAAW,SACXsF,eAAe,kBAEjBxG,EAAAA,EAAAA,KAAC6N,EAAAA,GAAkB,IACb7Q,EACJ4B,UAAWE,EAAM,oCACjByL,UAAWA,EACXxP,MACEoO,EAAc,OAALpO,QAAK,IAALA,OAAK,EAALA,EAAOA,OAASA,GAAS,IAAIkD,KAAIoR,IAAA,IAAC,MAAEtU,GAAOsU,EAAA,OAAKtU,CAAK,IAEhEoO,OAAQA,EACRrD,SAAU,SAAC/K,GACT,MAAMuU,EAAgBvU,IACpB,MAAM,KAAE+T,GAASL,EAAWc,QAAQxU,GACpC,MAAO,CAAEA,MAAW,OAAJ+T,QAAI,IAAJA,OAAI,EAAJA,EAAMC,KAAMzO,MAAW,OAAJwO,QAAI,IAAJA,OAAI,EAAJA,EAAM1K,KAAM,EAEjD0B,EACEqD,EACImG,EAAavU,GACbA,EAAMkD,KAAKlD,GAAUuU,EAAavU,KAE1C,SAGH,EAGPyT,GAAoBjO,aAAe,CACjC4I,QAAQ,EACRoB,UAAW,GAEb,MACA,IADuBiF,EAAAA,EAAAA,IAAehB,I,2BC9GtC,MAAQF,aAAa,IAAIC,EAAAA,IACnBkB,GAAiBhU,IAQhB,IARiB,MACtBV,EAAK,SACL+K,EAAQ,MACRxF,EAAK,OACL6I,EAAM,UACNoB,EAAS,MACTlK,EAAK,OACLqP,GACDjU,EACC,MAAM,QAAEwD,GAAYyP,EAAAA,IAAIC,UAClB,cAAE9M,IAAkBC,EAAAA,EAAAA,SAAQ,CAAEZ,WAAY,WAChD,OACErB,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAC,SAAA,CACGM,EAAMpC,KAAI3B,IAAkC,IAAjC,MAAEgE,EAAOvF,MAAO4U,GAAWrT,EACrC,OACE0D,EAAAA,EAAAA,KAACsO,GAAY,CAEXrS,KAAK,QACLgT,QACE9F,EACIyG,KAAQD,EAAgB,OAAL5U,QAAK,IAALA,OAAK,EAALA,EAAOA,UACvBA,GAAS,IAAImU,MAAKrS,IAAA,IAAC,MAAE9B,GAAO8B,EAAA,OAAK+S,KAAQD,EAAW5U,EAAM,IAEnE+K,SAAWmJ,IACT,GAAI9F,EAEF,YADArD,EAASmJ,EAAU,CAAElU,MAAO4U,EAAWrP,SAAU,MAGnD,MAAM+G,GAAYtM,GAAS,IAAIwD,MAAM,GACrC0Q,EACI5H,EAAS+C,KAAK,CAAErP,MAAO4U,EAAWrP,UAClC,MACE,MAAM5B,EAAQ2I,EAAS6H,MAAK3J,IAAA,IAAC,MAAExK,GAAOwK,EAAA,OACpCqK,KAAQD,EAAW5U,EAAM,IAE3BsM,EAASC,OAAO5I,EAAO,EACxB,EALD,GAMA2I,EAAShL,OAASkO,EACpBtL,EAAQmQ,MACNvN,EACE,CAAEI,GAAI,oBACN,CAAE6J,MAAOvB,KAKfzE,EAASuB,EAAS,EAClBtH,SAEDO,GAjCIA,EAkCQ,IAGlBoP,GACC,MACE,MAAM3J,EAAgBtJ,OAAOC,OAAOmT,GAAQX,MACzCjP,GAASA,IAASyP,EAAOhP,OAE5B,OAAKqF,GAIH/F,EAAAA,EAAAA,KAAC+F,EAAa,IACR2J,EAAO1S,MACXjC,MAAOA,EACPyQ,YAAW,GAAAjP,OAAKsF,EAAc,CAAEI,GAAI,iBAAgB1F,OAAG+D,GACvDwF,SAAUA,IAPL,IAUV,EAfD,KAgBD,EAIP2J,GAAelP,aAAe,CAC5B4I,QAAQ,EACRoB,UAAW,EACXlK,MAAO,IAGT,Y,2BCjFA,MCCA,GAFe,CAAEuN,eAAc,GAAE6B,eAAc,GAAE1D,gBDCzBtQ,IAA2C,IAA1C,MAAEV,EAAK,MAAEuF,EAAK,SAAEwF,KAAa9I,GAAOvB,EAC3D,MAAMqU,EAAkB,OAAL/U,QAAK,IAALA,OAAK,EAALA,EAAOA,OACnBgV,EAAYC,IAAiB5S,EAAAA,EAAAA,UAAS0S,GAAc,KACpDzH,EAAQ4H,IAAa7S,EAAAA,EAAAA,WAAS,IAC/B,cAAEyE,IAAkBC,EAAAA,EAAAA,SAAQ,CAAEZ,WAAY,WAC1CgP,EAAgBA,KACpBpK,EAASiK,EAAa,CAAEzP,MAAOyP,EAAYhV,MAAOgV,GAAe,KAAK,EAElElS,EAAMsS,MAAkB,KAC5BF,GAAU,GACVC,GAAe,IAEXE,GAAgBrM,EAAAA,EAAAA,QAAO,IAQ7B,OAPAqM,EAAc3S,QAAUsS,GAExBM,EAAAA,EAAAA,YAAU,KACJP,IAAeM,EAAc3S,SAC/BuS,EAAcF,EAChB,GACC,CAACA,KAEF9P,EAAAA,EAAAA,KAAA,QAAMnC,IAAKA,EAAIkC,UACbF,EAAAA,EAAAA,MAACF,EAAAA,MAAMC,QAAO,CAAAG,SAAA,EACZC,EAAAA,EAAAA,KAACyL,EAAAA,MAAK,CACJD,YAAW,GAAAjP,OAAKsF,EAAc,CAAEI,GAAI,iBAAgB1F,OAAG+D,MACnDtD,EACJf,KAAK,QACLlB,MAAOgV,EACPO,QAASA,KACPL,GAAU,EAAK,EAEjBnK,SAAW1K,IACT4U,EAAc5U,EAAET,OAAOI,MAAM,EAE/BwV,aAAcL,IAEf7H,IACCrI,EAAAA,EAAAA,KAACQ,EAAAA,OAAM,CAACvE,KAAK,QAAQyE,KAAK,UAAUW,QAAS6O,EAAcnQ,SACxD8B,EAAc,CAAEI,GAAI,iBAItB,GEpCL4D,GAAOpK,IAAe,IAAd,KAAEqB,GAAMrB,EACpB,MAAM,MAAEV,EAAK,SAAE+K,GAAaH,IAC5B,OACE3F,EAAAA,EAAAA,KAACwQ,EAAAA,KAAI,CAACC,IAAK,EAAE1Q,SACVjD,EAAKmB,KAAI,CAACgC,EAAMvB,KACf,MAAMqH,EAAgB9F,EAAKS,KAC3B,OACEb,EAAAA,EAAAA,MAAC2Q,EAAAA,KAAI,CAACC,IAAK,GAAG1Q,SAAA,EACZF,EAAAA,EAAAA,MAAA,OAAKjB,UAAWE,EAAM,gBAAgBiB,SAAA,CAAEE,EAAKjD,MAAMsD,MAAM,QACzDN,EAAAA,EAAAA,KAACwQ,EAAAA,KAAI,CAAC7J,MAAM,EAAK5G,UACfC,EAAAA,EAAAA,KAAC+F,EAAa,IACR9F,EAAKjD,MACTjC,MACEA,EACIwJ,IAAIxJ,EAAMwJ,IAAItE,EAAKjD,MAAMoH,MAAO,SAChCnE,EAAKjD,MAAMjC,MAEjB+K,SACEA,EACK/K,GACC+K,EAAS,CACP1B,KAAMnE,EAAKjD,MAAMoH,KACjB9D,MAAOL,EAAKjD,MAAMsD,MAClBvF,UAEJkF,EAAKjD,MAAM8I,eAlBH7F,EAAKvF,KAAOuF,EAAKjD,MAAMoH,MAAQ1F,EAsB5C,KAGN,EAILgS,IAAiBzP,EAAAA,EAAAA,gBAAe,CAAEE,eAAc,EAAED,WAAY,UAA7CD,EACpBjE,IACC,MAAM,cAAE6E,IAAkBC,EAAAA,EAAAA,SAAQ,CAAEZ,WAAY,WAChD,OACElB,EAAAA,EAAAA,KAACuH,EAAW,IAAKvK,EAAK+C,SACnBzD,IAAiC,IAAhC,MAAEvB,EAAK,SAAE+K,EAAQ,MAAE9I,GAAOV,EAC1B,MAAM,KAAEQ,EAAI,KAAEC,GAASC,EACvB,OACE6C,EAAAA,EAAAA,MAAA,OAAAE,SAAA,EACEF,EAAAA,EAAAA,MAAC2Q,EAAAA,KAAI,CAACC,IAAK,EAAGE,UAAQ,EAAC/R,UAAWE,EAAM,mBAAmBiB,SAAA,CACxDjD,EAAKmB,KAAI,CAACgC,EAAMvB,KACRsB,EAAAA,EAAAA,KAAC6F,GAAI,CAAa/I,KAAMmD,GAAbvB,KAEnB3B,IACCiD,EAAAA,EAAAA,KAAC4Q,EAAe,CACdhS,UAAWE,EAAM,wBACjBwB,MAAK,GAAA/D,OAAKsF,EAAc,CAAEI,GAAI,aAAa,KAC3CnF,KAAM,CAACC,QAIZhC,GAASA,EAAMsB,OAAS,IACvB2D,EAAAA,EAAAA,KAACmI,EAAkB,CAACpN,MAAOA,EAAO+K,SAAUA,MAE1C,GAGE,IAKpB4K,GAAeb,OAASgB,GACxB,YC5EA,GAJ4BpV,IAA6B,IAA5B,SAAEsE,KAAa/C,GAAOvB,EACjD,OAAOsE,EAAS/C,EAAM,ECGxBiL,EAAO4H,OAASA,EAChB5H,EAAO6I,eAAiBA,GACxB,U,gDCNA,MAOA,EAPwBnQ,IACf,CACL,QAASC,IAAM,+BACf,QAASC,IAAM,iCACfF,M,yDCHJ,QAA+B,mCAA/B,EAA0E,4BAA1E,EAAgH,8BAAhH,EAAqJ,2B,0BCOrJ,MAgCA,EAhCoBlF,IAA0B,IAAzB,KAAE2I,EAAI,UAAExF,GAAWnD,EACtC,OACEuE,EAAAA,EAAAA,KAACsG,EAAAA,aAAY,CAACnF,eAAgBA,EAAgBD,WAAW,cAAanB,UACpEC,EAAAA,EAAAA,KAACoF,EAAAA,QAAI,CAAClE,WAAW,cAAckD,KAAMA,EAAKrE,SACtCoD,GAEEA,GACAA,EAAKpI,QACHiF,EAAAA,EAAAA,KAAA,OAAKpB,UAAWC,IAAWC,EAAuBF,GAAWmB,UAC3DF,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CAACf,UAAWE,EAAeiB,SAAA,EAC/BC,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACsQ,UAAQ,EAACrQ,KAAK,8BACpBV,EAAAA,EAAAA,KAAA,QAAMpB,UAAWE,EAAiBiB,SAAEoD,EAAKmI,UACxCnI,EAAK6N,MACJnR,EAAAA,EAAAA,MAAC8C,EAAAA,WAAWC,KAAI,CACdhE,UAAWE,EACXmS,KAAM9N,EAAK6N,IACXrW,OAAO,SAAQoF,SAAA,CAChB,4BAECC,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAK,wCASd,C,6KClCZ,MAAMH,EAAe,CAC1BH,KAAM,KACNuH,OAAQ,KACRuJ,UAAU,EACVC,UAAW,QACXC,WAAW,EACXC,iBAAiB,EACjBC,gBAAiB,KACjBC,OAAQ,KACRC,aAAc,EACdC,aAAa,EACbC,WAAY,KACZC,QAAS,KACTvQ,MAAO,KACPwQ,WAAY,KACZC,eAAgB,KAChBC,UAAU,EACVC,WAAW,EACXC,mBAAoB,EACpBC,OAAQ,KACRC,YAAa,QACbC,iBAAiB,EACjBC,aAAa,EACbC,aAAc,MAGH7M,GAAUC,EAAAA,EAAAA,eAAc,CAAC,IAEzB,SAAEC,EAAQ,SAAE4M,GAAa9M,EAEzBG,EAAaA,KACjBC,EAAAA,EAAAA,YAAgBJ,G,wFChCzB,SAAgB,OAAS,6BAA6B,eAAe,mCAAmC,YAAY,gCAAgC,oBAAoB,wCAAwC,aAAa,iCAAiC,eAAe,mCAAmC,aAAa,iCAAiC,YAAY,gCAAgC,YAAY,gCAAgC,OAAS,6BAA6B,kBAAkB,sCAAsC,iBAAiB,qCAAqC,mBAAmB,uCAAuC,uBAAuB,2CAA2C,cAAc,kCAAkC,oBAAoB,wCAAwC,qBAAqB,yCAAyC,kBAAkB,sCAAsC,WAAW,+BAA+B,sBAAsB,0CAA0C,gBAAgB,oCAAoC,aAAa,iCAAiC,kBAAkB,sCAAsC,aAAa,iCAAiC,cAAc,kCAAkC,mBAAmB,uCAAuC,cAAc,kCAAkC,WAAW,+BAA+B,eAAe,mCAAmC,mBAAmB,uCAAuC,iBAAiB,qCAAqC,kBAAkB,sCAAsC,iBAAiB,qCAAqC,YAAY,iC,eCE1rD,MA8BA,EA9BuB/J,IAAuC,IAAtC,UAAEmD,EAAS,QAAE2T,EAAO,SAAExS,GAAUtE,EACtD,OAAI8W,GAEAvS,EAAAA,EAAAA,KAAA,OACEpB,UAAWC,IACTD,EACA,kBACAE,EAAM,mBACN,CACE,CAACA,EAAM,aAAcyT,IAEvBxS,SAEDA,KAKLC,EAAAA,EAAAA,KAAA,OACEpB,UAAWC,IACTD,EACA,kBACAE,EAAM,oBACNiB,SAEDA,GACG,E,+EChBV,MAAMyS,EAAkB,0BAgExB,EAnDaC,KACX,MAAM,UAAEC,EAAS,aAAEC,GAAiBhN,KAC9B,KAAEvF,EAAI,SAAE8Q,EAAQ,UAAEC,EAAS,UAAEC,EAAS,gBAAEC,GAAoBqB,EAG5DE,GADWC,EAAAA,EAAAA,eACeC,SAASC,MAAM,KAAK,GAEpD,OAAO3S,GACLP,EAAAA,EAAAA,MAAC+G,EAAAA,IAAG,CACFhI,UAAWC,IAAWC,EAAM,aAAc,CACxC,CAACA,EAAc,SAAKoS,IAEtBpS,MAAO,CAAE,UAAWqS,GAAYpR,SAAA,EAEhCC,EAAAA,EAAAA,KAACgT,EAAc,CAACpU,UAAWE,EAAM,mBAAoByT,QAASnB,EAAUrR,UACtEC,EAAAA,EAAAA,KAAA,OAAKpB,UAAWE,EAAM,wBAAwBiB,UAC5CC,EAAAA,EAAAA,KAAC0J,EAAAA,EAAS,CAAC9K,UAAWE,EAAM,kBAAkBiB,SAAEK,QAGnDiR,GACCrR,EAAAA,EAAAA,KAACgT,EAAc,CACbpU,UAAWC,IAAWC,EAAM,uBAAwB,CAClD,CAACA,EAAM,aAAcsS,IAEvBmB,QAASnB,EAAUrR,UAEnBC,EAAAA,EAAAA,KAACQ,EAAAA,OAAM,CACL5B,UAAWC,IAAWC,EAAM,iBAAkB,CAC5C,CAACA,EAAc,SAAKoS,IAEtB+B,KACE/B,GACElR,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAK,0BAEXV,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAK,0BAGfW,QAASA,KACPsR,EAAa,CAAEzB,UAAWwB,EAAUxB,WACpC,MAAMgC,EAAarY,EAAAA,EAAaJ,QAAQ+X,IAAoB,CAAC,EAC7DU,EAAWN,IAAmBF,EAAUxB,SACxCrW,EAAAA,EAAaQ,QAAQmX,EAAiBU,GACtCP,EAAa,CAAEzB,UAAWwB,EAAUxB,UAAW,MAInD,QAEJ,IAAI,ECnEJiC,EAAY1X,IAAqC,IAApC,SAAEsE,EAAQ,OAAEqT,KAAWpW,GAAOvB,EAC/C,MAAM,aAAEkX,GAAiBhN,IACnB0N,GAAWtP,EAAAA,EAAAA,QAAO,MAClBuP,EDKmBC,MACzB,MACMX,GADWC,EAAAA,EAAAA,eACeC,SAASC,MAAM,KAAK,GACpD,OAAOrL,EAAAA,EAAAA,UAAQ,KACb,MAAMwL,EAAarY,EAAAA,EAAaJ,QAAQ+X,IAAoB,CAAC,EAC7D,QAAO5K,EAAAA,EAAAA,GAAWrD,IAAI2O,EAAYN,KAC9BrO,IAAI2O,EAAYN,EACZ,GACP,CAACA,GAAgB,ECbEW,GAChBC,GAAmBzP,EAAAA,EAAAA,QAAOuP,GA4BhC,OA3BAE,EAAiB/V,QAAU6V,GAC3BjD,EAAAA,EAAAA,YAAU,KACR,IAAKT,IAAQyD,EAAS5V,QAAST,GAAQ,CACrCqW,EAAS5V,QAAUT,EAMnB,MAAMyW,EAAchX,OAAO+C,OACzB,CAAC,EACDe,EACAvD,EACoC,mBAA7BwW,EAAiB/V,QACpB,CAAEyT,SAAUsC,EAAiB/V,SAC7B,CAAC,GAEHgW,EAAYlC,QAAuC,IAA7BkC,EAAYjC,qBAC7BiC,EAA0B,aAE/BA,EAAYpB,cAAmD,IAAnCoB,EAAYzB,2BACnCyB,EAA0B,aAEnCd,EAAac,EACf,IACC,CAACzW,EAAO2V,KAEI,IAAXS,GACKpT,EAAAA,EAAAA,KAAC0T,EAAAA,OAAM,CAACC,OAAO,MAAMC,SAAS,+CAGhC7T,CAAQ,EAGX8T,EAAOvX,IAAkD,IAAjD,UAAEwX,EAAS,KAAE1P,EAAI,aAAE2P,KAAiB/W,GAAOV,EACvD,OAAqB,IAAjByX,GAEA/T,EAAAA,EAAAA,KAACgU,EAAAA,QAAQ,CAAC/R,GAAImC,EAAKrE,SAChBlD,IAAA,IAAC,OAAEuW,GAAQvW,EAAA,OAAKwC,EAAAA,EAAAA,eAAC8T,EAAS,IAAKnW,EAAOtC,IAAK0J,EAAMgP,OAAQA,GAAU,KAInE/T,EAAAA,EAAAA,eAAC8T,EAAS,IAAKnW,EAAOtC,IAAK0J,GAAQ,EAG5CyP,EAAKtT,aAAeA,EAEpB,UC3CA,EAdc9E,IAA+D,IAA9D,QAAE8W,EAAO,UAAE0B,EAAS,aAAEC,EAAY,SAAEpO,KAAa9I,GAAOvB,EACrE,OAAK8W,GAIHvS,EAAAA,EAAAA,KAACmU,EAAAA,MAAS,IACJnX,EACJiX,UAAW/Y,OAAOgB,UAAU+X,GAAaA,EAAY,GAAMA,EAC3DC,aAAcA,EACdpO,SAAUA,KAPL9F,EAAAA,EAAAA,KAAA,UAAShD,GAQd,ECiBN,EALwBV,IAA8B,IAA7B,UAAE8X,KAAcpX,GAAOV,EAC9C,MAAMuB,EAtBmBpC,KAAoB,IAAnB,UAAE2Y,GAAW3Y,EACvC,MAAM,aAAEkX,GAAiBhN,IACnB9H,GAAMkG,EAAAA,EAAAA,QAAO,MAgBnB,OAfAsQ,EAAAA,EAAAA,kBAAgB,KACd,MAAMC,EAAWA,KACf3B,EAAa,CACX,CAACyB,GAAYvW,EAAIJ,QAAQ8W,cACzB,EAGJD,IACA,MAAME,EAAiB,IAAIC,iBAAiBH,GAE5C,OADAE,EAAeE,QAAQ7W,EAAIJ,QAAS,CAAEkX,SAAS,EAAMC,WAAW,IACzD,KACLJ,EAAeK,YAAY,CAC5B,GACA,CAAClC,EAAcyB,IAEXvW,CAAG,EAIEiX,CAAmB,CAAEV,cACjC,OAAOpU,EAAAA,EAAAA,KAAA,UAAShD,EAAOa,IAAKA,GAAO,ECNrC,EAdekX,KACb,MAAM,UAAErC,GAAc/M,KAChB,OAAE4L,EAAM,YAAEE,GAAgBiB,EAChC,OAAOnB,GACLvR,EAAAA,EAAAA,KAACgV,EAAK,CACJzC,QAASd,EACT7S,UAAWE,EAAM,eACjBmV,UAAWgB,EAAAA,iBAAiBlV,UAE5BC,EAAAA,EAAAA,KAACkV,EAAe,CAACd,UAAU,eAAcrU,SAAEwR,MAE3C,IAAI,ECEV,EAdmB4D,KACjB,MAAM,UAAEzC,GAAc/M,KAChB,WAAE+L,GAAegB,EACjB0C,GAAgBrR,EAAAA,EAAAA,QAAO,MAC7B,OAAO2N,GACL1R,EAAAA,EAAAA,KAAA,OACEnC,IAAKuX,EACLxW,UAAWC,IAAWC,EAAM,oBAAqB,oBAAoBiB,SAEpE2R,IAED,IAAI,E,cCVV,MAyCA,EAzCkBjW,IAA6D,IAA5D,MAAE2F,EAAK,OAAEuG,EAAM,WAAEiK,EAAU,eAAEC,EAAc,QAAEF,GAASlW,EACvE,MAAM4Z,GAAYC,EAAAA,EAAAA,eAClB,OAAI3N,GAEA3H,EAAAA,EAAAA,KAACiI,EAAAA,QAAM,CAACrJ,UAAWE,EAAM,iBAAmB6I,EAAQzB,MAAO0L,IAGzDxQ,GAASyQ,GAAkBD,GAI/B/R,EAAAA,EAAAA,MAAC4G,EAAAA,IAAG,CAACC,QAAQ,gBAAgBpE,MAAM,SAAS1D,UAAWE,EAAM,cAAciB,SAAA,EACzEC,EAAAA,EAAAA,KAAC4G,EAAAA,IAAG,CAAA7G,UACFF,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CAAAI,SAAA,CACHqB,GACCpB,EAAAA,EAAAA,KAAA,OAAKpB,UAAWE,EAAM,mBAAmBiB,SACtC4R,GACC9R,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CAAAI,SAAA,EACJC,EAAAA,EAAAA,KAAA,QACEpB,UAAWE,EAAM,aACjBuC,QAASA,KACPgU,EAAU1D,EAAQ,EAClB5R,UAEFC,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAK,4BAEbV,EAAAA,EAAAA,KAAA,QAAAD,SAAOqB,OAGTA,IAGF,KACHyQ,GAAkC,WAGvC7R,EAAAA,EAAAA,KAAC4G,EAAAA,IAAG,CAAA7G,SAAE6R,OA5BD,IA6BD,ECMV,EAzCe2D,KACb,MAAM,UAAE7C,GAAc/M,KAChB,OACJsM,EAAM,YACNC,EAAW,YACXE,EAAW,aACXC,EAAY,mBACZL,EAAkB,gBAClBG,GACEO,EACJ,OAAOT,GACLjS,EAAAA,EAAAA,KAAC4G,EAAAA,IAAG,CACFhI,UAAWC,IAAWC,EAAM,eAAgB,eAC5CA,MAAO,CACL,UAAWoT,EACX,gBAAiBF,EAAqB,MACtCjS,UAEFF,EAAAA,EAAAA,MAACmT,EAAc,CACbpU,UAAWE,EAAM,qBACjByT,QAASH,EAAYrS,SAAA,EAErBC,EAAAA,EAAAA,KAAC0J,EAAAA,EAAS,CACR9K,UAAWC,IAAWC,EAAM,oBAAqB,oBACjDA,MAAO,CAAE0W,QAASrD,EAAkB,MAAQ,wBAAyBpS,SAEpEkS,IAEFI,GACCrS,EAAAA,EAAAA,KAACkV,EAAe,CACdtW,UAAWE,EAAM,sBACjBsV,UAAU,qBAAoBrU,UAE9BC,EAAAA,EAAAA,KAACL,EAAAA,MAAK,CAAC2C,MAAM,SAAQvC,SAAEsS,MAEvB,UAGN,IAAI,E,eCnCV,MAAM,QAAEoD,GAAYC,EAAAA,OAEdC,EAAiBA,KAEnB3V,EAAAA,EAAAA,KAAC4V,EAAAA,MAAK,CACJ3W,QAAQ,+GACR4W,UAAQ,EACRnV,KAAK,QACLoV,QACE9V,EAAAA,EAAAA,KAACQ,EAAAA,OAAM,CAACvE,KAAK,QAAQqD,QAAM,EAAC+B,QAASA,IAAMzG,OAAOmb,SAASC,SAASjW,SAAC,mBAQvEkW,EAAiBjZ,IACdgD,EAAAA,EAAAA,KAACkW,EAAAA,EAAkB,IAAKlZ,EAAOmZ,eAAgBR,IAGlDS,EAAS3a,IAAsC,IAArC,SAAEsE,EAAQ,MAAEsW,EAAK,WAAEC,GAAY7a,EAC7C,MAAO8a,EAAYC,IAAiBpZ,EAAAA,EAAAA,UAAS,IACtCsV,EAAW+D,IAAiBrZ,EAAAA,EAAAA,UAASX,OAAO+C,OAAO,CAAC,EAAGe,IACxDoS,GAAe+D,EAAAA,EAAAA,cAAa3b,GACzB0b,GAAe/D,GACbjW,OAAO+C,OAAO,CAAC,EAAGkT,EAAW3X,MAErC,IAYH,OAXAsV,EAAAA,EAAAA,YAAU,KACR,MAAMsG,GAAWC,EAAAA,EAAAA,KACXC,EAAgBA,KACpBL,EAAcG,EAASJ,WAAW,EAGpC,OADAI,EAASG,iBAAiB,SAAUD,GAC7B,KACLF,EAASI,oBAAoB,SAAUF,EAAc,CACtD,GACA,KAGDhX,EAAAA,EAAAA,MAAC6V,EAAAA,OAAU,CACT9W,UAAWE,EAAc,OACzBA,MAAOrC,OAAO+C,OACZ,CAAC,EACD,CACE,eAAgByV,EAAAA,iBAAmB,KACnC,oBAAqB,oBACrB,iBAAkBsB,EAAa,MAEjCF,GACAtW,SAAA,CAEDuW,IACCtW,EAAAA,EAAAA,KAACiW,EAAa,CAAAlW,UACZC,EAAAA,EAAAA,KAACgX,EAAAA,QAAU,IACLV,EACJxQ,SAAWmR,KACC,OAAVX,QAAU,IAAVA,OAAU,EAAVA,EAAYxQ,WAAYwQ,EAAWxQ,SAASmR,EAAK,OAKzDjX,EAAAA,EAAAA,KAACiW,EAAa,CAAAlW,UACZC,EAAAA,EAAAA,KAACyV,EAAO,CAAC7W,UAAWE,EAAM,uBAAuBiB,UAC/CF,EAAAA,EAAAA,MAAC6F,EAAQ,CAAC3K,MAAO,CAAE2X,YAAWC,gBAAe5S,SAAA,EAC3CC,EAAAA,EAAAA,KAACiW,EAAa,CAAAlW,UACZC,EAAAA,EAAAA,KAAC+U,EAAM,OAET/U,EAAAA,EAAAA,KAACiW,EAAa,CAAAlW,UACZC,EAAAA,EAAAA,KAACmV,EAAU,OAEbnV,EAAAA,EAAAA,KAACiW,EAAa,CAAAlW,UACZF,EAAAA,EAAAA,MAAC4G,EAAAA,IAAG,CACF7H,UAAWC,IAAW6T,EAAU9T,UAAWE,EAAM,eACjD6H,MAAM,EACN7H,MAAO,CACL,eAAe,QAADvC,OAAUmW,EAAUlB,aAAY,gCAC9C,oBAAoB,0BACpBzR,SAAA,EAEFC,EAAAA,EAAAA,KAACiW,EAAa,CAAAlW,UACZC,EAAAA,EAAAA,KAACyS,EAAI,OAEPzS,EAAAA,EAAAA,KAAC4G,EAAAA,IAAG,CACFhI,UAAWC,IAAWC,EAAM,gBAAiB,CAC3C,CAACA,EAAM,cAAe4T,EAAUZ,WAElCjL,KAAM,EACN/H,MAAO,CAAE,qBAAsB4T,EAAUpB,iBAAkBvR,UAE3DF,EAAAA,EAAAA,MAAA,OAAKjB,UAAWE,EAAM,aAAaiB,SAAA,EACjCC,EAAAA,EAAAA,KAACiW,EAAa,CAAAlW,UACZC,EAAAA,EAAAA,KAACkX,EAAS,CACR9V,MAAOsR,EAAUtR,MACjBuQ,QAASe,EAAUf,QACnBhK,OAAQ+K,EAAU/K,OAClBiK,WAAYc,EAAUd,WACtBC,eAAgBa,EAAUb,oBAG9B7R,EAAAA,EAAAA,KAAA,OACEpB,UAAWC,IAAWC,EAAM,qBAAsB,CAChD,CAACA,EAAM,eAAgB4T,EAAUX,YAChChS,UAEHF,EAAAA,EAAAA,MAACoW,EAAa,CAAAlW,SAAA,CACX2S,EAAUyE,kBACTnX,EAAAA,EAAAA,KAACoX,EAAAA,QAAW,CACVxY,UAAWE,EAAM,qBACjBsF,KAAMsO,EAAUyE,kBAGnBpX,aAKTC,EAAAA,EAAAA,KAACiW,EAAa,CAAAlW,UACZC,EAAAA,EAAAA,KAACuV,EAAM,oBAOR,EAIjBa,EAAO7V,aAAe,CACpB+V,WAAY,CAAC,GAGf,U,eC9IA,MAQA,EARwB7a,IAAgC,IAA/B,YAAE4b,KAAgBra,GAAOvB,EAChD,OACEuE,EAAAA,EAAAA,KAACsX,EAAAA,QAAW,IAAK7a,OAAO+C,OAAO,CAAC,EAAG6X,EAAa,CAAE3W,KAAM,UAAUX,UAChEC,EAAAA,EAAAA,KAAC6T,EAAI,IAAK7W,KACE,E,0BCAlB,MA+CA,GA/CkBua,EAAAA,EAAAA,aAChB,CAAA9b,EAUEoC,KACI,IAVJ,gBACEsZ,EAAe,YACfE,EAAW,KACXG,EAAI,aACJzD,EAAY,KACZ3P,EAAI,QACJqT,KACGza,GACJvB,EAGD,MAAOic,EAAWC,IAAgBva,EAAAA,EAAAA,UAAS,MAC3C,OACEyC,EAAAA,EAAAA,MAAC+X,EAAe,CACdxT,KAAMA,EACN2P,aAAcA,EACdsD,YAAaA,KACTG,EAAIzX,SAAA,CAEP0X,GACCzX,EAAAA,EAAAA,KAAA,OAAKpB,UAAWE,EAAM,kBAAkBiB,SAClB,oBAAZ0X,EAAyBA,EAAQC,GAAaD,IAEtD,MACJ5X,EAAAA,EAAAA,MAAA,OAAKjB,UAAWE,EAAM,cAAciB,SAAA,CACjCoX,IACCnX,EAAAA,EAAAA,KAACoX,EAAAA,QAAW,CACVxY,UAAWC,IAAW,eAAgBC,EAAM,iBAC5CsF,KAAM+S,KAGVnX,EAAAA,EAAAA,KAAC6X,EAAAA,UAAK,IACA7a,EACJa,IAAKA,EACLuG,KAAMA,EACN0T,iBAAmB3U,IACjBwU,EAAaxU,EAAK,SAIR,I,eC5CxB,MAqBA,EArBqB1H,IAOd,IAPe,gBACpB0b,EAAe,YACfE,EAAW,KACXG,EAAI,SACJO,EAAQ,SACRhY,KACG/C,GACJvB,EACC,OACEoE,EAAAA,EAAAA,MAAC+X,EAAe,IAAKJ,EAAMH,YAAaA,KAAiBra,EAAK+C,SAAA,EAC5DC,EAAAA,EAAAA,KAAA,OAAKpB,UAAWE,EAAM,kBAAkBiB,UACtCC,EAAAA,EAAAA,KAACgY,EAAAA,QAAQ,IAAKD,MAEfZ,IACCnX,EAAAA,EAAAA,KAACoX,EAAAA,QAAW,CAACxY,UAAWE,EAAM,gBAAiBsF,KAAM+S,IAEtDpX,IACe,C,gDCrBtB,SAAgB,KAAO,2BAA2B,oBAAoB,wCAAwC,gBAAgB,oCAAoC,eAAe,mCAAmC,oBAAoB,wCAAwC,UAAU,8BAA8B,MAAQ,4BAA4B,OAAS,6BAA6B,cAAc,kCAAkC,gBAAgB,oCAAoC,QAAU,+B,6ICUhf,MA6CMkY,EAAYjb,IAChB,MAAMsZ,GAAahB,EAAAA,EAAAA,gBACb,GACJrT,EAAE,UACFrD,EAAS,MACT0B,EAAK,SACL4X,EAAQ,KACRjB,EAAI,QACJkB,EAAO,QACP9W,EAAO,OACP+W,EAAM,WACNC,EAAU,aACV3P,EAAY,SACZ3I,EAAQ,aACRuY,EAAY,MACZC,EAAK,OACLC,EAAM,eACNC,GACEzb,EAEE0b,EACHjU,MAAMC,QAAQ3E,IAAaA,EAAS1D,OAAS,GAAMic,GAChD,QAAEK,EAAO,UAAEC,IAAcC,EAAAA,EAAAA,UAC7Bpc,OAAO+C,OAAO,CAAC,EAAG8Y,EAAc,CAC9BQ,MAAOL,GAAkBH,EACzBR,iBAAmB3U,IACjBqV,EAAOrV,EAAK,KAqBlB,OACEnD,EAAAA,EAAAA,KAACsX,EAAAA,QAAW,CAACa,QAASA,EAAQpY,UAC5BF,EAAAA,EAAAA,MAAA,OAAKjB,UAAWC,IAAWD,EAAWE,EAAM,cAAciB,SAAA,EACxDF,EAAAA,EAAAA,MAAA,OACEjB,UAAWC,IAAWC,EAAa,MAAG,CACpC,CAACA,EAAc,QAAIuZ,EACnB,CAACvZ,EAAM,iBAAkB4Z,EACzB,CAAC5Z,EAAM,gBAAiB4Z,IAAgBD,EACxC,CAAC3Z,EAAM,mBAAoBoZ,EAC3B,CAACpZ,EAAM,YAAuB,IAAVyZ,IAEtBlX,QAAUjG,IACRA,EAAEiH,kBACGqW,IAAezB,EAIfyB,GAAgBJ,EAIhBG,IAGLH,GAAgBK,EAAQ,CAAC,GACzBjQ,GAAc0P,IAPL,OAAP/W,QAAO,IAAPA,GAAAA,EAAUY,EAAIjF,GAJdsZ,EAAWW,EAWQ,EACrBlX,SAAA,CAEDmY,IAAYlY,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAMwX,KACzBlY,EAAAA,EAAAA,KAAA,QAAMpB,UAAWE,EAAM,iBAAiBiB,SAAEO,IACzCoY,GAAeD,IACdzY,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CACHC,KAAM0X,EAAS,uBAAyB,6BA/C7CM,GAGAD,GAAmBL,GAAUrY,GACzBC,EAAAA,EAAAA,KAAA,OAAKpB,UAAWE,EAAM,iBAAiBiB,SAAEA,KAG7C0Y,GAAmBL,GAAUQ,GAE9B5Y,EAAAA,EAAAA,KAAA,OAAKpB,UAAWE,EAAM,iBAAiBiB,UACrCC,EAAAA,EAAAA,KAAC+Y,EAAAA,KAAI,CAACna,UAAWE,EAAe,QAAG7C,KAAK,iBAH9C,EANS,SAoDK,EAIZwW,EAAOhX,IAA8C,IAA7C,UAAEmD,EAAS,eAAE6Z,KAAmBzb,GAAOvB,EACnD,MAAM,SAAEqX,EAAQ,OAAEkG,IAAWnG,EAAAA,EAAAA,gBACtBoG,EAAaC,GAAsBzR,IAAgBzK,EAAO,CAC/DjC,MAAO,aACPiN,aAAc,uBAGT3H,EAAO8Y,GAAY1R,IAAgBzK,EAAO,CAC/CgL,aAAc,eACdjN,MAAO,QACP+K,SAAU,mBAIVzF,MAAO+Y,EAAW,gBAClBC,EAAe,MACfC,EAAK,aACLC,EAAY,aACZC,EAAY,YACZd,IACEhR,EAAAA,EAAAA,UAAQ,KAAO,IAAD+R,EAChB,MACEpZ,MAAO+Y,EAAW,aAClBG,EAAY,YACZG,GA9JerZ,KACnB,MAAMkZ,EAAe,CAAC,EACpBG,EAAc,GACVC,EAAYA,CAAC5Z,EAAU6Z,KAC3B,MAAM,UAAEC,EAAS,MAAEtB,GAAU9b,OAAO+C,OAClC,CACEqa,UAAW,OACXtB,MAAO,EACPuB,MAAO,IAETF,GAEF,OAAMnV,MAAMC,QAAQ3E,IAAaA,EAAS1D,OAAS,EAG5C0D,EAAS9B,KAAI,CAACgC,EAAMvB,KACzB,MAAMqb,EAAU,GAAAxd,OACd0D,EAAKvF,KAAG,GAAA6B,OACS,SAAdsd,EAAoB,GAAAtd,OAAMsd,EAAS,KAAM,GAAE,SAAAtd,OAAQmC,IAEnD6a,EAAaM,KAChBN,EAAaM,GAAa,IAE5BN,EAAaM,GAAWzP,KAAK2P,GAC7B,MAAMha,EAAW4Z,EAAU1Z,EAAKF,SAAU,CACxC8Z,UAAWE,EACXxB,MAAOA,EAAQ,IAEjBgB,EAAaQ,IACXR,EAAaM,GAAWzP,QAAQmP,EAAaQ,IAC/C,MAAMC,EAAavd,OAAO+C,OAAO,CAAC,EAAGS,EAAM,CACzCvF,IAAKqf,EACLF,YACAtB,QACAxY,SAAUA,EACVka,WAAYha,IAGd,OADAyZ,EAAYK,GAAcC,EACnBA,CAAU,IAzBV,IA0BP,EAGJ,MAAO,CAAE3Z,MAAOsZ,EAAUtZ,GAAQkZ,eAAcG,cAAa,EAqHvDQ,CAAY7Z,GAChB,IAAImZ,GAAe,EACjBd,GAAc,EAChB,MAAMY,EAAQ,GACZD,EAAkB,GAYpB,OAXY,OAAZE,QAAY,IAAZA,GAAsB,QAAVE,EAAZF,EAAqB,YAAC,IAAAE,GAAtBA,EAAwB3O,SAASpQ,IAC/B,MAAMqQ,EAAO2O,EAAYhf,GACrBqQ,EAAKmN,WACPsB,GAAe,GAEjBzO,EAAKkM,MAAQqC,EAAMlP,KAAK,CAAE6M,KAAMlM,EAAKkM,KAAMvc,QACvC+J,MAAMC,QAAQqG,EAAKhL,WAAagL,EAAKhL,SAAS1D,OAAS,IACzDqc,GAAc,EACdW,EAAgBjP,KAAKW,EAAKrQ,KAC5B,IAEK,CACL2e,kBACAC,QACAjZ,MAAO+Y,EACPG,eACAC,eACAd,cACD,GACA,CAACrY,KACJgQ,EAAAA,EAAAA,YAAU,KACR,MAAM8J,EAAcb,EAAMpK,MAAK5S,IAAe,IAAd,KAAE2a,GAAM3a,EACtC,OACE8d,IAAYtH,EAASuH,QAAQ,UAAW,OAASD,IAAYnD,IAC7DmD,IAAYtH,EAAWkG,KAAYoB,IAAYnD,EAAK,IAGpDkD,GACFjB,EAAmBiB,EAAYzf,IACjC,GACC,CAAC4e,EAAOxG,EAAUkG,EAAQE,IAE7B,MAAOoB,EAAUC,GAAe9S,IAC9BhL,OAAO+C,OAAO,CAAC,EAAGxC,EAAO,CACvBqc,gBAAiBrc,EAAMqc,iBAAmBA,IAE5C,CACEte,MAAO,WACPiN,aAAc,kBACdlC,SAAU,iBAIR0U,GAAiB9D,EAAAA,EAAAA,cACrB,CAAC3W,EAAU6Z,KACT,MAAM,UAAEC,EAAS,MAAEtB,EAAK,YAAEU,EAAW,SAAEqB,EAAQ,MAAER,GAAUrd,OAAO+C,OAChE,CACEqa,UAAW,KACXtB,MAAO,EACPuB,MAAO,IAETF,GAEF,OAAInV,MAAMC,QAAQ3E,IAAaA,EAAS1D,OAAS,EACxC0D,EAAS9B,KACdpB,IAAyD,IAAxD,SAAEkD,EAAUrF,IAAKqf,EAAU,WAAEE,KAAeha,GAAMpD,EACjD,OACEwC,EAAAA,EAAAA,eAAC4Y,EAAQ,IACHxb,OAAO+C,OAAO,CAAC,EAAGS,GACtBgC,GAAI8X,EACJU,SAAUZ,EACVtB,MAAOA,EACPE,eAAgBA,EAChBJ,WACE0B,IAAed,GACdM,EAAaQ,IACZR,EAAaQ,GAAY/d,QAAQid,IAAgB,EAErD5X,QAAS6X,EACTV,OAASrV,IACPgW,GAAU9Y,IACR,MAAMwK,EAAQ9K,GACR0E,MAAMC,QAAQ3E,IAAaA,EAAS1D,OAAS,EACxC0D,EAAS9B,KAAKgC,GACZxD,OAAO+C,OAAO,CAAC,EAAGS,EAAM,CAC7BF,SACEka,IAAeha,EAAOkD,EAAO0H,EAAK5K,EAAKF,cAIxC,KAGT,OAAO8K,EAAKxK,EAAM,GAClB,EAEJ+X,QAASkC,GAAY,IAAIte,QAAQ+d,IAAe,EAChDrf,IAAKqf,EACLrR,aAAcA,KACZ6R,GAAaD,IACX,MAAMI,EAAcJ,EAAS/b,MAAM,GAMnC,OALI+b,EAASte,QAAQ+d,IAAe,EAClCW,EAAYpT,OAAOgT,EAASte,QAAQ+d,GAAa,GAEjDW,EAAYtQ,KAAK2P,GAEZW,CAAW,GAClB,GAGHF,EAAeza,EAAU,CACxB8Z,YACAtB,MAAOA,EAAQ,EACfU,cACAqB,WACAR,MAAO,IAAIA,EAAOC,KAEX,IAKZ,IAAI,GAEb,CAACZ,EAAUoB,EAAarB,EAAoBK,EAAcd,IAG5D,OACEzY,EAAAA,EAAAA,KAAA,OACEpB,UAAWC,IAAWD,EAAWE,EAAY,KAAG,CAC9C,CAACA,EAAM,uBAAwB0a,EAC/B,CAAC1a,EAAM,sBAAuB4Z,IAC7B3Y,SAEFya,EAAepB,EAAa,CAAEH,cAAaqB,cACxC,EAIV7H,EAAKlS,aAAe,CAClBoa,aAAc,GACdlC,gBAAgB,GAGlB,S,oJChQA,MACA,EAAe,IAA0B,4D,eCtDzC,MAMA,EANwB9X,IACZ,CACJ,QAASC,IAAM,+BAAmB,QAASC,IAAM,gCAClDF,M,0BCFP,QAAkC,sCAAlC,EAAqF,iCAArF,EAAiI,+BAAjI,EAAkL,sCAAlL,EAA+N,2BAA/N,EAA4Q,sCAA5Q,EAAuU,yCAAvU,EAA8a,gC,eCW9a,MAAM,OAAEoU,GAAWqB,EAAAA,OAENnB,EAAmB,GAE1B2F,EAAWnf,IAAsC,IAArC,KAAE2I,EAAI,QAAEyW,EAAO,aAAEC,GAAcrf,EAC/C,MAAM4X,GAAWtP,EAAAA,EAAAA,QAAO,CACtB8W,UACAC,iBAMF,OAJAzK,EAAAA,EAAAA,YAAU,KACR,MAAMjP,EAAQmD,IAAI8O,EAAS5V,QAAQod,QAAQtW,IAAIH,GAAO,SACtD2W,SAAS3Z,OAASA,EAAQA,EAAQ,IAAM,IAAMiS,EAAS5V,QAAQqd,YAAY,GAC1E,CAAC1W,IACG,IAAI,EAGP4S,EAAa1a,IAaZ,IAba,YAClB+a,EAAW,KACXva,EAAI,WACJke,EAAU,aACVC,EAAY,QACZ1I,EAAO,UACP2I,EAAS,WACTC,EAAU,aACVL,EAAY,oBACZM,EAAmB,KACnBC,EAAI,SACJvV,EAAQ,UACRlH,GACDtC,EACC,MAAMue,GAAUnT,EAAAA,EAAAA,UAAQ,IACf,IAAIpE,IAAIxG,EAAKmB,KAAIpB,IAAA,IAAC,IAAEnC,KAAQwN,GAAQrL,EAAA,MAAK,CAACnC,EAAKwN,EAAO,MAC5D,CAACpL,IACEwe,GAAWhG,EAAAA,EAAAA,eACXS,GAAWlD,EAAAA,EAAAA,eACX0I,GAAgBxX,EAAAA,EAAAA,UAChByX,GAAoBzX,EAAAA,EAAAA,QAAO,OAC1B0X,EAAWC,IAAgBte,EAAAA,EAAAA,UAAS,gBACrCwV,EAAiBmD,EAASjD,SAC7BuH,QAAQ,IAAIsB,OAAO,IAADpf,OAAK8e,IAAS,IAChCtI,MAAM,KAAK,GACR3O,EAAOwO,EACTrO,IACEE,MAAMS,KAAK2V,EAAQe,WAAW1M,MAAK3J,IAAmC,IAAjCnB,GAAM,KAAE6S,EAAI,WAAE4E,IAAatW,EAG9D,OAAgD,KAD9B,oBAAT0R,EAAsBA,EAAK4E,EAAYxE,GAAeJ,GAClDjb,QAAQ,IAAM4W,EAAsB,IAEnD,OAEF,QACJvC,EAAAA,EAAAA,YAAU,KACR,MAAMiE,EAAWA,KACf,GAAIiH,EAAc9d,QAAS,CACzB,MAAMqe,EACJP,EAAc9d,QAAQM,iBAAiB,oBACzC,IAAIge,GAAQ,EACZ,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAQzf,OAAQ2f,IAAK,CAGvC,IAA8B,IAFlBF,EAAQE,GACDC,aAAa,gBACrBjgB,QAAQoI,GAAc,CAC/B2X,GAAQ,EACR,KACF,CACF,CACA,IAAIG,EACFrB,EAAQtW,IAAIH,KAAU2X,EAAQxX,IAAIsW,EAAQtW,IAAIH,GAAO,SAAW,GAClEsX,EAAaQ,EACf,GAEIC,EAA6B,CACjCC,YAAY,EACZxH,WAAW,EACXD,SAAS,GAcX,OAZI4G,GAAiBA,EAAc9d,UACjC6W,IACIkH,EAAkB/d,SACpB+d,EAAkB/d,QAAQoX,aAE5B2G,EAAkB/d,QAAU,IAAIgX,iBAAiBH,GACjDkH,EAAkB/d,QAAQiX,QACxB6G,EAAc9d,QACd0e,IAIG,KACLX,EAAkB/d,SAAW+d,EAAkB/d,QAAQoX,YAAY,CACpE,GACA,CAACzQ,EAAMyW,IACV,MAAMwB,IAAWnB,GACb,CACE5a,MAAO6a,IACLnb,EAAAA,EAAAA,KAACuG,EAAAA,iBAAgB,CAACtE,GAAG,aAAaf,WAAW,eAE/CxG,IAAK,OACL2G,QAASA,KACPyE,GAAYA,EAAS,KACrBwW,YAAW,KACThB,EAAS,IAAI,GACZ,EAAE,GAIb,OACEzb,EAAAA,EAAAA,MAACyG,EAAAA,aAAY,CAACnF,eAAgBA,EAAgBD,WAAW,aAAYnB,SAAA,EACnEC,EAAAA,EAAAA,KAACuG,EAAAA,iBAAgB,CAACtE,GAAG,eAAef,WAAW,aAAYnB,SACvDmH,IACAlH,EAAAA,EAAAA,KAAC4a,EAAQ,CACPE,aAAcA,GAAgB5T,EAC9B2T,QAASA,EACTzW,KAAMA,OAIZpE,EAAAA,EAAAA,KAAA,OAAKpB,UAAWC,IAAWC,EAA0BF,GAAWmB,UAC9DC,EAAAA,EAAAA,KAAC+U,EAAM,CACLnW,UAAWC,IAAW,aAAcC,EAAqB,CACvD,CAACA,GAAoByT,IACpBxS,UAEHF,EAAAA,EAAAA,MAAC4G,EAAAA,IAAG,CAACC,QAAQ,eAAeC,MAAM,EAAM5G,SAAA,EACtCC,EAAAA,EAAAA,KAAC4G,EAAAA,IAAG,CACFhI,UAAWC,IACT,kBACAC,GACAiB,UAEFC,EAAAA,EAAAA,KAACuc,EAAAA,QAAK,CACJ3d,UAAWC,IAAWC,GACtB0d,IAAKC,EACLC,IAAI,UACA1B,OAGRhb,EAAAA,EAAAA,KAAC4G,EAAAA,IAAG,CACF/I,IAAK0d,EACL1U,KAAM,EACNjI,UAAWC,IACT,kBACAC,GACAiB,UAEFC,EAAAA,EAAAA,KAACyS,EAAAA,KAAI,CACHpI,aAAc,CAACjG,GACfuY,KAAK,aACLvB,oBACEA,IACEvb,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CAAC1D,KAAM,EAAE8D,SAAA,EACbC,EAAAA,EAAAA,KAAA,QAAAD,SACG0b,IACCzb,EAAAA,EAAAA,KAACuG,EAAAA,iBAAgB,CACftE,GAAG,sBACHf,WAAW,kBAIjBlB,EAAAA,EAAAA,KAAA,QAAMpB,UAAWE,EAAmBiB,UAClCC,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAK,8BAKnBL,MAAO,CACLgc,KACG5X,MAAMS,KAAK2V,EAAQe,WACnBjU,QAAOiD,IAA6B,IAA3BxG,GAAM,WAAEyX,IAAajR,EAC7B,GAA0B,kBAAfiR,EACT,OAAOxE,EAAYrb,QAAQ6f,IAAe,EAE5C,GAA0B,oBAAfA,EACT,OAAOA,EAAWxE,GAEpB,GAAI5S,MAAMC,QAAQmX,GAAa,CAC7B,IAAK,IAAI5b,KAAQ4b,EACf,GAAIxE,EAAYrb,QAAQiE,IAAS,EAC/B,OAAO,EAGX,OAAO,CACT,CACA,OAAO,CAAI,IAEZhC,KAAIoR,IAA0C,IAAxCjL,GAAM,MAAEhD,EAAK,KAAE6V,EAAI,WAAE4E,IAAaxM,EACvC,MAAMuN,EACY,oBAAT3F,EACHA,EAAK4E,EAAYxE,GACjBJ,EACN,MAAO,CACL3W,MAAOc,EACP1G,IAAK0J,EACL/C,QAASA,KACPyE,GAAYA,EAAS8W,GACrBN,YAAW,KACThB,EAASsB,EAAM,GACd,EAAE,EAER,UAKX5c,EAAAA,EAAAA,KAAC4G,EAAAA,IAAG,CAAChI,UAAWE,EAA4BiB,SAAEkb,aAIvC,EAInBjE,EAAWzW,aAAe,CACxBgS,SAAS,EACT8E,YAAa,GACbva,KAAM,GACNoe,WAAW,EACXG,KAAM,IAGR,S,qLCtOA,QAAwB,4B,0BCMjB,MAAMwB,EAAiBphB,IAA+B,IAA9B,YAAE4b,EAAW,QAAEc,GAAS1c,EACrD,QAAOgJ,MAAMC,QAAQyT,IAAYA,EAAQ9b,OAAS,IAC9C8b,EAAQ2E,MAAM/C,IAAgB1C,GAAe,IAAIrb,QAAQ+d,IAAe,GACpE,EAGGgD,EAAiBA,KAC5B,MAAM1X,GAASM,EAAAA,EAAAA,oBACf,MAAO,CACL0R,YAAa9S,IAAIc,EAAQ,iCAAkC,IAC5D,EAGU2X,EAAqB1gB,IAAkB,IAAjB,QAAE6b,GAAS7b,EAC5C,MAAM,YAAE+a,GAAgB0F,IACxB,OAAOF,EAAe,CAAExF,cAAac,WAAU,EAG3Cb,EAAcza,IAQb,IARc,KACnB6D,EAAI,UACJ9B,EAAS,QACTqe,EAAO,QACPhe,EAAO,QACPkZ,EAAO,SACPpY,KACG/C,GACJH,EACC,MAAMuW,EAAS4J,EAAmB,CAAE7E,YACpC,MAAwB,oBAAbpY,EACFA,EAAS,CAAEqT,SAAQ1S,OAAMyX,aAGnB,IAAX/E,EACKrT,EAGI,UAATW,GACKV,EAAAA,EAAAA,KAAC0T,EAAAA,OAAM,CAACC,OAAO,MAAMC,SAAU3U,IAG3B,YAATyB,GAEAV,EAAAA,EAAAA,KAACkd,EAAAA,QAAO,CAAC9b,MAAOnC,EAAQc,UACrBod,EAAAA,EAAAA,eACCF,EACA,IAAKjgB,EAAO4B,UAAWC,IAAWC,EAAgBF,IAClDmB,KAMD,IAAI,EAGbuX,EAAY/W,aAAe,CACzBG,KAAM,SACNuc,QAAS,OACThe,QAAS,4EAGX,S,mFCnEA,SAAgB,YAAY,gCAAgC,eAAe,mCAAmC,kBAAkB,sCAAsC,oBAAoB,wCAAwC,mBAAmB,uCAAuC,kBAAkB,uC,eCa9S,MA6BA,EA7BiBxD,IAMV,IANW,UAChBmD,EAAS,KACT8B,EAAO,MAAK,YACZ0c,EAAc,GAAE,QAChBC,KACGrgB,GACJvB,EACC,OACEuE,EAAAA,EAAAA,KAACsd,EAAAA,KAAI,IACCtgB,EACJ,cAAa,4BACb4B,UAAWC,IACTC,EAAM,aACNA,EAAM,OAADvC,OAAQmE,EAAI,aACjB9B,EACA,CACE,CAACE,EAAM,oBAAqBue,EAC5B,CAACve,EAAM,iBAAkBse,EAAYN,MAAM7c,KAAWA,EAAKF,aAG/DjB,MAAO,CAAE,gBAAiBse,EAAY/gB,QACtCkhB,UAAU,EACVld,MAAO+c,EAAYnf,KAAI3B,IAAoC,IAAnC,IAAEkhB,EAAG,MAAEld,EAAK,IAAE5F,KAAQsC,GAAOV,EACnD,MAAO,CAAEgE,MAAOkd,GAAOld,EAAO5F,SAAQsC,EAAO,KAE/C,C,mFCtCN,SAAgB,YAAY,gCAAgC,mBAAmB,uCAAuC,kBAAkB,sCAAsC,kCAAkC,sDAAsD,wBAAwB,4CAA4C,yBAAyB,6CAA6C,UAAU,8BAA8B,WAAW,+BAA+B,oBAAoB,yC,0BCKtf,MAAMygB,EAAc,CAClBC,QAAS,UACTC,MAAO,CACLC,MAAO,UACPC,YAAa,WAEfxP,OAAQ,UACRyP,aAAc,UACdC,QAAS,UACTC,SAAU,UACV1e,OAAQ,UACR2e,KAAM,UACNC,MAAO,WAGHlX,EAAWvL,IAQV,IARW,WAChB0iB,EAAU,KACVjX,EAAI,KACJxG,EAAI,eACJ0d,EAAc,UACdxf,EAAS,WACTqI,KACGjK,GACJvB,EACC,MAAM4iB,GAAW3W,EAAAA,EAAAA,UACf,SAAA4W,EAAAC,EAAA,MAAO,CACLX,OAAkB,OAAXH,QAAW,IAAXA,GAAmB,QAARa,EAAXb,EAAc/c,UAAK,IAAA4d,OAAR,EAAXA,EAAqBV,QAASH,EAAY/c,GACjDmd,aAAwB,OAAXJ,QAAW,IAAXA,GAAmB,QAARc,EAAXd,EAAc/c,UAAK,IAAA6d,OAAR,EAAXA,EAAqBV,cAAeJ,EAAY/c,GAC9D,GACD,CAACA,IAGH,OACEb,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CACJ,cAAa,4BACbf,UAAWC,IACTC,EAAM,qBACG,iBAAT4B,EAA0B5B,EAAM,mCAAqC,IAEvEwD,MAAM,SACNrG,KAAM,EAAE8D,SAAA,CAEPkH,GACCpH,EAAAA,EAAAA,MAAA,QAAMjB,UAAWE,EAAM,yBAAyBiB,SAAA,CAAEkH,EAAW,OAC3D,MACJjH,EAAAA,EAAAA,KAACuO,EAAAA,IAAG,CACFqP,MAAOS,EAAST,SACZ5gB,EACJ8B,MAAO,CACL0f,WAAYJ,EAAiBC,EAAST,MAAQ,KAAO,OACrDA,MAAOS,EAAST,MAChBa,OAAQN,EAAU,aAAA5hB,OAAgB8hB,EAASR,aAAgB,QAE7Djf,UAAWC,IACTC,EAAM,aACNF,EACS,WAAT8B,EAAoB5B,EAAM,oBAAsB,GACvC,UAAT4B,EAAmB5B,EAAM,mBAAqB,GAC9CA,EAAM,aAADvC,OAAcmE,IACnB0d,EAAiBtf,EAAM,WAAa,GACpCqf,EAAarf,EAAM,eAAiB,IACpCiB,UAEFC,EAAAA,EAAAA,KAAA,QAAMpB,UAAWE,EAAM,YAAYiB,SAAEmH,QAEjC,EAIZF,EAASzG,aAAe,CACtBqd,MAAO,UACPld,KAAM,UACNyd,YAAY,EACZC,gBAAgB,EAChBlX,KAAM,GACNtI,UAAW,IAGb,S,kECnFA,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,MA+BA,EA/BoBnD,IAAiC,IAAhC,UAAEmD,EAAS,KAAE9B,EAAI,MAAEmP,GAAOxQ,EAC7C,OACEuE,EAAAA,EAAAA,KAAA,OACEpB,UAAWC,IAAWD,EAAWE,EAAM,mBACvCA,MAAO,CACL,cAAemN,EAAQ,MACvBlM,UAEFC,EAAAA,EAAAA,KAACpD,EAAAA,QAAW,CACVE,KAAMA,EAAKmB,KAAI3B,IAAA,IAAC,UAAEsC,KAAc5B,GAAOV,EAAA,OACrCG,OAAO+C,OAAO,CAAC,EAAGxC,EAAO,CACvB4B,UAAWC,IACTD,EACA,iBACAE,EAAM,gBAER4B,KAAM,QACN,IAEJ3D,MACEiD,EAAAA,EAAAA,KAACQ,EAAAA,OAAM,CACLyS,MAAMjT,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAK,kBACjB9B,UAAU,iBACV8B,KAAK,YAIP,E,gDC9BV,MAqBA,EArBiBjF,IAA6B,IAA5B,SAAEsE,EAAQ,SAAE2e,GAAUjjB,EACtC,OACEuE,EAAAA,EAAAA,KAAC2C,EAAAA,WAAWG,KAAI,CACd4b,SACEA,GACAjiB,OAAO+C,OACL,CAAC,EACD,CACEmf,QAAS,CACPxe,iBAAkBrB,EAAe,QACjCiB,SAAUA,KAIjBA,SAEAA,GACe,EChBhB6e,EAAUnjB,IAYT,IAZU,KACfiF,EAAI,KACJT,EAAI,QACJ4e,EAAO,YACPC,EAAW,MACXC,EAAK,QACLC,EAAO,SACPjf,EAAQ,MACRkM,EAAK,MACLnN,EAAK,QACLuC,EAAO,SACP4d,GACDxjB,EACC,MAAOyjB,EAASC,IAAc/hB,EAAAA,EAAAA,WAAS,GACvC,OACE4C,EAAAA,EAAAA,KAAA,OACElB,MAAOrC,OAAO+C,OAAO,CAAC,EAAGV,EAAO,CAAE,cAAemN,EAAQ,OACzDrN,UAAWC,IACTugB,EAAa,YACbA,EAAa1e,GACbme,EACI,KACA,CACE,CAACO,EAAoB,OAAIL,EACzB,CAACK,EAAsB,SAAIJ,EAC3B,CAACI,EAAsB,SAAIF,IAGnC7d,QAAUjG,IACe,oBAAZiG,GAA2Bwd,GAAYK,IAChDC,GAAW,GACXra,QAAQua,QACNhe,EAAQ,CAAEpB,OAAMqf,QAASL,EAAUM,MAAOnkB,KAC1CokB,SAAQ,KACRL,GAAW,EAAM,IAErB,EACApf,SAED8e,EACGC,EAAY,CAAEpe,OAAMT,OAAM8e,QAAOC,UAASjf,aAC1CA,GACA,EAIV6e,EAAQre,aAAe,CACrBue,YAAaA,IAAM,KAGrB,UCjDMW,GAAcC,EAAAA,EAAAA,iBAAgB,CAClCR,QAAS,MADSQ,EAEjBjkB,IAAyB,IAAxB,KAAE0H,EAAI,SAAEpD,GAAUtE,EACpB,OAAOsE,EAASoD,EAAK,IAiDvB,EA9C0B7G,IASnB,IAToB,IACzBqjB,EAAG,OACHC,EAAM,SACNC,EAAQ,SACRnB,EAAQ,MACRK,EAAK,QACLC,EAAO,YACPF,EAAW,QACXD,GACDviB,EACC,OAAIsjB,GAEA5f,EAAAA,EAAAA,KAACyf,EAAW,IAAKE,EAAG5f,SAChBoD,IAEEnD,EAAAA,EAAAA,KAAC4e,EAAO,CACNle,KAAK,mBACLT,KAAMkD,EACN4b,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQ9e,UAEjBC,EAAAA,EAAAA,KAAC8f,EAAQ,CAACpB,SAAUA,EAAS3e,SACF,oBAAjB4f,EAAI5f,SAA0B4f,EAAI5f,SAASoD,GAAQA,SASvEnD,EAAAA,EAAAA,KAAC4e,EAAO,CACNle,KAAK,YACLse,SAAO,EACPH,QAASA,EACTC,YAAaA,EAAY/e,UAEzBC,EAAAA,EAAAA,KAACQ,EAAAA,OAAM,CAAC5B,UAAU,iBAAiB8B,KAAK,OAAOW,QAASwe,EAAS9f,SAAC,kBAG1D,E,uBCxCd,MAoSMme,EAAQA,CACZje,EAAI8f,KAEA,IADJ,MAAEhB,EAAK,QAAEC,EAAO,SAAEN,EAAQ,YAAEI,EAAW,QAAED,KAAY7hB,GAAO+iB,EAE5D,OACE/f,EAAAA,EAAAA,KAAC4e,EAAO,IACF5hB,EACJ0D,KAAK,QACLT,KAAMA,EACN8e,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQ9e,UAEjBC,EAAAA,EAAAA,KAAC8f,EAAQ,CAACpB,SAAUA,EAAS3e,SAAEE,KACvB,EAuBR+f,EAAc,CAClBC,KAAM,CACJC,OA5USD,CAAChgB,EAAIxE,KAA0D,IAAxD,MAAEsjB,EAAK,QAAEC,EAAO,QAAEH,EAAO,YAAEC,KAAgB9hB,GAAOvB,EACpE,OACEuE,EAAAA,EAAAA,KAAC4e,EAAO,IACF5hB,EACJ0D,KAAK,OACLT,KAAMA,EACN+e,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,IAAYpS,IAAMxM,GAAMkgB,UAAUpgB,SAE1C0M,IAAMxM,GAAMyM,OAAO,eACZ,EAiUVT,MAAO,IACPmU,IAAK,IACLC,IAAK,KAEPC,UAAW,CACTJ,OAlUcI,CAChBrgB,EAAI3D,KAEA,IADJ,MAAEyiB,EAAK,QAAEC,EAAO,QAAEH,EAAO,YAAEC,KAAgB9hB,GAAOV,EAElD,OACE0D,EAAAA,EAAAA,KAAC4e,EAAO,IACF5hB,EACJ0D,KAAK,aACLT,KAAMA,EACN+e,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,IAAYpS,IAAMxM,GAAMkgB,UAAUpgB,SAE1C0M,IAAMxM,GAAMyM,OAAO,YACZ,EAoTVT,MAAO,IACPmU,IAAK,IACLC,IAAK,KAEPE,UAAW,CACTL,OApTcK,CAChBtgB,EAAIpD,KAEA,IADJ,MAAEkiB,EAAK,QAAEC,EAAO,QAAEH,EAAO,YAAEC,KAAgB9hB,GAAOH,EAElD,OACEmD,EAAAA,EAAAA,KAAC4e,EAAO,IACF5hB,EACJ0D,KAAK,aACLT,KAAMA,EACN+e,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQ9e,SAEhB0M,IAAU,OAAJxM,QAAI,IAAJA,OAAI,EAAJA,EAAO,IAAIyM,OAAO,oBACvB,IACAD,IAAU,OAAJxM,QAAI,IAAJA,OAAI,EAAJA,EAAO,IAAIyM,OAAO,UAClB,EAoSVT,MAAO,IACPmU,IAAK,IACLC,IAAK,KAEPG,SAAU,CACRN,OArSaM,CACfvgB,EAAIsF,KAEA,IADJ,MAAEwZ,EAAK,QAAEC,EAAO,YAAEF,EAAW,QAAED,EAAO,WAAE4B,KAAezjB,GAAOuI,EAE9D,OACEvF,EAAAA,EAAAA,KAAC4e,EAAO,IACF5hB,EACJiD,KAAMA,EACN+e,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,IAAYpS,IAAMxM,GAAMkgB,UAAUpgB,SAE1C0M,IAAMxM,GAAMyM,OACX+T,EAAa,mBAAqB,wBAE5B,EAsRVxU,MAAO,IACPmU,IAAK,IACLC,IAAK,KAEPK,aAAc,CACZR,OAvRiBQ,CACnBzgB,EAAI2K,KAEA,IADJ,MAAEmU,EAAK,QAAEC,EAAO,YAAEF,EAAW,QAAED,KAAY7hB,GAAO4N,EAElD,OACE5K,EAAAA,EAAAA,KAAC4e,EAAO,IACF5hB,EACJ0D,KAAK,gBACLT,KAAMA,EACN+e,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQ9e,SAEhBE,GACO,EAyQVgM,MAAO,IACPmU,IAAK,IACLC,IAAK,KAEPM,kBAAmB,CACjBT,OA1QsBS,CACxB1gB,EAAIoP,KAEA,IADJ,MAAE0P,EAAK,QAAEC,EAAO,YAAEF,EAAW,QAAED,KAAY7hB,GAAOqS,EAElD,OACErP,EAAAA,EAAAA,KAAC4e,EAAO,IACF5hB,EACJ0D,KAAK,sBACLT,KAAMA,EACN+e,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQ9e,SAEhBE,GACO,EA4PVgM,MAAO,IACPmU,IAAK,IACLC,IAAK,KAEPO,KAAM,CACJV,OA7PSU,CACX3gB,EAAI4gB,KAEA,IADJ,MAAE9B,EAAK,QAAEC,EAAO,SAAEN,EAAQ,YAAEI,EAAW,QAAED,KAAY7hB,GAAO6jB,EAE5D,OACE7gB,EAAAA,EAAAA,KAAC4e,EAAO,IACF5hB,EACJ0D,KAAK,OACLT,KAAMA,EACN+e,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQ9e,UAEjBC,EAAAA,EAAAA,KAAC8f,EAAQ,CAACpB,SAAUA,EAAS3e,SAAEE,KACvB,EA+OVgM,MAAO,IACPmU,IAAK,IACLC,IAAK,KAEPS,SAAU,CACRZ,OAhPaY,CACf7gB,EAAI8gB,KAEA,IADJ,MAAEhC,EAAK,QAAEC,EAAO,SAAEN,EAAQ,YAAEI,EAAW,QAAED,KAAY7hB,GAAO+jB,EAE5D,OACE/gB,EAAAA,EAAAA,KAAC4e,EAAO,IACF5hB,EACJ0D,KAAK,YACLT,KAAMA,EACN+e,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQ9e,UAEjBC,EAAAA,EAAAA,KAAC8f,EAAQ,CAACpB,SAAUA,EAAS3e,SAAEE,KACvB,EAkOVgM,MAAO,IACPmU,IAAK,IACLC,IAAK,KAEPW,SAAU,CACRd,OAnOac,CACf/gB,EAAIghB,KAEA,IADJ,MAAElC,EAAK,QAAEC,EAAO,SAAEN,EAAQ,YAAEI,EAAW,QAAED,KAAY7hB,GAAOikB,EAE5D,OACEjhB,EAAAA,EAAAA,KAAC4e,EAAO,IACF5hB,EACJ0D,KAAK,WACLT,KAAMA,EACN+e,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQ9e,UAEjBC,EAAAA,EAAAA,KAAC8f,EAAQ,CAACpB,SAAUA,EAAS3e,SAAEE,KACvB,EAqNVgM,MAAO,IACPmU,IAAK,IACLC,IAAK,KAEPa,IAAK,CACHhB,OAtNQgB,CAACjhB,EAAIkhB,KAA0C,IAAxC,YAAErC,EAAW,QAAED,KAAY7hB,GAAOmkB,EACnD,OACEnhB,EAAAA,EAAAA,KAAC4e,EAAO,IACF5hB,EACJ0D,KAAK,MACLT,KAAMA,EACN6e,YAAaA,EACbD,QAASA,EAAQ9e,SAEhBE,IACEA,EAAKmhB,QACJphB,EAAAA,EAAAA,KAACoF,EAAAA,QAAI,CACHhB,KAAMnE,EAAKmE,KACXlD,WAAYjB,EAAKiB,WACjBmD,MAAOpE,EAAKoE,MAAMtE,SAEjBshB,IAAA,IAAC,KAAE3gB,EAAI,YAAEsC,GAAaqe,EAAA,OACrBrhB,EAAAA,EAAAA,KAACgH,EAAAA,QAAQ,CACPtG,KAAMA,KACFjE,OAAO+C,OACT,CAAC,EACDoK,IAAK3J,EAAM,CAAC,OAAQ,SAAU,aAAc,WAE9CiH,KAAMlE,GACN,KAINhD,EAAAA,EAAAA,KAACgH,EAAAA,QAAQ,IAAKvK,OAAO+C,OAAO,CAAC,EAAGS,OAE5B,EAyLVgM,MAAO,IACPmU,IAAK,IACLC,IAAK,KAEPiB,OAAQ,CACNpB,OA1LWoB,CAACrhB,EAAIshB,KAA0C,IAAxC,YAAEzC,EAAW,QAAED,KAAY7hB,GAAOukB,EACtD,OACEvhB,EAAAA,EAAAA,KAAC4e,EAAO,IACF5hB,EACJ0D,KAAK,SACLT,KAAMA,EACN6e,YAAaA,EACbD,QAASA,EAAQ9e,UAEjBC,EAAAA,EAAAA,KAACuc,EAAAA,QAAMiF,OAAM,IAAK/kB,OAAO+C,OAAO,CAAC,EAAGS,GAAOhE,KAAM,MACzC,EAiLVgQ,MAAO,GACPmU,IAAK,GACLC,IAAK,KAEPoB,UAAW,CACTvB,OAlLcuB,CAChBxhB,EAAIyhB,KAEA,IADJ,MAAE3C,EAAK,QAAEC,EAAO,SAAEN,EAAQ,YAAEI,EAAW,QAAED,KAAY7hB,GAAO0kB,EAE5D,OACE1hB,EAAAA,EAAAA,KAAC4e,EAAO,IACF5hB,EACJ0D,KAAK,aACLT,KAAMA,EACN8e,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQ9e,UAEjBC,EAAAA,EAAAA,KAAC8f,EAAQ,CAACpB,SAAUA,EAAS3e,SAAEE,KACvB,EAoKVgM,MAAO,GACPmU,IAAK,GACLC,IAAK,KAEPsB,SAAU,CACRzB,OArKayB,CAAC1hB,EAAMjD,KACfgD,EAAAA,EAAAA,KAAC4hB,EAAiB,CAACjC,IAAK1f,KAAUjD,IAqKvCiP,MAAO,IACPmU,IAAK,GACLC,IAAK,KAEPwB,SAAU,CACR3B,OAvKa2B,CACf5hB,EAAI6hB,KAEA,IADJ,SAAEpD,EAAQ,MAAEK,GAAQ,EAAI,QAAEC,GAAU,EAAI,YAAEF,EAAW,QAAED,KAAY7hB,GAAO8kB,EAE1E,OACE9hB,EAAAA,EAAAA,KAAC4e,EAAO,IACF5hB,EACJ0D,KAAK,YACLT,KAAMA,EACN8e,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQ9e,UAEjBC,EAAAA,EAAAA,KAAC8f,EAAQ,CAACpB,SAAUA,EAAS3e,SAAEE,KACvB,EAyJVgM,MAAO,IACPmU,IAAK,IACLC,IAAK,KAEPrd,YAAa,CACXkd,OA1JgBld,CAClB/C,EAAI8hB,KAEA,IADJ,MAAEhD,EAAK,QAAEC,EAAO,SAAEN,EAAQ,YAAEI,EAAW,QAAED,KAAY7hB,GAAO+kB,EAE5D,OACE/hB,EAAAA,EAAAA,KAAC4e,EAAO,IACF5hB,EACJ0D,KAAK,cACLT,KAAMA,EACN8e,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQ9e,UAEjBC,EAAAA,EAAAA,KAAC8f,EAAQ,CAACpB,SAAUA,EAAS3e,SAAEE,KACvB,EA4IVgM,MAAO,IACPmU,IAAK,IACLC,IAAK,KAEPzG,QAAS,CACPsG,OA5IYtG,CAAC3Z,EAAI+hB,KAAiB,IAAf,MAAE/V,GAAO+V,EAC9B,OACEhiB,EAAAA,EAAAA,KAACiiB,EAAW,CACVrjB,UAAWC,IAAWugB,EAAa,YAAaA,EAAsB,SACtEtiB,KAAMmD,EACNgM,MAAOA,GACP,EAuIFA,MAAO,IACPmU,IAAK,IACLC,IAAK,KAEP6B,cAAe,CACbhC,OArHkBgC,CACpBjiB,EAAIkiB,KAEA,IADJ,MAAEpD,EAAK,QAAEC,EAAO,SAAEN,EAAQ,YAAEI,EAAW,QAAED,KAAY7hB,GAAOmlB,EAE5D,OACEniB,EAAAA,EAAAA,KAAC4e,EAAO,IACF5hB,EACJ0D,KAAK,gBACLT,KAAMA,EACN8e,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQ9e,UAEjBC,EAAAA,EAAAA,KAAC8f,EAAQ,CAACpB,SAAUA,EAAS3e,SAAEE,KACvB,EAuGVgM,MAAO,IACPmU,IAAK,IACLC,IAAK,KAEPnC,MAAO,CACLgC,OAAQhC,EACRjS,MAAO,IACPmU,IAAK,IACLC,IAAK,KAEP+B,WAAY,CACVlC,OAAQhC,EACRjS,MAAO,IACPmU,IAAK,GACLC,IAAK,KAEPgC,WAAY,CACVnC,OAAQhC,EACRjS,MAAO,IACPmU,IAAK,IACLC,IAAK,MAIT,I,yLCpcA,MAAM,MAAEiC,GAAUC,EAAAA,SA+QlB,EA7Q8B9mB,IAKvB,IALwB,MAC7B+mB,EAAK,UACLjgB,EAAS,QACTkgB,EACAC,OAAQ1a,GACTvM,EACC,MAAOinB,EAAQ5c,IAAY1I,EAAAA,EAAAA,UAAS4K,GAAgB,CAAC,IAE9C2a,EAAYC,IAAiBxlB,EAAAA,EAAAA,UAAS,KACvC,iBAAEylB,EAAgB,kBAAEC,EAAiB,eAAEC,EAAc,cAAEC,IAC3Dtb,EAAAA,EAAAA,UAAQ,IACC0G,IACL3R,OAAO+C,OACL,CACEqjB,iBAAkB,GAClBC,kBAAmB,GACnBC,eAAgB,GAChBC,cAAe,IAEjBC,IAAQR,GAAUxiB,GACG,UAAfA,EAAKijB,MACA,qBAEU,IAAfjjB,EAAKijB,OAAiC,SAAfjjB,EAAKijB,MACvB,oBAEuC,IAAxC3e,IAAIme,EAAO,GAADnmB,OAAK0D,EAAKmE,KAAI,cAC9BnE,EAAKkjB,SACmC,IAAxC5e,IAAIme,EAAO,GAADnmB,OAAK0D,EAAKmE,KAAI,aACtB,gBACA,qBAGR,CAACiK,EAAQtT,EAAOL,KACd2T,EAAO3T,GAAOK,EAAMqoB,MAAK,CAACC,EAAGC,IAEzB/e,IAAIme,EAAO,GAADnmB,OAAK8mB,EAAEjf,KAAI,SAAS,GAC9BG,IAAIme,EAAO,GAADnmB,OAAK+mB,EAAElf,KAAI,SAAS,IAEhC,GAEJ,CAAC,IAEF,CAACqe,EAASC,IAkBTa,EAAgBtjB,IAElBJ,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAC,SAAA,CACGE,EAAKujB,WAAavjB,EAAKmB,OAAS,2BAChCnB,EAAKwjB,aAAexjB,EAAKwjB,YAAYpnB,OAAS,EAAC,IAAAE,OACxC0D,EAAKwjB,YAAYxlB,KAAI3B,IAAA,IAAC,MAAE8E,GAAO9E,EAAA,OAAK8E,CAAK,IAAE5E,KAAK,KAAI,KACxD,MAKV,OACEqD,EAAAA,EAAAA,MAAA,OAAKjB,UAAWE,EAAM,2BAA2BiB,SAAA,EAC/CC,EAAAA,EAAAA,KAAA,OAAKpB,UAAWE,EAAM,iCAAiCiB,UACrDF,EAAAA,EAAAA,MAAC4G,EAAAA,IAAG,CAACnE,MAAM,SAASoE,QAAQ,gBAAe3G,SAAA,EACzCC,EAAAA,EAAAA,KAAC4G,EAAAA,IAAG,CAAA7G,SAAC,8BACLC,EAAAA,EAAAA,KAAC4G,EAAAA,IAAG,CAAA7G,UACFC,EAAAA,EAAAA,KAACkd,EAAAA,QAAO,CAAC9b,MAAM,2BAAMrB,UACnBC,EAAAA,EAAAA,KAACZ,EAAAA,QAAa,CACZsB,KAAK,OACLuS,MAAMjT,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAK,0BACjBW,QAAS2C,UACPzB,SAAoBA,EAAU,CAAC,GAC/BigB,GAAO,cAOnBxiB,EAAAA,EAAAA,KAAA,OAAKpB,UAAWE,EAAM,oCAAoCiB,UACxDF,EAAAA,EAAAA,MAAC0iB,EAAAA,SAAQ,CACPmB,iBAAkB,CAAC,SAAU,aAC7BC,OAAO,EACPC,UAAQ,EAAA7jB,SAAA,EAERC,EAAAA,EAAAA,KAACsiB,EAAK,CAAc/Q,OAAO,iCAAOxR,UAChCF,EAAAA,EAAAA,MAACgkB,EAAAA,KAAI,CAACjlB,UAAWE,EAAM,gCAAgCiB,SAAA,CACpD8iB,EAAiB5kB,KAAI,CAACgC,EAAMvB,KAC3BsB,EAAAA,EAAAA,KAAC6jB,EAAAA,KAAKC,KAAI,CACRllB,UAAWE,EAAM,gCAAgCiB,UAGjDC,EAAAA,EAAAA,KAAC+jB,EAAAA,SAAQ,CAAC9U,SAAO,EAAC1N,UAAQ,EAAAxB,SACvBwjB,EAAatjB,MAHXA,EAAKmE,MAAI,QAAA7H,OAAYmC,OAO9BsB,EAAAA,EAAAA,KAACgkB,EAAAA,cAAa,CACZlnB,KAAMimB,EACNpb,OAAO,mBACPsc,UAAWnlB,EAAM,iBACjBolB,WAAYplB,EAAM,kBAClBqlB,eAAa,EACbC,QAAUrB,IAtEMN,KAC5B,MAAM4B,EAAYC,IAAU5B,GACtB6B,EAAc,GAAGhoB,OACrBkmB,EAAQI,iBACRJ,EAAQM,eACRN,EAAQK,oBAETL,EAAQO,eAAiB,IAAIlY,SAAS0Z,IACrC3f,IAAIwf,EAAU,GAAD9nB,OAAKioB,EAAIpgB,KAAI,aAAY,EAAM,IAE9CmgB,EAAYzZ,SAAQ,CAAC0Z,EAAK9lB,KACxBmG,IAAIwf,EAAU,GAAD9nB,OAAKioB,EAAIpgB,KAAI,SAAS1F,EAAQ,EAAE,IAE/CoH,EAASue,EAAU,EA0DLI,CAAqB,CACnB5B,mBACAE,iBACAC,gBACAF,qBACA,EAEJ4B,UAAW,IACXC,mBAAiB,EACjBC,MAAO,EAAE7kB,SAERgjB,EAAe9kB,KAAI,CAACgC,EAAMvB,KACzBmB,EAAAA,EAAAA,MAACgkB,EAAAA,KAAKC,KAAI,CACRllB,UAAWC,IACTC,EAAM,gCACNA,EAAM,YACNiB,SAAA,EAGFC,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CACHC,KAAK,aACL9B,UAAWE,EAAM,wCAEnBkB,EAAAA,EAAAA,KAAC+jB,EAAAA,SAAQ,CACP9U,SAAO,EACP1N,SACEtB,EAAKijB,OACLL,EAAiBxmB,OACf0mB,EAAe1mB,OACfymB,EAAkBzmB,QAClB,EAEJyJ,SAAW1K,IACTA,EAAEiH,kBACFjH,EAAEypB,iBACF,MAAMR,EAAY5nB,OAAO+C,OAAO,CAAC,EAAGkjB,GACpC2B,EAAUpkB,EAAKmE,MAAQ3H,OAAO+C,OAC5B,CAAC,EACD6kB,EAAUpkB,EAAKmE,MACf,CAAE0gB,SAAS,IAEbhf,EAASue,EAAU,EACnBtkB,SAEDwjB,EAAatjB,OA3BXA,EAAKmE,MAAI,WAAA7H,OAAemC,QAgClCokB,EAAkB7kB,KAAI,CAACgC,EAAMvB,KAC5BsB,EAAAA,EAAAA,KAAC6jB,EAAAA,KAAKC,KAAI,CACRllB,UAAWE,EAAM,gCAAgCiB,UAGjDC,EAAAA,EAAAA,KAAC+jB,EAAAA,SAAQ,CAAC9U,SAAO,EAAC1N,UAAQ,EAAAxB,SACvBE,EAAKujB,WAAavjB,EAAKmB,OAAS,8BAH9BnB,EAAKmE,MAAI,SAAA7H,OAAamC,UAvExB,WAgFXsB,EAAAA,EAAAA,KAACsiB,EAAK,CAEJ/Q,QACE1R,EAAAA,EAAAA,MAAC4G,EAAAA,IAAG,CAACE,MAAM,EAAOD,QAAQ,gBAAe3G,SAAA,EACvCC,EAAAA,EAAAA,KAAC4G,EAAAA,IAAG,CAAA7G,SAAC,oCACLC,EAAAA,EAAAA,KAAC4G,EAAAA,IAAG,CACFvF,QAAUjG,IACRA,EAAEiH,kBACFjH,EAAEypB,gBAAgB,EAClB9kB,UAEFC,EAAAA,EAAAA,KAAC+kB,EAAAA,YAAW,CACVC,QAAQhlB,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAK,cAAczE,KAAM,KACvCuP,YAAY,eACZyZ,SAAWlqB,IACT6nB,EAAc7nB,EAAM,EAEtB6D,UAAWE,EAAM,iCACjB7C,KAAK,eAIZ8D,UAEDC,EAAAA,EAAAA,KAAC6jB,EAAAA,KAAI,CACHqB,WAAYlC,EAAcrb,QACvB1H,GAC2C,kBAAlCA,EAAKujB,WAAavjB,EAAKmB,SAC9BnB,EAAKujB,WAAavjB,EAAKmB,OAAOpF,QAAQ2mB,IAAe,IAE1DlkB,WAAawB,IAETD,EAAAA,EAAAA,KAAC6jB,EAAAA,KAAKC,KAAI,CACRllB,UAAWE,EAAM,gCAAgCiB,UAGjDC,EAAAA,EAAAA,KAAC+jB,EAAAA,SAAQ,CACP9U,SAAS,EACTnJ,SAAW1K,IACTA,EAAEiH,kBACFjH,EAAEypB,iBACF,MAAMR,EAAY5nB,OAAO+C,OAAO,CAAC,EAAGkjB,GACpC2B,EAAUpkB,EAAKmE,MAAQ3H,OAAO+C,OAC5B,CAAC,EACD6kB,EAAUpkB,EAAKmE,MACf,CAAE0gB,SAAS,IAEbhf,EAASue,EAAU,EACnBtkB,SAEDE,EAAKujB,WAAavjB,EAAKmB,OAAS,8BAhB9BnB,EAAKvF,QAjCd,mBA0DVmF,EAAAA,EAAAA,MAAC4G,EAAAA,IAAG,CACF7H,UAAWE,EAAM,kCACjB4H,QAAQ,MACR6E,OAAQ,GAAGxL,SAAA,EAEXC,EAAAA,EAAAA,KAAC4G,EAAAA,IAAG,CAAA7G,UACFC,EAAAA,EAAAA,KAACQ,EAAAA,OAAM,CACLvE,KAAK,QACLoF,QAASA,KACPyE,EAASkC,GAAgB,CAAC,GAC1Bwa,GAAO,EACPziB,SACH,oBAIHC,EAAAA,EAAAA,KAAC4G,EAAAA,IAAG,CAAA7G,UACFC,EAAAA,EAAAA,KAACZ,EAAAA,QAAa,CACZsB,KAAK,UACLzE,KAAK,QACLoF,QAAS2C,UACPzB,SAAoBA,EAAUmgB,GAC9BF,GAAO,EACPziB,SACH,wBAKD,E,8DCvQV,MAAMolB,GAAc1pB,IAA4C,IAA3C,MAAE2F,EAAK,QAAEqhB,EAAO,OAAEC,EAAM,UAAE0C,GAAW3pB,EACxD,MAAO2M,EAAME,IAAWlL,EAAAA,EAAAA,WAAS,GACjC,OACEyC,EAAAA,EAAAA,MAAC4G,EAAAA,IAAG,CAACE,MAAM,EAAM5G,SAAA,EACfC,EAAAA,EAAAA,KAAC4G,EAAAA,IAAG,CAACC,KAAM,EAAE9G,SAAEqB,KACfpB,EAAAA,EAAAA,KAAC4G,EAAAA,IAAG,CAAA7G,UACFC,EAAAA,EAAAA,KAACoL,EAAAA,QAAO,CACNhD,KAAMA,EACNM,aAAcJ,EACd+C,QAAQ,QACR1J,UAAU,aACVxB,iBAAkBrB,EAAM,2BACxBwM,SACEtL,EAAAA,EAAAA,KAACqlB,EAAqB,CACpB5C,QAASA,EACTC,OAAQA,EACRF,MAAOA,KACLla,GAAQ,EAAM,EAEhB/F,UAAY8hB,IACVe,GAAW1C,GACFtU,IACLiW,GACA,CAAChW,EAAQtT,EAAOL,KACd2T,EAAO3T,GAAO+B,OAAO+C,OACnB,CAAC,EACDkjB,EAAOhoB,GACPuC,IAAKlC,EAAO,CAAC,UAAW,SACzB,GAEH,CAAC,IAEH,IAGPgF,UAEDC,EAAAA,EAAAA,KAAA,QAAMpB,UAAWE,EAAM,yBAAyBiB,UAC9CC,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAK,wBAIb,EAuOV,GAnOuBpE,IAAoD,IAAnD,QAAEmmB,EAAO,KAAEre,EAAI,eAAEkhB,EAAc,WAAEC,GAAYjpB,EACnE,MAAOkpB,EAAwBC,IAA6BroB,EAAAA,EAAAA,UAAS,MAC/DsoB,GAA4B3hB,EAAAA,EAAAA,QAAOyhB,GACzCE,EAA0BjoB,QAAU+nB,EACpC,MAAMG,GAAuB5hB,EAAAA,EAAAA,QAAO,MAC9B6hB,GAAgB7hB,EAAAA,EAAAA,QAAO,OACtB2e,EAAQmD,IAAiBzoB,EAAAA,EAAAA,UAAS,CAAC,IACpC,gBAAE0oB,IAAoBxgB,EAAAA,EAAAA,aACtBygB,EAAuC,OAAfD,QAAe,IAAfA,OAAe,EAAfA,EAAiBE,WAAW5hB,GAEpD6hB,GAAaC,EAAAA,GAAAA,uBAAqB,CAAC9hB,EAAMzJ,KAC9B,OAAfmrB,QAAe,IAAfA,GAAAA,EAAiBK,YAAY/hB,EAAMzJ,EAAO,GACzC,KAEGyqB,EAAY9nB,KAAgB+mB,KAChCjmB,EAAAA,EAAAA,kBAAgB,KACdynB,GAAenD,IACb,MAAM/nB,EACiB,oBAAd0pB,EAA2BA,EAAU3B,GAAU2B,EAExD,OADAjgB,GAAQkhB,GAAkBW,EAAW7hB,EAAMzJ,GACpCA,CAAM,GACb,GACF,KAGE,KAAEyrB,IAASvN,EAAAA,EAAAA,UACfpc,OAAO+C,OAAO,IACT/C,OAAO+C,OAAO,CAAC,EAAGumB,GACrBjN,MAAM,EACNuN,MAAM,gBAAD9pB,OAAkB6H,GACvBkiB,SAAS,EACTxO,iBAAmB3U,IACjB0iB,EAAcppB,OAAO+C,OAAO,CAAC,EAAG2D,GAAM,KAKtCojB,EAAiBjpB,KAAe,KAChC8G,GAAQkhB,GAAkBS,GAC5BK,EAAK,CAAE/hB,OAAO,GAChB,KAGFgM,EAAAA,EAAAA,YAAU,KACRkW,GAAgB,GACf,CAACA,IAEJ,MAAMxD,GAAiBrb,EAAAA,EAAAA,UAAQ,IACtB+a,EACJ9a,QAAQ6c,MAEkC,IAAvCjgB,IAAIme,EAAO,GAADnmB,OAAKioB,EAAIpgB,KAAI,eACiB,IAAvCG,IAAIme,EAAO,GAADnmB,OAAKioB,EAAIpgB,KAAI,eAAuC,IAAfogB,EAAIrB,UAGvDC,MAAK,CAACC,EAAGC,KACR,MAAMkD,EAAiBvmB,GAEnBsE,IAAIme,EAAO,GAADnmB,OAAK0D,EAAKmE,KAAI,SAAS,IACjB,SAAfnE,EAAKijB,OAAoB,IAAQ,IAClB,UAAfjjB,EAAKijB,MAAoB,IAAQ,GAGtC,OAAOsD,EAAcnD,GAAKmD,EAAclD,EAAE,KAE7C,CAACb,EAASC,IAEP+D,GAA4B/e,EAAAA,EAAAA,UAAQ,IACjCgf,KAAc3D,GAAgBlmB,IAAA,IAAC,KAAE6D,GAAM7D,EAAA,MAAc,YAAT6D,CAAkB,KACpE,CAACqiB,IAEE4D,GAAajf,EAAAA,EAAAA,UAAQ,IAClBkf,IACL7D,GACAxd,IAAA,IAAC,KAAE7E,EAAI,KAAE0D,GAAMmB,EAAA,OACbhB,IAAIme,EAAO,GAADnmB,OAAK6H,EAAI,YAAa4b,EAAYtf,GAAMuL,KAAK,KAE1D,CAAC8W,EAAgBL,IAEdmE,EAAoBjc,IAAuB,IAAtB,MAAEqB,EAAK,MAAEvN,GAAOkM,EACzC,OAAO6b,IAA8B/nB,EACjCuN,EAAQ6a,KAAKzG,IAAIkF,EAAaoB,EAAa,EAAG,GAC9C1a,CAAK,EAGL8a,EAAkBzpB,KAAe,CAAC0pB,EAAQtoB,KAE5CsB,EAAAA,EAAAA,KAAA,QACEpB,UAAWC,IAAWC,EAAM,oBAC5BmoB,YAAc7rB,IACZuqB,EAAqBloB,QAAUhB,OAAO+C,OAAO,CAAC,EAAGwnB,EAAQ,CAAEtoB,UAC3DknB,EAAcnoB,QAAUrC,EAAE8rB,QAC1BzB,EAA0B/mB,EAAM,EAChCqB,UAEFC,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAK,mBAKXymB,EAAS7pB,KAAgB8pB,IAC7B,GAA+B,OAA3B5B,EACF,OAEF,IAAKG,EAAqBloB,QACxB,OAEF,MAAM,KAAE2G,EAAI,MAAE6H,EAAK,IAAEmU,EAAG,IAAEC,EAAG,MAAE3hB,GAAUinB,EAAqBloB,QACxD4pB,EAAeP,KAAK1G,IAAI0G,KAAKzG,IAAIpU,EAAQmb,EAAOhH,GAAMC,GACxDgH,EAAeR,EAAkB,CAAE5a,MAAOmU,EAAK1hB,WAGnD0mB,GAAW1C,GACFjmB,OAAO+C,OAAO,CAAC,EAAGkjB,EAAQ,CAC/B,CAACte,GAAO3H,OAAO+C,OAAO,CAAC,EAAGkjB,EAAOte,GAAO,CACtC6H,MAAOob,OAGX,IAGEC,EAAsBhqB,KAAe,CAAC0pB,EAAQtoB,KAClD,MAAM,KAAE0F,EAAI,MAAE6H,EAAK,IAAEmU,EAAG,IAAEC,GAAQ2G,EAClC,IAAIO,EAAeP,EACftoB,IAAUqkB,EAAe1mB,OAAS,IACpCkrB,EAAe9qB,OAAO+C,OAAO,CAAC,EAAGwnB,EAAQ,CACvCpoB,UAAW,iBACXwC,OACEpB,EAAAA,EAAAA,KAACmlB,GAAW,CACV/jB,MAAa,OAAN4lB,QAAM,IAANA,OAAM,EAANA,EAAQ5lB,MACfqhB,QAASA,EACTC,OAAQA,EACR0C,UAAWA,OAMnB,MAAMoC,EAAcA,KACX,CACL5oB,UAAWC,IAAW,CACpB,CAACC,EAAM,cAAe4mB,EAA0BjoB,UAAYiB,MAI5D2oB,EAAeP,KAAK1G,IACxB0G,KAAKzG,IAAI9b,IAAIme,EAAO,GAADnmB,OAAK6H,EAAI,YAAa6H,EAAOmU,GAChDC,GAGIoH,EAAYZ,EAAkB,CAAE5a,MAAOob,EAAc3oB,UAE3D,OAAOjC,OAAO+C,OAAO,CAAC,EAAG+nB,EAAc,CACrCG,aAAcF,EACdG,OAAQH,EACRvb,MAAOwb,EACPG,iBAAkBA,CAACC,EAAQC,IAEe,OAAtCpC,EAA0BjoB,SAC1BioB,EAA0BjoB,UAAYiB,GACtB,aAAhBsoB,EAAOtmB,OACNkP,KAAQiY,EAAOb,EAAO5iB,MAAO0jB,EAAWd,EAAO5iB,OAGpDhD,OACEvB,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAC,SAAA,CACGwnB,EAAanmB,QACXqmB,EAAYJ,GAAgBI,EAAYpH,IACzC0G,EACEtqB,OAAO+C,OAAO,CAAC,EAAG+nB,EAAc,CAAEtb,MAAOwb,IACzC/oB,OAIR,IA2CJ,OAxCA2R,EAAAA,EAAAA,YAAU,KACR,MAAM0X,EAAsBA,KAC1BtC,EAA0B,MAC1BG,EAAcnoB,QAAU,KACxBkoB,EAAqBloB,QAAU,IAAI,EAG/BuqB,EAAiB5sB,IAEmB,OAAtCsqB,EAA0BjoB,SACO,OAAjCkoB,EAAqBloB,UAIO,OAA1BmoB,EAAcnoB,QAIlB0pB,EAAO/rB,EAAE8rB,QAAUtB,EAAcnoB,SAH/BmoB,EAAcnoB,QAAUrC,EAAE8rB,QAGa,EAQ3C,OANAnM,SAASkN,gBAAgBnR,iBACvB,UACAiR,GACA,GAEFhN,SAASkN,gBAAgBnR,iBAAiB,YAAakR,GAAe,GAC/D,KACLjN,SAASkN,gBAAgBlR,oBACvB,UACAgR,GACA,GAEFhN,SAASkN,gBAAgBlR,oBACvB,YACAiR,GACA,EACD,CACF,GACA,CAACb,IAEG,CACLpE,iBACAyC,yBACAuB,kBACAmB,cAAexF,EACfiE,aACAW,sBACD,E,kDCxRH,MA2GA,GA3G2B7rB,IAA8B,IAA7B,OAAE0sB,EAAM,YAAEC,GAAa3sB,EACjD,MAAO4sB,EAAYC,IAAiBlrB,EAAAA,EAAAA,UAAS,MACvCmrB,GAAuBxkB,EAAAA,EAAAA,QAAOqkB,GACpCG,EAAqB9qB,QAAU2qB,EAE/B,MAAMd,EAAsBhqB,KAC1B,CAACknB,EAAK9lB,EAAKpC,KAAyB,IAAvB,cAAE4rB,GAAe5rB,EAC5B,MAAM,KACJ8H,EAAI,KACJ1D,EAAI,WACJ8nB,EAAU,MACVpnB,EAAK,YACLqnB,EAAW,MACXvF,EAAK,QACLwF,EAAO,YACP5J,EAAW,YACX2E,EAAW,KACXL,EAAI,eACJuF,KACGC,GACDpE,GACE,OAAEtE,EAAM,MAAEjU,EAAK,IAAEmU,EAAG,IAAEC,GAAQ5jB,OAAO+C,OACzC,CAAC,EACDwgB,EAAYtf,GACH,aAATA,IACGyE,KAAMkjB,IACPprB,IAAK+iB,EAAYwI,GAAc,SAAU,CAAC,QAAS,MAAO,SAExDK,EAAertB,KAAQ0kB,GAE7B,MAAO,CACL9b,OACAhD,MAA8B,oBAAhBqnB,EAA6BA,EAAYrnB,GAASA,EAChEgf,MACAC,MACApU,QACAiX,QACAO,cACAL,OACA1iB,OACAwf,OAASjgB,IACP,MAAM6oB,EACc,oBAAXX,EAAwBA,EAAOloB,GAAQA,EAAKkoB,GAC/CY,EAAWtsB,OAAO+C,OACtB,CAAC,EACDglB,EACsB,oBAAfA,EAAItE,OACPsE,EAAItE,OAAO,IACNqI,EAAqB9qB,QACxB2G,OACAzJ,OAAQsF,IAEV,CAAC,GAGD+oB,EAAyB/J,IAC7B,MAAMJ,GACJ6J,GAAO,CACL3tB,GAAoB,KAAVA,QAA0B,IAAVA,GAA8B,OAAVA,IAChDkkB,GACF,OAAO4J,EAAa5J,EAAU,IACzB2J,EACHxkB,OACA6H,MAAO1H,IAAI2jB,EAAc,GAAD3rB,OAAK6H,EAAI,YAAa6H,EAC9CmU,MACAC,MACAxB,UACAC,cACAC,MAAOgK,EAAShK,MAChBE,SAAUhf,EACVmoB,YAAaG,EAAqB9qB,QAClCuhB,QAAS+J,EAAS/J,QAClBN,SAAUqK,EAASrK,SACnBkB,OAAQyI,IAAeS,EACvBjJ,SAAUA,IAAMyI,EAAcQ,IAC9B,EAGE7J,EACJ8J,EAASE,eAAe,YACI,oBAArBF,EAASjc,QACZic,EAASjc,QACP7M,EACAxD,OAAO+C,OACL,CAAC,EACD+oB,EAAqB9qB,QACrB,CACE2G,QAEFukB,EACI,CAAEE,aAAcG,GAChB,CAAC,IAGTzkB,IAAItE,EAAMmE,GAChB,OAAOukB,EAAiB1J,EAAW+J,EAAsB/J,EAAS,EAErE,IAIL,MAAO,CACLoJ,aACAf,sBACD,EC/DH,GA/CwB7E,IACf/a,EAAAA,EAAAA,UAAQ,KACb,MAAMwhB,EAAqBzG,EAAQ9a,QAChC1H,GAASA,EAAKwjB,aAAexjB,EAAKwjB,YAAYpnB,OAAS,IAE1D,GAAI6sB,EAAmB7sB,OAAS,EAAG,CACjC,MAAM8sB,EAAa1G,EAAQlkB,MAAM,GAC3B6qB,EAAQ,GACRC,EAAqBrC,IACzB,MAAM,YAAEvD,GAAgBuD,EACxB,KAAMvD,GAAeA,EAAYpnB,OAAS,GACxC,OAEF,MAAMitB,EAAcH,EAAWntB,QAAQgrB,GACjCnc,EAAOA,CAAC4Y,EAAa2F,KACzB,MAAOG,KAAiBC,GAAe/F,EACvC,IAAIgG,EAAeL,EAAMla,MACtBjP,GAASA,EAAKmE,OAASmlB,EAAanlB,OAElCqlB,IACHA,EAAehtB,OAAO+C,OACpB,CAAEkqB,WAAYJ,GACdC,EACA,CAAExpB,SAAU,KAEdqpB,EAAMhf,KAAKqf,IAETD,EAAYntB,OAAS,EACvBwO,EAAK2e,EAAaC,EAAa1pB,UAE/B0pB,EAAa1pB,SAASqK,KAAK4c,EAC7B,EAEFnc,EAAK4Y,EAAa2F,GAClBD,EAAW7hB,OAAOgiB,EAAa,EAAE,EAOnC,OALAJ,EAAmBpe,QAAQue,GAC3BD,EAAMte,SAAQ,CAAC6e,EAAajrB,KAC1ByqB,EAAW7hB,OAAOqiB,EAAYD,WAAahrB,EAAO,EAAGirB,EAAY,IAG5D,CAAElH,QAAS0G,EAAYS,gBAAgB,EAChD,CACA,MAAO,CAAEnH,UAASmH,gBAAgB,EAAO,GACxC,CAACnH,I,kDCvCN,MAAMoH,GAAkBzG,GACtB,IAAI9f,KACD8f,GAAQ,IAAInlB,KAAIxC,IAAqB,IAApB,KAAE2I,EAAI,KAAEgf,GAAM3nB,EAC9B,MAAO,CAAC2I,EAAMgf,EAAK,KA6DzB,GAzDiBpmB,IACf,MAAOomB,EAAM0G,GAAWriB,KAAgBzK,EAAO,CAC7CjC,MAAO,OACPiN,aAAc,cACdlC,SAAU,iBAGNikB,GAAUriB,EAAAA,EAAAA,UAAQ,IACfmiB,GAAezG,IACrB,CAACA,IAEE4G,GAAatT,EAAAA,EAAAA,cAChBpC,GACQwV,GAAS1G,IACd,MAAM6G,EAAU3V,EAASuV,GAAezG,IACxC,OAAO3e,MAAMS,KAAK+kB,GAAShsB,KAAI3B,IAAA,IAAE8H,EAAMgf,GAAK9mB,EAAA,MAAM,CAAE8H,OAAMgf,OAAM,GAAE,KAGtE,CAAC0G,IAGH,OAAOpT,EAAAA,EAAAA,cACL7Z,IAAA,IAAC,OAAEsM,EAAM,KAAE/E,GAAMvH,EAAA,OACfgD,EAAAA,EAAAA,MAAA,OACEjB,UAAWC,IAAWC,EAAM,YAAa,CACvC,CAACA,EAAM,qBAA4C,SAAtBirB,EAAQxlB,IAAIH,GACzC,CAACtF,EAAM,oBAA2C,QAAtBirB,EAAQxlB,IAAIH,KAE1C/C,QAASA,KACP2oB,GAAY5G,IACV,MAAM3lB,EAAU2lB,EAAK7e,IAAIH,GACnB8lB,EACY,SAAZzsB,EACK,MAEO,QAAZA,EACK,KAEF,OAET,GAAI0L,EACF,OAAO,IAAI7F,IAAI4mB,EAAc,CAAC,CAAC9lB,EAAM8lB,IAAgB,IAEvD,MAAMD,EAAUniB,KAAMsb,GAEtB,OADA8G,EAAcD,EAAQplB,IAAIT,EAAM8lB,GAAeD,EAAQliB,OAAO3D,GACvD6lB,CAAO,GACd,EACFlqB,SAAA,EAEFC,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAK,mBAAmB9B,UAAWE,EAAM,gBAC/CkB,EAAAA,EAAAA,KAACS,EAAAA,QAAI,CAACC,KAAK,qBAAqB9B,UAAWE,EAAM,iBAC7C,GAER,CAACirB,EAASC,GACX,ECvDGnS,GAAQpc,IAgBP,IAhBQ,QACbgnB,EAAO,UACP7jB,EAAS,YACTgY,EAAW,OACXuT,EAAM,aACNC,EAAY,WACZC,EAAU,kBACVC,EAAiB,OACjBnC,EAAM,WACNjD,EAAU,eACVI,EAAc,KACdlhB,EAAI,QACJmmB,EAAO,OACPC,EAAM,kBACNC,KACGztB,GACJvB,EACC,MAAO8pB,EAAYmF,IAAiBttB,EAAAA,EAAAA,UAAS,IACtCutB,EAAUC,IAAextB,EAAAA,EAAAA,WAAS,IAEzCiT,EAAAA,EAAAA,YAAU,KACJkV,GACFjJ,YAAW,KACTsO,GAAY,EAAM,GACjB,EACL,GACC,CAACrF,KACyBxhB,EAAAA,EAAAA,QAAOumB,GACf7sB,QAAU6sB,EAC/B,MAAMzsB,GAAMQ,EAAAA,EAAAA,IACTd,IACCmtB,EAAcntB,EAAGS,YAAY,GAE/B,CAAE6sB,YAAY,KAEV,WAAExC,EAAU,oBAAEf,GAAwBwD,GAAmB,CAC7D3C,SACAC,YAAakC,KAGT,cACJpC,EAAa,eACbnF,EACAuE,oBAAqByD,EAAyB,uBAC9CvF,EAAsB,WACtBmB,GACEqE,GAAe,CACjBvI,UACA6C,iBACAlhB,OACAkjB,sBACA/B,eAGI0F,EAAaC,GAAQluB,GAErBmuB,GAAgBzjB,EAAAA,EAAAA,UAAQ,IACrBqb,EAAe9kB,KAAI,CAACumB,EAAK9lB,KAC9B,IAAI/D,EAAS2sB,EAAoB9C,EAAK9lB,EAAO,CAC3CypB,SACAE,aACAH,kBAyBF,OAtBIvtB,EAAOyoB,MAAqB,YAAboB,EAAI9jB,OACrB/F,EAAS8B,OAAO+C,OAAO,CAAC,EAAG7E,EAAQ,CACjCyG,OACEvB,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAC,SAAA,CACGpF,EAAOyG,MACP6pB,EAAW,CACV7mB,KAAMogB,EAAIpgB,KACV+E,OACyB,kBAAhBxO,EAAOyoB,MAAoBzoB,EAAOyoB,KAAKja,eAOtDmc,IACF3qB,EAASowB,EAA0BpwB,EAAQ+D,EAAO,CAChD6mB,aACA2C,mBAIGvtB,CAAM,KAEd,CACDooB,EACAwC,EACA2C,EACAG,EACAF,EACA7C,EACAgC,EACAyD,EACAE,KAGMxI,QAAS2I,EAAY,eAAExB,GAC7ByB,GAAeF,GAEXG,EAA4BhuB,IAAemtB,GAkBjD,OAhBApa,EAAAA,EAAAA,YAAU,KACRib,GACEA,EAA0B,CACxB7I,UACA2I,eACAlG,aACAnC,kBACA,GACH,CACDuI,EACAF,EACAlG,EACAzC,EACAM,KAIA/iB,EAAAA,EAAAA,KAAA,OACEpB,UAAWC,IAAWD,EAAWE,EAAa,MAAG,CAC/C,CAACA,EAAM,cAA0C,OAA3B0mB,EACtB,CAAC1mB,EAAM,gBAAiB6rB,EACxB,CAAC7rB,EAAM,qBAAsB8qB,IAE/B/rB,IAAKA,EACLiB,MAAO,CACL,kBAAmBsrB,GACnBrqB,UAEA4qB,IACA3qB,EAAAA,EAAAA,KAACurB,EAAAA,EAAQ,CACP3sB,UAAU,sBACV4sB,SAAU,CAAE5pB,aAAcgV,GAC1B6U,gBAAkBluB,GAEdA,EAAGmuB,cAAc,oBACjBnuB,EAAGmuB,cAAc,sBAEnB3rB,UAEFC,EAAAA,EAAAA,KAAC2rB,EAAAA,MAAS,IACJ3uB,EACJmtB,SACEA,GACI,CACEvoB,aAAcgV,GAItBsO,WAAYA,EACZiD,OAAQA,EACR1F,QAAS2I,EACTZ,OAAQ/tB,OAAO+C,OACb,CAAC,EACD,CAAEosB,EAAG9E,KAAKzG,IAAIkF,EAAYoB,IAC1B6D,GAEFH,WAAYA,EACZE,QACqB,oBAAZA,EACH,SAAC9sB,GAAsB,IAAD,IAAAouB,EAAA5nB,UAAA5H,OAATyvB,EAAI,IAAArnB,MAAAonB,EAAA,EAAAA,EAAA,KAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAJD,EAAIC,EAAA,GAAA9nB,UAAA8nB,GACf,OAAOxB,EACL9tB,OAAO+C,OACL,CAAC,EACD,CAAEwsB,SAAUvuB,GACZ,CAAEglB,QAAS2I,OAEVU,EAEP,EACA,UAKR,EAIVjU,GAAMtX,aAAe,CACnB+kB,gBAAgB,EAChB6C,OAAQ,KACRvR,YAAW,IACX0T,kBAAmB,CAAC,EACpBH,QAAQ,EACRC,aAAc,oBACdC,YAAY,GAGd,Y,gBC9MA,MAOA,GAPwB1pB,IACf,CACL,QAASC,IAAM,+BACf,QAASC,IAAM,iCACfF,M,4BCSJ,MAAMsrB,GAAwBxwB,IAAgC,IAA/B,GAAEwG,EAAE,QAAEwgB,EAAO,SAAE1iB,GAAUtE,EACtD,OAAIwG,GAEAjC,EAAAA,EAAAA,KAACgU,GAAAA,QAAQ,CAAC/R,GAAIA,EAAGlC,SACdzD,IAAA,IAAC,QAAEsd,GAAStd,EAAA,OACXyD,EAAS,CACP0iB,QAASA,EAAQ9a,QAAQ1H,IAClBA,EAAKmE,QAGLK,MAAMC,QAAQH,IAAIqV,EAAS,oBAGqB,IAA9CA,EAAQoJ,cAAchnB,QAAQiE,EAAKmE,UAE5C,IAKHrE,EAAS,CAAE0iB,WAAU,EAGxByJ,IAAiBhpB,EAAAA,EAAAA,YACrBrG,IAmBO,IAnBN,KACCsG,EAAI,QACJwV,EAAO,OACP3C,EAAM,cACNmW,EAAa,WACbC,EAAU,WACVC,EAAU,QACVC,EAAO,SACPC,EAAQ,KACRnG,EAAI,WACJld,EAAU,UACVtK,EAAS,UACTkV,EAAS,QACT2O,EAAO,WACP+J,EAAU,WACVnC,EAAU,kBACVC,EAAiB,QACjBC,KACGvtB,GACJH,EACC,MAAM4vB,EAAoBnvB,IAAe4L,GACnCwjB,GAAahlB,EAAAA,EAAAA,UAAQ,IAClB+kB,EAAkBtpB,IACxB,CAACA,EAAMspB,IAEJE,EAAa,CACjBzH,WAAYwH,EAAW5vB,KACvButB,aAAYA,EAAWjiB,MACnB,CACEwkB,MAAOF,EAAWE,MAClBC,UAAYD,IACV/sB,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAC,SAAA,EACEC,EAAAA,EAAAA,KAACuG,GAAAA,iBAAgB,CACftE,GAAG,aACHf,WAAW,QACXsF,eAAe,YAEjBxG,EAAAA,EAAAA,KAAA,QAAMpB,UAAWE,EAAkB,WAAEiB,SAAE6sB,KACvC5sB,EAAAA,EAAAA,KAACuG,GAAAA,iBAAgB,CACftE,GAAG,kBACHf,WAAW,QACXsF,eAAe,cAIrB/I,QAAS8G,IACP4nB,EACA,CAAC9B,EAAWyC,WAAYzC,EAAW0C,aACnC,GAEFC,SAAU3C,EAAW2C,SACrBlnB,SAAUukB,EAAWvkB,SACjBukB,EAAWvkB,SACX,CAAC0R,EAAMvb,KAEHub,IACAjT,IACE4nB,EACA,CAAC9B,EAAWyC,WAAYzC,EAAW0C,aACnC,IAG0B,YAA3B1C,EAAW4C,YAA4BtU,EAAU3C,GAAQ,CACxD,CAACqU,EAAWyC,YAAa,CACvB,CAACzC,EAAW0C,aAAcvV,EAC1B,CAAC6S,EAAW6C,cAAejxB,KAI/BouB,EAAW8C,kBACT9C,EAAW8C,iBAAiB3V,EAAMvb,IAEtC2a,EAAAA,EAAAA,KAAcwW,UAAY,CAAC,EAEjCnxB,KAAMouB,EAAWpuB,KACjBoxB,gBAAiBhD,EAAWgD,gBAC5BC,gBAAiBjD,EAAWiD,kBAKpC,OACEttB,EAAAA,EAAAA,KAACsG,GAAAA,aAAY,CAACnF,eAAgBA,GAAgBD,WAAW,QAAOnB,UAC9DC,EAAAA,EAAAA,KAACisB,GAAqB,CAAChqB,GAAI6R,EAAW2O,QAASA,EAAQ1iB,SACpDwF,IAAA,IAAC,QAAEkd,GAASld,EAAA,OACXvF,EAAAA,EAAAA,KAAC6X,GAAK,IACApb,OAAO+C,OAAO,CAAC,EAAGxC,EAAO2vB,GAC7B/tB,UAAWC,IAAWD,EAAW,oBAAqB,CACpD,cAAeytB,IAEjB5J,QAASA,EACT6H,kBAAmB,IACdA,EACH6B,gBACAC,aACAjpB,QAEFonB,QACqB,oBAAZA,EACH,WAAc,IAAD,IAAAsB,EAAA5nB,UAAA5H,OAATyvB,EAAI,IAAArnB,MAAAonB,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAJD,EAAIC,GAAA9nB,UAAA8nB,GACN,OAAOxB,EACL9tB,OAAO+C,OACL,CAAC,EACD,CACE2D,OACAipB,aACAD,gBACAxT,UACA3C,SACAuW,WACAnG,OACAld,aACAmhB,iBAECyB,GAGT,EACA,MAEN,KAGO,IAKrBI,GAAe3rB,aAAe,CAC5B8pB,WAAY,CAAC,EACbC,kBAAmB,CAAC,EACpBH,QAAQ,EACRjhB,WAAa/F,IACJ,CACLrG,KAAMqG,EAAK6oB,SACXY,MAAOzpB,EAAKoqB,cAKlB,MA6CA,IA7CkBhW,EAAAA,EAAAA,aAAW,CAAA3M,EAA2B/M,KAAS,IAAnC,WAAEwsB,KAAertB,GAAO4N,EACpDyf,EAAa5tB,OAAO+C,OAClB,CAAC,EACD,CACE6tB,iBAAiB,EACjBC,iBAAiB,EACjBllB,MAAM,EACN0kB,WAAY,OACZG,YAAa,SACbF,YAAa,cACbG,aAAc,UACdF,SAAU,IAEZ3C,GAEF,MAAMmD,EAAW,GAAAjxB,QACfS,EAAMoH,MAAQ,UACdqpB,cAAa,qBACRT,EAAUU,IAAetwB,EAAAA,EAAAA,UAC9BvC,GAAAA,EAAaJ,QAAQ+yB,IAAgBnD,EAAW2C,UAE5C9oB,EAASlH,EAAMqtB,EAAWyC,YAC1Ba,GAAcjmB,EAAAA,EAAAA,UAAQ,KACnB,CACL,CAAC2iB,EAAWyC,YAAarwB,OAAO+C,OAAO,CAAC,EAAG0E,EAAQ,CACjD,CAACmmB,EAAW6C,cAAeF,OAG9B,CAAC9oB,EAAQmmB,EAAW6C,aAAc7C,EAAWyC,WAAYE,IAC5D,OACEhtB,EAAAA,EAAAA,KAACksB,GAAc,IACTlvB,KACA2wB,EACJtD,WAAY5tB,OAAO+C,OAAO,CAAC,EAAG6qB,EAAY,CACxC2C,WACAG,iBAAkBA,CAAC1vB,EAASxB,KAC1BpB,GAAAA,EAAaQ,QAAQmyB,EAAavxB,GAClCyxB,EAAYzxB,EAAK,IAGrB4B,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/Filter/style.module.scss?eebc","components/Filter/locale/index.js","components/Filter/context.js","components/Filter/FilterLines.js","components/Filter/FilterValueDisplay.js","components/Filter/FilterOuter.js","components/Filter/Filter.js","components/Filter/FilterItem.js","components/Filter/withFieldItem.js","webpack://@kne-components/components-core/./src/common/components/TreeField/style.module.scss?bcd6","common/components/TreeField/index.js","components/Filter/PopoverItem.js","components/Filter/fields/InputFilterItem.js","components/Filter/fields/NumberRangeFilterItem.js","components/Filter/fields/DatePickerFilterItem.js","components/Filter/fields/DateRangePickerFilterItem.js","components/Filter/fields/TypeDateRangePickerFilterItem.js","components/Filter/fields/index.js","components/Filter/getFilterValue.js","components/Filter/AdvancedFilter/fields/CityFilterItem.js","components/Filter/AdvancedFilter/fields/ListFilterItem.js","components/Filter/AdvancedFilter/fields/InputFilterItem.js","components/Filter/AdvancedFilter/fields/index.js","components/Filter/AdvancedFilter/index.js","components/Filter/FilterItemContainer.js","components/Filter/index.js","components/HelperGuide/locale/index.js","webpack://@kne-components/components-core/./src/components/HelperGuide/style.module.scss?bc31","components/HelperGuide/index.js","components/Layout/context.js","webpack://@kne-components/components-core/./src/components/Layout/style.module.scss?8c20","components/Layout/Page/FixedContainer.js","components/Layout/Page/Menu.js","components/Layout/Page/Page.js","components/Layout/Affix.js","components/Layout/Page/ContainerHeight.js","components/Layout/Page/Header.js","components/Layout/Page/HeaderInfo.js","components/Layout/Page/PageTitle.js","components/Layout/Page/Option.js","components/Layout/Layout.js","components/Layout/PermissionsPage.js","components/Layout/TablePage.js","components/Layout/StateBarPage.js","webpack://@kne-components/components-core/./src/components/Menu/style.module.scss?ca16","components/Menu/index.js","components/Navigation/favicon.svg","components/Navigation/locale/index.js","webpack://@kne-components/components-core/./src/components/Navigation/style.module.scss?d5bc","components/Navigation/index.js","webpack://@kne-components/components-core/./src/components/Permissions/style.module.scss?e327","components/Permissions/index.js","webpack://@kne-components/components-core/./src/components/StateBar/style.module.scss?ecea","components/StateBar/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/HideInfoComponent.js","components/Table/columnTypes.js","components/Table/ColumnsControlContent.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__FI1dY\",\"hidden-container\":\"style_hidden-container__EdySA__FI1dY\",\"hidden-inner\":\"style_hidden-inner__vAN59__FI1dY\",\"menu-list\":\"style_menu-list__VDttR__FI1dY\",\"btn-item\":\"style_btn-item__mp5MQ__FI1dY\"};","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, ...props } = renderItem;\n const isConfirm = confirm || props.message;\n const CurrentButton = isConfirm ? ConfirmButton : 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__FI1dY\",\"is-danger\":\"style_is-danger__gxyAB__FI1dY\",\"title\":\"style_title__EEPu2__FI1dY\",\"content\":\"style_content__mZZg5__FI1dY\",\"has-title\":\"style_has-title__5+PEt__FI1dY\"};","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 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 <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\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 && (\n <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\n )}\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 {\"filter\":\"style_filter__Xml45__FI1dY\",\"filter-item-icon\":\"style_filter-item-icon__kVCRK__FI1dY\",\"filter-item-option-icon\":\"style_filter-item-option-icon__q1fz3__FI1dY\",\"filter-title\":\"style_filter-title__PlIpS__FI1dY\",\"filter-title-hidden\":\"style_filter-title-hidden__NJ1ZB__FI1dY\",\"ad-filter-title\":\"style_ad-filter-title__5-OzD__FI1dY\",\"ad-filter-line\":\"style_ad-filter-line__ga6UH__FI1dY\",\"filter-line\":\"style_filter-line__E+cRh__FI1dY\",\"clean-btn\":\"style_clean-btn__oSEvm__FI1dY\",\"filter-item\":\"style_filter-item__Q2ncE__FI1dY\",\"un-expand\":\"style_un-expand__4PFY8__FI1dY\",\"ad-filter-selected\":\"style_ad-filter-selected__KbLfG__FI1dY\",\"filter-label\":\"style_filter-label__qu26i__FI1dY\",\"filter-item-wrap\":\"style_filter-item-wrap__rOq7H__FI1dY\",\"option\":\"style_option__rd5Qo__FI1dY\",\"is-active\":\"style_is-active__OArQI__FI1dY\",\"is-visited\":\"style_is-visited__gZ5ni__FI1dY\",\"un-expand-shadow\":\"style_un-expand-shadow__fj92e__FI1dY\",\"filter-item-label\":\"style_filter-item-label__C781J__FI1dY\",\"filter-item-field\":\"style_filter-item-field__Ltfr8__FI1dY\",\"filter-drop-tag\":\"style_filter-drop-tag__DD-2P__FI1dY\",\"filter-list-tag\":\"style_filter-list-tag__Qt5hA__FI1dY\",\"filter-tag\":\"style_filter-tag__dUGfu__FI1dY\",\"filter-tag-value\":\"style_filter-tag-value__p-SFv__FI1dY\",\"pop-util-content\":\"style_pop-util-content__bx5zP__FI1dY\",\"pop-util-overlay\":\"style_pop-util-overlay__LEASt__FI1dY\",\"pop-util-footer\":\"style_pop-util-footer__Xat1s__FI1dY\",\"pop-util-text\":\"style_pop-util-text__pzeUy__FI1dY\",\"filter-item-inner\":\"style_filter-item-inner__LVXgh__FI1dY\",\"filter-item-text\":\"style_filter-item-text__MA8tU__FI1dY\",\"filter-item-number-range\":\"style_filter-item-number-range__U-OgQ__FI1dY\",\"filter-item-custom\":\"style_filter-item-custom__UusRa__FI1dY\",\"filter-item-custom-active\":\"style_filter-item-custom-active__uFtny__FI1dY\",\"filter-item-number-range-split\":\"style_filter-item-number-range-split__fVt8E__FI1dY\",\"filter-item-number-input\":\"style_filter-item-number-input__YPO6K__FI1dY\",\"range-picker\":\"style_range-picker__c6ngq__FI1dY\",\"cascader-select-wrap\":\"style_cascader-select-wrap__z5hu7__FI1dY\",\"cascader-dropdown-menu\":\"style_cascader-dropdown-menu__nhAH5__FI1dY\",\"filter-advanced\":\"style_filter-advanced__4cyDy__FI1dY\",\"filter-advanced-item-other\":\"style_filter-advanced-item-other__-v86K__FI1dY\",\"filter-advanced-item-other-inner\":\"style_filter-advanced-item-other-inner__sXLEV__FI1dY\",\"filter-advanced-more\":\"style_filter-advanced-more__OFXq4__FI1dY\"};","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 { createContext, useContext as useReactContext } from \"react\";\n\nexport const context = createContext({});\n\nexport const { Provider } = context;\n\nexport const useContext = () => useReactContext(context);\n","import classnames from \"classnames\";\nimport { useState } from \"react\";\nimport Icon from \"@components/Icon\";\nimport style from \"./style.module.scss\";\nimport { Col, Row, Space } from \"antd\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\nimport importMessages from \"./locale\";\nimport { useContext } from \"./context\";\nimport get from \"lodash/get\";\n\nconst Line = ({ list, children }) => {\n const { value, onChange } = useContext();\n return (\n <div className={style[\"filter-line\"]}>\n {list.map((item, index) => {\n const ComponentItem = item.type;\n return (\n <ComponentItem\n {...item.props}\n key={item.key || item.props.name || index}\n value={\n value\n ? get(value.get(item.props.name), \"value\")\n : item.props.value\n }\n onChange={\n onChange\n ? (value) =>\n onChange({\n name: item.props.name,\n label: item.props.label,\n value,\n })\n : item.props.onChange\n }\n />\n );\n })}\n {children}\n </div>\n );\n};\n\nconst FilterLines = ({\n className,\n list,\n displayLine,\n label,\n extra,\n children,\n}) => {\n const hasMore = list.length > displayLine;\n const [isExpand, setIsExpand] = useState(false);\n\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"Filter\">\n <Space\n className={classnames(style[\"filter-title\"], className)}\n align=\"top\"\n size={16}\n >\n <span className={style[\"filter-label\"]}>\n {label || (\n <FormattedMessage\n id=\"filterText\"\n moduleName=\"Filter\"\n defaultMessage=\"筛选\"\n />\n )}\n </span>\n <Row justify=\"space-between\" wrap={false} align=\"middle\">\n <Col className={style[\"filter-list\"]} flex={1}>\n {list.slice(0, displayLine).map((item, index) => (\n <Line key={index} list={item}>\n {hasMore && isExpand === false && index === displayLine - 1 ? (\n <Space\n size={4}\n className={classnames(\n style[\"filter-item\"],\n style[\"option\"]\n )}\n onClick={() => {\n setIsExpand((value) => !value);\n }}\n >\n <FormattedMessage\n id=\"moreText\"\n moduleName=\"Filter\"\n defaultMessage=\"更多\"\n />\n <Icon\n className={style[\"filter-item-option-icon\"]}\n type=\"icon-arrow-thin-down\"\n />\n </Space>\n ) : null}\n </Line>\n ))}\n </Col>\n <Col>{extra}</Col>\n </Row>\n </Space>\n <Space\n className={classnames(style[\"filter-title\"], \"filter-title-wrap\")}\n align=\"center\"\n size={16}\n >\n {children}\n </Space>\n <Space\n className={classnames(style[\"filter-title\"], \"filter-title-wrap\", {\n [style[\"filter-title-hidden\"]]: !(hasMore && isExpand),\n })}\n align=\"top\"\n size={16}\n >\n <span className={style[\"filter-label\"]}>\n <FormattedMessage\n id=\"moreText\"\n moduleName=\"Filter\"\n defaultMessage=\"更多\"\n />\n </span>\n <div className={style[\"filter-list\"]}>\n {list.slice(displayLine).map((item, index) => (\n <Line key={index} list={item}>\n {index === list.length - displayLine - 1 && (\n <>\n <Space\n size={4}\n className={classnames(style[\"un-expand-shadow\"])}\n >\n <Space\n size={4}\n className={classnames(\n style[\"option\"],\n style[\"filter-item\"]\n )}\n >\n <FormattedMessage\n id=\"toggleUpText\"\n moduleName=\"Filter\"\n defaultMessage=\"收起\"\n />\n <Icon\n className={style[\"filter-item-option-icon\"]}\n type=\"icon-arrow-thin-up\"\n />\n </Space>\n </Space>\n <Space\n size={4}\n className={classnames(style[\"un-expand\"])}\n onClick={() => {\n setIsExpand((value) => !value);\n }}\n >\n <Space\n size={4}\n className={classnames(\n style[\"option\"],\n style[\"filter-item\"]\n )}\n >\n <FormattedMessage\n id=\"toggleUpText\"\n moduleName=\"Filter\"\n defaultMessage=\"收起\"\n />\n <Icon\n className={style[\"filter-item-option-icon\"]}\n type=\"icon-arrow-thin-up\"\n />\n </Space>\n </Space>\n </>\n )}\n </Line>\n ))}\n </div>\n </Space>\n </IntlProvider>\n );\n};\n\nFilterLines.defaultProps = {\n displayLine: 1,\n};\n\nexport default FilterLines;\n","import { Button, Space } from \"antd\";\nimport StateTag from \"@components/StateTag\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\nimport style from \"@components/Filter/style.module.scss\";\nimport classnames from \"classnames\";\nimport importMessages from \"@components/Filter/locale\";\n\nconst FilterValueDisplay = ({ value: filterValue, extraExpand, onChange }) => {\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"Filter\">\n <Space className={style[\"filter-title\"]} align=\"top\" size={16}>\n <span className={style[\"filter-label\"]}>\n <FormattedMessage\n id=\"selectedText\"\n moduleName=\"Filter\"\n defaultMessage=\"您已选择\"\n />\n </span>\n {/*<div className={style[\"filter-list\"]}>*/}\n <div className={style[\"filter-line\"]}>\n {filterValue.map(({ name, label, value }, index) => {\n return (\n <StateTag\n key={name}\n type=\"filterResult\"\n filterName={label}\n text={\n Array.isArray(value)\n ? value\n .map((item) => {\n return item.label;\n })\n .join(\",\")\n : value.label\n }\n closable\n onClose={() => {\n const newValue = filterValue.slice(0);\n newValue.splice(index, 1);\n onChange(newValue);\n }}\n />\n );\n })}\n <Space size={4} className={classnames(style[\"un-expand-shadow\"])}>\n {extraExpand}\n <Button size=\"small\">\n <FormattedMessage\n id=\"clearAllText\"\n moduleName=\"Filter\"\n defaultMessage=\"清空全部\"\n />\n </Button>\n </Space>\n <Space size={4} className={classnames(style[\"un-expand\"])}>\n {extraExpand}\n <Button\n size=\"small\"\n onClick={() => {\n onChange([]);\n }}\n >\n <FormattedMessage\n id=\"clearAllText\"\n moduleName=\"Filter\"\n defaultMessage=\"清空全部\"\n />\n </Button>\n </Space>\n\n </div>\n {/*</div>*/}\n </Space>\n </IntlProvider>\n );\n};\n\nexport default FilterValueDisplay;\n","import { Provider } from \"./context\";\nimport useControlValue from \"@kne/use-control-value\";\nimport clone from \"lodash/clone\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport { useMemo } from \"react\";\nimport { isNotEmpty } from \"@components/Common\";\nimport importMessages from \"./locale\";\n\nimport { IntlProvider } from \"@components/Intl\";\n\nconst FilterOuter = ({ children, className, ...props }) => {\n const [valueBase, onChange] = useControlValue(props);\n\n const value = useMemo(() => {\n return valueBase.filter((item) => isNotEmpty(item.value));\n }, [valueBase]);\n\n const filterValue = useMemo(() => {\n return new Map(value.map((item) => [item.name, item]));\n }, [value]);\n\n return (\n <IntlProvider moduleName=\"Filter\" importMessages={importMessages}>\n <Provider\n value={{\n value: filterValue,\n onChange: (item) => {\n const newFilterValue = clone(filterValue);\n item.value\n ? newFilterValue.set(item.name, item)\n : newFilterValue.delete(item.name);\n onChange?.(Array.from(newFilterValue.values()));\n },\n }}\n >\n <div className={classnames(style[\"filter\"], className)}>\n {children({ props, value, onChange })}\n </div>\n </Provider>\n </IntlProvider>\n );\n};\n\nFilterOuter.defaultProps = {\n defaultValue: [],\n};\n\nexport default FilterOuter;\n","import FilterLines from \"./FilterLines\";\nimport FilterValueDisplay from \"./FilterValueDisplay\";\nimport FilterOuter from \"./FilterOuter\";\n\nconst Filter = (props) => {\n return (\n <FilterOuter {...props}>\n {({ props, value, onChange }) => {\n const { extraExpand, ...others } = props;\n return (\n <>\n <FilterLines {...others} />\n {value && value.length > 0 && (\n <FilterValueDisplay\n value={value}\n onChange={onChange}\n extraExpand={extraExpand}\n />\n )}\n </>\n );\n }}\n </FilterOuter>\n );\n};\n\nFilter.defaultProps = {\n defaultValue: [],\n};\n\nexport default Filter;\n","import classnames from \"classnames\";\nimport { Space } from \"antd\";\nimport Icon from \"@components/Icon\";\nimport style from \"./style.module.scss\";\n\nconst FilterItem = ({ open, active, label, children }) => {\n return (\n <Space className={style[\"filter-item-wrap\"]}>\n <div\n className={classnames(style[\"filter-item\"], {\n [style[\"is-active\"]]: active,\n [style[\"is-visited\"]]: open,\n })}\n >\n <Space className={style[\"filter-item-label\"]} size={4}>\n <div>{label}</div>\n <Icon\n className={style[\"filter-item-icon\"]}\n type=\"icon-triangle-down\"\n />\n </Space>\n <div className={style[\"filter-item-field\"]}>{children}</div>\n </div>\n </Space>\n );\n};\n\nexport default FilterItem;\n","import { useState } from \"react\";\nimport isNotEmpty from \"@common/utils/isNotEmpty\";\nimport FilterItem from \"./FilterItem\";\nimport style from \"./style.module.scss\";\n\nconst withFieldItem =\n (WrappedComponent) =>\n ({ value, onChange, label, ...props }) => {\n const [open, setOpen] = useState(false);\n return (\n <FilterItem label={label} open={open} active={isNotEmpty(value)}>\n <WrappedComponent\n allowClear={false}\n {...props}\n className={style[\"filter-item-inner\"]}\n value={value}\n onChange={onChange}\n valueType=\"all\"\n onOpenChange={setOpen}\n />\n </FilterItem>\n );\n };\n\nexport default withFieldItem;\n","// extracted by mini-css-extract-plugin\nexport default {\"scroll-loader\":\"style_scroll-loader__Rcuti__FI1dY\",\"is-popup\":\"style_is-popup__pCRv2__FI1dY\"};","import SelectInnerInput from \"@common/components/SelectInnerInput\";\nimport { useMemo, useRef } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport style from \"./style.module.scss\";\nimport classnames from \"classnames\";\nimport { Space, Tree } from \"antd\";\nimport SimpleBar from \"@common/components/SimpleBar\";\nimport get from \"lodash/get\";\nimport omit from \"lodash/omit\";\nimport memoize from \"lodash/memoize\";\n\nconst useSelectInnerContext = SelectInnerInput.useContext;\n\nconst TreeFieldInner = ({ value: selected, setValue: setSelect, size }) => {\n const { fetchApi, props } = useSelectInnerContext();\n const dataFormat = useRefCallback(props.dataFormat);\n const { single, isPopup, searchPlaceholder, ...others } = props;\n const fieldNamesRef = useRef(props.fieldNames);\n fieldNamesRef.current = props.fieldNames;\n const fetchData = fetchApi.data;\n const { treeData } = useMemo(\n () =>\n dataFormat(fetchData, {\n fieldNames: fieldNamesRef.current,\n }),\n [dataFormat, fetchData]\n );\n\n return (\n <Space direction=\"vertical\" size={16}>\n <SimpleBar\n className={classnames(style[\"scroll-loader\"], {\n [style[\"is-popup\"]]: props.isPopup,\n })}\n >\n <Tree\n {...omit(others, [\"value\", \"valueType\", \"children\", \"dataFormat\"])}\n size={size}\n checkable={!single}\n treeData={treeData}\n onCheck={setSelect}\n checkedKeys={selected}\n onSelect={\n single\n ? setSelect\n : (selectKeys) => {\n const selectKey = selectKeys[0];\n if (selectKey === void 0) {\n return;\n }\n setSelect((current) => {\n const newCurrent = current.slice(0);\n const index = newCurrent.indexOf(selectKey);\n if (index > -1) {\n newCurrent.splice(index, 1);\n } else {\n newCurrent.push(selectKey);\n }\n return newCurrent;\n });\n }\n }\n selectedKeys={single ? selected : undefined}\n />\n </SimpleBar>\n </Space>\n );\n};\n\nconst TreeField = ({ maxLength, dataFormat, ...props }) => {\n return (\n <SelectInnerInput\n {...props}\n dataFormat={(data) => {\n return dataFormat(data, { fieldNames: props.fieldNames });\n }}\n >\n {({ value, setValue }) => {\n return (\n <TreeFieldInner size={maxLength} value={value} setValue={setValue} />\n );\n }}\n </SelectInnerInput>\n );\n};\n\nTreeField.defaultProps = {\n searchPlaceholder: \"搜索\",\n maxLength: Number.MAX_VALUE,\n size: \"middle\",\n isPopup: true,\n checkStrictly: false,\n dataFormat: (data, { fieldNames }) => {\n const treeToList = memoize((nodeList, { fieldNames }) => {\n const list = [];\n const core = (nodeList) => {\n if (!(Array.isArray(nodeList) && nodeList.length > 0)) {\n return;\n }\n nodeList.forEach((node) => {\n const value = node[get(fieldNames, \"key\", \"key\")],\n label = node[get(fieldNames, \"title\", \"title\")],\n children = node[get(fieldNames, \"children\", \"children\")];\n list.push({ id: value, value, label });\n core(children);\n });\n };\n core(nodeList);\n return list;\n });\n\n return {\n treeData: data,\n list: treeToList(data, { fieldNames }),\n };\n },\n};\n\nexport default TreeField;\n","import { useState, useMemo } from \"react\";\nimport { Button, Col, Popover, Row } from \"antd\";\nimport FilterItem from \"./FilterItem\";\nimport isNotEmpty from \"@common/utils/isNotEmpty\";\nimport classnames from \"classnames\";\nimport { FormattedMessage } from \"@components/Intl\";\nimport style from \"./style.module.scss\";\n\nconst PopoverItem = ({\n value,\n label,\n onValidate,\n overlayClassName,\n placement,\n onOpenChange,\n onChange,\n children,\n}) => {\n const [state, setState] = useState(value);\n const [open, setOpen] = useState(false);\n const disabled = useMemo(() => {\n return onValidate && !onValidate(state);\n }, [onValidate, state]);\n return (\n <Popover\n open={open}\n trigger=\"click\"\n placement={placement}\n overlayClassName={classnames(style[\"pop-util-overlay\"], overlayClassName)}\n onOpenChange={(open) => {\n setOpen(open);\n setState(value);\n onOpenChange && onOpenChange(open);\n }}\n content={\n <span\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n <div className={style[\"pop-util-content\"]}>\n {children({ value: state, onChange: setState })}\n </div>\n <Row className={style[\"pop-util-footer\"]} justify=\"end\" gutter={8}>\n <Col>\n <Button\n size=\"small\"\n onClick={() => {\n setOpen(false);\n onOpenChange && onOpenChange(false);\n }}\n >\n <FormattedMessage\n id=\"cancelText\"\n moduleName=\"Filter\"\n defaultMessage=\"取消\"\n />\n </Button>\n </Col>\n <Col>\n <Button\n size=\"small\"\n type=\"primary\"\n disabled={disabled}\n onClick={() => {\n setOpen(false);\n onOpenChange && onOpenChange(false);\n onChange && onChange(state);\n }}\n >\n <FormattedMessage\n id=\"determineText\"\n moduleName=\"Filter\"\n defaultMessage=\"确定\"\n />\n </Button>\n </Col>\n </Row>\n </span>\n }\n >\n <span>\n <FilterItem open={open} active={isNotEmpty(value)} label={label} />\n </span>\n </Popover>\n );\n};\n\nPopoverItem.defaultProps = {\n placeholder: \"请选择\",\n placement: \"bottomLeft\",\n};\n\nexport default PopoverItem;\n","import PopoverItem from \"../PopoverItem\";\nimport { Input } from \"antd\";\nimport get from \"lodash/get\";\nimport style from \"../style.module.scss\";\n\nconst InputFilterItem = ({\n label,\n value,\n onChange,\n placeholder,\n onValidate,\n overlayClassName,\n placement,\n onOpenChange,\n ...props\n}) => {\n return (\n <PopoverItem\n label={label}\n value={value}\n onChange={onChange}\n {...{ onValidate, overlayClassName, placement, onOpenChange }}\n >\n {({ value, onChange }) => (\n <Input\n {...props}\n placeholder={placeholder || `请输入${label}`}\n className={style[\"filter-item-text\"]}\n value={get(value, \"value\", \"\")}\n onChange={(e) =>\n onChange(\n e.target.value\n ? { label: e.target.value, value: e.target.value }\n : null\n )\n }\n />\n )}\n </PopoverItem>\n );\n};\n\nexport default InputFilterItem;\n","import PopoverItem from \"../PopoverItem\";\nimport { Input, InputNumber, Space } from \"antd\";\nimport get from \"lodash/get\";\nimport isNumber from \"lodash/isNumber\";\nimport { useIntl } from \"@components/Intl\";\nimport style from \"../style.module.scss\";\nimport React from \"react\";\n\nconst computedFilterValue = (range, unit, formatMessage) => {\n if (!isNumber(range[0]) && !isNumber(range[1])) {\n return null;\n }\n\n return {\n label: ((range) => {\n if (isNumber(range[0]) && isNumber(range[1])) {\n return `${range[0]}-${range[1]}${unit || \"\"}`;\n }\n if (isNumber(range[0])) {\n return formatMessage({ id: \"over\" }, { count: range[0], unit });\n }\n if (isNumber(range[1])) {\n return formatMessage({ id: \"lessThan\" }, { count: range[1], unit });\n }\n })(range),\n value: [range[0] || null, range[1] || null],\n };\n};\n\nconst InputFilterItem = ({\n label,\n value,\n onChange,\n placeholder,\n onValidate,\n overlayClassName,\n placement,\n onOpenChange,\n unit,\n ...props\n}) => {\n const { formatMessage } = useIntl({ moduleName: \"Filter\" });\n return (\n <PopoverItem\n label={label}\n value={value}\n onChange={onChange}\n {...{ onValidate, overlayClassName, placement, onOpenChange }}\n >\n {({ value, onChange }) => (\n <Space.Compact>\n <InputNumber\n {...props}\n placeholder={\n placeholder || `${formatMessage({ id: \"pleaseInput\" })}${label}`\n }\n className={style[\"filter-item-number-range\"]}\n value={get(value, \"value[0]\", \"\")}\n onChange={(target) => {\n onChange(\n computedFilterValue(\n [target, get(value, \"value[1]\")],\n unit,\n formatMessage\n )\n );\n }}\n />\n <Input\n style={{\n width: 30,\n borderLeft: 0,\n borderRight: 0,\n pointerEvents: \"none\",\n }}\n placeholder=\"~\"\n disabled\n />\n <InputNumber\n {...props}\n placeholder={\n placeholder || `${formatMessage({ id: \"pleaseInput\" })}${label}`\n }\n className={style[\"filter-item-number-range\"]}\n value={get(value, \"value[1]\", \"\")}\n onChange={(target) => {\n onChange(\n computedFilterValue(\n [get(value, \"value[0]\"), target],\n unit,\n formatMessage\n )\n );\n }}\n />\n {unit && (\n <Input\n style={{\n width: 50,\n borderLeft: 0,\n }}\n value={unit}\n disabled\n />\n )}\n </Space.Compact>\n )}\n </PopoverItem>\n );\n};\n\nInputFilterItem.defaultProps = {\n onValidate: (value) => {\n const range = get(value, \"value\");\n return !(\n range &&\n isNumber(range[0]) &&\n isNumber(range[1]) &&\n range[1] < range[0]\n );\n },\n};\n\nexport default InputFilterItem;\n","import { DatePicker } from \"antd\";\nimport withFieldItem from \"../withFieldItem\";\nimport dayjs from \"dayjs\";\n\nconst DatePickerFilterItem = withFieldItem(\n ({ value, onChange, picker, ...props }) => {\n return (\n <DatePicker\n {...props}\n picker={picker}\n value={value && dayjs(value.value)}\n onChange={(value) => {\n const { format } = Object.assign({ format: \"YYYY-MM-DD\" }, props);\n value &&\n onChange({\n label:\n picker !== \"date\"\n ? `${value.startOf(picker).format(format)}~${value\n .endOf(picker)\n .format(format)}`\n : value.format(format),\n value: new Date(value.startOf(picker).valueOf()),\n });\n }}\n />\n );\n }\n);\n\nDatePickerFilterItem.defaultProps = \"date\";\n\nexport default DatePickerFilterItem;\n","import { DatePicker } from \"antd\";\nimport withFieldItem from \"../withFieldItem\";\nimport dayjs from \"dayjs\";\n\nconst DateRangePickerFilterItem = withFieldItem(\n ({ value, onChange, ...props }) => {\n return (\n <DatePicker.RangePicker\n {...props}\n allowEmpty={[false, false]}\n value={\n value &&\n Array.isArray(value.value) &&\n value.value.length === 2 &&\n value.value.map((item) => dayjs(item))\n }\n onChange={(value) => {\n const { format } = Object.assign({ format: \"YYYY-MM-DD\" }, props);\n onChange({\n label: value.map((item) => item.format(format)).join(\"~\"),\n value: value.map((item) => new Date(item.valueOf())),\n });\n }}\n />\n );\n }\n);\n\nexport default DateRangePickerFilterItem;\n","import PopoverItem from \"../PopoverItem\";\nimport TypeDateRangePickerField from \"@common/components/TypeDateRangePickerField\";\nimport get from \"lodash/get\";\nimport style from \"../style.module.scss\";\nimport dayjs from \"dayjs\";\n\nconst TypeDateRangePickerFilterItem = ({\n label,\n value,\n onChange,\n ...props\n}) => {\n return (\n <PopoverItem\n label={label}\n value={value}\n onChange={onChange}\n onValidate={(item) => {\n const value = item?.value;\n return (\n value?.type && Array.isArray(value?.value) && value.value.length === 2\n );\n }}\n >\n {({ value, onChange }) => (\n <TypeDateRangePickerField\n {...props}\n className={style[\"filter-item-text\"]}\n value={get(value, \"value\")}\n onChange={(pickerValue) => {\n const { format } = Object.assign({ format: \"YYYY-MM-DD\" }, props);\n const value = pickerValue?.value || [];\n onChange({\n label: (() => {\n if (value[0] && !value[1]) {\n return `${dayjs(value[0]).format(format)}以后`;\n }\n if (!value[0] && value[1]) {\n return `${dayjs(value[1]).format(format)}以前`;\n }\n if (value[0] && value[1]) {\n return `${dayjs(value[0]).format(format)}~${dayjs(\n value[1]\n ).format(format)}`;\n }\n return \"\";\n })(),\n value: pickerValue,\n });\n }}\n />\n )}\n </PopoverItem>\n );\n};\n\nexport default TypeDateRangePickerFilterItem;\n","import { FormattedMessage } from \"@components/Intl\";\nimport withFieldItem from \"../withFieldItem\";\nimport AdvancedSelectField, {\n UserField,\n} from \"@common/components/AdvancedSelectField\";\nimport FunctionSelectField from \"@common/components/FunctionSelectField\";\nimport AddressSelectField from \"@common/components/AddressSelectField\";\nimport IndustrySelectField from \"@common/components/IndustrySelectField\";\nimport CascaderField from \"@common/components/CascaderField\";\nimport TreeField from \"@common/components/TreeField\";\nimport InputFilterItemField from \"./InputFilterItem\";\nimport NumberRangeFilterItemField from \"./NumberRangeFilterItem\";\n\nconst withInputDefaultPlaceholder =\n (WrappedComponent) =>\n ({ placeholder, label, ...props }) =>\n (\n <FormattedMessage\n id=\"defaultInputPlaceholder\"\n moduleName=\"Filter\"\n values={{ label }}\n >\n {(text) => {\n return (\n <WrappedComponent\n {...props}\n label={label}\n placeholder={placeholder || text}\n />\n );\n }}\n </FormattedMessage>\n );\n\nexport const AdvancedSelectFilterItem = withFieldItem(AdvancedSelectField);\nexport const UserFilterItem = withFieldItem(UserField);\nexport const FunctionSelectFilterItem = withFieldItem(FunctionSelectField);\nexport const IndustrySelectFilterItem = withFieldItem(IndustrySelectField);\n\nexport const CityFilterItem = withFieldItem(AddressSelectField);\n\nexport const CascaderFilterItem = withFieldItem(CascaderField);\n\nexport const TreeFilterItem = withFieldItem(TreeField);\nexport const InputFilterItem =\n withInputDefaultPlaceholder(InputFilterItemField);\nexport const NumberRangeFilterItem = withInputDefaultPlaceholder(\n NumberRangeFilterItemField\n);\n\nexport { default as DatePickerFilterItem } from \"./DatePickerFilterItem\";\nexport { default as DateRangePickerFilterItem } from \"./DateRangePickerFilterItem\";\nexport { default as TypeDateRangePickerFilterItem } from \"./TypeDateRangePickerFilterItem\";\n","import transform from \"lodash/transform\";\n\nconst getFilterValue = (filterValue) => {\n return transform(\n filterValue,\n (result, { name, value }) => {\n result[name] = Array.isArray(value)\n ? value.map(({ value }) => value)\n : value.value;\n },\n {}\n );\n};\n\nexport default getFilterValue;\n","import { App, Tag } from \"antd\";\nimport AddressSelectField, {\n getLabelForLocal,\n withAddressApi,\n} from \"@common/components/AddressSelectField\";\nimport { FormattedMessage, useIntl } from \"@components/Intl\";\nimport { usePreset } from \"@components/Global\";\nimport { useMemo } from \"react\";\nimport style from \"../../style.module.scss\";\n\nconst { CheckableTag } = Tag;\n\nconst CityFilterItemInner = ({\n value,\n onChange,\n single,\n maxLength,\n addressApi,\n ...props\n}) => {\n const { message } = App.useApp();\n const { locale } = usePreset();\n const { formatMessage } = useIntl({ moduleName: \"Filter\" });\n const cityList = useMemo(() => {\n return addressApi.getChinaHotCities();\n }, [addressApi]);\n return (\n <>\n {cityList.map((city) => {\n const { code } = city;\n const name = getLabelForLocal(city, locale);\n return (\n <CheckableTag\n key={code}\n size=\"small\"\n checked={\n single\n ? value?.value === code\n : !!(value || []).find(({ value }) => value === code)\n }\n onChange={(checked) => {\n if (single) {\n onChange(checked ? { value: code, label: name } : null);\n return;\n }\n const newValue = (value || []).slice(0);\n checked\n ? newValue.push({ value: code, label: name })\n : (() => {\n const index = newValue.findIndex(\n ({ value }) => value === code\n );\n newValue.splice(index, 1);\n })();\n if (newValue.length > maxLength) {\n message.error(\n formatMessage(\n { id: \"maxSelectedCount\" },\n { count: maxLength }\n )\n );\n return;\n }\n onChange(newValue);\n }}\n >\n {name}\n </CheckableTag>\n );\n })}\n <CheckableTag\n className={style[\"filter-advanced-item-other\"]}\n size=\"small\"\n checked={\n (single ? value?.value : value?.value && value.value.length > 0) &&\n !cityList.find(({ code }) =>\n single\n ? value?.value === code\n : !!(value || []).find(({ value }) => value === code)\n )\n }\n >\n <FormattedMessage\n id={\"otherText\"}\n moduleName=\"Filter\"\n defaultMessage=\"其他\"\n />\n <AddressSelectField\n {...props}\n className={style[\"filter-advanced-item-other-inner\"]}\n maxLength={maxLength}\n value={\n single ? value?.value : (value || []).map(({ value }) => value)\n }\n single={single}\n onChange={(value, ...args) => {\n const getCityValue = (value) => {\n const { city } = addressApi.getCity(value);\n return { value: city?.code, label: city?.name };\n };\n onChange(\n single\n ? getCityValue(value)\n : value.map((value) => getCityValue(value))\n );\n }}\n />\n </CheckableTag>\n </>\n );\n};\nCityFilterItemInner.defaultProps = {\n single: false,\n maxLength: 5,\n};\nconst CityFilterItem = withAddressApi(CityFilterItemInner);\nexport default CityFilterItem;\n","import { Tag, App } from \"antd\";\nimport isEqual from \"lodash/isEqual\";\nimport * as fields from \"../../fields\";\nimport { useIntl } from \"@components/Intl\";\n\nconst { CheckableTag } = Tag;\nconst ListFilterItem = ({\n value,\n onChange,\n label,\n single,\n maxLength,\n items,\n custom,\n}) => {\n const { message } = App.useApp();\n const { formatMessage } = useIntl({ moduleName: \"Filter\" });\n return (\n <>\n {items.map(({ label, value: itemValue }) => {\n return (\n <CheckableTag\n key={label}\n size=\"small\"\n checked={\n single\n ? isEqual(itemValue, value?.value)\n : !!(value || []).find(({ value }) => isEqual(itemValue, value))\n }\n onChange={(checked) => {\n if (single) {\n onChange(checked ? { value: itemValue, label } : null);\n return;\n }\n const newValue = (value || []).slice(0);\n checked\n ? newValue.push({ value: itemValue, label })\n : (() => {\n const index = newValue.find(({ value }) =>\n isEqual(itemValue, value)\n );\n newValue.splice(index, 1);\n })();\n if (newValue.length > maxLength) {\n message.error(\n formatMessage(\n { id: \"maxSelectedCount\" },\n { count: maxLength }\n )\n );\n return;\n }\n onChange(newValue);\n }}\n >\n {label}\n </CheckableTag>\n );\n })}\n {custom &&\n (() => {\n const ComponentItem = Object.values(fields).find(\n (item) => item === custom.type\n );\n if (!ComponentItem) {\n return null;\n }\n return (\n <ComponentItem\n {...custom.props}\n value={value}\n placeholder={`${formatMessage({ id: \"pleaseInput\" })}${label}`}\n onChange={onChange}\n />\n );\n })()}\n </>\n );\n};\n\nListFilterItem.defaultProps = {\n single: false,\n maxLength: 5,\n items: [],\n};\n\nexport default ListFilterItem;\n","import { Input, Space, Button } from \"antd\";\nimport { useState, useEffect, useRef } from \"react\";\nimport useSimulationBlur from \"@kne/use-simulation-blur\";\nimport { useIntl } from \"@components/Intl\";\n\nconst InputFilterItem = ({ value, label, onChange, ...props }) => {\n const propsValue = value?.value;\n const [inputValue, setInputValue] = useState(propsValue || \"\");\n const [active, setActive] = useState(false);\n const { formatMessage } = useIntl({ moduleName: \"Filter\" });\n const searchHandler = () => {\n onChange(inputValue ? { label: inputValue, value: inputValue } : null);\n };\n const ref = useSimulationBlur(() => {\n setActive(false);\n searchHandler();\n });\n const inputValueRef = useRef(\"\");\n inputValueRef.current = inputValue;\n\n useEffect(() => {\n if (propsValue !== inputValueRef.current) {\n setInputValue(propsValue);\n }\n }, [propsValue]);\n return (\n <span ref={ref}>\n <Space.Compact>\n <Input\n placeholder={`${formatMessage({ id: \"pleaseInput\" })}${label}`}\n {...props}\n size=\"small\"\n value={inputValue}\n onFocus={() => {\n setActive(true);\n }}\n onChange={(e) => {\n setInputValue(e.target.value);\n }}\n onPressEnter={searchHandler}\n />\n {active && (\n <Button size=\"small\" type=\"primary\" onClick={searchHandler}>\n {formatMessage({ id: \"search\" })}\n </Button>\n )}\n </Space.Compact>\n </span>\n );\n};\n\nexport default InputFilterItem;\n","import CityFilterItem from \"./CityFilterItem\";\nimport ListFilterItem from \"./ListFilterItem\";\nimport InputFilterItem from \"./InputFilterItem\";\n\nconst fields = { CityFilterItem, ListFilterItem, InputFilterItem };\n\nexport default fields;\n","import FilterOuter from \"../FilterOuter\";\nimport MoreFilterLines from \"../FilterLines\";\nimport { Flex } from \"antd\";\nimport advancedFields from \"./fields\";\nimport { createWithIntl, useIntl } from \"@components/Intl\";\nimport get from \"lodash/get\";\nimport { useContext } from \"../context\";\nimport style from \"../style.module.scss\";\nimport FilterValueDisplay from \"../FilterValueDisplay\";\nimport importMessages from \"../locale\";\n\nconst Line = ({ list }) => {\n const { value, onChange } = useContext();\n return (\n <Flex gap={8}>\n {list.map((item, index) => {\n const ComponentItem = item.type;\n return (\n <Flex gap={16} key={item.key || item.props.name || index}>\n <div className={style[\"filter-label\"]}>{item.props.label}:</div>\n <Flex wrap={true}>\n <ComponentItem\n {...item.props}\n value={\n value\n ? get(value.get(item.props.name), \"value\")\n : item.props.value\n }\n onChange={\n onChange\n ? (value) =>\n onChange({\n name: item.props.name,\n label: item.props.label,\n value,\n })\n : item.props.onChange\n }\n />\n </Flex>\n </Flex>\n );\n })}\n </Flex>\n );\n};\n\nconst AdvancedFilter = createWithIntl({ importMessages, moduleName: \"Filter\" })(\n (props) => {\n const { formatMessage } = useIntl({ moduleName: \"Filter\" });\n return (\n <FilterOuter {...props}>\n {({ value, onChange, props }) => {\n const { list, more } = props;\n return (\n <div>\n <Flex gap={8} vertical className={style[\"filter-advanced\"]}>\n {list.map((item, index) => {\n return <Line key={index} list={item} />;\n })}\n {more && (\n <MoreFilterLines\n className={style[\"filter-advanced-more\"]}\n label={`${formatMessage({ id: \"moreText\" })}:`}\n list={[more]}\n />\n )}\n </Flex>\n {value && value.length > 0 && (\n <FilterValueDisplay value={value} onChange={onChange} />\n )}\n </div>\n );\n }}\n </FilterOuter>\n );\n }\n);\n\nAdvancedFilter.fields = advancedFields;\nexport default AdvancedFilter;\n\nexport { advancedFields };\n","const FilterItemContainer = ({ children, ...props }) => {\n return children(props);\n};\n\nexport default FilterItemContainer;\n","import Filter from \"./Filter\";\nimport * as fields from \"./fields\";\nimport getFilterValue from \"./getFilterValue\";\n\nFilter.fields = fields;\nFilter.getFilterValue = getFilterValue;\nexport default Filter;\nexport { fields, getFilterValue };\nexport { default as AdvancedFilter, advancedFields } from \"./AdvancedFilter\";\nexport { default as FilterValueDisplay } from \"./FilterValueDisplay\";\nexport { default as FilterItem } from \"./FilterItem\";\nexport { default as FilterLines } from \"./FilterLines\";\nexport { default as PopoverItem } from \"./PopoverItem\";\nexport { default as withFieldItem } from \"./withFieldItem\";\nexport { default as FilterItemContainer } from \"./FilterItemContainer\";\nexport {\n NumberRangeFilterItem,\n InputFilterItem,\n CityFilterItem,\n AdvancedSelectFilterItem,\n UserFilterItem,\n FunctionSelectFilterItem,\n IndustrySelectFilterItem,\n CascaderFilterItem,\n TreeFilterItem,\n DatePickerFilterItem,\n DateRangePickerFilterItem,\n TypeDateRangePickerFilterItem,\n} from \"./fields\";\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 {\"helper-guide\":\"style_helper-guide__K5xFw__FI1dY\",\"inner\":\"style_inner__bMKeU__FI1dY\",\"content\":\"style_content__xTfWZ__FI1dY\",\"link\":\"style_link__93j7O__FI1dY\"};","import importMessages from \"./locale\";\nimport { IntlProvider } from \"@components/Intl\";\nimport Icon from \"@components/Icon\";\nimport { Space, Typography } from \"antd\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport Enum from \"@components/Enum\";\n\nconst HelperGuide = ({ name, className }) => {\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"HelperGuide\">\n <Enum moduleName=\"helperGuide\" name={name}>\n {(data) => {\n return (\n data &&\n data.value && (\n <div className={classnames(style[\"helper-guide\"], className)}>\n <Space className={style[\"inner\"]}>\n <Icon colorful type=\"icon-color-bangzhuyindao\" />\n <span className={style[\"content\"]}>{data.content}</span>\n {data.url && (\n <Typography.Link\n className={style[\"link\"]}\n href={data.url}\n target=\"_blank\"\n >\n 查看帮助\n <Icon type=\"icon-shuangjiantou-right\" />\n </Typography.Link>\n )}\n </Space>\n </div>\n )\n );\n }}\n </Enum>\n </IntlProvider>\n );\n};\n\nexport default HelperGuide;\n","import { createContext, useContext as useReactContext } from \"react\";\n\nexport const defaultProps = {\n menu: null,\n filter: null,\n menuOpen: true,\n menuWidth: \"240px\",\n menuFixed: true,\n menuCloseButton: true,\n backgroundColor: null,\n header: null,\n headerHeight: 0,\n headerFixed: true,\n headerInfo: null,\n backUrl: null,\n title: null,\n titleExtra: null,\n titleLeftExtra: null,\n noMargin: false,\n noPadding: false,\n optionFooterHeight: 0,\n option: null,\n optionWidth: \"400px\",\n optionNoPadding: false,\n optionFixed: true,\n optionFooter: null,\n};\n\nexport const context = createContext({});\n\nexport const { Provider, Consumer } = context;\n\nexport const useContext = () => {\n return useReactContext(context);\n};\n\nexport default context;\n","// extracted by mini-css-extract-plugin\nexport default {\"layout\":\"style_layout__k+lxR__FI1dY\",\"page-content\":\"style_page-content__4XeN8__FI1dY\",\"page-main\":\"style_page-main__P0yEF__FI1dY\",\"page-main-content\":\"style_page-main-content__1OVPN__FI1dY\",\"table-page\":\"style_table-page__JkbLf__FI1dY\",\"helper-guide\":\"style_helper-guide__vzw4z__FI1dY\",\"page-outer\":\"style_page-outer__2a6iH__FI1dY\",\"no-margin\":\"style_no-margin__S6caT__FI1dY\",\"page-menu\":\"style_page-menu__CZSa9__FI1dY\",\"closed\":\"style_closed__hmnft__FI1dY\",\"page-menu-inner\":\"style_page-menu-inner__rmKpu__FI1dY\",\"page-menu-main\":\"style_page-menu-main__OXg2M__FI1dY\",\"page-option-main\":\"style_page-option-main__LyfT3__FI1dY\",\"page-menu-main-outer\":\"style_page-menu-main-outer__yY+-Q__FI1dY\",\"page-option\":\"style_page-option__diS2S__FI1dY\",\"page-option-inner\":\"style_page-option-inner__Fj1JH__FI1dY\",\"page-option-footer\":\"style_page-option-footer__d7xE0__FI1dY\",\"fixed-container\":\"style_fixed-container__1VZwY__FI1dY\",\"is-fixed\":\"style_is-fixed__1aQhp__FI1dY\",\"page-menu-btn-outer\":\"style_page-menu-btn-outer__iVJiW__FI1dY\",\"page-menu-btn\":\"style_page-menu-btn__BiTy8__FI1dY\",\"page-title\":\"style_page-title__zw-Fd__FI1dY\",\"page-title-text\":\"style_page-title-text__Rj4RC__FI1dY\",\"no-padding\":\"style_no-padding__V7Dwy__FI1dY\",\"page-header\":\"style_page-header__a813p__FI1dY\",\"page-header-info\":\"style_page-header-info__cMrZR__FI1dY\",\"layout-menu\":\"style_layout-menu__yiab0__FI1dY\",\"sub-menu\":\"style_sub-menu__dyqK7__FI1dY\",\"no-collapsed\":\"style_no-collapsed__76h8W__FI1dY\",\"has-not-children\":\"style_has-not-children__fnjRK__FI1dY\",\"table-page-top\":\"style_table-page-top__bt1l9__FI1dY\",\"error-component\":\"style_error-component__HvghB__FI1dY\",\"state-bar-page\":\"style_state-bar-page__+aUM4__FI1dY\",\"back-icon\":\"style_back-icon__79v2G__FI1dY\"};","import style from \"../style.module.scss\";\nimport classnames from \"classnames\";\n\nconst FixedContainer = ({ className, isFixed, children }) => {\n if (isFixed) {\n return (\n <div\n className={classnames(\n className,\n \"fixed-container\",\n style[\"fixed-container\"],\n {\n [style[\"is-fixed\"]]: isFixed,\n }\n )}\n >\n {children}\n </div>\n );\n }\n return (\n <div\n className={classnames(\n className,\n \"fixed-container\",\n style[\"fixed-container\"]\n )}\n >\n {children}\n </div>\n );\n};\n\nexport default FixedContainer;\n","import { Button, Col } from \"antd\";\nimport classnames from \"classnames\";\nimport style from \"../style.module.scss\";\nimport FixedContainer from \"./FixedContainer\";\nimport { useContext } from \"../context\";\nimport Icon from \"@components/Icon\";\nimport SimpleBar from \"@common/components/SimpleBar\";\nimport { useLocation } from \"react-router-dom\";\nimport get from \"lodash/get\";\nimport isNotEmpty from \"@utils/isNotEmpty\";\nimport localStorage from \"@utils/localStorage\";\nimport { useMemo } from \"react\";\n\nconst pageMenuOpenKey = \"CORE_PAGE_MENU_OPEN_KEY\";\n\nexport const useMenuOpen = () => {\n const location = useLocation();\n const pathModuleName = location.pathname.split(\"/\")[1];\n return useMemo(() => {\n const pageResult = localStorage.getItem(pageMenuOpenKey) || {};\n return isNotEmpty(get(pageResult, pathModuleName))\n ? get(pageResult, pathModuleName)\n : true;\n }, [pathModuleName]);\n};\n\nconst Menu = () => {\n const { pageProps, setPageProps } = useContext();\n const { menu, menuOpen, menuWidth, menuFixed, menuCloseButton } = pageProps;\n\n const location = useLocation();\n const pathModuleName = location.pathname.split(\"/\")[1];\n\n return menu ? (\n <Col\n className={classnames(style[\"page-menu\"], {\n [style[\"closed\"]]: !menuOpen,\n })}\n style={{ \"--width\": menuWidth }}\n >\n <FixedContainer className={style[\"page-menu-inner\"]} isFixed={menuFixed}>\n <div className={style[\"page-menu-main-outer\"]}>\n <SimpleBar className={style[\"page-menu-main\"]}>{menu}</SimpleBar>\n </div>\n </FixedContainer>\n {menuCloseButton ? (\n <FixedContainer\n className={classnames(style[\"page-menu-btn-outer\"], {\n [style[\"is-fixed\"]]: menuFixed,\n })}\n isFixed={menuFixed}\n >\n <Button\n className={classnames(style[\"page-menu-btn\"], {\n [style[\"closed\"]]: !menuOpen,\n })}\n icon={\n menuOpen ? (\n <Icon type=\"icon-arrow-bold-left\" />\n ) : (\n <Icon type=\"icon-arrow-bold-right\" />\n )\n }\n onClick={() => {\n setPageProps({ menuOpen: !pageProps.menuOpen });\n const pageResult = localStorage.getItem(pageMenuOpenKey) || {};\n pageResult[pathModuleName] = !pageProps.menuOpen;\n localStorage.setItem(pageMenuOpenKey, pageResult);\n setPageProps({ menuOpen: !pageProps.menuOpen });\n }}\n />\n </FixedContainer>\n ) : null}\n </Col>\n ) : null;\n};\n\nexport default Menu;\n","import { defaultProps, useContext } from \"../context\";\nimport isEqual from \"lodash/isEqual\";\nimport { useEffect, useRef } from \"react\";\nimport { Result } from \"antd\";\nimport Features from \"@components/Features\";\nimport { useMenuOpen } from \"./Menu\";\n\nconst PageInner = ({ children, isPass, ...props }) => {\n const { setPageProps } = useContext();\n const propsRef = useRef(null);\n const localMenuOpen = useMenuOpen();\n const localMenuOpenRef = useRef(localMenuOpen);\n localMenuOpenRef.current = localMenuOpen;\n useEffect(() => {\n if (!isEqual(propsRef.current, props)) {\n propsRef.current = props;\n /**\n * 解决两个页面都用header时,menuButton产生的跳动问题:如果下一个页面有header,\n * headerHeight由其header组件自己更新,不再统一重置为0。\n * optionFooter同理\n * */\n const targetProps = Object.assign(\n {},\n defaultProps,\n props,\n typeof localMenuOpenRef.current === \"boolean\"\n ? { menuOpen: localMenuOpenRef.current }\n : {}\n );\n if (targetProps.header && targetProps.headerHeight === 0) {\n delete targetProps[\"headerHeight\"];\n }\n if (targetProps.optionFooter && targetProps.optionFooterHeight === 0) {\n delete targetProps[\"optionFooter\"];\n }\n setPageProps(targetProps);\n }\n }, [props, setPageProps]);\n\n if (isPass === false) {\n return <Result status=\"403\" subTitle=\"暂未开放此功能\" />;\n }\n\n return children;\n};\n\nconst Page = ({ featureId, name, openFeatures, ...props }) => {\n if (openFeatures === true) {\n return (\n <Features id={name}>\n {({ isPass }) => <PageInner {...props} key={name} isPass={isPass} />}\n </Features>\n );\n }\n return <PageInner {...props} key={name} />;\n};\n\nPage.defaultProps = defaultProps;\n\nexport default Page;\n","import { Affix as AntdAffix } from \"antd\";\n\nconst Affix = ({ isFixed, offsetTop, offsetBottom, onChange, ...props }) => {\n if (!isFixed) {\n return <div {...props} />;\n }\n return (\n <AntdAffix\n {...props}\n offsetTop={Number.isInteger(offsetTop) ? offsetTop - 0.1 : offsetTop}\n offsetBottom={offsetBottom}\n onChange={onChange}\n />\n );\n};\n\nexport default Affix;\n","import { useContext } from \"@components/Layout/context\";\nimport { useLayoutEffect, useRef } from \"react\";\n\nconst useContainerHeight = ({ targetKey }) => {\n const { setPageProps } = useContext();\n const ref = useRef(null);\n useLayoutEffect(() => {\n const callback = () => {\n setPageProps({\n [targetKey]: ref.current.offsetHeight,\n });\n };\n\n callback();\n const resizeObserver = new MutationObserver(callback);\n resizeObserver.observe(ref.current, { subtree: true, childList: true });\n return () => {\n resizeObserver.disconnect();\n };\n }, [setPageProps, targetKey]);\n\n return ref;\n};\n\nconst ContainerHeight = ({ targetKey, ...props }) => {\n const ref = useContainerHeight({ targetKey });\n return <div {...props} ref={ref} />;\n};\n\nexport default ContainerHeight;\n","import { useContext } from \"../context\";\nimport Affix from \"../Affix\";\nimport { navigationHeight } from \"@components/Navigation\";\nimport ContainerHeight from \"./ContainerHeight\";\nimport style from \"../style.module.scss\";\n\nconst Header = () => {\n const { pageProps } = useContext();\n const { header, headerFixed } = pageProps;\n return header ? (\n <Affix\n isFixed={headerFixed}\n className={style[\"page-header\"]}\n offsetTop={navigationHeight}\n >\n <ContainerHeight targetKey=\"headerHeight\">{header}</ContainerHeight>\n </Affix>\n ) : null;\n};\n\nexport default Header;\n","import { useContext } from \"../context\";\nimport { useRef } from \"react\";\nimport style from \"../style.module.scss\";\nimport classnames from \"classnames\";\n\nconst HeaderInfo = () => {\n const { pageProps } = useContext();\n const { headerInfo } = pageProps;\n const headerInfoRef = useRef(null);\n return headerInfo ? (\n <div\n ref={headerInfoRef}\n className={classnames(style[\"page-header-info\"], \"page-header-info\")}\n >\n {headerInfo}\n </div>\n ) : null;\n};\n\nexport default HeaderInfo;\n","import { Col, Row, Space } from \"antd\";\nimport { useNavigate } from \"react-router-dom\";\nimport Filter from \"@components/Filter\";\nimport Icon from \"@components/Icon\";\nimport style from \"../style.module.scss\";\n\nconst PageTitle = ({ title, filter, titleExtra, titleLeftExtra, backUrl }) => {\n const navigator = useNavigate();\n if (filter) {\n return (\n <Filter className={style[\"page-title\"]} {...filter} extra={titleExtra} />\n );\n }\n if (!(title || titleLeftExtra || titleExtra)) {\n return null;\n }\n return (\n <Row justify=\"space-between\" align=\"middle\" className={style[\"page-title\"]}>\n <Col>\n <Space>\n {title ? (\n <div className={style[\"page-title-text\"]}>\n {backUrl ? (\n <Space>\n <span\n className={style[\"back-icon\"]}\n onClick={() => {\n navigator(backUrl);\n }}\n >\n <Icon type=\"icon-arrow-thin-left\" />\n </span>\n <span>{title}</span>\n </Space>\n ) : (\n title\n )}\n </div>\n ) : null}\n {titleLeftExtra ? titleLeftExtra : null}\n </Space>\n </Col>\n <Col>{titleExtra}</Col>\n </Row>\n );\n};\n\nexport default PageTitle;\n","import { Col, Space } from \"antd\";\nimport FixedContainer from \"./FixedContainer\";\nimport { useContext } from \"../context\";\nimport classnames from \"classnames\";\nimport SimpleBar from \"@common/components/SimpleBar\";\nimport ContainerHeight from \"./ContainerHeight\";\nimport style from \"../style.module.scss\";\n\nconst Option = () => {\n const { pageProps } = useContext();\n const {\n option,\n optionWidth,\n optionFixed,\n optionFooter,\n optionFooterHeight,\n optionNoPadding,\n } = pageProps;\n return option ? (\n <Col\n className={classnames(style[\"page-option\"], \"page-option\")}\n style={{\n \"--width\": optionWidth,\n \"--foot-height\": optionFooterHeight + \"px\",\n }}\n >\n <FixedContainer\n className={style[\"page-option-inner\"]}\n isFixed={optionFixed}\n >\n <SimpleBar\n className={classnames(style[\"page-option-main\"], \"page-option-main\")}\n style={{ padding: optionNoPadding ? \"0px\" : \"var(--padding-width)\" }}\n >\n {option}\n </SimpleBar>\n {optionFooter ? (\n <ContainerHeight\n className={style[\"page-option-footer\"]}\n targetKey=\"optionFooterHeight\"\n >\n <Space align=\"center\">{optionFooter}</Space>\n </ContainerHeight>\n ) : null}\n </FixedContainer>\n </Col>\n ) : null;\n};\n\nexport default Option;\n","import { Alert, Button, Col, Layout as AntdLayout, Row } from \"antd\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { defaultProps, Provider } from \"./context\";\nimport Navigation, { navigationHeight } from \"@components/Navigation\";\nimport { getScrollEl } from \"@common/utils/importantContainer\";\nimport ReactErrorBoundary from \"@kne/react-error-boundary\";\nimport { Header, HeaderInfo, Menu, Option, PageTitle } from \"./Page\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport HelperGuide from \"@components/HelperGuide\";\n\nconst { Content } = AntdLayout;\n\nconst ErrorComponent = () => {\n return (\n <Alert\n message=\"系统出了点小问题,可刷新页面进行解决\"\n showIcon\n type=\"error\"\n action={\n <Button size=\"small\" danger onClick={() => window.location.reload()}>\n 刷新\n </Button>\n }\n />\n );\n};\n\nconst ErrorBoundary = (props) => {\n return <ReactErrorBoundary {...props} errorComponent={ErrorComponent} />;\n};\n\nconst Layout = ({ children, theme, navigation }) => {\n const [scrollLeft, setScrollLeft] = useState(0);\n const [pageProps, _setPageProps] = useState(Object.assign({}, defaultProps));\n const setPageProps = useCallback((value) => {\n return _setPageProps((pageProps) => {\n return Object.assign({}, pageProps, value);\n });\n }, []);\n useEffect(() => {\n const scrollEl = getScrollEl();\n const handlerScroll = () => {\n setScrollLeft(scrollEl.scrollLeft);\n };\n scrollEl.addEventListener(\"scroll\", handlerScroll);\n return () => {\n scrollEl.removeEventListener(\"scroll\", handlerScroll);\n };\n }, []);\n\n return (\n <AntdLayout\n className={style[\"layout\"]}\n style={Object.assign(\n {},\n {\n \"--nav-height\": navigationHeight + \"px\",\n \"--nav-height-base\": \"var(--nav-height)\",\n \"--scroll-left\": -scrollLeft + \"px\",\n },\n theme\n )}\n >\n {navigation && (\n <ErrorBoundary>\n <Navigation\n {...navigation}\n onChange={(path) => {\n navigation?.onChange && navigation.onChange(path);\n }}\n />\n </ErrorBoundary>\n )}\n <ErrorBoundary>\n <Content className={style[\"layout-content-wrap\"]}>\n <Provider value={{ pageProps, setPageProps }}>\n <ErrorBoundary>\n <Header />\n </ErrorBoundary>\n <ErrorBoundary>\n <HeaderInfo />\n </ErrorBoundary>\n <ErrorBoundary>\n <Row\n className={classnames(pageProps.className, style[\"page-outer\"])}\n wrap={false}\n style={{\n \"--nav-height\": `calc(${pageProps.headerHeight}px + var(--nav-height-base))`,\n \"--nav-only-height\": `var(--nav-height-base)`,\n }}\n >\n <ErrorBoundary>\n <Menu />\n </ErrorBoundary>\n <Col\n className={classnames(style[\"page-content\"], {\n [style[\"no-margin\"]]: pageProps.noMargin,\n })}\n flex={1}\n style={{ \"--background-color\": pageProps.backgroundColor }}\n >\n <div className={style[\"page-main\"]}>\n <ErrorBoundary>\n <PageTitle\n title={pageProps.title}\n backUrl={pageProps.backUrl}\n filter={pageProps.filter}\n titleExtra={pageProps.titleExtra}\n titleLeftExtra={pageProps.titleLeftExtra}\n />\n </ErrorBoundary>\n <div\n className={classnames(style[\"page-main-content\"], {\n [style[\"no-padding\"]]: pageProps.noPadding,\n })}\n >\n <ErrorBoundary>\n {pageProps.helperGuideName && (\n <HelperGuide\n className={style[\"helper-guide-page\"]}\n name={pageProps.helperGuideName}\n />\n )}\n {children}\n </ErrorBoundary>\n </div>\n </div>\n </Col>\n <ErrorBoundary>\n <Option />\n </ErrorBoundary>\n </Row>\n </ErrorBoundary>\n </Provider>\n </Content>\n </ErrorBoundary>\n </AntdLayout>\n );\n};\n\nLayout.defaultProps = {\n navigation: {},\n};\n\nexport default Layout;\n","import Page from \"./Page\";\nimport Permissions from \"@components/Permissions\";\n\nconst PermissionsPage = ({ permissions, ...props }) => {\n return (\n <Permissions {...Object.assign({}, permissions, { type: \"error\" })}>\n <Page {...props} />\n </Permissions>\n );\n};\n\nexport default PermissionsPage;\n","import { TablePage as Table } from \"@components/Table\";\nimport PermissionsPage from \"./PermissionsPage\";\nimport { forwardRef, useState } from \"react\";\nimport style from \"./style.module.scss\";\nimport HelperGuide from \"@components/HelperGuide\";\nimport classnames from \"classnames\";\n\nconst TablePage = forwardRef(\n (\n {\n helperGuideName,\n permissions,\n page,\n openFeatures,\n name,\n topArea,\n ...props\n },\n ref\n ) => {\n const [tableData, setTableData] = useState(null);\n return (\n <PermissionsPage\n name={name}\n openFeatures={openFeatures}\n permissions={permissions}\n {...page}\n >\n {topArea ? (\n <div className={style[\"table-page-top\"]}>\n {typeof topArea === \"function\" ? topArea(tableData) : topArea}\n </div>\n ) : null}\n <div className={style[\"table-page\"]}>\n {helperGuideName && (\n <HelperGuide\n className={classnames(\"helper-guide\", style[\"helper-guide\"])}\n name={helperGuideName}\n />\n )}\n <Table\n {...props}\n ref={ref}\n name={name}\n onRequestSuccess={(data) => {\n setTableData(data);\n }}\n />\n </div>\n </PermissionsPage>\n );\n }\n);\n\nexport default TablePage;\n","import StateBar from \"@components/StateBar\";\nimport PermissionsPage from \"./PermissionsPage\";\nimport style from \"./style.module.scss\";\nimport HelperGuide from \"@components/HelperGuide\";\n\nconst StateBarPage = ({\n helperGuideName,\n permissions,\n page,\n stateBar,\n children,\n ...props\n}) => {\n return (\n <PermissionsPage {...page} permissions={permissions} {...props}>\n <div className={style[\"state-bar-page\"]}>\n <StateBar {...stateBar} />\n </div>\n {helperGuideName && (\n <HelperGuide className={style[\"helper-guide\"]} name={helperGuideName} />\n )}\n {children}\n </PermissionsPage>\n );\n};\n\nexport default StateBarPage;\n","// extracted by mini-css-extract-plugin\nexport default {\"menu\":\"style_menu__gvIvn__FI1dY\",\"all-no-start-icon\":\"style_all-no-start-icon__CA+zR__FI1dY\",\"no-start-icon\":\"style_no-start-icon__LnC1S__FI1dY\",\"has-children\":\"style_has-children__m9tce__FI1dY\",\"has-children-node\":\"style_has-children-node__2bhEB__FI1dY\",\"is-root\":\"style_is-root__4hhOc__FI1dY\",\"title\":\"style_title__+Hcar__FI1dY\",\"active\":\"style_active__WU49K__FI1dY\",\"no-collapse\":\"style_no-collapse__aIZBM__FI1dY\",\"title-content\":\"style_title-content__cQXpK__FI1dY\",\"loading\":\"style_loading__1pU4P__FI1dY\"};","import style from \"./style.module.scss\";\nimport classnames from \"classnames\";\nimport { Spin } from \"antd\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport Permissions from \"@components/Permissions\";\nimport useControlValue from \"@kne/use-control-value\";\nimport Icon from \"@components/Icon\";\nimport { useCallback, useEffect, useMemo } from \"react\";\nimport ensureSlash from \"@kne/ensure-slash\";\nimport { useFetch } from \"@kne/react-fetch\";\n\nconst treeEnhance = (items) => {\n const childrenKeys = {},\n nodeMapping = [];\n const traversal = (children, options) => {\n const { parentKey, depth } = Object.assign(\n {\n parentKey: \"root\",\n depth: 0,\n paths: [],\n },\n options\n );\n if (!(Array.isArray(children) && children.length > 0)) {\n return null;\n }\n return children.map((item, index) => {\n const currentKey = `${\n item.key ||\n `${parentKey !== \"root\" ? `${parentKey}-` : \"\"}node-${index}`\n }`;\n if (!childrenKeys[parentKey]) {\n childrenKeys[parentKey] = [];\n }\n childrenKeys[parentKey].push(currentKey);\n const children = traversal(item.children, {\n parentKey: currentKey,\n depth: depth + 1,\n });\n childrenKeys[currentKey] &&\n childrenKeys[parentKey].push(...childrenKeys[currentKey]);\n const targetItem = Object.assign({}, item, {\n key: currentKey,\n parentKey,\n depth,\n children: children,\n originItem: item,\n });\n nodeMapping[currentKey] = targetItem;\n return targetItem;\n });\n };\n\n return { items: traversal(items), childrenKeys, nodeMapping };\n};\n\nconst MenuItem = (props) => {\n const navigation = useNavigate();\n const {\n id,\n className,\n label,\n iconType,\n path,\n request,\n onClick,\n isOpen,\n isSelected,\n onOpenChange,\n children,\n fetchOptions,\n depth,\n onLoad,\n allowCollapsed,\n } = props;\n\n const hasChildren =\n (Array.isArray(children) && children.length > 0) || fetchOptions;\n const { refresh, isLoading } = useFetch(\n Object.assign({}, fetchOptions, {\n auto: !allowCollapsed && fetchOptions,\n onRequestSuccess: (data) => {\n onLoad(data);\n },\n })\n );\n\n const renderChildren = () => {\n if (!hasChildren) {\n return null;\n }\n if (!allowCollapsed || (isOpen && children)) {\n return <div className={style[\"children-list\"]}>{children}</div>;\n }\n\n if (!allowCollapsed || (isOpen && isLoading)) {\n return (\n <div className={style[\"children-list\"]}>\n <Spin className={style[\"loading\"]} size=\"small\" />\n </div>\n );\n }\n };\n return (\n <Permissions request={request}>\n <div className={classnames(className, style[\"menu-item\"])}>\n <div\n className={classnames(style[\"title\"], {\n [style[\"active\"]]: isSelected,\n [style[\"has-children\"]]: hasChildren,\n [style[\"no-collapse\"]]: hasChildren && !allowCollapsed,\n [style[\"no-start-icon\"]]: !iconType,\n [style[\"is-root\"]]: depth === 0,\n })}\n onClick={(e) => {\n e.stopPropagation();\n if (!hasChildren && path) {\n navigation(path);\n return;\n }\n if (!hasChildren && !fetchOptions) {\n onClick?.(id, props);\n return;\n }\n if (!allowCollapsed) {\n return;\n }\n fetchOptions && refresh({});\n onOpenChange(!isOpen);\n }}\n >\n {iconType && <Icon type={iconType} />}\n <span className={style[\"title-content\"]}>{label}</span>\n {hasChildren && allowCollapsed && (\n <Icon\n type={isOpen ? \"icon-arrow-bold-down\" : \"icon-arrow-bold-right\"}\n />\n )}\n </div>\n {renderChildren()}\n </div>\n </Permissions>\n );\n};\n\nconst Menu = ({ className, allowCollapsed, ...props }) => {\n const { pathname, search } = useLocation();\n const [selectedKey, setSelectKeyChange] = useControlValue(props, {\n value: \"currentKey\",\n defaultValue: \"defaultCurrentKey\",\n });\n\n const [items, setItems] = useControlValue(props, {\n defaultValue: \"defaultItems\",\n value: \"items\",\n onChange: \"onItemsChange\",\n });\n\n const {\n items: targetItems,\n defaultOpenKeys,\n links,\n childrenKeys,\n hasStartIcon,\n hasChildren,\n } = useMemo(() => {\n const {\n items: targetItems,\n childrenKeys,\n nodeMapping,\n } = treeEnhance(items);\n let hasStartIcon = false,\n hasChildren = false;\n const links = [],\n defaultOpenKeys = [];\n childrenKeys?.[\"root\"]?.forEach((key) => {\n const node = nodeMapping[key];\n if (node.iconType) {\n hasStartIcon = true;\n }\n node.path && links.push({ path: node.path, key });\n if (Array.isArray(node.children) && node.children.length > 0) {\n hasChildren = true;\n defaultOpenKeys.push(node.key);\n }\n });\n return {\n defaultOpenKeys,\n links,\n items: targetItems,\n childrenKeys,\n hasStartIcon,\n hasChildren,\n };\n }, [items]);\n useEffect(() => {\n const matchedPath = links.find(({ path }) => {\n return (\n ensureSlash(pathname.replace(/[#,?].*/, \"\")) === ensureSlash(path) ||\n ensureSlash(pathname + search) === ensureSlash(path)\n );\n });\n if (matchedPath) {\n setSelectKeyChange(matchedPath.key);\n }\n }, [links, pathname, search, setSelectKeyChange]);\n\n const [openKeys, setOpenKeys] = useControlValue(\n Object.assign({}, props, {\n defaultOpenKeys: props.defaultOpenKeys || defaultOpenKeys,\n }),\n {\n value: \"openKeys\",\n defaultValue: \"defaultOpenKeys\",\n onChange: \"onOpenChange\",\n }\n );\n\n const renderChildren = useCallback(\n (children, options) => {\n const { parentKey, depth, selectedKey, openKeys, paths } = Object.assign(\n {\n parentKey: null,\n depth: 0,\n paths: [],\n },\n options\n );\n if (Array.isArray(children) && children.length > 0) {\n return children.map(\n ({ children, key: currentKey, originItem, ...item }) => {\n return (\n <MenuItem\n {...Object.assign({}, item)}\n id={currentKey}\n parentId={parentKey}\n depth={depth}\n allowCollapsed={allowCollapsed}\n isSelected={\n currentKey === selectedKey ||\n (childrenKeys[currentKey] &&\n childrenKeys[currentKey].indexOf(selectedKey) > -1)\n }\n onClick={setSelectKeyChange}\n onLoad={(data) => {\n setItems((items) => {\n const core = (children) => {\n if (Array.isArray(children) && children.length > 0) {\n return children.map((item) => {\n return Object.assign({}, item, {\n children:\n originItem === item ? data : core(item.children),\n });\n });\n }\n return null;\n };\n\n return core(items);\n });\n }}\n isOpen={(openKeys || []).indexOf(currentKey) > -1}\n key={currentKey}\n onOpenChange={() => {\n setOpenKeys((openKeys) => {\n const newOpenKeys = openKeys.slice(0);\n if (openKeys.indexOf(currentKey) > -1) {\n newOpenKeys.splice(openKeys.indexOf(currentKey), 1);\n } else {\n newOpenKeys.push(currentKey);\n }\n return newOpenKeys;\n });\n }}\n >\n {renderChildren(children, {\n parentKey,\n depth: depth + 1,\n selectedKey,\n openKeys,\n paths: [...paths, currentKey],\n })}\n </MenuItem>\n );\n }\n );\n }\n return null;\n },\n [setItems, setOpenKeys, setSelectKeyChange, childrenKeys, allowCollapsed]\n );\n\n return (\n <div\n className={classnames(className, style[\"menu\"], {\n [style[\"all-no-start-icon\"]]: !hasStartIcon,\n [style[\"has-children-node\"]]: hasChildren,\n })}\n >\n {renderChildren(targetItems, { selectedKey, openKeys })}\n </div>\n );\n};\n\nMenu.defaultProps = {\n defaultItems: [],\n allowCollapsed: true,\n};\n\nexport default Menu;\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgFavicon(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n t: 1679367216639,\n className: \"icon\",\n viewBox: \"0 0 1030 1024\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"p-id\": 1696,\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 201.171875,\n height: 200,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M252.479711 385.587015v293.958522l258.791705 146.528403 258.791704-146.528403V385.587015l-251.127142-145.62669L252.479711 385.587015z\",\n fill: \"#FFFFFF\",\n opacity: 0.1,\n \"p-id\": 1697\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M778.629396 405.875564A20.739405 20.739405 0 0 1 766.456267 405.875564l-39.675383-21.641119a22.091975 22.091975 0 0 1 21.190261-39.224526l39.675383 21.190261a22.542831 22.542831 0 0 1-10.820559 42.380523z m-518.485122-6.76285a22.542831 22.542831 0 0 1-19.837691-12.173129 22.091975 22.091975 0 0 1 9.918845-30.207394l40.12624-20.739405a22.993688 22.993688 0 0 1 30.207394 9.918846 22.542831 22.542831 0 0 1-9.918846 30.207394L270.513977 396.858431a20.739405 20.739405 0 0 1-10.369703 2.254283z m399.909829-57.258792a22.542831 22.542831 0 0 1-10.820559-2.705139l-39.675383-21.190262a22.993688 22.993688 0 0 1-9.017133-30.65825 22.091975 22.091975 0 0 1 30.207394-9.017133l39.675383 21.190261a22.542831 22.542831 0 0 1-10.369702 42.380523z m-279.531109-4.057709a22.542831 22.542831 0 0 1-9.918846-45.085663l40.12624-20.288548a22.542831 22.542831 0 0 1 30.207394 9.467989 22.993688 22.993688 0 0 1-9.918846 33.814247l-40.12624 20.288548a20.739405 20.739405 0 0 1-10.369702 1.803427zM541.027953 277.381425a19.386835 19.386835 0 0 1-10.820559-2.70514L519.837692 270.618575l-8.566276 4.508567a22.542831 22.542831 0 0 1-20.288549-40.577097l18.935979-9.017132a23.895401 23.895401 0 0 1 20.739405 0l21.190261 11.722272a22.091975 22.091975 0 0 1 9.017133 30.207394 22.091975 22.091975 0 0 1-19.837692 9.918846z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1698\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1002.70514 289.554554a24.346258 24.346258 0 0 1-9.918846 0L513.074842 47.895401 33.814247 287.300271a22.542831 22.542831 0 0 1-30.207394-10.369703 22.993688 22.993688 0 0 1 9.918846-30.207394L503.155996 2.358882a22.993688 22.993688 0 0 1 20.288549 0l489.179441 244.364292a22.542831 22.542831 0 0 1-9.918846 45.085663z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1699\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.085663 762.052299a22.542831 22.542831 0 0 1-9.918846-40.577096l81.154193-39.675383A22.542831 22.542831 0 0 1 135.256988 721.475203l-81.154193 39.675383a24.346258 24.346258 0 0 1-9.017132 0.901713z m889.540126-14.427412a24.346258 24.346258 0 0 1-9.918846 0l-80.703336-40.577096a22.542831 22.542831 0 0 1-10.369703-30.207394 22.091975 22.091975 0 0 1 30.207394-9.918846l80.703337 40.12624a22.542831 22.542831 0 0 1-9.918846 42.831379zM206.943192 683.15239a23.444545 23.444545 0 0 1-20.288548-12.623986 22.993688 22.993688 0 0 1 10.369702-30.207394l81.154193-39.675383a22.993688 22.993688 0 0 1 30.207394 10.369702 22.542831 22.542831 0 0 1-10.369702 30.207394l-81.154193 39.675383a24.346258 24.346258 0 0 1-9.918846 2.254284z m566.275924-16.230839a26.600541 26.600541 0 0 1-9.918845 0l-80.703337-40.577097a22.091975 22.091975 0 0 1-9.918846-30.207394 22.542831 22.542831 0 0 1 30.207394-9.918845l80.703337 40.126239a22.993688 22.993688 0 0 1 9.918846 30.207395 22.542831 22.542831 0 0 1-20.288549 10.369702z m-405.770965-62.669071a22.091975 22.091975 0 0 1-20.288548-12.623986 22.542831 22.542831 0 0 1 13.525699-30.207394l81.154193-39.224527a22.542831 22.542831 0 0 1 30.207394 10.369703 22.091975 22.091975 0 0 1-10.369702 29.756537l-81.154193 39.675384a26.600541 26.600541 0 0 1-11.271416 2.254283z m242.560866-18.034265a19.837692 19.837692 0 0 1-9.918846-2.254284l-80.703336-40.577096a22.091975 22.091975 0 0 1-9.918846-30.207394 22.542831 22.542831 0 0 1 30.207394-9.918846l80.703337 40.12624a23.444545 23.444545 0 0 1 9.918845 30.658251 22.542831 22.542831 0 0 1-18.485121 12.173129z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1700\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M512.173129 1024a24.346258 24.346258 0 0 1-9.918846-2.254283L12.623986 783.242561a22.993688 22.993688 0 0 1-12.623986-20.288548V273.774572a23.444545 23.444545 0 0 1 10.820559-19.386835 21.641118 21.641118 0 0 1 21.641118 0l479.711452 238.954012L991.884581 253.486023a21.641118 21.641118 0 0 1 21.641118 0 23.444545 23.444545 0 0 1 10.820559 19.386835v490.081155a22.993688 22.993688 0 0 1-12.623986 20.288548l-490.081154 238.503156a22.542831 22.542831 0 0 1-9.467989 2.254283zM45.085663 748.526601l467.087466 225.428313 467.087466-225.428313V310.293959l-454.914337 225.428313a22.542831 22.542831 0 0 1-22.091975 0L45.085663 310.293959z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1701\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M511.722272 1020.393147a22.542831 22.542831 0 0 1-22.542831-22.542831V526.254283a22.542831 22.542831 0 0 1 45.085663 0v471.596033a22.542831 22.542831 0 0 1-22.542832 22.542831z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1702\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M512.623986 841.853922a18.935978 18.935978 0 0 1-9.918846-2.254283l-266.005411-128.043282a22.091975 22.091975 0 0 1-11.271415-20.288548V383.783589a22.542831 22.542831 0 0 1 22.542831-22.542832 22.542831 22.542831 0 0 1 22.542832 22.542832V676.38954l243.913435 117.222723 243.462579-117.222723V383.783589a22.542831 22.542831 0 0 1 22.542831-22.542832 22.542831 22.542831 0 0 1 22.542832 22.542832v307.48422a22.542831 22.542831 0 0 1-12.623986 20.288548l-266.00541 128.043282a19.837692 19.837692 0 0 1-11.722272 2.254283z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1703\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFavicon);\nexport default __webpack_public_path__ + \"static/media/favicon.477a5bb996fd5b367fe0dddc29f67824.svg\";\nexport { ForwardRef as ReactComponent };","const importMessages = (locale) => {\n return ({\n 'en-US': () => import('./en-US'), 'zh-CN': () => import('./zh-CN')\n })[locale]();\n};\n\nexport default importMessages;","// extracted by mini-css-extract-plugin\nexport default {\"navigation-wrap\":\"style_navigation-wrap__VF8x2__FI1dY\",\"navigation\":\"style_navigation__60RrS__FI1dY\",\"is-fixed\":\"style_is-fixed__kHFWj__FI1dY\",\"navigation-logo\":\"style_navigation-logo__q9qHu__FI1dY\",\"logo\":\"style_logo__lB9RC__FI1dY\",\"navigation-list\":\"style_navigation-list__EYtkg__FI1dY\",\"navigation-options\":\"style_navigation-options__0BdJU__FI1dY\",\"menu-overlay\":\"style_menu-overlay__zU-vZ__FI1dY\",\"more-icon\":\"style_more-icon__gNMnt__FI1dY\"};","import { Col, Layout, Menu, Row, Space } from \"antd\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport get from \"lodash/get\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport classnames from \"classnames\";\nimport logo from \"./favicon.svg\";\nimport Image from \"@components/Image\";\nimport importMessages from \"./locale\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\nimport Icon from \"@components/Icon\";\nimport style from \"./style.module.scss\";\n\nconst { Header } = Layout;\n\nexport const navigationHeight = 48;\n\nconst SetTitle = ({ name, mapping, defaultTitle }) => {\n const propsRef = useRef({\n mapping,\n defaultTitle,\n });\n useEffect(() => {\n const title = get(propsRef.current.mapping.get(name), \"title\");\n document.title = (title ? title + \"-\" : \"\") + propsRef.current.defaultTitle;\n }, [name]);\n return null;\n};\n\nconst Navigation = ({\n permissions,\n list,\n headerLogo,\n rightOptions,\n isFixed,\n showIndex,\n indexLabel,\n defaultTitle,\n overflowedIndicator,\n base,\n onChange,\n className,\n}) => {\n const mapping = useMemo(() => {\n return new Map(list.map(({ key, ...others }) => [key, others]));\n }, [list]);\n const navigate = useNavigate();\n const location = useLocation();\n const navigationRef = useRef();\n const resizeObserverRef = useRef(null);\n const [nameLabel, setNameLabel] = useState(\"更多\");\n const pathModuleName = location.pathname\n .replace(new RegExp(`^${base}`), \"\")\n .split(\"/\")[1];\n const name = pathModuleName\n ? get(\n Array.from(mapping.entries()).find(([name, { path, permission }]) => {\n const _path =\n typeof path === \"function\" ? path(permission, permissions) : path;\n return _path.indexOf(\"/\" + pathModuleName) !== -1;\n }),\n \"[0]\"\n )\n : \"home\";\n useEffect(() => {\n const callback = () => {\n if (navigationRef.current) {\n const menuDom =\n navigationRef.current.querySelectorAll(`li[data-menu-id]`);\n let exist = false;\n for (let i = 0; i < menuDom.length; i++) {\n const dom = menuDom[i];\n const menuId = dom.getAttribute(\"data-menu-id\");\n if (menuId.indexOf(name) !== -1) {\n exist = true;\n break;\n }\n }\n let _nameLabel =\n mapping.get(name) && !exist ? get(mapping.get(name), \"title\") : \"\";\n setNameLabel(_nameLabel);\n }\n };\n const mutationObserverInitConfig = {\n attributes: true,\n childList: true,\n subtree: true,\n };\n if (navigationRef && navigationRef.current) {\n callback();\n if (resizeObserverRef.current) {\n resizeObserverRef.current.disconnect();\n }\n resizeObserverRef.current = new MutationObserver(callback);\n resizeObserverRef.current.observe(\n navigationRef.current,\n mutationObserverInitConfig\n );\n }\n\n return () => {\n resizeObserverRef.current && resizeObserverRef.current.disconnect();\n };\n }, [name, mapping]);\n const indexNav = showIndex\n ? {\n label: indexLabel || (\n <FormattedMessage id=\"indexLabel\" moduleName=\"Navigation\" />\n ),\n key: \"home\",\n onClick: () => {\n onChange && onChange(\"/\");\n setTimeout(() => {\n navigate(\"/\");\n }, 0);\n },\n }\n : false;\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"Navigation\">\n <FormattedMessage id=\"defaultTitle\" moduleName=\"Navigation\">\n {(text) => (\n <SetTitle\n defaultTitle={defaultTitle || text}\n mapping={mapping}\n name={name}\n />\n )}\n </FormattedMessage>\n <div className={classnames(style[\"navigation-wrap\"], className)}>\n <Header\n className={classnames(\"navigation\", style[\"navigation\"], {\n [style[\"is-fixed\"]]: isFixed,\n })}\n >\n <Row justify=\"space-around\" wrap={false}>\n <Col\n className={classnames(\n \"navigation-logo\",\n style[\"navigation-logo\"]\n )}\n >\n <Image\n className={classnames(style[\"logo\"])}\n src={logo}\n alt=\"logo\"\n {...headerLogo}\n />\n </Col>\n <Col\n ref={navigationRef}\n flex={1}\n className={classnames(\n \"navigation-list\",\n style[\"navigation-list\"]\n )}\n >\n <Menu\n selectedKeys={[name]}\n mode=\"horizontal\"\n overflowedIndicator={\n overflowedIndicator || (\n <Space size={4}>\n <span>\n {nameLabel || (\n <FormattedMessage\n id=\"overflowedIndicator\"\n moduleName=\"Navigation\"\n />\n )}\n </span>\n <span className={style[\"more-icon\"]}>\n <Icon type=\"icon-arrow-thin-down\" />\n </span>\n </Space>\n )\n }\n items={[\n indexNav,\n ...Array.from(mapping.entries())\n .filter(([name, { permission }]) => {\n if (typeof permission === \"string\") {\n return permissions.indexOf(permission) > -1;\n }\n if (typeof permission === \"function\") {\n return permission(permissions);\n }\n if (Array.isArray(permission)) {\n for (let item of permission) {\n if (permissions.indexOf(item) > -1) {\n return true;\n }\n }\n return false;\n }\n return true;\n })\n .map(([name, { title, path, permission }]) => {\n const _path =\n typeof path === \"function\"\n ? path(permission, permissions)\n : path;\n return {\n label: title,\n key: name,\n onClick: () => {\n onChange && onChange(_path);\n setTimeout(() => {\n navigate(_path);\n }, 0);\n },\n };\n }),\n ]}\n />\n </Col>\n <Col className={style[\"navigation-options\"]}>{rightOptions}</Col>\n </Row>\n </Header>\n </div>\n </IntlProvider>\n );\n};\n\nNavigation.defaultProps = {\n isFixed: true,\n permissions: [],\n list: [],\n showIndex: true,\n base: \"\",\n};\n\nexport default Navigation;\n","// extracted by mini-css-extract-plugin\nexport default {\"outer\":\"style_outer__vbHB9__FI1dY\"};","import { createElement } from \"react\";\nimport { Result, Tooltip } from \"antd\";\nimport get from \"lodash/get\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport { useGlobalContext as useContext } from \"@kne/global-context\";\n\nexport const computedIsPass = ({ permissions, request }) => {\n return Array.isArray(request) && request.length > 0\n ? request.some((currentKey) => (permissions || []).indexOf(currentKey) > -1)\n : true;\n};\n\nexport const usePermissions = () => {\n const preset = useContext();\n return {\n permissions: get(preset, \"global.accountInfo.permissions\", []),\n };\n};\n\nexport const usePermissionsPass = ({ request }) => {\n const { permissions } = usePermissions();\n return computedIsPass({ permissions, request });\n};\n\nconst Permissions = ({\n type,\n className,\n tagName,\n message,\n request,\n children,\n ...props\n}) => {\n const isPass = usePermissionsPass({ request });\n if (typeof children === \"function\") {\n return children({ isPass, type, request });\n }\n\n if (isPass === true) {\n return children;\n }\n\n if (type === \"error\") {\n return <Result status=\"403\" subTitle={message} />;\n }\n\n if (type === \"tooltip\") {\n return (\n <Tooltip title={message}>\n {createElement(\n tagName,\n { ...props, className: classnames(style[\"outer\"], className) },\n children\n )}\n </Tooltip>\n );\n }\n\n return null;\n};\n\nPermissions.defaultProps = {\n type: \"hidden\",\n tagName: \"span\",\n message: \"您暂无权限,请联系管理员\",\n};\n\nexport default Permissions;\n","// extracted by mini-css-extract-plugin\nexport default {\"state-bar\":\"style_state-bar__3jfis__FI1dY\",\"has-children\":\"style_has-children__oQDqU__FI1dY\",\"tab-tab-control\":\"style_tab-tab-control__SopeO__FI1dY\",\"tab-radio-control\":\"style_tab-radio-control__R8X6-__FI1dY\",\"tab-step-control\":\"style_tab-step-control__EQaCl__FI1dY\",\"inner-state-bar\":\"style_inner-state-bar__lWmOz__FI1dY\"};","import { Tabs } from \"antd\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\n/**\n *\n * @param className\n * @param type 'tab' | 'radio' | 'step'\n * @param stateOption\n * @param isInner\n * @param props\n * @returns {JSX.Element}\n * @constructor\n */\nconst StateBar = ({\n className,\n type = \"tab\",\n stateOption = [],\n isInner,\n ...props\n}) => {\n return (\n <Tabs\n {...props}\n data-testid={\"components-core-state-bar\"}\n className={classnames(\n style[\"state-bar\"],\n style[`tab-${type}-control`],\n className,\n {\n [style[\"inner-state-bar\"]]: isInner,\n [style[\"has-children\"]]: stateOption.some((item) => !!item.children),\n }\n )}\n style={{ \"--total-count\": stateOption.length }}\n animated={false}\n items={stateOption.map(({ tab, label, key, ...props }) => {\n return { label: tab || label, key, ...props };\n })}\n />\n );\n};\n\nexport default StateBar;\n","// extracted by mini-css-extract-plugin\nexport default {\"state-tag\":\"style_state-tag__Kx27z__FI1dY\",\"state-result-tag\":\"style_state-result-tag__CssDz__FI1dY\",\"state-skill-tag\":\"style_state-skill-tag__k0bQE__FI1dY\",\"state-tag-filter-result-wrapper\":\"style_state-tag-filter-result-wrapper__QYS5z__FI1dY\",\"state-tag-filter-name\":\"style_state-tag-filter-name__iJaJd__FI1dY\",\"state-tag-filterResult\":\"style_state-tag-filterResult__KTkot__FI1dY\",\"show-bg\":\"style_show-bg__OcL+R__FI1dY\",\"tag-text\":\"style_tag-text__JHCt+__FI1dY\",\"state-tag-wrapper\":\"style_state-tag-wrapper__A-gTE__FI1dY\"};","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 )}\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__FI1dY\",\"is-resize\":\"style_is-resize__ut6RW__FI1dY\",\"is-moving\":\"style_is-moving__BJ9wR__FI1dY\",\"cell-resize-bar\":\"style_cell-resize-bar__-mlUF__FI1dY\",\"is-computed\":\"style_is-computed__B9rIF__FI1dY\",\"options-column\":\"style_options-column__vsPTr__FI1dY\",\"options-btn\":\"style_options-btn__U3uoy__FI1dY\",\"tooltip\":\"style_tooltip__vJlkv__FI1dY\",\"table-changer-setting\":\"style_table-changer-setting__HcrwR__FI1dY\",\"width-changer-sign\":\"style_width-changer-sign__Aflyl__FI1dY\",\"columns-control\":\"style_columns-control__5-5ZF__FI1dY\",\"columns-control-content\":\"style_columns-control-content__MoeUI__FI1dY\",\"columns-control-content-title\":\"style_columns-control-content-title__P5sXV__FI1dY\",\"columns-control-content-scroller\":\"style_columns-control-content-scroller__CeYRV__FI1dY\",\"columns-control-content-footer\":\"style_columns-control-content-footer__0bQWm__FI1dY\",\"columns-control-content-input\":\"style_columns-control-content-input__G6yKq__FI1dY\",\"columns-control-content-list\":\"style_columns-control-content-list__aXvTs__FI1dY\",\"columns-control-content-item\":\"style_columns-control-content-item__jbyyE__FI1dY\",\"is-drag\":\"style_is-drag__U68aw__FI1dY\",\"columns-control-content-item-icon\":\"style_columns-control-content-item-icon__yJqZf__FI1dY\",\"sortable-drag\":\"style_sortable-drag__K5hWd__FI1dY\",\"sortable-ghost\":\"style_sortable-ghost__lKTd2__FI1dY\",\"columns-control-overlay\":\"style_columns-control-overlay__OxCIz__FI1dY\",\"sort-btn\":\"style_sort-btn__KvNLr__FI1dY\",\"sort-active-desc\":\"style_sort-active-desc__TIhMC__FI1dY\",\"sort-icon\":\"style_sort-icon__dB85I__FI1dY\",\"sort-active-asc\":\"style_sort-active-asc__RUBup__FI1dY\"};","// extracted by mini-css-extract-plugin\nexport default {\"col-item\":\"columns_col-item__Ym1Ec__FI1dY\",\"tag\":\"columns_tag__bQZLG__FI1dY\",\"avatar\":\"columns_avatar__SLPI+__FI1dY\",\"hover\":\"columns_hover__oAwHg__FI1dY\",\"primary\":\"columns_primary__6KtaA__FI1dY\",\"loading\":\"columns_loading__gtBay__FI1dY\",\"options\":\"columns_options__WvDZD__FI1dY\"};","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.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","import { createWithFetch } from \"@kne/react-fetch\";\nimport Ellipsis from \"./Ellipsis\";\nimport { Button } from \"antd\";\nimport ColItem from \"./ColItem\";\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 if (expand) {\n return (\n <DisplayInfo {...api}>\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={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>\n {typeof api.children === \"function\" ? api.children(data) : data}\n </Ellipsis>\n </ColItem>\n );\n }}\n </DisplayInfo>\n );\n }\n return (\n <ColItem\n type=\"hide-info\"\n primary\n isEmpty={isEmpty}\n emptyRender={emptyRender}\n >\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 { 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\";\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 = ({ columns, name, controllerOpen, tableWidth }) => {\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 } = usePreset();\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 return (\n currentMoveColumnIndexRef.current === null ||\n currentMoveColumnIndexRef.current === index ||\n column.type === \"hideInfo\" ||\n !isEqual(record[column.name], prevRecord[column.name])\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 memoize from \"lodash/memoize\";\nimport get from \"lodash/get\";\nimport useRefCallback from \"@kne/use-ref-callback\";\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],\n type === \"hideInfo\" &&\n !isNil(expandInfo) &&\n pick(columnTypes[expandType || \"other\"], [\"width\", \"min\", \"max\"])\n );\n const targetRender = memoize(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\n const targetRenderWithProps = (colValue) => {\n const isEmpty = (\n emptyOf ||\n ((value) => value === \"\" || value === void 0 || value === null)\n )(colValue);\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: 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 });\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 }\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","concat","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","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","id","onOk","Popconfirm","direction","stopPropagation","align","onConfirm","okButtonProps","getPopupContainer","ConfirmLink","Typography","Link","ConfirmText","Text","baseLoaders","description","EnumLoaderFetch","withFetch","data","getEnumsMap","enums","Map","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","context","createContext","Provider","useContext","useReactContext","Line","onChange","ComponentItem","FilterLines","displayLine","extra","hasMore","isExpand","setIsExpand","IntlProvider","FormattedMessage","defaultMessage","Row","justify","wrap","Col","flex","filterValue","extraExpand","StateTag","filterName","text","closable","onClose","newValue","splice","FilterOuter","valueBase","useControlValue","useMemo","filter","isNotEmpty","newFilterValue","clone","delete","defaultValue","Filter","others","FilterValueDisplay","open","active","setOpen","FilterItem","allowClear","valueType","onOpenChange","useSelectInnerContext","SelectInnerInput","TreeFieldInner","selected","setValue","setSelect","fetchApi","dataFormat","single","isPopup","searchPlaceholder","fieldNamesRef","fieldNames","fetchData","treeData","SimpleBar","Tree","omit","checkable","onCheck","checkedKeys","onSelect","selectKeys","selectKey","newCurrent","push","selectedKeys","TreeField","maxLength","MAX_VALUE","checkStrictly","treeToList","nodeList","_ref5","core","forEach","node","PopoverItem","onValidate","state","setState","Popover","trigger","content","gutter","placeholder","Input","computedFilterValue","range","unit","isNumber","count","InputFilterItem","InputNumber","width","borderLeft","borderRight","pointerEvents","DatePickerFilterItem","withFieldItem","picker","DatePicker","dayjs","format","startOf","endOf","Date","valueOf","RangePicker","allowEmpty","TypeDateRangePickerField","pickerValue","withInputDefaultPlaceholder","AdvancedSelectFilterItem","AdvancedSelectField","UserFilterItem","UserField","FunctionSelectFilterItem","FunctionSelectField","IndustrySelectFilterItem","IndustrySelectField","CityFilterItem","AddressSelectField","CascaderFilterItem","CascaderField","TreeFilterItem","InputFilterItemField","NumberRangeFilterItem","NumberRangeFilterItemField","transform","result","CheckableTag","Tag","CityFilterItemInner","addressApi","App","useApp","cityList","getChinaHotCities","city","code","getLabelForLocal","checked","find","findIndex","error","_ref6","getCityValue","getCity","withAddressApi","ListFilterItem","custom","itemValue","isEqual","fields","propsValue","inputValue","setInputValue","setActive","searchHandler","useSimulationBlur","inputValueRef","useEffect","onFocus","onPressEnter","Flex","gap","AdvancedFilter","vertical","MoreFilterLines","advancedFields","getFilterValue","colorful","url","href","menuOpen","menuWidth","menuFixed","menuCloseButton","backgroundColor","header","headerHeight","headerFixed","headerInfo","backUrl","titleExtra","titleLeftExtra","noMargin","noPadding","optionFooterHeight","option","optionWidth","optionNoPadding","optionFixed","optionFooter","Consumer","isFixed","pageMenuOpenKey","Menu","pageProps","setPageProps","pathModuleName","useLocation","pathname","split","FixedContainer","icon","pageResult","PageInner","isPass","propsRef","localMenuOpen","useMenuOpen","localMenuOpenRef","targetProps","Result","status","subTitle","Page","featureId","openFeatures","Features","offsetTop","offsetBottom","AntdAffix","targetKey","useLayoutEffect","callback","offsetHeight","resizeObserver","MutationObserver","observe","subtree","childList","disconnect","useContainerHeight","Header","Affix","navigationHeight","ContainerHeight","HeaderInfo","headerInfoRef","navigator","useNavigate","Option","padding","Content","AntdLayout","ErrorComponent","Alert","showIcon","action","location","reload","ErrorBoundary","ReactErrorBoundary","errorComponent","Layout","theme","navigation","scrollLeft","setScrollLeft","_setPageProps","useCallback","scrollEl","getScrollEl","handlerScroll","addEventListener","removeEventListener","Navigation","path","PageTitle","helperGuideName","HelperGuide","permissions","Permissions","forwardRef","page","topArea","tableData","setTableData","PermissionsPage","Table","onRequestSuccess","stateBar","StateBar","MenuItem","iconType","request","isOpen","isSelected","fetchOptions","depth","onLoad","allowCollapsed","hasChildren","refresh","isLoading","useFetch","auto","Spin","search","selectedKey","setSelectKeyChange","setItems","targetItems","defaultOpenKeys","links","childrenKeys","hasStartIcon","_childrenKeys$root","nodeMapping","traversal","options","parentKey","paths","currentKey","targetItem","originItem","treeEnhance","matchedPath","ensureSlash","replace","openKeys","setOpenKeys","renderChildren","parentId","newOpenKeys","defaultItems","SetTitle","mapping","defaultTitle","document","headerLogo","rightOptions","showIndex","indexLabel","overflowedIndicator","base","navigate","navigationRef","resizeObserverRef","nameLabel","setNameLabel","RegExp","entries","permission","menuDom","exist","i","getAttribute","_nameLabel","mutationObserverInitConfig","attributes","indexNav","setTimeout","Image","src","logo","alt","mode","_path","computedIsPass","some","usePermissions","usePermissionsPass","tagName","Tooltip","createElement","stateOption","isInner","Tabs","animated","tab","tagTypeEnum","default","skill","color","borderColor","filterResult","success","progress","info","other","showBorder","showBackground","tagColor","_tagTypeEnum$type","_tagTypeEnum$type2","background","border","ellipsis","tooltip","ColItem","isEmpty","emptyRender","hover","primary","colValue","loading","setLoading","columnsStyle","resolve","colItem","event","finally","DisplayInfo","createWithFetch","api","expand","onExpand","Ellipsis","_ref17","columnTypes","date","render","isValid","min","max","dateShort","dateRange","datetime","hideSecond","serialNumber","serialNumberShort","user","_ref7","userName","_ref8","contacts","_ref9","tag","_ref10","isEnum","_ref11","avatar","_ref12","Avatar","singleRow","_ref13","hideInfo","HideInfoComponent","mainInfo","_ref14","_ref15","_ref16","OptionsList","sensitiveInfo","_ref18","otherSmall","otherLarge","Panel","Collapse","close","columns","config","searchText","setSearchText","leftFixedColumns","rightFixedColumns","visibleColumns","hiddenColumns","groupBy","fixed","hidden","sort","a","b","renderColumn","titleText","groupHeader","defaultActiveKey","ghost","bordered","List","Item","Checkbox","ReactSortable","dragClass","ghostClass","forceFallback","setList","newConfig","cloneDeep","columnsList","col","handlerColumnsChange","animation","delayOnTouchStart","delay","preventDefault","visible","SearchInput","prefix","onSearch","dataSource","TableConfig","setConfig","ColumnsControlContent","controllerOpen","tableWidth","currentMoveColumnIndex","setCurrentMoveColumnIndex","currentMoveColumnIndexRef","currentMoveColumnRef","startPointRef","setConfigBase","tableServerApis","tablePageServerParams","getDataApi","saveConfig","useDebouncedCallback","setDataFunc","send","cache","isLocal","getTableConfig","computedIndex","lastNotOptionsColumnIndex","findLastIndex","totalWidth","sumBy","computedRealWidth","Math","resizeBarRender","column","onMouseDown","clientX","resize","delta","currentWidth","computedColumnProps","targetColumn","movingClass","realWidth","onHeaderCell","onCell","shouldCellUpdate","record","prevRecord","handlerCancelResize","handlerResize","documentElement","columnsConfig","rowKey","renderProps","expandInfo","setExpandInfo","columnRenderPropsRef","expandType","titleRender","emptyOf","disableColItem","otherColProps","targetRender","itemKey","colProps","targetRenderWithProps","hasOwnProperty","groupHeaderColumns","newColumns","group","appendGroupHeader","columnIndex","targetHeader","otherHeader","currentGroup","startIndex","groupColumn","hasGroupHeader","sortArrayToMap","setSort","mapSort","setMapSort","newSort","targetValue","sticky","stickyOffset","pagination","columnRenderProps","summary","scroll","onTablePropsReady","setTableWidth","isLayout","setIsLayout","isDebounce","useColumnTypeProps","computedColumnConfigProps","useTableConfig","sortRender","useSort","targetColumns","groupColumns","useGroupHeader","onTablePropsReadyCallback","Scroller","scroller","getScrollTarget","querySelector","AntdTable","x","_len","args","_key","pageData","FeaturesColumnsConfig","TablePageInner","requestParams","fetchProps","isComplete","setData","loadMore","getColumns","handlerDataFormat","formatData","tableProps","total","showTotal","paramsType","currentName","pageSize","requestType","pageSizeName","onShowSizeChange","scrollTop","showSizeChanger","showQuickJumper","totalCount","pageSizeKey","toUpperCase","setPageSize","fetchParams"],"sourceRoot":""}
|