@uiw/doc 4.19.0 → 4.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/web/CONTRIBUTORS.svg +2 -0
- package/web/asset-manifest.json +151 -151
- package/web/index.html +1 -1
- package/web/static/js/{1059.70cc4522.chunk.js → 1059.60857d17.chunk.js} +2 -2
- package/web/static/js/{1059.70cc4522.chunk.js.map → 1059.60857d17.chunk.js.map} +1 -1
- package/web/static/js/{1061.1d704eb8.chunk.js → 1061.15a6c03a.chunk.js} +2 -2
- package/web/static/js/{1061.1d704eb8.chunk.js.map → 1061.15a6c03a.chunk.js.map} +1 -1
- package/web/static/js/{1169.ed26a5f9.chunk.js → 1169.67184123.chunk.js} +2 -2
- package/web/static/js/{1169.ed26a5f9.chunk.js.map → 1169.67184123.chunk.js.map} +1 -1
- package/web/static/js/{1317.4ee75a40.chunk.js → 1317.1d514e37.chunk.js} +2 -2
- package/web/static/js/{1317.4ee75a40.chunk.js.map → 1317.1d514e37.chunk.js.map} +1 -1
- package/web/static/js/{1584.25c91c0b.chunk.js → 1584.cbffc663.chunk.js} +2 -2
- package/web/static/js/{1584.25c91c0b.chunk.js.map → 1584.cbffc663.chunk.js.map} +1 -1
- package/web/static/js/{1619.757d1d8b.chunk.js → 1619.ffb60fc8.chunk.js} +2 -2
- package/web/static/js/{1619.757d1d8b.chunk.js.map → 1619.ffb60fc8.chunk.js.map} +1 -1
- package/web/static/js/{163.d3530f01.chunk.js → 163.866fca8e.chunk.js} +2 -2
- package/web/static/js/{163.d3530f01.chunk.js.map → 163.866fca8e.chunk.js.map} +1 -1
- package/web/static/js/{1820.498b02b5.chunk.js → 1820.8bd55a94.chunk.js} +2 -2
- package/web/static/js/{1820.498b02b5.chunk.js.map → 1820.8bd55a94.chunk.js.map} +1 -1
- package/web/static/js/{2156.8597d496.chunk.js → 2156.838816af.chunk.js} +2 -2
- package/web/static/js/{2156.8597d496.chunk.js.map → 2156.838816af.chunk.js.map} +1 -1
- package/web/static/js/{2190.6b83e839.chunk.js → 2190.94aca477.chunk.js} +2 -2
- package/web/static/js/{2190.6b83e839.chunk.js.map → 2190.94aca477.chunk.js.map} +1 -1
- package/web/static/js/{221.165726fd.chunk.js → 221.921570d7.chunk.js} +2 -2
- package/web/static/js/{221.165726fd.chunk.js.map → 221.921570d7.chunk.js.map} +1 -1
- package/web/static/js/{2230.b89bcc25.chunk.js → 2230.8124ecc2.chunk.js} +2 -2
- package/web/static/js/{2230.b89bcc25.chunk.js.map → 2230.8124ecc2.chunk.js.map} +1 -1
- package/web/static/js/{2316.adffc0e6.chunk.js → 2316.86e9573e.chunk.js} +2 -2
- package/web/static/js/{2316.adffc0e6.chunk.js.map → 2316.86e9573e.chunk.js.map} +1 -1
- package/web/static/js/{2367.3e9ea190.chunk.js → 2367.e65fbbae.chunk.js} +2 -2
- package/web/static/js/{2367.3e9ea190.chunk.js.map → 2367.e65fbbae.chunk.js.map} +1 -1
- package/web/static/js/{2411.972687a4.chunk.js → 2411.7f311f2c.chunk.js} +2 -2
- package/web/static/js/{2411.972687a4.chunk.js.map → 2411.7f311f2c.chunk.js.map} +1 -1
- package/web/static/js/{2582.35b5ecc3.chunk.js → 2582.4a7761db.chunk.js} +2 -2
- package/web/static/js/{2582.35b5ecc3.chunk.js.map → 2582.4a7761db.chunk.js.map} +1 -1
- package/web/static/js/{2595.d93782e1.chunk.js → 2595.c13509aa.chunk.js} +2 -2
- package/web/static/js/{2595.d93782e1.chunk.js.map → 2595.c13509aa.chunk.js.map} +1 -1
- package/web/static/js/{2737.fea38fb6.chunk.js → 2737.a2d9a248.chunk.js} +2 -2
- package/web/static/js/{2737.fea38fb6.chunk.js.map → 2737.a2d9a248.chunk.js.map} +1 -1
- package/web/static/js/{2782.883898ae.chunk.js → 2782.4e51b99b.chunk.js} +2 -2
- package/web/static/js/{2782.883898ae.chunk.js.map → 2782.4e51b99b.chunk.js.map} +1 -1
- package/web/static/js/{3313.a6d067a9.chunk.js → 3313.69770557.chunk.js} +2 -2
- package/web/static/js/{3313.a6d067a9.chunk.js.map → 3313.69770557.chunk.js.map} +1 -1
- package/web/static/js/{3518.bb643124.chunk.js → 3518.886015eb.chunk.js} +2 -2
- package/web/static/js/{3518.bb643124.chunk.js.map → 3518.886015eb.chunk.js.map} +1 -1
- package/web/static/js/{3812.e524030b.chunk.js → 3812.7ff588c8.chunk.js} +2 -2
- package/web/static/js/{3812.e524030b.chunk.js.map → 3812.7ff588c8.chunk.js.map} +1 -1
- package/web/static/js/{3917.ad6c621b.chunk.js → 3917.24a53c8d.chunk.js} +2 -2
- package/web/static/js/{3917.ad6c621b.chunk.js.map → 3917.24a53c8d.chunk.js.map} +1 -1
- package/web/static/js/{4010.eea5864e.chunk.js → 4010.1df4e554.chunk.js} +2 -2
- package/web/static/js/{4010.eea5864e.chunk.js.map → 4010.1df4e554.chunk.js.map} +1 -1
- package/web/static/js/{4098.e8ba2177.chunk.js → 4098.e24a6a6a.chunk.js} +2 -2
- package/web/static/js/{4098.e8ba2177.chunk.js.map → 4098.e24a6a6a.chunk.js.map} +1 -1
- package/web/static/js/{4128.7a0774b3.chunk.js → 4128.124a7dba.chunk.js} +2 -2
- package/web/static/js/{4128.7a0774b3.chunk.js.map → 4128.124a7dba.chunk.js.map} +1 -1
- package/web/static/js/{4188.ff72b2df.chunk.js → 4188.8ed0ad94.chunk.js} +2 -2
- package/web/static/js/{4188.ff72b2df.chunk.js.map → 4188.8ed0ad94.chunk.js.map} +1 -1
- package/web/static/js/{433.cbe03701.chunk.js → 433.32f68ce0.chunk.js} +2 -2
- package/web/static/js/{433.cbe03701.chunk.js.map → 433.32f68ce0.chunk.js.map} +1 -1
- package/web/static/js/{4396.532af3c4.chunk.js → 4396.4b813789.chunk.js} +2 -2
- package/web/static/js/{4396.532af3c4.chunk.js.map → 4396.4b813789.chunk.js.map} +1 -1
- package/web/static/js/{4405.cc06d0a4.chunk.js → 4405.a1c35d63.chunk.js} +2 -2
- package/web/static/js/{4405.cc06d0a4.chunk.js.map → 4405.a1c35d63.chunk.js.map} +1 -1
- package/web/static/js/{4503.6a19e301.chunk.js → 4503.2a04e5a0.chunk.js} +2 -2
- package/web/static/js/{4503.6a19e301.chunk.js.map → 4503.2a04e5a0.chunk.js.map} +1 -1
- package/web/static/js/{4648.31d1bc6f.chunk.js → 4648.a142a917.chunk.js} +2 -2
- package/web/static/js/{4648.31d1bc6f.chunk.js.map → 4648.a142a917.chunk.js.map} +1 -1
- package/web/static/js/{4877.d1c7b1b8.chunk.js → 4877.2d0b7638.chunk.js} +2 -2
- package/web/static/js/{4877.d1c7b1b8.chunk.js.map → 4877.2d0b7638.chunk.js.map} +1 -1
- package/web/static/js/{4948.a0fb37a1.chunk.js → 4948.5727da98.chunk.js} +2 -2
- package/web/static/js/{4948.a0fb37a1.chunk.js.map → 4948.5727da98.chunk.js.map} +1 -1
- package/web/static/js/{5244.f1f34471.chunk.js → 5244.09a480b8.chunk.js} +2 -2
- package/web/static/js/{5244.f1f34471.chunk.js.map → 5244.09a480b8.chunk.js.map} +1 -1
- package/web/static/js/{5263.451d053b.chunk.js → 5263.9e01aa1b.chunk.js} +2 -2
- package/web/static/js/{5263.451d053b.chunk.js.map → 5263.9e01aa1b.chunk.js.map} +1 -1
- package/web/static/js/{5308.188c6919.chunk.js → 5308.5fa19a94.chunk.js} +2 -2
- package/web/static/js/{5308.188c6919.chunk.js.map → 5308.5fa19a94.chunk.js.map} +1 -1
- package/web/static/js/{5393.d46583a0.chunk.js → 5393.9677b895.chunk.js} +2 -2
- package/web/static/js/{5393.d46583a0.chunk.js.map → 5393.9677b895.chunk.js.map} +1 -1
- package/web/static/js/{5408.03fd799d.chunk.js → 5408.16aaa143.chunk.js} +2 -2
- package/web/static/js/{5408.03fd799d.chunk.js.map → 5408.16aaa143.chunk.js.map} +1 -1
- package/web/static/js/{5595.5adc1449.chunk.js → 5595.2f6f4e93.chunk.js} +2 -2
- package/web/static/js/{5595.5adc1449.chunk.js.map → 5595.2f6f4e93.chunk.js.map} +1 -1
- package/web/static/js/{5865.da780987.chunk.js → 5865.3490e015.chunk.js} +2 -2
- package/web/static/js/{5865.da780987.chunk.js.map → 5865.3490e015.chunk.js.map} +1 -1
- package/web/static/js/{5933.3327eab6.chunk.js → 5933.0b61a30f.chunk.js} +2 -2
- package/web/static/js/{5933.3327eab6.chunk.js.map → 5933.0b61a30f.chunk.js.map} +1 -1
- package/web/static/js/{643.c21950e3.chunk.js → 643.d18b8cec.chunk.js} +2 -2
- package/web/static/js/{643.c21950e3.chunk.js.map → 643.d18b8cec.chunk.js.map} +1 -1
- package/web/static/js/{6510.a485c911.chunk.js → 6510.e93c05f4.chunk.js} +2 -2
- package/web/static/js/{6510.a485c911.chunk.js.map → 6510.e93c05f4.chunk.js.map} +1 -1
- package/web/static/js/{6536.e713d674.chunk.js → 6536.d87822b3.chunk.js} +2 -2
- package/web/static/js/{6536.e713d674.chunk.js.map → 6536.d87822b3.chunk.js.map} +1 -1
- package/web/static/js/{6715.ac7aee49.chunk.js → 6715.d4813bdc.chunk.js} +2 -2
- package/web/static/js/{6715.ac7aee49.chunk.js.map → 6715.d4813bdc.chunk.js.map} +1 -1
- package/web/static/js/{6730.64253505.chunk.js → 6730.812d0242.chunk.js} +2 -2
- package/web/static/js/{6730.64253505.chunk.js.map → 6730.812d0242.chunk.js.map} +1 -1
- package/web/static/js/{694.5c881a2e.chunk.js → 694.3dc0352c.chunk.js} +2 -2
- package/web/static/js/{694.5c881a2e.chunk.js.map → 694.3dc0352c.chunk.js.map} +1 -1
- package/web/static/js/{7087.63297a6f.chunk.js → 7087.eead932f.chunk.js} +2 -2
- package/web/static/js/{7087.63297a6f.chunk.js.map → 7087.eead932f.chunk.js.map} +1 -1
- package/web/static/js/{7104.1d2ab7a9.chunk.js → 7104.c26afdc0.chunk.js} +2 -2
- package/web/static/js/{7104.1d2ab7a9.chunk.js.map → 7104.c26afdc0.chunk.js.map} +1 -1
- package/web/static/js/{7157.92f1e8f8.chunk.js → 7157.0603b246.chunk.js} +2 -2
- package/web/static/js/{7157.92f1e8f8.chunk.js.map → 7157.0603b246.chunk.js.map} +1 -1
- package/web/static/js/{7390.857152af.chunk.js → 7390.9557ba61.chunk.js} +2 -2
- package/web/static/js/{7390.857152af.chunk.js.map → 7390.9557ba61.chunk.js.map} +1 -1
- package/web/static/js/{748.98647192.chunk.js → 748.82afc4ed.chunk.js} +2 -2
- package/web/static/js/{748.98647192.chunk.js.map → 748.82afc4ed.chunk.js.map} +1 -1
- package/web/static/js/{7541.11ca70cc.chunk.js → 7541.dafa7879.chunk.js} +2 -2
- package/web/static/js/{7541.11ca70cc.chunk.js.map → 7541.dafa7879.chunk.js.map} +1 -1
- package/web/static/js/{7761.4f86f4fc.chunk.js → 7761.ba44ee99.chunk.js} +2 -2
- package/web/static/js/{7761.4f86f4fc.chunk.js.map → 7761.ba44ee99.chunk.js.map} +1 -1
- package/web/static/js/{782.19be4f5b.chunk.js → 782.7a65d8b8.chunk.js} +3 -3
- package/web/static/js/{782.19be4f5b.chunk.js.LICENSE.txt → 782.7a65d8b8.chunk.js.LICENSE.txt} +0 -0
- package/web/static/js/{782.19be4f5b.chunk.js.map → 782.7a65d8b8.chunk.js.map} +1 -1
- package/web/static/js/{7834.3d9aad80.chunk.js → 7834.82c0a4c4.chunk.js} +2 -2
- package/web/static/js/{7834.3d9aad80.chunk.js.map → 7834.82c0a4c4.chunk.js.map} +1 -1
- package/web/static/js/{7875.0f5194a8.chunk.js → 7875.687fd51a.chunk.js} +2 -2
- package/web/static/js/{7875.0f5194a8.chunk.js.map → 7875.687fd51a.chunk.js.map} +1 -1
- package/web/static/js/{7884.05f33e8e.chunk.js → 7884.a9f6528a.chunk.js} +2 -2
- package/web/static/js/{7884.05f33e8e.chunk.js.map → 7884.a9f6528a.chunk.js.map} +1 -1
- package/web/static/js/{8023.ab803b61.chunk.js → 8023.b16af62c.chunk.js} +2 -2
- package/web/static/js/{8023.ab803b61.chunk.js.map → 8023.b16af62c.chunk.js.map} +1 -1
- package/web/static/js/{8073.dfc6474a.chunk.js → 8073.87ad75d9.chunk.js} +2 -2
- package/web/static/js/{8073.dfc6474a.chunk.js.map → 8073.87ad75d9.chunk.js.map} +1 -1
- package/web/static/js/{8566.7e6aa0e3.chunk.js → 8566.abfec2fd.chunk.js} +2 -2
- package/web/static/js/{8566.7e6aa0e3.chunk.js.map → 8566.abfec2fd.chunk.js.map} +1 -1
- package/web/static/js/{875.a67c4d77.chunk.js → 875.6cb49152.chunk.js} +2 -2
- package/web/static/js/{875.a67c4d77.chunk.js.map → 875.6cb49152.chunk.js.map} +1 -1
- package/web/static/js/{8898.9bf4a82c.chunk.js → 8898.63c6dde1.chunk.js} +2 -2
- package/web/static/js/{8898.9bf4a82c.chunk.js.map → 8898.63c6dde1.chunk.js.map} +1 -1
- package/web/static/js/{9121.b5862ff2.chunk.js → 9121.8ee8150d.chunk.js} +2 -2
- package/web/static/js/{9121.b5862ff2.chunk.js.map → 9121.8ee8150d.chunk.js.map} +1 -1
- package/web/static/js/{9253.1934e571.chunk.js → 9253.443e075b.chunk.js} +2 -2
- package/web/static/js/{9253.1934e571.chunk.js.map → 9253.443e075b.chunk.js.map} +1 -1
- package/web/static/js/{9260.82dd66dc.chunk.js → 9260.2af977b5.chunk.js} +2 -2
- package/web/static/js/{9260.82dd66dc.chunk.js.map → 9260.2af977b5.chunk.js.map} +1 -1
- package/web/static/js/{9384.cc0e0188.chunk.js → 9384.29d10f98.chunk.js} +2 -2
- package/web/static/js/{9384.cc0e0188.chunk.js.map → 9384.29d10f98.chunk.js.map} +1 -1
- package/web/static/js/{9503.017b251d.chunk.js → 9503.ed1c3185.chunk.js} +2 -2
- package/web/static/js/{9503.017b251d.chunk.js.map → 9503.ed1c3185.chunk.js.map} +1 -1
- package/web/static/js/{9673.13304703.chunk.js → 9673.5f90153c.chunk.js} +2 -2
- package/web/static/js/{9673.13304703.chunk.js.map → 9673.5f90153c.chunk.js.map} +1 -1
- package/web/static/js/{9763.09e7e474.chunk.js → 9763.346983a7.chunk.js} +2 -2
- package/web/static/js/{9763.09e7e474.chunk.js.map → 9763.346983a7.chunk.js.map} +1 -1
- package/web/static/js/{9776.761aa941.chunk.js → 9776.4e4eff56.chunk.js} +2 -2
- package/web/static/js/{9776.761aa941.chunk.js.map → 9776.4e4eff56.chunk.js.map} +1 -1
- package/web/static/js/{9777.565166c4.chunk.js → 9777.c66a3f01.chunk.js} +2 -2
- package/web/static/js/{9777.565166c4.chunk.js.map → 9777.c66a3f01.chunk.js.map} +1 -1
- package/web/static/js/{9853.aca4f6a2.chunk.js → 9853.43c6381c.chunk.js} +2 -2
- package/web/static/js/{9853.aca4f6a2.chunk.js.map → 9853.43c6381c.chunk.js.map} +1 -1
- package/web/static/js/main.14b9d81e.js +2 -0
- package/web/static/js/main.14b9d81e.js.map +1 -0
- package/web/static/js/main.ffdad5a8.js +0 -2
- package/web/static/js/main.ffdad5a8.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static/js/main.14b9d81e.js","mappings":"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","sources":["components/icons/logo.tsx","components/NoMatch/index.tsx","components/Loading/index.tsx","components/VersionSelect/index.module.less","components/VersionSelect/index.tsx","webpack://website/./src/layouts/index.module.less?ec2c","webpack://website/./src/components/SiderMenu/index.module.less?215c","components/icons/nav.tsx","components/SiderMenu/index.tsx","webpack://website/./src/components/Nav/index.module.less?d89d","contexts/index.ts","components/icons/menu.tsx","components/Nav/index.tsx","layouts/BaseLayout.tsx","routers.tsx","index.tsx","../../packages/utils/src/noop.ts","../../packages/utils/src/getScroll.ts","../../packages/react-affix/src/utils.ts","../../packages/react-affix/src/index.tsx","../../packages/react-portal/src/index.tsx","../../packages/react-overlay/src/index.tsx","../../packages/react-icon/src/index.tsx","../../packages/react-button/src/index.tsx","../../packages/react-modal/src/index.tsx","../../packages/react-modal/src/CallShow.tsx","../../packages/react-alert/src/index.tsx","../../packages/react-auto-link/src/index.tsx","../../packages/react-avatar/src/index.tsx","../../packages/react-back-top/src/utils.ts","../../packages/react-back-top/src/index.tsx","../../packages/react-badge/src/index.tsx","../../packages/react-breadcrumb/src/Item.tsx","../../packages/react-breadcrumb/src/Breadcrumb.tsx","../../packages/react-breadcrumb/src/index.ts","../../packages/react-button-group/src/index.tsx","../../packages/react-overlay-trigger/src/utils.ts","../../packages/react-overlay-trigger/src/util/getBordersSize.ts","../../packages/react-overlay-trigger/src/util/isBrowser.ts","../../packages/react-overlay-trigger/src/util/isIE.ts","../../packages/react-overlay-trigger/src/util/getWindowSizes.ts","../../packages/react-overlay-trigger/src/util/getBoundingClientRect.ts","../../packages/react-overlay-trigger/src/util/getClientRect.ts","../../packages/react-overlay-trigger/src/util/getStyleComputedProperty.ts","../../packages/react-overlay-trigger/src/util/getOuterSizes.ts","../../packages/react-overlay-trigger/src/getStyle.ts","../../packages/react-overlay-trigger/src/index.tsx","../../packages/react-popover/src/index.tsx","../../packages/react-popover/src/Confirm.tsx","../../packages/react-input/src/InputNumber.tsx","../../packages/react-input/src/index.tsx","../../packages/react-time-picker/src/Panel.tsx","../../packages/react-time-picker/src/Time.tsx","../../packages/react-time-picker/src/index.tsx","../../packages/react-date-picker/src/DatePickerDay.tsx","../../packages/react-date-picker/src/DatePickerMonth.tsx","../../packages/react-date-picker/src/DatePickerYear.tsx","../../packages/react-date-picker/src/DatePickerCaption.tsx","../../packages/react-date-picker/src/index.tsx","../../packages/react-calendar/src/DayLabel.tsx","../../packages/react-calendar/src/index.tsx","../../packages/react-card/src/index.tsx","../../packages/react-carousel/src/index.tsx","../../packages/react-dropdown/src/index.tsx","../../packages/react-menu/src/MenuItem.tsx","../../packages/react-menu/src/Divider.tsx","../../packages/react-menu/src/SubMenu.tsx","../../packages/react-menu/src/Menu.tsx","../../packages/react-menu/src/index.ts","../../packages/react-cascader/src/index.tsx","../../packages/react-radio/src/RadioAbstract.tsx","../../packages/react-radio/src/Radio.tsx","../../packages/react-radio/src/RadioGroup.tsx","../../packages/react-radio/src/RadioButton.tsx","../../packages/react-checkbox/src/Group.tsx","../../packages/react-checkbox/src/Checkbox.tsx","../../packages/react-checkbox/src/index.ts","../../packages/react-collapse/src/Collapse.tsx","../../packages/react-collapse/src/Panel.tsx","../../packages/react-collapse/src/index.ts","../../packages/react-copy-to-clipboard/src/index.tsx","../../packages/react-date-input/src/DateInputRange.tsx","../../packages/react-date-input/src/index.tsx","../../packages/react-descriptions/src/DescriptionsItem.tsx","../../packages/react-descriptions/src/Cell.tsx","../../packages/react-descriptions/src/Row.tsx","../../packages/react-descriptions/src/index.tsx","../../packages/react-divider/src/index.tsx","../../packages/react-drawer/src/index.tsx","../../packages/react-empty/src/index.tsx","../../packages/react-file-input/src/Input.tsx","../../packages/react-file-input/src/List.tsx","../../packages/react-file-input/src/Card.tsx","../../packages/react-file-input/src/utils.ts","../../packages/react-file-input/src/FileList.tsx","../../packages/react-file-input/src/index.tsx","../../packages/react-grid/src/Col.tsx","../../packages/react-grid/src/Row.tsx","../../packages/react-form/src/FormItem.tsx","../../packages/react-form/src/Form.tsx","../../packages/react-form/src/index.ts","../../packages/react-list/src/Item.tsx","../../packages/react-list/src/index.tsx","../../packages/react-loader/src/index.tsx","../../packages/react-message/src/index.tsx","../../packages/react-month-picker/src/index.tsx","../../packages/react-notify/src/Container.tsx","../../packages/react-notify/src/index.tsx","../../packages/utils/src/randomid.ts","../../packages/react-select/src/Option.tsx","../../packages/react-select/src/Group.tsx","../../packages/react-select/src/index.tsx","../../packages/react-pagination/src/index.tsx","../../packages/react-pin-code/src/index.tsx","../../packages/react-progress/src/utils.tsx","../../packages/react-progress/src/Circle.tsx","../../packages/react-progress/src/Line.tsx","../../packages/react-progress/src/index.ts","../../packages/react-rate/src/index.tsx","../../packages/react-tag/src/index.tsx","../../packages/react-search-select/src/index.tsx","../../packages/react-steps/src/Steps.tsx","../../packages/react-steps/src/Step.tsx","../../packages/react-steps/src/index.ts","../../packages/react-slider/src/Dots.tsx","../../packages/react-slider/src/index.tsx","../../packages/react-switch/src/index.tsx","../../packages/react-table/src/util.ts","../../packages/react-table/src/ThComponent.tsx","../../packages/react-table/src/Thead.tsx","../../packages/react-table/src/Expandable.tsx","../../packages/react-table/src/TableTr.tsx","../../packages/react-table/src/index.tsx","../../packages/react-tabs/src/index.tsx","../../packages/react-tabs/src/Pane.tsx","../../packages/react-textarea/src/index.tsx","../../packages/react-tooltip/src/index.tsx","../../packages/react-tree/src/TreeNode.tsx","../../packages/react-tree/src/index.tsx","../../packages/react-tree-checked/src/index.tsx","../../packages/react-search-tree/src/SearchTagInput.tsx","../../packages/react-search-tree/src/index.tsx","../../packages/react-transfer/src/index.tsx","../webpack/bootstrap","../webpack/runtime/chunk loaded","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/css loading","../webpack/runtime/jsonp chunk loading","../webpack/startup"],"sourcesContent":["import React from 'react';\n\nconst logo = (\n <svg viewBox=\"0 0 20 20\" width=\"23\" height=\"23\" version=\"1.1\">\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M5.70480219,0 L10.4096044,3.41834667 L8.61252986,8.94934776 L2.79707453,8.94934776 L1,3.41834667 L5.70480219,0 Z M5.70480219,20 L1,16.5816533 L2.79707453,11.0506522 L8.61252986,11.0506522 L10.4096044,16.5816533 L5.70480219,20 Z M18.8709653,12.9678909 L13.3400514,14.7649021 L9.92167142,10.0599974 L13.3399103,5.35519519 L18.8708781,7.15237223 L18.8709653,12.9678909 Z\"\n fill=\"#FFFFFF\"\n />\n </g>\n </svg>\n);\n\nconst dark = logo;\n\nconst light = (\n <svg viewBox=\"0 0 20 20\" version=\"1.1\">\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M5.70480219,0 L10.4096044,3.41834667 L8.61252986,8.94934776 L2.79707453,8.94934776 L1,3.41834667 L5.70480219,0 Z M5.70480219,20 L1,16.5816533 L2.79707453,11.0506522 L8.61252986,11.0506522 L10.4096044,16.5816533 L5.70480219,20 Z M18.8709653,12.9678909 L13.3400514,14.7649021 L9.92167142,10.0599974 L13.3399103,5.35519519 L18.8708781,7.15237223 L18.8709653,12.9678909 Z\"\n fill=\"#FFFFFF\"\n />\n </g>\n </svg>\n);\n\nexport default {\n dark,\n light,\n};\n","import { Link } from 'react-router-dom';\n\nexport default function NoMatch() {\n return (\n <div>\n <h2>It looks like you're lost...</h2>\n <p>\n <Link to=\"/\">Go to the home page</Link>\n </p>\n </div>\n );\n}\n","import { Loader, Icon } from 'uiw';\n\nexport default function De() {\n return (\n <Loader tip=\"Loading...\" indicator={<Icon type=\"loading\" spin={true} style={{ verticalAlign: 'text-top' }} />} />\n );\n}\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useMemo } from 'react';\nimport { Select } from 'uiw';\nimport pkg from 'uiw/package.json';\nimport styles from './index.module.less';\n\ntype OptionsProps = {\n version?: string;\n};\n\nfunction Options(props = {} as OptionsProps) {\n return useMemo(() => <Select.Option value={props.version}>{props.version}</Select.Option>, [props.version]);\n}\n\nexport type VersionSelectProps = {\n data: string[];\n};\n\nconst VersionSelect = (props = {} as VersionSelectProps) => {\n function onChange(e: React.ChangeEvent<HTMLSelectElement>) {\n const version = e.target.value;\n const isV1 = version.split('.')[0] === '1';\n if (isV1) {\n window.location.href = `https://unpkg.com/uiw@${version}/dist/index.html`;\n } else {\n window.location.href = `https://unpkg.com/@uiw/doc@${version}/web/index.html`;\n }\n }\n // @ts-ignore\n // eslint-disable-next-line no-undef\n const currentVersion = pkg.version;\n const versionList = props.data;\n const firstVersion = versionList[0];\n if (firstVersion !== currentVersion) {\n versionList.unshift(currentVersion);\n }\n return useMemo(\n () => (\n <div className={styles.nav}>\n <Select defaultValue={versionList[0]} onChange={onChange}>\n {versionList.map((version, idx) => {\n return <Options key={idx} version={version} />;\n })}\n </Select>\n </div>\n ),\n [versionList],\n );\n};\n\nexport default VersionSelect;\n","// extracted by mini-css-extract-plugin\nexport default {\"sider\":\"index_sider__vrASx\",\"menuWarpper\":\"index_menuWarpper__asOzy\",\"subMenu\":\"index_subMenu__c4Mvo\",\"layoutWrap\":\"index_layoutWrap__6CE3D\",\"layoutSider\":\"index_layoutSider__1t-SG\"};","// extracted by mini-css-extract-plugin\nexport default {\"title\":\"index_title__O5TzH\",\"menu\":\"index_menu__9HE8I\",\"divider\":\"index_divider__1cINS\"};","import React from 'react';\n\nexport default {\n home: (\n <svg width=\"23\" height=\"24\" viewBox=\"0 0 23 24\">\n <path\n fill=\"#555\"\n d=\"M7.95808665,21.4797568 L7.95808665,14.2926972 C7.95808665,13.872855 8.29729322,13.5325056 8.71572573,13.5325056 L14.7768383,13.5325056 C15.1952708,13.5325056 15.5344774,13.872855 15.5344774,14.2926972 L15.5344774,21.4800639 L18.3333605,21.4801773 C18.4412665,21.4760176 18.5251665,21.4671569 18.58271,21.4596448 C18.588514,21.3995182 18.5915777,21.3235793 18.5907536,21.2318213 L18.5909124,14.2893672 C18.590922,13.869525 18.9301364,13.5291834 19.3485689,13.5291931 C19.7670014,13.5292027 20.1062001,13.8695599 20.1061905,14.2894021 L20.1059996,21.2248359 C20.1119888,21.8771673 19.9896563,22.3494462 19.5993559,22.6516032 C19.3010239,22.8825616 18.9057568,22.9796164 18.3624477,23 L4.48346492,22.9997015 C3.86961191,22.9824374 3.38486601,22.8118189 3.07125061,22.4182996 C2.79329968,22.0695315 2.68322544,21.5965073 2.68425496,20.9934992 L2.68424909,14.2893853 C2.68424872,13.8695431 3.02345499,13.5291934 3.4418875,13.5291931 C3.86032001,13.5291927 4.19952687,13.8695418 4.19952724,14.289384 L4.199532,20.9947994 C4.19904359,21.2811808 4.23526541,21.4410529 4.2538782,21.4676906 C4.24030246,21.4480656 4.31738234,21.474056 4.50469304,21.4796169 L7.95808665,21.4797568 Z M9.4733648,21.4798183 L14.0191993,21.4800025 L14.0191993,15.0528888 L9.4733648,15.0528888 L9.4733648,21.4798183 Z M2.28332829,11.4133771 C1.98200714,11.7046849 1.50237937,11.6957445 1.21204968,11.3934082 C0.921719999,11.0910719 0.930630346,10.6098283 1.2319515,10.3185205 L10.4507678,1.41136668 C10.7833916,1.14885042 11.1310579,1 11.4999998,1 C11.9102569,1 12.2738276,1.19453217 12.5845816,1.51087139 L21.7658664,10.3164197 C22.0683439,10.6065186 22.0791684,11.0877227 21.7900436,11.3912192 C21.5009189,11.6947157 21.0213305,11.7055767 20.718853,11.4154779 L11.5218713,2.5944308 C11.4545418,2.52599021 11.4440624,2.52038312 11.4999998,2.52038312 C11.514622,2.52038312 11.4750696,2.53731716 11.4448602,2.55629655 L2.28332829,11.4133771 Z\"\n />\n </svg>\n ),\n component: (\n <svg viewBox=\"0 0 1041 1024\" width=\"20\" height=\"20\">\n <path\n d=\"M133.498105 661.882904h31.175644v195.047619a34.373146 34.373146 0 0 0 34.373146 34.373146h109.514441a34.373146 34.373146 0 1 0 0-68.746292h-75.141295V627.509758a35.172521 35.172521 0 0 0-34.373146-35.172521h-65.54879a63.950039 63.950039 0 0 1 0-127.900079h65.54879a35.172521 35.172521 0 0 0 34.373146-35.172521V233.417642h195.846994a35.172521 35.172521 0 0 0 35.172522-34.373146v-65.54879a63.950039 63.950039 0 0 1 127.900078 0v65.54879a35.172521 35.172521 0 0 0 35.172521 34.373146h195.047619v74.341921a34.373146 34.373146 0 0 0 68.746292 0V199.044496a34.373146 34.373146 0 0 0-34.373146-34.373145H661.885302v-31.175645a133.495706 133.495706 0 0 0-266.991413 0v31.175645H199.046895a34.373146 34.373146 0 0 0-34.373146 34.373145v195.846995h-31.175644A132.696331 132.696331 0 0 0 0.002398 527.587822a133.495706 133.495706 0 0 0 133.495707 134.295082z\"\n fill=\"#6F737E\"\n />\n <path\n d=\"M1004.817386 840.943013a79.937549 79.937549 0 1 1 0-159.875097 34.373146 34.373146 0 0 0 34.373146-32.774395V533.982826a34.373146 34.373146 0 0 0-34.373146-34.373146H879.315435v-10.391881a103.119438 103.119438 0 1 0-206.238876 0v10.391881H549.972734a35.172521 35.172521 0 0 0-35.172522 34.373146v124.702576h-10.391881a103.119438 103.119438 0 1 0 0 206.238876h10.391881v124.702576a35.172521 35.172521 0 0 0 35.172522 34.373146H663.484053a34.373146 34.373146 0 0 0 34.373146-34.373146 79.937549 79.937549 0 0 1 159.875098 0 34.373146 34.373146 0 0 0 34.373146 34.373146h114.310694a34.373146 34.373146 0 0 0 34.373146-34.373146V879.313037a34.373146 34.373146 0 0 0-35.971897-38.370024z\"\n fill=\"#6F737E\"\n />\n </svg>\n ),\n github: (\n <svg viewBox=\"0 0 1049 1024\" width=\"20\" height=\"20\">\n <path\n d=\"M524.979332 0C234.676191 0 0 234.676191 0 524.979332c0 232.068678 150.366597 428.501342 358.967656 498.035028 26.075132 5.215026 35.636014-11.299224 35.636014-25.205961 0-12.168395-0.869171-53.888607-0.869171-97.347161-146.020741 31.290159-176.441729-62.580318-176.441729-62.580318-23.467619-60.841976-58.234462-76.487055-58.234463-76.487055-47.804409-32.15933 3.476684-32.15933 3.476685-32.15933 53.019436 3.476684 80.83291 53.888607 80.83291 53.888607 46.935238 79.963739 122.553122 57.365291 152.97411 43.458554 4.345855-33.897672 18.252593-57.365291 33.028501-70.402857-116.468925-12.168395-239.022047-57.365291-239.022047-259.012982 0-57.365291 20.860106-104.300529 53.888607-140.805715-5.215026-13.037566-23.467619-66.926173 5.215027-139.067372 0 0 44.327725-13.906737 144.282399 53.888607 41.720212-11.299224 86.917108-17.383422 131.244833-17.383422s89.524621 6.084198 131.244833 17.383422C756.178839 203.386032 800.506564 217.29277 800.506564 217.29277c28.682646 72.1412 10.430053 126.029806 5.215026 139.067372 33.897672 36.505185 53.888607 83.440424 53.888607 140.805715 0 201.64769-122.553122 245.975415-239.891218 259.012982 19.121764 16.514251 35.636014 47.804409 35.636015 97.347161 0 70.402857-0.869171 126.898978-0.869172 144.282399 0 13.906737 9.560882 30.420988 35.636015 25.205961 208.601059-69.533686 358.967656-265.96635 358.967655-498.035028C1049.958663 234.676191 814.413301 0 524.979332 0z\"\n fill=\"#191717\"\n />\n <path\n d=\"M199.040177 753.571326c-0.869171 2.607513-5.215026 3.476684-8.691711 1.738342s-6.084198-5.215026-4.345855-7.82254c0.869171-2.607513 5.215026-3.476684 8.691711-1.738342s5.215026 5.215026 4.345855 7.82254z m-6.953369-4.345856M219.900283 777.038945c-2.607513 2.607513-7.82254 0.869171-10.430053-2.607514-3.476684-3.476684-4.345855-8.691711-1.738342-11.299224 2.607513-2.607513 6.953369-0.869171 10.430053 2.607514 3.476684 4.345855 4.345855 9.560882 1.738342 11.299224z m-5.215026-5.215027M240.760389 807.459932c-3.476684 2.607513-8.691711 0-11.299224-4.345855-3.476684-4.345855-3.476684-10.430053 0-12.168395 3.476684-2.607513 8.691711 0 11.299224 4.345855 3.476684 4.345855 3.476684 9.560882 0 12.168395z m0 0M269.443034 837.011749c-2.607513 3.476684-8.691711 2.607513-13.906737-1.738342-4.345855-4.345855-6.084198-10.430053-2.607513-13.037566 2.607513-3.476684 8.691711-2.607513 13.906737 1.738342 4.345855 3.476684 5.215026 9.560882 2.607513 13.037566z m0 0M308.555733 853.526c-0.869171 4.345855-6.953369 6.084198-13.037566 4.345855-6.084198-1.738342-9.560882-6.953369-8.691711-10.430053 0.869171-4.345855 6.953369-6.084198 13.037566-4.345855 6.084198 1.738342 9.560882 6.084198 8.691711 10.430053z m0 0M351.145116 857.002684c0 4.345855-5.215026 7.82254-11.299224 7.82254-6.084198 0-11.299224-3.476684-11.299224-7.82254s5.215026-7.82254 11.299224-7.82254c6.084198 0 11.299224 3.476684 11.299224 7.82254z m0 0M391.126986 850.049315c0.869171 4.345855-3.476684 8.691711-9.560882 9.560882-6.084198 0.869171-11.299224-1.738342-12.168395-6.084197-0.869171-4.345855 3.476684-8.691711 9.560881-9.560882 6.084198-0.869171 11.299224 1.738342 12.168396 6.084197z m0 0\"\n fill=\"#191717\"\n />\n </svg>\n ),\n issue: (\n <svg className=\"issue\" viewBox=\"0 0 1024 1024\" width=\"23\" height=\"23\">\n <path\n d=\"M1022.976 698.368c0-58.88-24.064-113.664-64.512-155.648-44.544 175.616-223.744 307.2-438.784 310.784 51.712 55.296 131.072 90.624 219.648 90.624 21.504 0 41.984-2.048 61.952-6.144 54.784 75.776 121.856 72.192 121.856 72.192-24.064-14.848-27.136-69.632-26.112-108.032 76.288-44.032 125.952-119.296 125.952-203.776z m0 0\"\n fill=\"#558EFF\"\n ></path>\n <path\n d=\"M458.24 13.824C205.312 13.824 0 191.488 0 410.624c0 137.216 80.384 258.048 202.24 329.216 1.536 61.44-3.584 150.016-41.984 174.592 0 0 108.544 5.632 197.12-116.736 32.256 6.144 66.048 9.728 100.352 9.728H465.92c215.04-3.584 394.24-135.168 438.784-310.784 7.168-27.648 10.752-56.32 10.752-86.016 0.512-219.136-204.288-396.8-457.216-396.8zM256 462.848c-33.792 0-60.928-27.136-60.928-60.928 0-33.792 27.136-60.928 60.928-60.928 33.792 0 60.928 27.136 60.928 60.928 0 33.792-27.136 60.928-60.928 60.928z m202.24 0c-33.792 0-60.928-27.136-60.928-60.928 0-33.792 27.136-60.928 60.928-60.928 33.792 0 60.928 27.136 60.928 60.928 0 33.792-27.136 60.928-60.928 60.928z m202.24 0c-33.792 0-60.928-27.136-60.928-60.928 0-33.792 27.136-60.928 60.928-60.928 33.792 0 60.928 27.136 60.928 60.928 0 33.792-27.136 60.928-60.928 60.928z m0 0\"\n fill=\"#549EFF\"\n ></path>\n </svg>\n ),\n gitee: (\n <svg className=\"gitee\" viewBox=\"0 0 1024 1024\" width=\"200\" height=\"200\">\n <path\n d=\"M512 1024C229.222 1024 0 794.778 0 512S229.222 0 512 0s512 229.222 512 512-229.222 512-512 512z m259.149-568.883h-290.74a25.293 25.293 0 0 0-25.292 25.293l-0.026 63.206c0 13.952 11.315 25.293 25.267 25.293h177.024c13.978 0 25.293 11.315 25.293 25.267v12.646a75.853 75.853 0 0 1-75.853 75.853h-240.23a25.293 25.293 0 0 1-25.267-25.293V417.203a75.853 75.853 0 0 1 75.827-75.853h353.946a25.293 25.293 0 0 0 25.267-25.292l0.077-63.207a25.293 25.293 0 0 0-25.268-25.293H417.152a189.62 189.62 0 0 0-189.62 189.645V771.15c0 13.977 11.316 25.293 25.294 25.293h372.94a170.65 170.65 0 0 0 170.65-170.65V480.384a25.293 25.293 0 0 0-25.293-25.267z\"\n fill=\"#C71D23\"\n ></path>\n </svg>\n ),\n plugin: (\n <svg viewBox=\"0 0 1024 1024\" width=\"24\" height=\"24\">\n <path d=\"M937.6 251.3L538 69.7c-11.5-5.1-24.6-5.1-36.1 0L102.4 251.3c-22.4 9.9-32.5 32.2-22.6 54.6 4.5 10.1 12.5 15.1 22.6 19.6L502 506.1c11.5 5.1 24.6 5.1 36.1 0l399.6-180.6c22.4-9.9 32.5-33.2 22.6-55.6-4.6-10.1-12.6-14.1-22.7-18.6zM497.6 723.4l-398.7-165c-18.4-7.6-27.1-28.7-19.5-47 7.6-18.4 28.7-27.1 47-19.5l398.7 165c18.4 7.6 27.1 28.7 19.5 47-7.6 18.3-28.6 27.1-47 19.5z\" />\n <path d=\"M526.4 723.4l398.7-165c18.4-7.6 27.1-28.7 19.5-47-7.6-18.4-28.7-27.1-47-19.5l-398.7 165c-18.4 7.6-27.1 28.7-19.5 47 7.6 18.3 28.6 27.1 47 19.5z\" />\n <path d=\"M497.6 955.4l-398.7-165c-18.4-7.6-27.1-28.7-19.5-47 7.6-18.4 28.7-27.1 47-19.5l398.7 165c18.4 7.6 27.1 28.7 19.5 47-7.6 18.3-28.6 27.1-47 19.5z\" />\n <path d=\"M526.4 955.4l398.7-165c18.4-7.6 27.1-28.7 19.5-47-7.6-18.4-28.7-27.1-47-19.5l-398.7 165c-18.4 7.6-27.1 28.7-19.5 47 7.6 18.3 28.6 27.1 47 19.5z\" />\n </svg>\n ),\n};\n","import { NavLink } from 'react-router-dom';\nimport { useLocation } from 'react-router-dom';\nimport styles from './index.module.less';\nimport menu from '../../menu.json';\nimport nav from '../icons/nav';\n\nexport default function SiderMenu() {\n const location = useLocation();\n const data = menu.find((item) => new RegExp(`^${item.path || ''}`).test(location.pathname));\n\n if (!data?.children) {\n return null;\n }\n return (\n <div className={styles.wapper}>\n <h2 className={styles.title}>\n {(nav as any)[data.icon]}\n <span>{data.name}</span>\n </h2>\n <div className={styles.menu}>\n {data.children &&\n data.children.map((item, idx) => {\n if (item.divider) {\n return (\n <div key={idx} className={styles.divider}>\n {item.name}\n </div>\n );\n }\n if (/^http(?:|s):\\/\\//.test(item.path || '')) {\n return (\n <a key={idx} href={item.path} target=\"__blank\">\n {item.name}\n <svg viewBox=\"0 0 1024 1024\" width={14}>\n <path d=\"M821.1456 276.8384c-235.9296 25.1392-449.1776 226.7136-490.5472 452.352a38.4 38.4 0 1 1-75.5712-13.824c45.568-248.576 269.312-468.48 526.6944-510.6688l-117.8112-69.1712a38.4 38.4 0 0 1 38.912-66.2528l223.3344 131.1744a38.4 38.4 0 0 1 10.1376 57.6l-170.752 206.6432a38.4 38.4 0 1 1-59.1872-48.9472l114.7904-138.9056z\" />\n <path d=\"M832 620.0832a38.4 38.4 0 0 1 76.8 0v158.208c0 85.9648-61.5936 157.8496-140.8 157.8496H204.8c-79.2064 0-140.8-71.8848-140.8-157.9008V300.3904c0-86.016 61.5936-157.8496 140.8-157.8496h220.2112a38.4 38.4 0 1 1 0 76.8H204.8c-33.8944 0-64 35.072-64 81.0496V778.24c0 45.9776 30.1056 81.1008 64 81.1008h563.2c33.8944 0 64-35.1232 64-81.1008v-158.1568z\" />\n </svg>\n </a>\n );\n }\n return (\n <NavLink key={idx} to={item.path || ''} replace>\n {item.name}\n </NavLink>\n );\n })}\n </div>\n </div>\n );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"logo\":\"index_logo__kUQOi\",\"top\":\"index_top__DLxV-\",\"nav\":\"index_nav__SdXbb\",\"navTop\":\"index_navTop__08yh1\",\"btn\":\"index_btn__YYGUe\",\"btnTop\":\"index_btnTop__PlNw6\"};","import React from 'react';\n\ntype InitialState = {\n layout: 'top' | 'left' | 'mix';\n};\n\nexport const initialState: InitialState = {\n layout: 'top',\n};\n\nexport const reducer = (state: InitialState, action: InitialState) => {\n return {\n ...state,\n ...action,\n };\n};\n\nexport interface Context {\n state: InitialState;\n dispatch: React.Dispatch<InitialState>;\n}\n\nexport const ThemeContext = React.createContext<Context>({\n state: initialState,\n dispatch: () => null,\n});\n","import React from 'react';\n\nexport default {\n menu: (\n <svg width=\"19\" height=\"19\" viewBox=\"0 0 26 26\">\n <g fill=\"none\" fillRule=\"evenodd\">\n <rect width=\"26\" height=\"26\" fill=\"#9E9E9E\" rx=\"4\" />\n <rect width=\"5\" height=\"20\" x=\"3\" y=\"3\" fill=\"#202224\" rx=\"2.5\" />\n <rect width=\"12\" height=\"20\" x=\"11\" y=\"3\" fill=\"#FFF\" fillOpacity=\".657\" rx=\"2\" />\n </g>\n </svg>\n ),\n menutop: (\n <svg width=\"19\" height=\"19\" viewBox=\"0 0 26 26\">\n <g fill=\"none\" fillRule=\"evenodd\">\n <rect width=\"26\" height=\"26\" fill=\"#9E9E9E\" rx=\"4\" />\n <rect width=\"20\" height=\"5\" x=\"3\" y=\"3\" fill=\"#202224\" rx=\"2.5\" />\n <rect width=\"20\" height=\"12\" x=\"3\" y=\"11\" fill=\"#FFF\" fillOpacity=\".66\" rx=\"2\" />\n </g>\n </svg>\n ),\n china: (\n <svg className=\"flag\" width=\"19\" height=\"19\" viewBox=\"0 0 512 512\">\n <defs>\n <path id=\"a\" fill=\"#ffde00\" d=\"M1-.3L-.7.8 0-1 .6.8-1-.3z\" />\n </defs>\n <path fill=\"#de2910\" d=\"M0 0h512v512H0z\" />\n <use width=\"30\" height=\"20\" transform=\"matrix(76.8 0 0 76.8 128 128)\" xlinkHref=\"#a\" />\n <use width=\"30\" height=\"20\" transform=\"rotate(-121 142.6 -47) scale(25.5827)\" xlinkHref=\"#a\" />\n <use width=\"30\" height=\"20\" transform=\"rotate(-98.1 198 -82) scale(25.6)\" xlinkHref=\"#a\" />\n <use width=\"30\" height=\"20\" transform=\"rotate(-74 272.4 -114) scale(25.6137)\" xlinkHref=\"#a\" />\n <use width=\"30\" height=\"20\" transform=\"matrix(16 -19.968 19.968 16 256 230.4)\" xlinkHref=\"#a\" />\n </svg>\n ),\n};\n","import { Fragment, useContext } from 'react';\nimport { Tooltip } from 'uiw';\nimport { NavLink, Link } from 'react-router-dom';\nimport styles from './index.module.less';\nimport data from '../../menu.json';\nimport { ThemeContext } from '../../contexts';\nimport nav from '../icons/nav';\nimport logo from '../icons/logo';\nimport menu from '../icons/menu';\nimport pkg from 'uiw/package.json';\n\nexport default function Nav() {\n const { state, dispatch } = useContext(ThemeContext);\n return (\n <Fragment>\n <div className={[styles.logo, state.layout === 'left' ? null : styles.top].filter(Boolean).join(' ').trim()}>\n <Link to=\"/\">\n {logo.dark}\n {state.layout === 'top' && (\n <span>\n UIW<sup>{pkg.version}</sup>\n </span>\n )}\n </Link>\n </div>\n <div className={[styles.nav, state.layout === 'left' ? null : styles.navTop].filter(Boolean).join(' ').trim()}>\n {data.map(({ path, name, icon }, idx) => {\n if (Object.keys(nav).includes(icon)) {\n icon = (nav as any)[icon];\n }\n if (/^https?:(?:\\/\\/)?/.test(path)) {\n if (state.layout === 'top') {\n return (\n <a key={idx} target=\"__blank\" href={path} className={styles.outerUrl}>\n {icon} <span>{name}</span>\n </a>\n );\n }\n return (\n <Tooltip\n usePortal={false}\n key={idx}\n placement={state.layout === 'left' ? 'right' : 'bottom'}\n content={<span style={{ whiteSpace: 'nowrap' }}>{name}</span>}\n >\n <a target=\"__blank\" href={path} className={styles.outerUrl}>\n {icon}\n </a>\n </Tooltip>\n );\n }\n let activeStyle: React.CSSProperties = {\n color: '#fff',\n };\n if (state.layout === 'top') {\n return (\n <NavLink\n to={path}\n key={idx}\n // @ts-ignore\n style={({ isActive }) => (isActive ? activeStyle : undefined)}\n >\n {icon} <span>{name}</span>\n </NavLink>\n );\n }\n\n return (\n <Tooltip\n usePortal={false}\n key={idx}\n placement={state.layout === 'left' ? 'right' : 'bottom'}\n content={<span style={{ whiteSpace: 'nowrap' }}>{name}</span>}\n >\n <NavLink\n to={path}\n // @ts-ignore\n style={({ isActive }) => (isActive ? activeStyle : undefined)}\n >\n {icon}\n </NavLink>\n </Tooltip>\n );\n })}\n </div>\n <div className={[styles.btn, state.layout === 'left' ? null : styles.btnTop].filter(Boolean).join(' ').trim()}>\n <Tooltip placement={state.layout === 'left' ? 'right' : 'bottom'} content=\"国内镜像站点\">\n <a href=\"http://uiw.gitee.io\" rel=\"noopener noreferrer\" target=\"_blank\">\n {menu.china}\n </a>\n </Tooltip>\n <button onClick={() => dispatch({ layout: state.layout === 'left' ? 'top' : 'left' })}>\n {state.layout === 'left' ? menu.menu : menu.menutop}\n </button>\n </div>\n </Fragment>\n );\n}\n","import { Fragment, useContext } from 'react';\nimport { Outlet } from 'react-router-dom';\nimport { Layout, Affix } from 'uiw';\nimport VersionSelect from '../components/VersionSelect';\nimport styles from './index.module.less';\nimport version from '../version.json';\nimport SiderMenu from '../components/SiderMenu';\nimport Nav from '../components/Nav';\nimport { ThemeContext } from '../contexts';\n\nconst { Header, Sider, Content } = Layout;\nexport interface ComponentsProps {\n siderMenu?: boolean;\n}\n\nexport default function Components(props: ComponentsProps) {\n const { siderMenu = true } = props;\n const { state } = useContext(ThemeContext);\n return (\n <Layout className={styles.layout}>\n {state.layout === 'top' ? (\n <Fragment>\n <Affix offsetTop={0} style={{ zIndex: 999 }}>\n <Header style={{ display: 'flex', alignItems: 'center' }}>\n <Nav />\n </Header>\n </Affix>\n <Layout className={styles.layoutWrap}>\n <Sider width={siderMenu ? 260 : 0} className={styles.layoutSider}>\n <div style={{ width: siderMenu ? 260 : 0, height: 'calc(100vh - 53px)' }}>\n <SiderMenu />\n </div>\n </Sider>\n <Content style={{ padding: 20 }} className={styles.layoutContent}>\n <Outlet />\n </Content>\n </Layout>\n </Fragment>\n ) : (\n <Fragment>\n <Sider width={siderMenu ? 330 : 64}>\n <Layout className={styles.sider}>\n <Sider className={styles.menuWarpper} width={64}>\n <Nav />\n </Sider>\n <Layout\n style={{\n position: 'fixed',\n width: siderMenu ? 330 : 64,\n zIndex: 1,\n left: 0,\n top: 0,\n bottom: 0,\n overflow: 'auto',\n }}\n >\n <Content className={styles.subMenu} style={{ paddingLeft: 64 }}>\n <SiderMenu />\n </Content>\n </Layout>\n </Layout>\n </Sider>\n <Layout style={{ position: 'relative' }}>\n <Header\n style={{\n height: 'inherit',\n lineHeight: '32px',\n position: 'absolute',\n padding: '5px 10px',\n width: '100%',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'flex-end',\n backgroundColor: 'transparent',\n zIndex: 99,\n }}\n >\n <VersionSelect data={version} />\n </Header>\n <Content style={{ padding: 20 }} className={styles.layoutContent}>\n <Outlet />\n </Content>\n </Layout>\n </Fragment>\n )}\n </Layout>\n );\n}\n","import { lazy, Suspense } from 'react';\nimport { RouteObject } from 'react-router-dom';\nimport NoMatch from './components/NoMatch';\nimport Loading from './components/Loading';\nimport BaseLayout from './layouts/BaseLayout';\n\nconst Loadable = (Component: any) => (props: any) =>\n (\n <Suspense fallback={<Loading />}>\n <Component {...props} />\n </Suspense>\n );\n\nconst Home = Loadable(lazy(() => import('./routes/home')));\nconst Extensions = Loadable(lazy(() => import('./routes/extensions')));\n\nconst GuideQuickStart = Loadable(lazy(() => import('./routes/guide/quick-start')));\nconst GuideImport = Loadable(lazy(() => import('./routes/guide/import')));\nconst GuideCreateReactApp = Loadable(lazy(() => import('./routes/guide/create-react-app')));\nconst GuideKKT = Loadable(lazy(() => import('./routes/guide/kkt')));\nconst GuideDocs = Loadable(lazy(() => import('./routes/guide/docs')));\nconst GuideVscode = Loadable(lazy(() => import('./routes/guide/vscode')));\nconst GuideRecommendation = Loadable(lazy(() => import('./routes/guide/recommendation')));\n\nconst Overview = Loadable(lazy(() => import('./routes/overview')));\nconst Colors = Loadable(lazy(() => import('./routes/components/colors')));\nconst Alert = Loadable(lazy(() => import('./routes/components/alert')));\nconst AutoLink = Loadable(lazy(() => import('./routes/components/auto-link')));\nconst ResetCss = Loadable(lazy(() => import('./routes/components/reset-css')));\nconst Avatar = Loadable(lazy(() => import('./routes/components/avatar')));\nconst Affix = Loadable(lazy(() => import('./routes/components/affix')));\nconst Calendar = Loadable(lazy(() => import('./routes/components/calendar')));\nconst Cascader = Loadable(lazy(() => import('./routes/components/cascader')));\nconst Checkbox = Loadable(lazy(() => import('./routes/components/checkbox')));\nconst CopyToClipboard = Loadable(lazy(() => import('./routes/components/copy-to-clipboard')));\nconst Collapse = Loadable(lazy(() => import('./routes/components/collapse')));\nconst Card = Loadable(lazy(() => import('./routes/components/card')));\nconst Carousel = Loadable(lazy(() => import('./routes/components/carousel')));\nconst Descriptions = Loadable(lazy(() => import('./routes/components/descriptions')));\nconst Loader = Loadable(lazy(() => import('./routes/components/loader')));\nconst Icon = Loadable(lazy(() => import('./routes/components/icon')));\nconst Divider = Loadable(lazy(() => import('./routes/components/divider')));\nconst Drawer = Loadable(lazy(() => import('./routes/components/drawer')));\nconst DatePicker = Loadable(lazy(() => import('./routes/components/date-picker')));\nconst DateInput = Loadable(lazy(() => import('./routes/components/date-input')));\nconst Dropdown = Loadable(lazy(() => import('./routes/components/dropdown')));\nconst Badge = Loadable(lazy(() => import('./routes/components/badge')));\nconst Progress = Loadable(lazy(() => import('./routes/components/progress')));\nconst Pagination = Loadable(lazy(() => import('./routes/components/pagination')));\nconst PinCode = Loadable(lazy(() => import('./routes/components/pin-code')));\nconst Input = Loadable(lazy(() => import('./routes/components/input')));\nconst Button = Loadable(lazy(() => import('./routes/components/button')));\nconst Radio = Loadable(lazy(() => import('./routes/components/radio')));\nconst Select = Loadable(lazy(() => import('./routes/components/select')));\nconst SearchSelect = Loadable(lazy(() => import('./routes/components/search-select')));\nconst Split = Loadable(lazy(() => import('./routes/components/split')));\nconst Switch = Loadable(lazy(() => import('./routes/components/switch')));\nconst Slider = Loadable(lazy(() => import('./routes/components/slider')));\nconst Grid = Loadable(lazy(() => import('./routes/components/grid')));\nconst Form = Loadable(lazy(() => import('./routes/components/form')));\nconst FileInput = Loadable(lazy(() => import('./routes/components/file-input')));\nconst Breadcrumb = Loadable(lazy(() => import('./routes/components/breadcrumb')));\nconst List = Loadable(lazy(() => import('./routes/components/list')));\nconst Layout = Loadable(lazy(() => import('./routes/components/layout')));\nconst Notify = Loadable(lazy(() => import('./routes/components/notify')));\nconst Tree = Loadable(lazy(() => import('./routes/components/tree')));\nconst TreeChecked = Loadable(lazy(() => import('./routes/components/tree-checked')));\nconst SearchTree = Loadable(lazy(() => import('./routes/components/search-tree')));\nconst Transfer = Loadable(lazy(() => import('./routes/components/transfer')));\nconst Tag = Loadable(lazy(() => import('./routes/components/tag')));\nconst Tabs = Loadable(lazy(() => import('./routes/components/tabs')));\nconst Tooltip = Loadable(lazy(() => import('./routes/components/tooltip')));\nconst Table = Loadable(lazy(() => import('./routes/components/table')));\nconst TimePicker = Loadable(lazy(() => import('./routes/components/time-picker')));\nconst Rate = Loadable(lazy(() => import('./routes/components/rate')));\nconst Overlay = Loadable(lazy(() => import('./routes/components/overlay')));\nconst BackTop = Loadable(lazy(() => import('./routes/components/back-top')));\nconst Portal = Loadable(lazy(() => import('./routes/components/portal')));\nconst OverlayTrigger = Loadable(lazy(() => import('./routes/components/overlay-trigger')));\nconst Popover = Loadable(lazy(() => import('./routes/components/popover')));\nconst Message = Loadable(lazy(() => import('./routes/components/message')));\nconst MonthPicker = Loadable(lazy(() => import('./routes/components/month-picker')));\nconst Textarea = Loadable(lazy(() => import('./routes/components/textarea')));\nconst Modal = Loadable(lazy(() => import('./routes/components/modal')));\nconst Formatter = Loadable(lazy(() => import('./routes/components/formatter')));\nconst Steps = Loadable(lazy(() => import('./routes/components/steps')));\nconst Menu = Loadable(lazy(() => import('./routes/components/menu')));\nconst Empty = Loadable(lazy(() => import('./routes/components/empty')));\n\nexport const routes: RouteObject[] = [\n {\n path: '/extensions',\n element: <BaseLayout siderMenu={false} />,\n children: [\n { index: true, element: <Extensions /> },\n { path: '*', element: <NoMatch /> },\n ],\n },\n {\n path: '/guide',\n element: <BaseLayout />,\n children: [\n { index: true, element: <GuideQuickStart /> },\n { path: '/guide/quick-start', element: <GuideQuickStart /> },\n { path: '/guide/import', element: <GuideImport /> },\n { path: '/guide/create-react-app', element: <GuideCreateReactApp /> },\n { path: '/guide/kkt', element: <GuideKKT /> },\n { path: '/guide/vscode', element: <GuideVscode /> },\n { path: '/guide/docs', element: <GuideDocs /> },\n { path: '/guide/recommendation', element: <GuideRecommendation /> },\n { path: '*', element: <NoMatch /> },\n ],\n },\n {\n path: '/components',\n element: <BaseLayout />,\n children: [\n { index: true, element: <Overview /> },\n { path: '/components/overview', element: <Overview /> },\n { path: '/components/colors', element: <Colors /> },\n { path: '/components/reset-css', element: <ResetCss /> },\n { path: '/components/alert', element: <Alert /> },\n { path: '/components/auto-link', element: <AutoLink /> },\n { path: '/components/avatar', element: <Avatar /> },\n { path: '/components/affix', element: <Affix /> },\n { path: '/components/calendar', element: <Calendar /> },\n { path: '/components/checkbox', element: <Checkbox /> },\n { path: '/components/copy-to-clipboard', element: <CopyToClipboard /> },\n { path: '/components/collapse', element: <Collapse /> },\n { path: '/components/card', element: <Card /> },\n { path: '/components/carousel', element: <Carousel /> },\n { path: '/components/cascader', element: <Cascader /> },\n { path: '/components/descriptions', element: <Descriptions /> },\n { path: '/components/loader', element: <Loader /> },\n { path: '/components/icon', element: <Icon /> },\n { path: '/components/divider', element: <Divider /> },\n { path: '/components/drawer', element: <Drawer /> },\n { path: '/components/date-picker', element: <DatePicker /> },\n { path: '/components/date-input', element: <DateInput /> },\n { path: '/components/dropdown', element: <Dropdown /> },\n { path: '/components/badge', element: <Badge /> },\n { path: '/components/progress', element: <Progress /> },\n { path: '/components/pagination', element: <Pagination /> },\n { path: '/components/pin-code', element: <PinCode /> },\n { path: '/components/input', element: <Input /> },\n { path: '/components/button', element: <Button /> },\n { path: '/components/radio', element: <Radio /> },\n { path: '/components/select', element: <Select /> },\n { path: '/components/search-select', element: <SearchSelect /> },\n { path: '/components/split', element: <Split /> },\n { path: '/components/switch', element: <Switch /> },\n { path: '/components/slider', element: <Slider /> },\n { path: '/components/grid', element: <Grid /> },\n { path: '/components/form', element: <Form /> },\n { path: '/components/file-input', element: <FileInput /> },\n { path: '/components/breadcrumb', element: <Breadcrumb /> },\n { path: '/components/list', element: <List /> },\n { path: '/components/layout', element: <Layout /> },\n { path: '/components/notify', element: <Notify /> },\n { path: '/components/tree', element: <Tree /> },\n { path: '/components/tree-checked', element: <TreeChecked /> },\n { path: '/components/search-tree', element: <SearchTree /> },\n { path: '/components/transfer', element: <Transfer /> },\n { path: '/components/tag', element: <Tag /> },\n { path: '/components/tabs', element: <Tabs /> },\n { path: '/components/tooltip', element: <Tooltip /> },\n { path: '/components/table', element: <Table /> },\n { path: '/components/time-picker', element: <TimePicker /> },\n { path: '/components/rate', element: <Rate /> },\n { path: '/components/overlay', element: <Overlay /> },\n { path: '/components/back-top', element: <BackTop /> },\n { path: '/components/portal', element: <Portal /> },\n { path: '/components/overlay-trigger', element: <OverlayTrigger /> },\n { path: '/components/popover', element: <Popover /> },\n { path: '/components/message', element: <Message /> },\n { path: '/components/month-picker', element: <MonthPicker /> },\n { path: '/components/textarea', element: <Textarea /> },\n { path: '/components/modal', element: <Modal /> },\n { path: '/components/formatter', element: <Formatter /> },\n { path: '/components/steps', element: <Steps /> },\n { path: '/components/menu', element: <Menu /> },\n { path: '/components/empty', element: <Empty /> },\n { path: '*', element: <NoMatch /> },\n ],\n },\n {\n path: '/',\n element: <Home />,\n },\n];\n","import React, { useReducer } from 'react';\nimport ReactDOM from 'react-dom';\nimport { useRoutes, HashRouter } from 'react-router-dom';\nimport '@uiw/reset.css';\nimport { routes } from './routers';\nimport './styles/index.less';\nimport { ThemeContext, reducer, initialState } from './contexts';\n\nconst App = () => useRoutes(routes);\nexport const Provider = ({ children }: { children: React.ReactNode }) => {\n const [state, dispatch] = useReducer(reducer, initialState);\n return <ThemeContext.Provider value={{ state, dispatch }}>{children}</ThemeContext.Provider>;\n};\n\nReactDOM.render(\n <HashRouter>\n <Provider>\n <App />\n </Provider>\n </HashRouter>,\n document.getElementById('root'),\n);\n","export function noop() {}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} top `true` or `false`\n * @returns {number} amount of scrolled pixels\n */\nexport function getScroll(target: HTMLElement | Window | null, top?: boolean) {\n if (typeof window === 'undefined') {\n return 0;\n }\n\n const prop = top ? 'pageYOffset' : 'pageXOffset';\n const method = top ? 'scrollTop' : 'scrollLeft';\n const isWindow: boolean = target === window;\n\n let ret = isWindow ? (target as Window)[prop] : (target as HTMLElement)[method];\n if (isWindow && typeof ret !== 'number') {\n ret = document.documentElement[method];\n }\n\n return ret;\n}\n","import { getScroll } from '@uiw/utils';\n\nexport const getTargetRect = (target: HTMLElement | Window | null) => {\n return target !== window\n ? (target as HTMLElement).getBoundingClientRect()\n : ({ top: 0, left: 0, bottom: 0 } as ClientRect);\n};\n\nexport const getOffset = (element: HTMLElement, target: HTMLElement | Window | null) => {\n const elemRect = element.getBoundingClientRect();\n const targetRect = getTargetRect(target);\n const scrollTop = getScroll(target, true);\n const scrollLeft = getScroll(target);\n\n const docElem = window.document.body;\n const clientTop = docElem.clientTop || 0;\n const clientLeft = docElem.clientLeft || 0;\n\n return {\n top: elemRect.top - targetRect.top + scrollTop - clientTop,\n left: elemRect.left - targetRect.left + scrollLeft - clientLeft,\n width: elemRect.width,\n height: elemRect.height,\n };\n};\n\nexport const getDefaultTarget = () => (typeof window !== 'undefined' ? window : null);\n","import React from 'react';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport { getDefaultTarget, getOffset } from './utils';\n\nexport interface AffixProps extends IProps, Omit<HTMLDivProps, 'onChange'> {\n /**\n * 距离窗口顶部达到指定偏移量后触发\n */\n offsetTop?: number;\n /**\n * 距离窗口底部达到指定偏移量后触发\n */\n offsetBottom?: number;\n target?: () => Window | HTMLElement | null;\n /**\n * 固定状态改变时触发的回调函数\n */\n onChange?: (affixed?: boolean) => void;\n}\n\nexport interface AffixState {\n affixStyle?: React.CSSProperties;\n placeholderStyle?: React.CSSProperties;\n}\n\nexport default class Affix extends React.Component<AffixProps, AffixState> {\n public static defaultProps: AffixProps = {\n prefixCls: 'w-affix',\n onChange: noop,\n };\n public state: AffixState = {\n placeholderStyle: undefined,\n affixStyle: undefined,\n };\n private box: any;\n private target!: Window | HTMLElement | null;\n private readonly events = ['resize', 'scroll', 'touchstart', 'touchmove', 'touchend', 'pageshow', 'load'];\n private eventHandlers: Record<string, any> = {};\n private timeout?: number;\n constructor(props: AffixProps & HTMLDivProps) {\n super(props);\n this.updatePosition = this.updatePosition.bind(this);\n }\n componentDidMount() {\n const target = this.props.target || getDefaultTarget;\n // Wait for parent component ref has its value\n this.timeout = window.setTimeout(() => {\n this.target = target();\n this.setTargetEventListeners();\n });\n }\n componentWillUnmount() {\n this.clearEventListeners();\n clearTimeout(this.timeout);\n }\n updatePosition() {\n let { offsetTop } = this.props;\n const { offsetBottom } = this.props;\n if (!this.box || !this.box.offsetParent) {\n return;\n }\n\n const elemSize = {\n width: this.box.clientWidth,\n height: this.box.clientHeight,\n };\n const offsetMode = { top: true, bottom: false };\n if (typeof offsetTop !== 'number' && typeof offsetBottom !== 'number') {\n offsetMode.top = true;\n offsetTop = 0;\n }\n\n if (typeof offsetBottom === 'number') {\n offsetMode.top = false;\n offsetMode.bottom = true;\n }\n\n const elemOffset = getOffset(this.box, this.target);\n const box = this.box.getBoundingClientRect();\n const bottom = document.documentElement.clientHeight - box.y - elemOffset.height;\n\n if (offsetMode.top && box.y < 0) {\n this.setPlaceholderStyle({ ...elemSize });\n this.setAffixStyle({\n position: 'fixed',\n top: offsetTop || 0,\n left: elemOffset.left,\n width: elemOffset.width,\n });\n } else if (offsetMode.bottom && bottom < 0) {\n this.setPlaceholderStyle({ ...elemSize });\n this.setAffixStyle({\n position: 'fixed',\n bottom: offsetBottom || 0,\n left: elemOffset.left,\n width: elemOffset.width,\n });\n } else {\n this.setPlaceholderStyle();\n this.setAffixStyle();\n }\n }\n setAffixStyle(affixStyle?: React.CSSProperties) {\n const { onChange } = this.props;\n const affixed = !!this.state.affixStyle;\n this.setState({ affixStyle }, () => {\n onChange && onChange(affixed);\n });\n }\n setPlaceholderStyle(placeholderStyle?: React.CSSProperties) {\n this.setState({ placeholderStyle });\n }\n // 设置监听事件\n setTargetEventListeners() {\n this.clearEventListeners();\n this.events.forEach((eventName) => {\n this.eventHandlers[eventName] = this.updatePosition;\n this.target && this.target.addEventListener(eventName, this.updatePosition, false);\n });\n }\n clearEventListeners() {\n this.events.forEach((eventName) => {\n const handler = this.eventHandlers[eventName];\n this.target && this.target.removeEventListener(eventName, handler, false);\n });\n }\n getInstance = (node: HTMLDivElement) => {\n if (node) {\n this.box = node;\n }\n };\n public render() {\n const { prefixCls, className, children, offsetTop, offsetBottom, target, onChange, ...resetProps } = this.props;\n const cls = [className, prefixCls].filter(Boolean).join(' ').trim();\n return (\n <div {...resetProps} ref={this.getInstance} style={{ ...this.state.placeholderStyle, ...this.props.style }}>\n <div className={cls} style={this.state.affixStyle}>\n {children}\n </div>\n </div>\n );\n }\n}\n","import React, { useEffect, useRef } from 'react';\nimport ReactDOM from 'react-dom';\n\nexport const canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nexport interface PortalProps {\n children?: React.ReactNode;\n /**\n * The HTML element that children will be mounted to.\n * @default document.body\n */\n container?: HTMLElement;\n /**\n * Callback invoked when the children of this `Portal` have been added to the DOM.\n * @deprecated v4.9.0+\n */\n onChildrenMount?: (portalElement: HTMLElement) => void;\n /** @deprecated v4.9.0+ */\n visible?: boolean;\n}\n\nexport default function Portal(props: PortalProps) {\n const { container } = props;\n const defaultNode = useRef<HTMLDivElement>();\n const containerRef = useRef<HTMLElement | undefined>(container);\n\n useEffect(() => {\n return () => {\n if (defaultNode.current && containerRef.current) {\n containerRef.current.removeChild(defaultNode.current);\n defaultNode.current = undefined;\n }\n };\n }, []);\n\n if (!canUseDOM) {\n return null;\n }\n if (!containerRef.current) {\n containerRef.current = document.body;\n }\n if (!defaultNode.current) {\n defaultNode.current = document.createElement('div');\n containerRef.current.appendChild(defaultNode.current);\n }\n return ReactDOM.createPortal(props.children, defaultNode.current);\n}\n","/**\n * Overlay 组件\n * ---------------\n * 动画库 react-transition-group 文档\n * 老的文档\n * https://facebook.github.io/react/docs/animation.html\n * 新的文档\n * https://reactcommunity.org/react-transition-group/\n * 动画效果\n * https://daneden.github.io/animate.css/\n */\nimport React, { cloneElement, useEffect, useRef, useState } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { TransitionProps } from 'react-transition-group/Transition';\nimport Portal, { PortalProps } from '@uiw/react-portal';\nimport { IProps, noop } from '@uiw/utils';\n\nimport './style/index.less';\n\nexport interface OverlayProps extends IProps, Omit<TransitionProps, 'timeout'> {\n timeout?: TransitionProps['timeout'];\n isOpen?: boolean;\n usePortal?: boolean;\n maskClosable?: boolean;\n dialogProps?: React.HTMLProps<HTMLElement>;\n backdropProps?: React.HTMLProps<HTMLDivElement>;\n portalProps?: PortalProps;\n hasBackdrop?: boolean;\n unmountOnExit?: boolean;\n transitionName?: string;\n onEnter?: (node: HTMLElement, isAppearing: boolean) => void;\n onOpening?: (node: HTMLElement, isAppearing: boolean) => void;\n onOpened?: (node: HTMLElement, isAppearing: boolean) => void;\n onClosing?: (node: HTMLElement) => void;\n onClosed?: (node: HTMLElement | React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n onClose?: (evn: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n}\n\nexport default function Overlay(props: OverlayProps) {\n const {\n className,\n style,\n isOpen: _ = false,\n prefixCls = 'w-overlay',\n usePortal = true,\n maskClosable = true,\n backdropProps = {},\n portalProps = {},\n hasBackdrop = true,\n unmountOnExit = true, // 设置 true 销毁根节点\n timeout = 300,\n transitionName = 'w-overlay',\n // onEnter = noop,\n onOpening = noop,\n onOpened = noop,\n onClosing = noop,\n onClosed = noop,\n onClose = noop,\n children,\n dialogProps = {},\n ...otherProps\n } = props;\n\n const [isOpen, setIsOpen] = useState<boolean>();\n // const [isOpen, setIsOpen] = useState(props.isOpen || false);\n const [visible, setVisible] = useState(false);\n const container = useRef<HTMLDivElement>(null);\n const overlay = useRef<HTMLDivElement>(null);\n useEffect(() => {\n if (isOpen !== props.isOpen && props.isOpen) {\n setVisible(true);\n }\n if (isOpen !== props.isOpen && !props.isOpen) {\n overlayWillClose();\n setIsOpen(false);\n }\n }, [props.isOpen]);\n\n useEffect(() => {\n if (visible) {\n overlayWillOpen();\n setIsOpen(true);\n }\n }, [visible]);\n\n const decoratedChild =\n typeof children === 'object' ? (\n cloneElement(children, {\n ...dialogProps,\n style: { ...children.props.style, ...dialogProps.style },\n className: [children.props.className, `${prefixCls}-content`].filter(Boolean).join(' ').trim(),\n tabIndex: 0,\n })\n ) : (\n <span {...dialogProps} className={`${prefixCls}-content`}>\n {children}\n </span>\n );\n\n function handleClosed(node: HTMLElement | React.MouseEvent<HTMLButtonElement, MouseEvent>) {\n setVisible(false);\n onClosed && onClosed(node);\n }\n\n function handleBackdropMouseDown(e: React.MouseEvent<HTMLDivElement, MouseEvent>) {\n if (e.target !== container.current && usePortal) {\n return;\n }\n if (maskClosable && hasBackdrop) {\n overlayWillClose();\n setIsOpen(false);\n onClose && onClose(e);\n }\n backdropProps && backdropProps.onMouseDown && backdropProps.onMouseDown(e);\n }\n\n function overlayWillOpen() {\n if (hasBackdrop && usePortal) {\n document.body.classList.add(`${prefixCls}-open`);\n }\n }\n\n function overlayWillClose() {\n if (hasBackdrop && usePortal) {\n document.body.classList.remove(`${prefixCls}-open`);\n }\n // if (unmountOnExit) {\n // setVisible(false)\n // }\n }\n const TransitionGroupComp = (\n <CSSTransition\n classNames={transitionName}\n unmountOnExit={unmountOnExit}\n timeout={timeout!}\n in={isOpen}\n onEntering={onOpening}\n onEntered={onOpened}\n onExiting={onClosing}\n onExited={handleClosed}\n {...otherProps}\n >\n {(status) => {\n return (\n <div\n style={style}\n ref={overlay}\n className={[\n prefixCls,\n className,\n !usePortal ? `${prefixCls}-inline` : null,\n isOpen ? `${prefixCls}-enter-done` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n {hasBackdrop &&\n cloneElement(<div />, {\n ...backdropProps,\n onMouseDown: handleBackdropMouseDown,\n className: [`${prefixCls}-backdrop`, backdropProps.className].filter(Boolean).join(' ').trim(),\n tabIndex: maskClosable ? 0 : null,\n })}\n {usePortal ? (\n <div ref={container} onMouseDown={handleBackdropMouseDown} className={`${prefixCls}-container`}>\n {cloneElement(decoratedChild, { 'data-status': status })}\n </div>\n ) : (\n cloneElement(decoratedChild, { 'data-status': status })\n )}\n </div>\n );\n }}\n </CSSTransition>\n );\n if (visible && usePortal) {\n return <Portal {...{ ...portalProps }}>{TransitionGroupComp}</Portal>;\n } else {\n return TransitionGroupComp;\n }\n}\n","import React from 'react';\nimport svgPaths from '@uiw/icons/fonts/w-icon.json';\nimport './style/index.less';\n\nexport type IconsName = keyof typeof svgPaths;\ntype TagType = React.ComponentType | keyof JSX.IntrinsicElements;\n\nexport interface IconProps<Tag extends TagType = 'span', E = React.ReactElement> extends React.HTMLAttributes<Tag> {\n style?: React.CSSProperties;\n className?: string;\n prefixCls?: string;\n /**\n * HTML tag to use for the rendered element.\n * @default \"span\"\n */\n tagName?: Tag;\n type?: IconsName | null | E;\n spin?: boolean;\n color?: string;\n verticalAlign?: 'middle' | 'baseline';\n}\n\nexport default function Icon<Tag extends TagType = 'span'>(props: IconProps<Tag>) {\n const {\n className,\n prefixCls = 'w-icon',\n verticalAlign = 'middle',\n tagName: TagName = 'span',\n color,\n type,\n spin = false,\n ...others\n } = props;\n\n let svg = null;\n if (typeof type === 'string') {\n svg = (\n <svg fill={color} viewBox=\"0 0 20 20\">\n {(svgPaths[type] || []).map((d, i) => (\n <path key={i} d={d} fillRule=\"evenodd\" />\n ))}\n </svg>\n );\n } else if (React.isValidElement(type)) {\n svg = React.cloneElement(type, {\n fill: color,\n });\n } else {\n return null;\n }\n others.style = { fill: 'currentColor', ...others.style };\n const propps = {\n ...others,\n className: [\n prefixCls,\n className,\n prefixCls && verticalAlign ? `${prefixCls}-${verticalAlign}` : null,\n spin && prefixCls ? `${prefixCls}-spin` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim(),\n };\n\n return React.createElement(TagName, { ...propps } as any, svg);\n}\n","import React from 'react';\nimport Icon, { IconProps } from '@uiw/react-icon';\nimport { IProps, HTMLButtonProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport type ButtonType = 'primary' | 'success' | 'warning' | 'danger' | 'light' | 'dark' | 'link';\nexport type ButtonSize = 'large' | 'default' | 'small';\n\nexport interface ButtonProps extends IProps, Omit<HTMLButtonProps, 'size'> {\n basic?: boolean;\n disabled?: boolean;\n active?: boolean;\n loading?: boolean;\n block?: boolean;\n icon?: IconProps['type'];\n type?: ButtonType;\n size?: ButtonSize;\n htmlType?: 'button' | 'submit' | 'reset';\n onClick?: (e: React.MouseEvent<HTMLButtonElement> & MouseEvent) => void;\n}\n\nexport default React.forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n const {\n prefixCls = 'w-btn',\n disabled = false,\n active = false,\n loading = false,\n block = false,\n basic = false,\n htmlType = 'button',\n type = 'light',\n size = 'default',\n icon,\n className,\n children,\n ...others\n } = props;\n const cls = [\n className,\n prefixCls,\n size ? `${prefixCls}-size-${size}` : null,\n type ? `${prefixCls}-${type}` : null,\n basic ? `${prefixCls}-basic` : null,\n loading ? `${prefixCls}-loading` : null,\n disabled || loading ? 'disabled' : null,\n active ? 'active' : null,\n block ? 'block' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n return (\n <button {...others} ref={ref} type={htmlType} disabled={disabled || loading} className={cls}>\n {icon && <Icon type={icon} />}\n {children &&\n React.Children.map(children, (child: React.ReactNode) => {\n if (!child) return child;\n if (React.isValidElement(child)) return child;\n return <span>{child}</span>;\n })}\n </button>\n );\n});\n","import React, { useState, useEffect } from 'react';\nimport Overlay, { OverlayProps } from '@uiw/react-overlay';\nimport Button, { ButtonType, ButtonProps } from '@uiw/react-button';\nimport Icon, { IconProps } from '@uiw/react-icon';\nimport { IProps, noop } from '@uiw/utils';\nimport './style/index.less';\nimport CallShow from './CallShow';\n\nexport interface ModalProps extends IProps, OverlayProps {\n type?: ButtonType;\n cancelText?: string;\n confirmButtonProps?: Omit<ButtonProps, 'ref'>;\n cancelButtonProps?: Omit<ButtonProps, 'ref'>;\n content?: React.ReactNode;\n confirmText?: string;\n title?: string;\n icon?: IconProps['type'];\n useButton?: boolean;\n usePortal?: boolean;\n autoFocus?: boolean;\n isCloseButtonShown?: boolean;\n isOpen?: boolean;\n bodyStyle?: React.CSSProperties;\n maxWidth?: number;\n minWidth?: number;\n width?: number;\n onCancel?: (evn: React.MouseEvent<HTMLButtonElement> & MouseEvent) => void;\n onConfirm?: (evn: React.MouseEvent<HTMLButtonElement> & MouseEvent) => void;\n}\n\ntype ShowModalProps = {\n show?: (props: Omit<ModalProps, 'onClosed' | 'isOpen'> & { children: React.ReactNode }) => void;\n};\n\nconst Modal: React.ForwardRefExoticComponent<ModalProps & React.RefAttributes<OverlayProps>> & ShowModalProps =\n React.forwardRef<OverlayProps, ModalProps>((props, ref) => {\n const {\n prefixCls = 'w-modal',\n className,\n children,\n useButton = true,\n usePortal = true,\n autoFocus = false,\n isOpen: _ = false,\n title,\n cancelText,\n cancelButtonProps,\n confirmButtonProps,\n content,\n confirmText = '确认',\n type = 'light',\n icon,\n maxWidth = 500,\n minWidth = 320,\n width,\n isCloseButtonShown = true,\n onCancel = noop,\n onConfirm = noop,\n bodyStyle,\n ...other\n } = props;\n const [isOpen, setIsOpen] = useState(props.isOpen);\n useEffect(() => {\n if (props.isOpen !== isOpen) {\n setIsOpen(props.isOpen);\n }\n }, [props.isOpen]);\n\n const [loading, setLoading] = useState(false);\n const cls = [prefixCls, className, type ? `${type}` : null].filter(Boolean).join(' ').trim();\n function onClose() {\n setIsOpen(false);\n }\n async function handleCancel(e: React.MouseEvent<HTMLButtonElement, MouseEvent> & MouseEvent) {\n setLoading(true);\n try {\n onCancel && (await onCancel(e));\n } catch (e) {}\n setIsOpen(false);\n setLoading(false);\n }\n async function handleConfirm(e: React.MouseEvent<HTMLButtonElement, MouseEvent> & MouseEvent) {\n setLoading(true);\n try {\n onConfirm && (await onConfirm(e));\n } catch (e) {}\n setIsOpen(false);\n setLoading(false);\n }\n return (\n <Overlay usePortal={usePortal} isOpen={isOpen} {...other} onClose={onClose} className={cls}>\n <div className={`${prefixCls}-container`}>\n <div\n className={[\n `${prefixCls}-inner`,\n title ? `${prefixCls}-shown-title` : null,\n icon ? `${prefixCls}-shown-icon` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n style={{ maxWidth, minWidth, width }}\n >\n {(title || icon) && (\n <div className={`${prefixCls}-header`}>\n {icon && <Icon type={icon} />}\n {title && <h4>{title}</h4>}\n {isCloseButtonShown && <Button basic onClick={(e) => handleCancel(e)} icon=\"close\" type=\"light\" />}\n </div>\n )}\n <div className={`${prefixCls}-body`} style={bodyStyle}>\n {children || content}\n </div>\n {useButton && (\n <div className={`${prefixCls}-footer`}>\n <Button\n autoFocus={autoFocus}\n type={type}\n loading={loading}\n disabled={loading}\n {...confirmButtonProps}\n onClick={(e) => handleConfirm(e)}\n >\n {confirmText}\n </Button>\n {cancelText && (\n <Button {...cancelButtonProps} onClick={(e) => handleCancel(e)}>\n {cancelText}\n </Button>\n )}\n </div>\n )}\n </div>\n </div>\n </Overlay>\n );\n });\n\nModal.show = CallShow;\nexport default Modal;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport Modal, { ModalProps } from './';\n\nexport default function CallShow(props: Omit<ModalProps, 'onClosed' | 'isOpen'> & { children: React.ReactNode }) {\n const { title = '提示框', children, ...other } = props;\n const dv = document.createElement('div');\n dv.id = 'uiw-modal-call-show-element';\n document.body.appendChild(dv);\n ReactDOM.render(\n <Modal\n {...other}\n title={title}\n isOpen={true}\n onClosed={() => {\n dv.remove();\n }}\n >\n {children}\n </Modal>,\n dv,\n );\n}\n","import React from 'react';\nimport Modal, { ModalProps } from '@uiw/react-modal';\nimport { IProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface AlertProps extends IProps, ModalProps {\n width?: number;\n}\n\nexport default (props: AlertProps = {}) => {\n const { prefixCls = 'w-alert', className, width = 400, ...other } = props;\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return (\n <Modal {...other} width={width} className={cls}>\n {props.children}\n </Modal>\n );\n};\n","import React, { Fragment } from 'react';\n\nconst delimiter =\n /((?:https?:\\/\\/)?(?:(?:[a-z0-9]?(?:[a-z0-9\\-]{1,61}[a-z0-9])?\\.[^\\.|\\s])+[a-z\\.]*[a-z]+|(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3})(?::\\d{1,5})*[a-z0-9.,_\\/~#&=;%+?\\-\\\\(\\\\)]*)/gi;\n\nexport type AutoLinkProps = {\n text?: string;\n} & React.AnchorHTMLAttributes<HTMLAnchorElement>;\n\nexport default (props: AutoLinkProps = {}) => {\n const { text = '', ...other } = props;\n return (\n <Fragment>\n {text.split(delimiter).map((word, idx) => {\n const match = word.match(delimiter);\n if (match && match[0]) {\n const url = match[0];\n return (\n <a {...other} key={idx} href={url.startsWith('http') ? url : `http://${url}`}>\n {url}\n </a>\n );\n }\n return <Fragment key={idx}>{word}</Fragment>;\n })}\n </Fragment>\n );\n};\n","import React from 'react';\nimport Icon, { IconProps } from '@uiw/react-icon';\nimport { HTMLSpanProps, noop } from '@uiw/utils';\nimport './style/index.less';\nimport { useState } from 'react';\nimport { useEffect } from 'react';\n\nexport interface AvatarProps extends HTMLSpanProps {\n style?: React.CSSProperties;\n className?: string;\n prefixCls?: string;\n icon?: IconProps['type'];\n alt?: string;\n src?: string;\n size?: 'large' | 'default' | 'small' | 'mini';\n shape?: 'square' | 'circle';\n onError?: (event: React.SyntheticEvent<HTMLImageElement, Event>) => boolean;\n}\n\nexport default React.forwardRef<HTMLSpanElement, AvatarProps>((props, ref) => {\n const {\n prefixCls = 'w-avatar',\n shape = 'circle',\n size = 'default',\n className,\n src,\n alt,\n icon,\n onError = noop,\n ...resetProps\n } = props;\n let children = props.children;\n const [isImgExist, setIsImgExist] = useState(true);\n const cls = [\n prefixCls,\n className,\n size ? `${prefixCls}-${size}` : null,\n shape ? `${prefixCls}-${shape}` : null,\n src ? `${prefixCls}-image` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n useEffect(() => {\n setIsImgExist(true);\n }, [props.src]);\n\n if (isImgExist && src) {\n children = (\n <img\n src={src}\n alt={alt}\n onError={(evn) => {\n const errorFlag = onError ? onError(evn) : undefined;\n if (errorFlag !== false) {\n setIsImgExist(false);\n }\n }}\n />\n );\n } else if (icon && typeof icon === 'string') {\n children = <Icon type={icon} />;\n } else if (icon && React.isValidElement(icon)) {\n children = icon;\n }\n return (\n <span {...resetProps} className={cls} ref={ref}>\n {children}\n </span>\n );\n});\n","/**\n * 获取当前滚动条所在位置\n */\nexport function getScrollTop() {\n let scrollTop = 0;\n if (document && document.documentElement && document.documentElement.scrollTop) {\n scrollTop = document.documentElement.scrollTop;\n } else if (document.body) {\n scrollTop = document.body.scrollTop;\n }\n return scrollTop;\n}\n\n/**\n * TODO\n * @param {*} position 滚动到何处\n * @param {*} step 步长\n * @param {*} current 滚动条当前位置\n */\nexport function scrollToAnimate(position: number = 0, step: number = 100, current: number = 0) {\n let start = 0;\n const timer = setInterval(() => {\n if (current - start >= position) {\n start += step;\n if (current - start >= position) {\n window.scrollTo(0, current - start);\n } else {\n window.scrollTo(0, position);\n }\n } else {\n clearInterval(timer);\n }\n }, 0);\n}\n/**\n * 获取滚动条位置百分比\n */\nexport function getScrollPercent(offsetTop: number = 0) {\n let percent = 0;\n if (offsetTop < getScrollTop()) {\n percent = Math.round(\n ((getScrollTop() - offsetTop) / (document.body.scrollHeight - offsetTop - window.innerHeight)) * 100,\n );\n }\n return percent > 100 ? 100 : percent;\n}\n","import React, { useState, useEffect } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport { getScrollPercent, getScrollTop, scrollToAnimate } from './utils';\nimport './style/index.less';\n\nexport interface BackTopProps extends IProps, HTMLDivProps {\n offsetTop?: number;\n clickable?: boolean;\n content?: JSX.Element | string;\n fixed?: boolean;\n /**\n * 滚动距离多少时显示组件\n */\n showBelow?: number;\n speed?: number;\n}\n\nexport interface IBackTopState {\n percent: number;\n current: number;\n}\n\nexport default React.forwardRef<HTMLDivElement, BackTopProps>((props, ref) => {\n const {\n prefixCls = 'w-back-top',\n className,\n content,\n children,\n offsetTop = 0,\n fixed = true,\n speed = 100,\n showBelow = 1,\n clickable = true,\n ...other\n } = props;\n const topShowBelow = !fixed ? 0 : showBelow || 0;\n const [percent, setPercent] = useState(0);\n const [current, setCurrent] = useState(0);\n const visible = percent >= topShowBelow;\n const cls = [\n prefixCls,\n className,\n !fixed ? 'no-fixed' : null,\n visible ? `${prefixCls}-show` : null,\n !visible ? `${prefixCls}-hide` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n useEffect(() => {\n window && window.addEventListener('scroll', onScroll);\n return function () {\n window && window.removeEventListener('scroll', onScroll);\n };\n });\n function onScroll() {\n setPercent(getScrollPercent(offsetTop));\n setCurrent(getScrollTop());\n }\n function scrollToTop() {\n if (typeof offsetTop === 'number' && typeof speed === 'number' && typeof current === 'number') {\n scrollToAnimate(offsetTop, speed, current);\n }\n }\n return (\n <div onClick={() => clickable && scrollToTop()} className={cls} {...other} ref={ref}>\n {content}\n {typeof children !== 'function' ? children : children({ percent, current, scrollToTop: scrollToTop })}\n </div>\n );\n});\n","import React from 'react';\nimport { IProps, HTMLSpanProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface BadgeProps extends IProps, HTMLSpanProps {\n color?: string;\n dot?: boolean;\n processing?: boolean;\n max?: number;\n count?: number;\n}\n\nexport default React.forwardRef<HTMLSpanElement, BadgeProps>((props, ref) => {\n const {\n prefixCls = 'w-badge',\n className,\n style = {},\n color,\n max = 99,\n dot = false,\n processing = false,\n count,\n children,\n ...other\n } = props;\n const supProps = {\n className: [!dot ? `${prefixCls}-count` : null, dot ? 'dot' : null].filter(Boolean).join(' ').trim(),\n style: {},\n };\n const cls = [\n className,\n prefixCls,\n !children ? 'nowrap' : null,\n !children ? `${prefixCls}-status` : null,\n processing ? `${prefixCls}-processing` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n const warpperProps: HTMLSpanProps = {};\n if (count || count === 0) {\n supProps.style = { backgroundColor: color, ...style };\n } else {\n warpperProps.style = style || {};\n }\n return (\n <span className={cls} {...other} {...warpperProps} ref={ref}>\n {color && <span className={`${prefixCls}-dot`} style={{ backgroundColor: color }} />}\n {children}\n {count !== 0 && !color && <sup {...supProps}>{!dot && count && max && count > max ? `${max}+` : count}</sup>}\n </span>\n );\n});\n","import React, { Fragment } from 'react';\nimport { IProps } from '@uiw/utils';\nimport './style/item.less';\n\ntype ElementTag<T = any> = T extends HTMLElement ? React.HTMLAttributes<T> : T;\n\nexport interface BreadcrumbItemProps<T = any> extends IProps, ElementTag {\n tagName?: T extends HTMLElement ? keyof JSX.IntrinsicElements : T;\n separator?: JSX.Element | string;\n active?: boolean;\n 'data-separator'?: JSX.Element | string;\n}\n\ntype RefElement<T = HTMLSpanElement> = T extends HTMLElement ? T : never;\n\nconst BreadcrumbItem = React.forwardRef<RefElement, BreadcrumbItemProps>((props, ref) => {\n const { prefixCls = 'w-breadcrumb', className, tagName: TagName = 'span', active, separator, ...other } = props;\n const isElm = React.isValidElement(separator);\n const cls = [\n `${prefixCls}-item`,\n className,\n active ? 'active' : null,\n !separator ? 'no-separator' : null,\n isElm ? 'no-before' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n const otherProps = { className: cls, ...other };\n if (!isElm) {\n otherProps['data-separator'] = separator;\n }\n return React.createElement(\n TagName,\n {\n ...otherProps,\n ref,\n },\n <Fragment>\n {isElm && <span className={`${prefixCls}-separator`}>{separator}</span>}\n {props.children}\n </Fragment>,\n );\n});\n\nexport default BreadcrumbItem;\n","import React from 'react';\nimport { HTMLDivProps } from '@uiw/utils';\nimport Item from './Item';\nimport './style/index.less';\n\nexport interface BreadcrumbProps extends HTMLDivProps {\n style?: React.CSSProperties;\n className?: string;\n prefixCls?: string;\n separator?: JSX.Element | string;\n}\n\nconst Breadcrumb = React.forwardRef<HTMLDivElement, BreadcrumbProps>((props, ref) => {\n const { prefixCls = 'w-breadcrumb', className, separator = '/', ...other } = props;\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return (\n <div {...{ className: cls, ...other }} ref={ref}>\n {React.Children.map(props.children, (element: any) => {\n return React.cloneElement(element, Object.assign({ separator }, element.props, {}));\n })}\n </div>\n );\n});\ntype Breadcrumb = typeof Breadcrumb & {\n Item: typeof Item;\n};\n\n(Breadcrumb as Breadcrumb).Item = Item;\n\nexport default Breadcrumb as Breadcrumb;\n","import Breadcrumb from './Breadcrumb';\n\nexport * from './Item';\nexport * from './Breadcrumb';\n\nexport default Breadcrumb;\n","import React from 'react';\nimport { HTMLDivProps, IProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface ButtonGroupProps extends IProps, HTMLDivProps {\n vertical?: boolean;\n}\n\nexport default React.forwardRef<HTMLDivElement, ButtonGroupProps>((props, ref) => {\n const { prefixCls = 'w-btn-group', vertical = false, children, className, ...resetProps } = props;\n\n const cls = [prefixCls, className, vertical && `${prefixCls}-vertical`].filter(Boolean).join(' ').trim();\n\n return (\n <div className={cls} {...resetProps} ref={ref}>\n {children}\n </div>\n );\n});\n","const canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction fallback(context: HTMLElement, node: HTMLElement) {\n if (node) {\n do {\n if (node === context) return true;\n } while ((node = node.parentNode as HTMLElement));\n }\n\n return false;\n}\n\nfunction isDOM(item: Node) {\n return typeof HTMLElement === 'function'\n ? item instanceof HTMLElement\n : item && typeof item === 'object' && item.nodeType === 1 && typeof item.nodeName === 'string';\n}\n\nconst contains = (() => {\n // HTML DOM and SVG DOM may have different support levels,\n // so we need to check on context instead of a document root element.\n return canUseDOM\n ? function (context: HTMLElement, node: HTMLElement) {\n if (context && context.contains && typeof context.contains === 'function' && isDOM(node)) {\n return context.contains(node);\n }\n if (context && context.compareDocumentPosition && isDOM(node)) {\n return context === node || !!(context.compareDocumentPosition(node) && 16);\n }\n return fallback(context, node);\n }\n : fallback;\n})();\n\nexport default contains;\n","export interface BordersSize extends CSSStyleDeclaration {\n [key: string]: any;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles: BordersSize, axis: 'x' | 'y'): number {\n const sideA: string = axis === 'x' ? 'Left' : 'Top';\n const sideB: string = sideA === 'Left' ? 'Right' : 'Bottom';\n return parseFloat(styles[`border${sideA}Width`]) + parseFloat(styles[`border${sideB}Width`]);\n}\n","export default typeof window !== 'undefined' && typeof document !== 'undefined';\n","import isBrowser from './isBrowser';\n\ninterface Document {\n documentMode?: any;\n}\n\ninterface Window {\n MSInputMethodContext?: any;\n}\n\nconst isIE11 = isBrowser && !!((window as Window).MSInputMethodContext && (document as Document).documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version: number) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import isIE from './isIE';\n\ninterface BodyElement extends HTMLBodyElement {\n [key: string]: any;\n}\n\ninterface IHTMLElement extends HTMLElement {\n [key: string]: any;\n}\n\ninterface ComputedStyle extends CSSStyleDeclaration {\n [key: string]: any;\n}\n\nfunction getSize(axis: 'Height' | 'Width', body: BodyElement, html: IHTMLElement, computedStyle: ComputedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? parseInt(html[`offset${axis}`], 10) +\n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`], 10) +\n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`], 10)\n : 0,\n );\n}\n\nexport type WindowSize = { height?: number; width?: number };\n\nexport default function getWindowSizes(document: HTMLDocument): WindowSize {\n const body = document.body as HTMLBodyElement;\n const html = document.documentElement as HTMLElement;\n const computedStyle = getComputedStyle(html) as CSSStyleDeclaration;\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","import { getScroll } from '@uiw/utils';\nimport getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes, { WindowSize } from './getWindowSizes';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\nexport interface IBoundingClientRect {\n left: number;\n right: number;\n top: number;\n bottom: number;\n width: number;\n height: number;\n offsetLeft?: number;\n offsetTop?: number;\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element: HTMLElement) {\n let rect = {} as IBoundingClientRect;\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, true);\n const scrollLeft = getScroll(element);\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n // eslint-disable-next-line\n } catch (e) {}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n } as IBoundingClientRect;\n\n // subtract scrollbar size from sizes\n const sizes: WindowSize = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument!) : {};\n const width = sizes.width || element.clientWidth || result.right - result.left;\n const height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n result.offsetLeft = element.offsetLeft || element.scrollLeft || 0;\n result.offsetTop = element.offsetTop || element.offsetTop || 0;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result) as IBoundingClientRect;\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets: ClientRect): ClientRect {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(\n element: HTMLElement,\n property?: keyof CSSStyleDeclaration,\n): CSSStyleDeclaration | any {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument!.defaultView;\n const css: CSSStyleDeclaration = (window as Window).getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","export type Sizes = {\n width: number;\n height: number;\n};\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element: HTMLElement): Sizes {\n let rect = element.getBoundingClientRect();\n // const window = element.ownerDocument.defaultView;\n // const styles = window.getComputedStyle(element);\n // const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n // const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result: Sizes = {\n width: element.offsetWidth || element.scrollWidth || rect.width || 0,\n height: element.offsetHeight || element.scrollHeight || rect.height || 0,\n };\n return result;\n}\n","import { getScroll } from '@uiw/utils';\nimport getBoundingClientRect, { IBoundingClientRect } from './util/getBoundingClientRect';\nimport getOuterSizes from './util/getOuterSizes';\nimport { OverlayStyl, OverlayTriggerProps, Placement } from './';\n\ntype GetStyleOptions = {\n trigger: HTMLElement | IBoundingClientRect;\n popup: HTMLElement | IBoundingClientRect;\n placement: OverlayStyl['placement'];\n usePortal: OverlayTriggerProps['usePortal'];\n autoAdjustOverflow: OverlayTriggerProps['autoAdjustOverflow'];\n};\n\nexport function getStyle(options: GetStyleOptions) {\n let { trigger: triggerDom, popup: popupDom, placement, usePortal, autoAdjustOverflow } = options || {};\n const sty = {\n left: 0,\n top: 0,\n placement,\n } as OverlayStyl;\n\n if (!triggerDom || !popupDom || !document) {\n return sty;\n }\n\n const winSizeHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n const winSizeWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n\n sty.placement = placement;\n const scrollTop = getScroll((triggerDom as HTMLElement).ownerDocument!.documentElement, true);\n const scrollLeft = getScroll((triggerDom as HTMLElement).ownerDocument!.documentElement);\n const trigger = {\n ...getBoundingClientRect(triggerDom as HTMLElement),\n ...getOuterSizes(triggerDom as HTMLElement),\n };\n const popup = {\n ...getBoundingClientRect(popupDom as HTMLElement),\n ...getOuterSizes(popupDom as HTMLElement),\n };\n\n const bottom = winSizeHeight - trigger.bottom;\n const right = winSizeWidth - trigger.left - trigger.width;\n\n sty.top = trigger.top + scrollTop;\n sty.left = trigger.left;\n\n if (!usePortal) {\n sty.top = trigger.offsetTop as number;\n sty.left = trigger.offsetLeft as number;\n }\n\n if (placement && /^(top)/.test(placement)) {\n sty.top -= popup.height;\n }\n if (placement && /^(right)/.test(placement)) {\n sty.left += trigger.width;\n }\n if (placement && /^(bottom)/.test(placement)) {\n sty.top += trigger.height;\n }\n if (placement && /^(left)/.test(placement)) {\n sty.left -= popup.width;\n }\n switch (sty.placement) {\n case 'bottomLeft':\n case 'topLeft':\n break;\n case 'bottom':\n // eslint-disable-next-line\n case 'top':\n sty.left = sty.left - (popup.width - trigger.width) / 2;\n break;\n case 'bottomRight':\n case 'topRight':\n sty.left = sty.left + scrollLeft + trigger.width - popup.width;\n break;\n case 'rightTop':\n case 'leftTop':\n break;\n case 'right':\n // eslint-disable-next-line\n case 'left':\n sty.top = sty.top - (popup.height - trigger.height) / 2;\n break;\n case 'rightBottom':\n case 'leftBottom':\n sty.top = sty.top - popup.height + trigger.height;\n break;\n default:\n break;\n }\n if (autoAdjustOverflow) {\n if (placement && /^(top)/.test(placement) && trigger.top < popup.height && bottom > popup.height) {\n sty.placement = placement.replace(/^top/, 'bottom') as Placement;\n sty.top = sty.top + popup.height + trigger.height;\n }\n if (placement && /^(bottom)/.test(placement) && bottom < popup.height && trigger.top > popup.height) {\n sty.placement = placement.replace(/^bottom/, 'top') as Placement;\n sty.top = sty.top - popup.height - trigger.height;\n }\n if (placement && /^(right)/.test(placement) && right < popup.width) {\n sty.placement = placement.replace(/^right/, 'left') as Placement;\n sty.left = sty.left - trigger.width - popup.width;\n }\n if (placement && /^(left)/.test(placement) && trigger.left < popup.width) {\n sty.placement = placement.replace(/^left/, 'right') as Placement;\n sty.left = sty.left + trigger.width + popup.width;\n }\n\n if (placement && /^(left|right)/.test(placement) && usePortal) {\n // Top\n if (\n (/(Top)$/.test(placement) && trigger.top < 0) ||\n (/(right|left)$/.test(placement) && trigger.top + trigger.height / 2 < popup.height / 2) ||\n (/(Bottom)$/.test(placement) && trigger.top + trigger.height < popup.height)\n ) {\n sty.top = scrollTop;\n }\n } else {\n // Top\n if (placement && /(Top)$/.test(placement) && trigger.top < 0) {\n sty.top -= trigger.top;\n }\n if (placement && /(Bottom)$/.test(placement) && trigger.bottom < popup.height) {\n // eslint-disable-next-line\n sty.top = sty.top + (popup.height - trigger.bottom);\n }\n if (placement && /(right|left)$/.test(placement) && trigger.bottom - trigger.height / 2 < popup.height / 2) {\n sty.top = sty.top + popup.height / 2 - (trigger.bottom - trigger.height / 2);\n }\n }\n // Bottom Public Part\n if (placement && /^(left|right)/.test(placement)) {\n if (/(Top)$/.test(placement) && bottom + trigger.height < popup.height) {\n sty.top = sty.top - (popup.height - bottom - trigger.height); // eslint-disable-line\n }\n if (/(right|left)$/.test(placement) && bottom + trigger.height / 2 < popup.height / 2) {\n sty.top = sty.top - (popup.height / 2 - bottom - trigger.height / 2); // eslint-disable-line\n }\n if (/(Bottom)$/.test(placement) && bottom < 0) {\n sty.top = sty.top + bottom; // eslint-disable-line\n }\n }\n\n if (placement && /^(top|bottom)/.test(placement) && usePortal) {\n // left\n if (\n (/(Left)$/.test(placement) && trigger.left < 0) ||\n (/(top|bottom)$/.test(placement) && trigger.left + trigger.width / 2 < popup.width / 2) ||\n (/(Right)$/.test(placement) && trigger.left + trigger.width < popup.width)\n ) {\n sty.left = scrollLeft;\n }\n // right\n if (/(top|bottom)$/.test(placement) && right + trigger.width / 2 < popup.width / 2) {\n sty.left = trigger.left + trigger.width + right - popup.width;\n }\n } else if (placement && /(top|bottom)$/.test(placement) && right + trigger.width / 2 < popup.width / 2) {\n sty.left = sty.left + (right + trigger.width / 2 - popup.width / 2); // eslint-disable-line\n }\n if (placement && /^(top|bottom)/.test(placement)) {\n if (/(Left)$/.test(placement) && trigger.width + right < popup.width) {\n sty.left = sty.left - (popup.width - trigger.width - right);\n }\n if (/(Right)$/.test(placement) && right < 0) {\n sty.left = sty.left + right; // eslint-disable-line\n }\n }\n }\n return sty;\n}\n","import React, { cloneElement, useEffect, useRef, useState, useImperativeHandle } from 'react';\nimport { IProps, noop } from '@uiw/utils';\nimport Overlay, { OverlayProps } from '@uiw/react-overlay';\nimport contains from './utils';\nimport { IBoundingClientRect } from './util/getBoundingClientRect';\nimport { getStyle } from './getStyle';\nimport './style/index.less';\n\nexport interface OverlayTriggerProps extends IProps, OverlayProps {\n onVisibleChange?: (isVisbale: boolean) => void;\n onEnter?: (node: HTMLElement, isAppearing: boolean) => void;\n overlay?: React.ReactNode | any;\n trigger?: 'click' | 'hover' | 'focus';\n usePortal?: boolean;\n isOpen?: boolean;\n disabled?: boolean;\n isOutside?: boolean;\n isClickOutside?: boolean;\n autoAdjustOverflow?: boolean;\n placement?: Placement;\n delay?: Delay;\n}\n\nexport interface OverlayTriggerState {\n show: boolean;\n trigger: OverlayTriggerProps['trigger'];\n overlayStyl: OverlayStyl;\n transitionName: OverlayProps['transitionName'];\n}\n\nexport type Delay =\n | number\n | {\n show?: number;\n hide?: number;\n };\n\nexport type Placement =\n | 'top'\n | 'topLeft'\n | 'topRight'\n | 'left'\n | 'leftTop'\n | 'leftBottom'\n | 'right'\n | 'rightTop'\n | 'rightBottom'\n | 'bottom'\n | 'bottomLeft'\n | 'bottomRight';\n\nexport type OverlayStyl = {\n placement: Placement;\n top: number;\n bottom: number;\n left: number;\n right: number;\n zIndex: number;\n};\n\ninterface ITriggerProps {\n onClick?: (e: MouseEvent) => void;\n onFocus?: (e: MouseEvent) => void;\n onMouseOver?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onMouseOut?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onMouseEnter?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onMouseLeave?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n}\n\nconst normalizeDelay = (delay?: Delay) => (delay && typeof delay === 'object' ? delay : { show: delay, hide: delay });\n\nexport type OverlayTriggerRef = {\n hide: () => void;\n show: () => void;\n};\n\nexport default React.forwardRef<OverlayTriggerRef, OverlayTriggerProps>((props, ref) => {\n const {\n className,\n\n prefixCls = 'w-overlay-trigger',\n usePortal = true,\n isOutside = false,\n isClickOutside = true,\n disabled = false,\n isOpen: _ = false,\n trigger = 'hover',\n placement = 'top',\n\n autoAdjustOverflow,\n transitionName,\n\n children,\n overlay,\n onVisibleChange = noop,\n onEnter = noop,\n ...other\n } = props;\n\n const zIndex = useRef<number>(999);\n const triggerRef = useRef<HTMLElement>();\n const popupRef = useRef<HTMLElement>();\n const timeoutRef = useRef<number[]>([]);\n const hoverStateRef = useRef<'show' | 'hide' | null>(null);\n const [isOpen, setIsOpen] = useState(!!props.isOpen);\n const [overlayStyl, setOverlayStyl] = useState<OverlayStyl>({\n placement,\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n zIndex: zIndex.current,\n });\n useImperativeHandle(ref, () => ({\n hide: () => hide(),\n show: () => show(),\n }));\n\n const child: any = React.Children.only(children);\n const overlayProps: OverlayProps = {\n ...other,\n placement,\n isOpen,\n dialogProps: {},\n };\n const triggerProps: ITriggerProps = {};\n\n function getChildProps() {\n if (child && React.isValidElement(child)) {\n return child.props;\n }\n return {};\n }\n\n useEffect(() => {\n if (isClickOutside && isOpen) {\n document && document.addEventListener('mousedown', handleClickOutside);\n window.addEventListener('resize', handleResize);\n }\n return () => {\n document && isClickOutside && document.removeEventListener('mousedown', handleClickOutside);\n window.removeEventListener('resize', handleResize);\n };\n }, [isOpen]);\n\n useEffect(() => {\n if (props.isOpen !== isOpen) {\n setIsOpen(!!props.isOpen);\n }\n }, [props.isOpen]);\n\n useEffect(() => {\n const styls = getStyle({\n placement: overlayStyl.placement || placement,\n trigger: triggerRef.current as HTMLElement | IBoundingClientRect,\n popup: popupRef.current as HTMLElement | IBoundingClientRect,\n usePortal,\n autoAdjustOverflow,\n });\n setOverlayStyl({ ...styls, zIndex: zIndex.current });\n onVisibleChange(isOpen);\n }, [isOpen]);\n\n const handleResize = () => {\n if (isOpen) {\n zIndex.current -= 1;\n setIsOpen(false);\n onVisibleChange && onVisibleChange(false);\n }\n };\n\n const handleClickOutside = (e: MouseEvent) => {\n const popNode = popupRef.current;\n const childNode = triggerRef.current;\n if (\n popNode &&\n childNode &&\n e.target &&\n !contains(popNode, e.target as HTMLElement) &&\n !contains(childNode, e.target as HTMLElement)\n ) {\n zIndex.current -= 1;\n setIsOpen(false);\n onVisibleChange && onVisibleChange(false);\n }\n };\n\n function clearTimeouts() {\n if (timeoutRef.current.length > 0) {\n for (const timeoutId of timeoutRef.current) {\n window.clearTimeout(timeoutId);\n }\n timeoutRef.current = [];\n }\n }\n function handleShow() {\n clearTimeouts();\n hoverStateRef.current = 'show';\n\n const delay = normalizeDelay(props.delay);\n\n if (!delay.show) {\n show();\n return;\n }\n const handle = window.setTimeout(() => {\n if (hoverStateRef.current === 'show') show();\n }, delay.show);\n timeoutRef.current.push(handle);\n }\n\n function handleHide(isOutside: boolean) {\n clearTimeouts();\n if (!isOutside && props.isOutside) return;\n hoverStateRef.current = 'hide';\n\n const delay = normalizeDelay(props.delay);\n\n if (!delay.hide) {\n hide();\n return;\n }\n\n const handle = window.setTimeout(() => {\n if (hoverStateRef.current === 'hide') hide();\n }, delay.hide);\n\n timeoutRef.current.push(handle);\n }\n\n // Simple implementation of mouseEnter and mouseLeave.\n // React's built version is broken: https://github.com/facebook/react/issues/4251\n // for cases when the trigger is disabled and mouseOut/Over can cause flicker\n // moving from one child element to another.\n function handleMouseOverOut(handler: Function, e: React.MouseEvent, relatedNative: 'fromElement' | 'toElement') {\n const target = e.currentTarget as HTMLElement;\n const related = (e.relatedTarget || (e.nativeEvent as any)[relatedNative]) as HTMLElement;\n let isOutside = true;\n if (\n (popupRef.current && contains(popupRef.current, related)) ||\n (triggerRef.current && contains(triggerRef.current, related))\n ) {\n isOutside = false;\n }\n if ((!related || related !== target) && !contains(target, related)) {\n handler(isOutside, e);\n }\n }\n\n function hide() {\n if (!isOpen) return;\n zIndex.current -= 1;\n setIsOpen(false);\n }\n\n function show() {\n if (isOpen) return;\n zIndex.current += 1;\n setIsOpen(true);\n }\n\n function handleEnter(node: HTMLElement, isAppearing: boolean) {\n onEnter && onEnter(node, isAppearing);\n const styls = getStyle({\n placement: overlayStyl.placement || placement,\n trigger: triggerRef.current as HTMLElement | IBoundingClientRect,\n popup: popupRef.current as HTMLElement | IBoundingClientRect,\n usePortal,\n autoAdjustOverflow,\n });\n setOverlayStyl({ ...styls, zIndex: zIndex.current });\n }\n\n if (trigger === 'click' && !disabled) {\n triggerProps.onClick = (e) => {\n const { onClick } = getChildProps() as any;\n isOpen ? hide() : show();\n if (onClick) onClick(e, !isOpen);\n };\n }\n if (trigger === 'focus' && !disabled) {\n triggerProps.onFocus = () => handleShow();\n }\n\n if (trigger === 'hover' && !disabled) {\n triggerProps.onMouseOver = triggerProps.onMouseEnter = (e) => {\n handleMouseOverOut(handleShow, e, 'fromElement');\n };\n triggerProps.onMouseOut = triggerProps.onMouseLeave = (e) => {\n handleMouseOverOut(handleHide, e, 'toElement');\n };\n if (overlayProps.dialogProps) {\n overlayProps.dialogProps!.onMouseLeave = (e) => {\n handleMouseOverOut(handleHide, e, 'toElement');\n };\n }\n }\n overlayProps.style = { ...overlayProps.style, ...overlayStyl };\n return (\n <React.Fragment>\n {cloneElement(\n child,\n Object.assign({}, child.props, {\n ...triggerProps,\n ref: triggerRef,\n className: [child.props.className, disabled ? `${prefixCls}-disabled` : null]\n .filter(Boolean)\n .join(' ')\n .trim(),\n }),\n )}\n <Overlay\n {...overlayProps}\n style={{ ...overlayProps.style, ...overlayStyl }}\n onEnter={handleEnter}\n className={[prefixCls, className, overlayStyl.placement].filter(Boolean).join(' ').trim()}\n usePortal={usePortal}\n transitionName={transitionName}\n isOpen={isOpen}\n hasBackdrop={false}\n >\n {cloneElement(\n overlay,\n Object.assign({\n ...overlay.props,\n ref: popupRef,\n className: [overlay.props && overlay.props.className, placement].filter(Boolean).join(' ').trim(),\n }),\n )}\n </Overlay>\n </React.Fragment>\n );\n});\n","import React from 'react';\nimport OverlayTrigger, { OverlayTriggerProps } from '@uiw/react-overlay-trigger';\nimport Confirm from './Confirm';\nimport './style/index.less';\n\nexport interface PopoverProps extends OverlayTriggerProps {\n content?: React.ReactNode;\n visibleArrow?: boolean;\n}\n\nexport default class Popover extends React.Component<PopoverProps> {\n static Confirm = Confirm;\n public static defaultProps: PopoverProps = {\n prefixCls: 'w-popover',\n placement: 'top',\n usePortal: true,\n isOpen: false,\n visibleArrow: true,\n };\n renderArrow = () => {\n const { prefixCls } = this.props;\n return (\n <div className={`${prefixCls}-arrow`}>\n <svg viewBox=\"0 0 30 30\">\n <path\n fillOpacity=\"0.2\"\n d=\"M8.11 6.302c1.015-.936 1.887-2.922 1.887-4.297v26c0-1.378-.868-3.357-1.888-4.297L.925 17.09c-1.237-1.14-1.233-3.034 0-4.17L8.11 6.302z\"\n />\n <path\n fill=\"#fff\"\n d=\"M8.787 7.036c1.22-1.125 2.21-3.376 2.21-5.03V0v30-2.005c0-1.654-.983-3.9-2.21-5.03l-7.183-6.616c-.81-.746-.802-1.96 0-2.7l7.183-6.614z\"\n />\n </svg>\n </div>\n );\n };\n render() {\n const { prefixCls, className, content, visibleArrow, ...other } = this.props;\n const cls = [prefixCls, className, !visibleArrow ? 'no-arrow' : null].filter(Boolean).join(' ').trim();\n return (\n <OverlayTrigger\n {...other}\n overlay={\n <div className={cls}>\n {visibleArrow && this.renderArrow()}\n <div className={`${prefixCls}-inner`}>{this.props.content}</div>\n </div>\n }\n >\n {typeof this.props.children === 'object' && (this.props.children as JSX.Element).type.name !== 'Icon' ? (\n this.props.children\n ) : (\n <span style={{ display: 'block', writingMode: 'vertical-rl' }}>{this.props.children}</span>\n )}\n </OverlayTrigger>\n );\n }\n}\n","import React, { useState } from 'react';\nimport Popover, { PopoverProps } from './';\nimport './style/index.less';\nimport Button from '@uiw/react-button';\nimport Icon from '@uiw/react-icon';\n\ninterface Confirm {\n trigger?: PopoverProps['trigger'];\n placement?: PopoverProps['placement'];\n children?: React.ReactNode;\n visibleArrow?: PopoverProps['visibleArrow'];\n onConfirm?: () => void;\n confirmText?: string;\n title?: React.ReactNode;\n cancelText?: string;\n}\n\nexport default function Confirm(props: Confirm) {\n const {\n trigger = 'click',\n placement = 'top',\n confirmText = 'Yes',\n title,\n cancelText = 'No',\n visibleArrow,\n children,\n onConfirm,\n } = props;\n const [isOpen, setIsOpen] = useState(false);\n return (\n <Popover\n isOpen={isOpen}\n visibleArrow={visibleArrow}\n content={\n <div style={{ padding: '12px 16px', position: 'relative' }}>\n <Icon\n type=\"information\"\n style={{ position: 'absolute', top: 13.5, fontSize: 14, transform: 'rotate(180deg)', color: '#faad14' }}\n />\n <div style={{ paddingLeft: 20 }}>\n <div style={{ fontSize: 14 }}>{title}</div>\n <div style={{ position: 'relative', bottom: 0, marginTop: 12, display: 'flex', justifyContent: 'end' }}>\n <Button size=\"small\" onClick={() => setIsOpen(false)}>\n {cancelText}\n </Button>\n <Button\n size=\"small\"\n type=\"primary\"\n style={{ marginLeft: 10 }}\n onClick={() => {\n onConfirm?.();\n setIsOpen(false);\n }}\n >\n {confirmText}\n </Button>\n </div>\n </div>\n </div>\n }\n trigger={trigger}\n placement={placement}\n >\n <div onClick={() => setIsOpen(true)}>{children}</div>\n </Popover>\n );\n}\n","import React, { useState, useMemo } from 'react';\nimport Input, { InputProps } from './';\n\ninterface InputNumberProps extends InputProps {\n min?: number;\n max?: number;\n step?: number;\n overLimitColor?: string;\n formatter?: (value: number) => string;\n parser?: (value: number) => number;\n keyboard?: boolean;\n}\n\nexport default React.forwardRef<HTMLInputElement, InputNumberProps>((props, ref) => {\n const {\n className,\n min,\n max,\n step,\n overLimitColor,\n keyboard = false,\n formatter,\n prefixCls = 'w-input-number',\n ...otherProps\n } = props;\n\n const value = useMemo(() => Number.parseFloat((props.value || 0)?.toString()), [props.value]);\n const [isOverLimit, isOverLimitSet] = useState(overLimitComp(value));\n\n function overLimitComp(value: number) {\n if (typeof min === 'number' && value < min) return true;\n if (typeof max === 'number' && value > max) return true;\n return false;\n }\n\n const onChange = (v: React.ChangeEvent<HTMLInputElement>) => {\n const isOverLimit = overLimitComp(Number.parseFloat(v.target.value));\n isOverLimitSet(isOverLimit);\n\n props.onChange?.(v);\n };\n\n const overLimitProps = useMemo(() => {\n if (!overLimitColor) return { min, max };\n }, []);\n\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n const inputStyle = useMemo(() => (isOverLimit ? { color: overLimitColor?.toString() } : undefined), [isOverLimit]);\n\n return (\n <Input\n {...otherProps}\n className={cls}\n type=\"number\"\n inputStyle={inputStyle}\n onChange={onChange}\n step={step}\n {...overLimitProps}\n />\n );\n});\n","import React, { useEffect, useImperativeHandle } from 'react';\nimport Icon, { IconProps } from '@uiw/react-icon';\nimport { IProps, HTMLInputProps } from '@uiw/utils';\nimport './style/input.less';\nexport * from './InputNumber';\nexport { default as InputNumber } from './InputNumber';\n\nexport interface InputProps extends IProps, Omit<HTMLInputProps, 'size'> {\n preIcon?: IconProps['type'];\n addonAfter?: React.ReactNode;\n size?: 'large' | 'default' | 'small';\n inputStyle?: React.CSSProperties;\n}\n\nexport default React.forwardRef<HTMLInputElement, InputProps>((props, ref) => {\n const {\n prefixCls = 'w-input',\n className,\n style,\n size = 'default',\n type = 'text',\n preIcon = null,\n addonAfter,\n inputStyle,\n ...otherProps\n } = props;\n const inputRef = React.useRef<HTMLInputElement>(null);\n const addonRef = React.useRef<HTMLSpanElement>(null);\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(ref, () => inputRef.current);\n const cls = [\n prefixCls,\n className,\n size ? `${prefixCls}-${size}` : null,\n addonAfter ? `${prefixCls}-addon` : null,\n props.disabled ? 'disabled' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n useEffect(() => {\n computedInputPadding();\n });\n\n function computedInputPadding() {\n if (addonRef.current && inputRef.current) {\n const input = window && window.getComputedStyle(addonRef.current, null);\n inputRef.current.style.paddingRight = `${\n addonRef.current.clientWidth + parseInt(input.right as string, 10) * 2\n }px`;\n }\n }\n return (\n <div className={cls} style={style}>\n <Icon type={preIcon} />\n <input\n ref={inputRef}\n type={type}\n autoComplete=\"off\"\n {...otherProps}\n style={inputStyle}\n className={`${prefixCls}-inner`}\n />\n {addonAfter && (\n <span className={`${prefixCls}-addon-after`} ref={addonRef}>\n {addonAfter}\n </span>\n )}\n </div>\n );\n});\n","import React, { useMemo, useRef } from 'react';\nimport { IProps, HTMLDivProps, HTMLLiProps } from '@uiw/utils';\nimport './style/time-picker.less';\n\nexport interface TimePickerPanelProps extends IProps, HTMLDivProps {\n onSelected?: (\n type: TimePickerPanelProps['type'],\n num: number,\n disableds: number[],\n date: TimePickerPanelProps['date'],\n ) => void;\n count?: number;\n hideDisabled?: boolean;\n disabledHours?: (\n num: number,\n type: TimePickerPanelProps['type'],\n date: TimePickerPanelProps['date'],\n ) => boolean | undefined;\n disabledMinutes?: (\n num: number,\n type: TimePickerPanelProps['type'],\n date: TimePickerPanelProps['date'],\n ) => boolean | undefined;\n disabledSeconds?: (\n num: number,\n type: TimePickerPanelProps['type'],\n date: TimePickerPanelProps['date'],\n ) => boolean | undefined;\n type?: 'Hours' | 'Minutes' | 'Seconds';\n date?: Date;\n}\n\nexport default function TimePickerPanel(props: TimePickerPanelProps) {\n const {\n prefixCls = 'w-timepicker',\n className,\n count = 24,\n date,\n type = 'Hours',\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n hideDisabled,\n onSelected,\n ...other\n } = props;\n const disableds = useRef<number[]>([]);\n function getMaybeNumber() {\n if (date && type) {\n return new Date(date)[`get${type}` as 'getHours' | 'getMinutes' | 'getSeconds']();\n }\n return 0;\n }\n function handleClick(num: number, e: React.MouseEvent<HTMLLIElement>) {\n if (!date) return;\n const currentDate = new Date(date);\n currentDate[`set${type}` as 'setHours' | 'setMinutes' | 'setSeconds'](num);\n onSelected && onSelected(type, num, disableds.current, currentDate);\n }\n function getDisabledItem(num: number) {\n const disabled = props[`disabled${type}` as 'disabledHours' | 'disabledMinutes' | 'disabledSeconds'];\n if (disabled) {\n return disabled(num, type, new Date(date!));\n }\n return false;\n }\n function getItemInstance(tag: HTMLLIElement) {\n if (tag && tag.parentNode && tag.dataset['index']) {\n const offsetTop = Number(tag.dataset['index']) * tag.clientHeight;\n if (tag.parentNode.parentNode) {\n (tag.parentNode.parentNode as HTMLDivElement).scrollTop = offsetTop;\n }\n }\n }\n const data = useMemo(() => {\n return [...Array(count)]\n .map((_, idx) => {\n const disabled = getDisabledItem(idx);\n if (disabled) disableds.current.push(idx);\n return {\n count: idx,\n disabled: getDisabledItem(idx),\n };\n })\n .filter((item) => (hideDisabled && item.disabled ? false : true));\n }, [hideDisabled]);\n\n return (\n <div className={`${prefixCls}-spinner`} {...other}>\n <ul>\n {data.map((item, idx) => {\n const liProps = {} as HTMLLiProps;\n if (!item.disabled) {\n liProps.onClick = (e) => handleClick(item.count, e);\n }\n const currentCount = getMaybeNumber();\n return (\n <li\n key={idx}\n data-index={currentCount === item.count ? idx : undefined}\n ref={(tag) => tag && getItemInstance(tag)}\n {...liProps}\n className={[\n item.disabled ? 'disabled' : null,\n currentCount === item.count ? 'selected' : null,\n hideDisabled && item.disabled ? 'hide' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n {item.count < 10 ? `0${item.count}` : item.count}\n </li>\n );\n })}\n </ul>\n </div>\n );\n}\n","import React from 'react';\nimport { IProps } from '@uiw/utils';\nimport TimePanel, { TimePickerPanelProps } from './Panel';\nimport './style/time-picker.less';\n\nexport interface TimePickerTimeProps extends IProps, TimePickerPanelProps {\n precision?: Precision;\n}\n\nexport type Precision = 'hour' | 'minute' | 'second';\n\nexport function TimePickerTime(props: TimePickerTimeProps) {\n const { prefixCls = 'w-timepicker', className, precision = 'second', ...other } = props;\n return (\n <div className={[prefixCls, className].filter(Boolean).join(' ').trim()}>\n {/^(second|minute|hour)$/.test(precision as Precision) && <TimePanel type=\"Hours\" count={24} {...other} />}\n {/^(second|minute)$/.test(precision as Precision) && <TimePanel type=\"Minutes\" count={60} {...other} />}\n {/^(second)$/.test(precision as Precision) && <TimePanel type=\"Seconds\" count={60} {...other} />}\n </div>\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport Popover, { PopoverProps } from '@uiw/react-popover';\nimport Input, { InputProps } from '@uiw/react-input';\nimport Button from '@uiw/react-button';\nimport { IProps } from '@uiw/utils';\nimport formatter from '@uiw/formatter';\nimport { TimePickerTime, TimePickerTimeProps } from './Time';\nimport './style/index.less';\n\nexport * from './Panel';\nexport * from './Time';\n\nexport interface TimePickerProps extends IProps, Omit<InputProps, 'onChange' | 'value'> {\n value?: Date;\n format?: string;\n popoverProps?: PopoverProps;\n disabledHours?: TimePickerTimeProps['disabledHours'];\n precision?: TimePickerTimeProps['precision'];\n disabledMinutes?: TimePickerTimeProps['disabledMinutes'];\n disabledSeconds?: TimePickerTimeProps['disabledSeconds'];\n hideDisabled?: TimePickerTimeProps['hideDisabled'];\n allowClear?: boolean;\n disabled?: boolean;\n onChange?: (\n dataStr?: string,\n date?: Date | '',\n type?: TimePickerTimeProps['type'],\n num?: number,\n disableds?: number[],\n ) => void;\n}\n\nexport default function TimePicker(props: TimePickerProps) {\n const {\n prefixCls = 'w-timepicker',\n className,\n disabled,\n value,\n format = 'HH:mm:ss',\n popoverProps,\n allowClear = true,\n onChange,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n hideDisabled,\n precision,\n ...inputProps\n } = props;\n const [date, setDate] = useState(props.value);\n useEffect(() => setDate(props.value), [props.value]);\n const timeProps = {\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n hideDisabled,\n precision,\n };\n const inputValue = date ? formatter(format, new Date(date)) : '';\n const datePickerTime = date || new Date();\n const _props: InputProps = { ...inputProps, value: inputValue };\n if (allowClear && inputValue !== '' && !!inputValue) {\n _props.addonAfter = (\n <Button\n className={`${prefixCls}-close-btn`}\n icon=\"close\"\n disabled={props.disabled}\n onClick={() => {\n setDate(undefined);\n onChange && onChange();\n }}\n size={props.size}\n basic\n type=\"light\"\n />\n );\n }\n return (\n <Popover\n trigger=\"focus\"\n placement=\"bottomLeft\"\n autoAdjustOverflow\n visibleArrow={false}\n {...popoverProps}\n content={\n <TimePickerTime\n className={`${prefixCls}-popover`}\n {...timeProps}\n date={datePickerTime}\n onSelected={(type, num, disableds, currentDate) => {\n setDate(new Date(currentDate!));\n const dataStr = currentDate ? formatter(format, currentDate) : '';\n onChange && onChange(dataStr, currentDate, type, num, disableds);\n }}\n />\n }\n >\n <Input\n placeholder=\"请选择时间\"\n readOnly\n disabled={disabled}\n {..._props}\n className={[`${prefixCls}-input`, className].filter(Boolean).join(' ').trim()}\n />\n </Popover>\n );\n}\n","import React, { useMemo } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport './style/day.less';\n\nfunction isValidDate(date: Date) {\n return date instanceof Date && !isNaN(date.getTime());\n}\n\nexport interface DatePickerDayDateSource {\n day?: number;\n month?: number;\n year?: number;\n}\n\nfunction classnames(obj: Record<string, boolean>) {\n return Object.keys(obj || {})\n .map((keyName) => (obj[keyName] ? keyName : null))\n .filter(Boolean)\n .join(' ')\n .trim();\n}\n\nexport interface DatePickerDayProps extends IProps, HTMLDivProps {\n weekday?: string[];\n weekTitle?: string[];\n panelDate?: Date;\n date?: Date;\n today?: Date;\n prefixCls?: string;\n onSelectDay?: (selectedDate?: Date, dateSource?: DatePickerDayDateSource) => void;\n renderDay?: (day: number, props: DatePickerDayRenderDay & DatePickerDayRenderDayProps) => React.ReactNode;\n disabledDate?: (cellDate: Date, props: DatePickerDayRenderDay & DatePickerDayRenderDayProps) => boolean;\n}\n\nexport interface PickerDayState {\n selected?: Date;\n panelDate?: Date;\n}\n\nexport type DatePickerDayRenderDay = {\n end: boolean;\n prev: boolean;\n today: boolean;\n selected: boolean;\n next: boolean;\n disabled: boolean;\n date?: Date;\n};\n\nexport type DatePickerDayRenderDayProps = {\n key?: number;\n date?: Date;\n onClick?: (cellDate: Date, event: React.MouseEvent<HTMLDivProps>) => void;\n};\n\nexport type DayRectProps = {\n col: number;\n row: number;\n index: number;\n date?: DatePickerDayProps['date'];\n today?: DatePickerDayProps['today'];\n disabledDate?: DatePickerDayProps['disabledDate'];\n renderDay?: DatePickerDayProps['renderDay'];\n panelDate?: DatePickerDayProps['panelDate'];\n onSelectDay?: DatePickerDayProps['onSelectDay'];\n};\n\nexport function DayRect(props: DayRectProps) {\n const {\n date: selectedDate,\n row,\n col,\n index,\n today,\n panelDate,\n disabledDate,\n renderDay,\n onSelectDay,\n ...other\n } = props;\n const cls: Omit<DatePickerDayRenderDay, 'date'> = {\n end: col === 0 || col === 6,\n prev: false,\n today: false,\n selected: false,\n next: false,\n disabled: false,\n };\n let date = panelDate;\n if (!date || !isValidDate(date)) date = new Date();\n const year = date.getFullYear();\n const month = date.getMonth();\n const week = useMemo(() => new Date(new Date(date!).setDate(1)).getDay(), [date.toDateString()]);\n const lastDay = useMemo(() => new Date(year, month === 0 ? 12 : month + 1, 0).getDate(), [date.toDateString()]);\n let day = index;\n if (date) {\n day = day - week + 1;\n if (day < 1) {\n cls.prev = true;\n }\n if (day > lastDay) {\n cls.next = true;\n }\n }\n let cellDate = new Date(new Date(date!).setDate(day));\n if (today && today.toDateString() === cellDate.toDateString()) {\n cls.today = true;\n }\n if (selectedDate && selectedDate.toDateString() === cellDate.toDateString()) {\n cls.selected = true;\n }\n const divProps: React.HTMLAttributes<HTMLDivElement> = {\n onClick: () => {\n const cellMonth = cellDate.getMonth();\n onSelectDay &&\n onSelectDay!(cellDate, {\n year: cellDate.getFullYear(),\n month: cellMonth === 0 ? 12 : cellMonth + 1,\n day: cellDate.getDate(),\n });\n },\n };\n if (disabledDate && disabledDate(cellDate, { ...props, ...cls })) {\n cls.disabled = true;\n delete divProps.onClick;\n }\n return (\n <div className={classnames(cls)} {...other} {...divProps}>\n {renderDay ? (\n renderDay(cellDate.getDate(), { ...props, ...cls, date: cellDate })\n ) : (\n <div>{cellDate.getDate()}</div>\n )}\n </div>\n );\n}\n\nconst WEEKTITLE = ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];\nconst WEEKDAY = ['日', '一', '二', '三', '四', '五', '六'];\n\nexport function DatePickerDay(props: DatePickerDayProps) {\n const {\n prefixCls = 'w-datepicker',\n className,\n weekday = WEEKDAY,\n weekTitle = WEEKTITLE,\n date,\n today,\n panelDate,\n disabledDate,\n renderDay,\n onSelectDay,\n ...other\n } = props;\n\n const weekdayLabel = useMemo(\n () => (\n <div className={`${prefixCls}-weekday`}>\n {(weekday || []).map((week, idx) => (\n <div key={idx} className={classnames({ end: idx === 0 || idx === 6 })} title={weekTitle && weekTitle[idx]}>\n {week}\n </div>\n ))}\n </div>\n ),\n [prefixCls, weekday, weekTitle],\n );\n\n return (\n <div {...other} className={[prefixCls ? `${prefixCls}-body` : null, className].filter(Boolean).join(' ').trim()}>\n {weekdayLabel}\n <div className={[prefixCls ? `${prefixCls}-day-body` : null].filter(Boolean).join(' ').trim()}>\n {[...Array(6)].map((_, idx) => (\n <div key={idx} className={`${prefixCls}-week`}>\n {[...Array(7)].map((_, col) => (\n <DayRect\n date={date}\n today={today}\n disabledDate={disabledDate}\n renderDay={renderDay}\n panelDate={panelDate}\n key={col}\n col={col}\n row={idx}\n onSelectDay={(curDate, data) => {\n onSelectDay && onSelectDay(curDate, data);\n }}\n index={idx * 7 + col}\n />\n ))}\n </div>\n ))}\n </div>\n </div>\n );\n}\n","import React from 'react';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport './style/year-month.less';\n\nexport interface DatePickerMonthProps extends IProps, HTMLDivProps {\n panelDate?: Date;\n onSelected?: (month: number, paging?: boolean) => void;\n monthLabel?: React.ReactNode[];\n}\n\nexport function DatePickerMonth(props: DatePickerMonthProps) {\n const {\n prefixCls = 'w-datepicker',\n className,\n panelDate = new Date(),\n monthLabel,\n onSelected = noop,\n ...other\n } = props;\n return (\n <div className={[prefixCls ? `${prefixCls}-month` : null, className].filter(Boolean).join(' ').trim()} {...other}>\n {[...Array(12)].map((_, idx) => {\n const selectedMonth = panelDate!.getMonth();\n return (\n <div key={idx} className={[selectedMonth === idx ? 'selected' : null].filter(Boolean).join(' ').trim()}>\n <span onClick={() => onSelected(idx, false)}>{(monthLabel && monthLabel[idx]) || idx}</span>\n </div>\n );\n })}\n </div>\n );\n}\n","import React, { useState } from 'react';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport './style/year-month.less';\n\nexport interface DatePickerYearProps extends IProps, HTMLDivProps {\n panelDate?: Date;\n panelNum?: number[];\n onSelected?: (year: number, paging?: boolean) => void;\n}\n\nexport function DatePickerYear(props: DatePickerYearProps) {\n const {\n prefixCls = 'w-datepicker',\n panelNum = [-7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n className,\n panelDate,\n onSelected = noop,\n ...other\n } = props;\n const [activeYear, setActiveYear] = useState(props.panelDate);\n function handleSelected(year: number, idx: number) {\n if (idx === 0 || idx === panelNum!.length - 1) {\n const date = new Date(activeYear!);\n date.setFullYear(year);\n setActiveYear(date);\n onSelected!(year, true);\n } else {\n onSelected!(year);\n }\n }\n return (\n <div className={[prefixCls ? `${prefixCls}-year` : null, className].filter(Boolean).join(' ').trim()} {...other}>\n {panelNum &&\n panelNum.map((_, idx) => {\n const selectedYear = activeYear!.getFullYear();\n const year = selectedYear + panelNum[idx];\n return (\n <div\n key={idx}\n className={[\n selectedYear === year ? 'selected' : null,\n idx === 0 || idx === panelNum.length - 1 ? 'paging' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n <span onClick={() => handleSelected(year, idx)}>{year}</span>\n </div>\n );\n })}\n </div>\n );\n}\n","import React, { useMemo } from 'react';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport './style/caption.less';\n\nfunction classnames(...arg: (string | null | undefined)[]) {\n return [...arg].filter(Boolean).join(' ').trim();\n}\n\nexport type DatePickerCaptionType = 'prev' | 'month' | 'year' | 'today' | 'next';\n\nexport interface DatePickerCaptionProps extends IProps, HTMLDivProps {\n panelDate?: Date;\n monthLabel?: React.ReactNode[];\n todayButton?: string;\n onSelected?: (captionType: DatePickerCaptionType) => void;\n}\n\nexport function DatePickerCaption(props: DatePickerCaptionProps) {\n const {\n prefixCls = 'w-datepicker',\n className,\n panelDate = new Date(),\n monthLabel,\n onSelected = noop,\n todayButton,\n ...other\n } = props;\n\n const renderMonth = useMemo(() => {\n const month = panelDate.getMonth();\n return (monthLabel && monthLabel[month]) || month + 1;\n }, [panelDate.toDateString(), monthLabel]);\n return (\n <div className={classnames(prefixCls ? `${prefixCls}-caption` : null, className)} {...other}>\n <div\n className={classnames(prefixCls ? `${prefixCls}-caption-pane` : null, 'prev')}\n onClick={() => onSelected('prev')}\n />\n <div\n className={classnames(prefixCls ? `${prefixCls}-caption-pane` : null, 'month')}\n onClick={() => onSelected('month')}\n >\n {renderMonth}\n </div>\n <div\n className={classnames(prefixCls ? `${prefixCls}-caption-pane` : null, 'year')}\n onClick={() => onSelected('year')}\n >\n {panelDate!.getFullYear()}\n </div>\n {todayButton && (\n <div\n className={classnames(prefixCls ? `${prefixCls}-caption-today` : null)}\n onClick={() => onSelected('today')}\n title={todayButton}\n />\n )}\n <div\n className={classnames(prefixCls ? `${prefixCls}-caption-pane` : null, 'next')}\n onClick={() => onSelected('next')}\n />\n </div>\n );\n}\n","import React, { useEffect, useMemo, useState } from 'react';\nimport formatter from '@uiw/formatter';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport { TimePickerTime, TimePickerPanelProps } from '@uiw/react-time-picker';\nimport { DatePickerDay, DatePickerDayProps, DatePickerDayDateSource } from './DatePickerDay';\nimport { DatePickerMonth } from './DatePickerMonth';\nimport { DatePickerYear } from './DatePickerYear';\nimport { DatePickerCaption, DatePickerCaptionType } from './DatePickerCaption';\nimport './style/index.less';\n\nexport * from './DatePickerDay';\nexport * from './DatePickerMonth';\nexport * from './DatePickerYear';\nexport * from './DatePickerCaption';\n\nconst MONTH_LABEL = [\n '一月',\n '二月',\n '三月',\n '四月',\n '五月',\n '六月',\n '七月',\n '八月',\n '九月',\n '十月',\n '十一月',\n '十二月',\n];\n\nexport interface DatePickerShowTimeProps extends TimePickerPanelProps {\n format?: string;\n}\nexport interface DatePickerProps extends IProps, Omit<HTMLDivProps, 'onChange'> {\n onChange?: (selectedDate?: Date, dateSource?: DatePickerDayDateSource) => void;\n renderDay?: DatePickerDayProps['renderDay'];\n disabledDate?: DatePickerDayProps['disabledDate'];\n showTime?: DatePickerShowTimeProps | boolean;\n monthLabel?: React.ReactNode[];\n weekday?: string[];\n weekTitle?: string[];\n date?: Date;\n panelDate?: Date;\n today?: Date;\n todayButton?: string;\n onPanelChange?: (date?: Date, mode?: 'next' | 'prev') => void;\n}\nexport interface DatePickerState {\n panelDate?: Date;\n date?: Date;\n type?: 'day' | 'time' | DatePickerCaptionType;\n}\n\nexport default function DatePicker(props: DatePickerProps) {\n const {\n prefixCls = 'w-datepicker',\n className,\n weekday,\n weekTitle,\n monthLabel = MONTH_LABEL,\n date,\n today = new Date(),\n todayButton,\n panelDate = new Date(),\n disabledDate,\n renderDay,\n onChange = noop,\n onPanelChange = noop,\n showTime,\n ...other\n } = props;\n const [type, setType] = useState<DatePickerState['type']>('day');\n const [selectDate, setSelectDate] = useState(date);\n const [selectPanelDate, setSelectPanelDate] = useState(panelDate);\n\n useEffect(() => {\n if (date) {\n setSelectDate(date);\n setSelectPanelDate(date);\n }\n }, [date]);\n\n const format = useMemo(\n () =>\n showTime && (showTime as DatePickerShowTimeProps).format\n ? (showTime as DatePickerShowTimeProps).format\n : 'HH:mm:ss',\n [showTime],\n );\n function handleSelected(curType: DatePickerState['type']) {\n if (curType && /^(year|month|time)$/.test(curType)) {\n if (type === 'time') {\n curType = 'day';\n }\n setType(curType);\n } else {\n let currentDate = new Date(selectPanelDate);\n let month = currentDate.getMonth();\n if (curType === 'prev') {\n month -= 1;\n }\n if (curType === 'next') {\n month += 1;\n }\n currentDate.setMonth(month);\n if (curType === 'prev' || curType === 'next') {\n onPanelChange && onPanelChange(new Date(currentDate), curType);\n }\n setSelectPanelDate(curType === 'today' ? today : currentDate);\n curType === 'today' && setSelectDate(today);\n\n setType('day');\n }\n }\n\n function onSelectedTime(type: TimePickerPanelProps['type'], num: number) {\n (selectPanelDate || new Date())[`set${type}` as 'setHours'](num);\n setSelectPanelDate(new Date(selectPanelDate));\n onChange && onChange(new Date(selectPanelDate));\n }\n\n function onSelectedDate(type: 'setMonth' | 'setFullYear', month: number, paging?: boolean) {\n (selectPanelDate || new Date())[type](month);\n setSelectPanelDate(new Date(selectPanelDate));\n setType('day');\n onChange && onChange(new Date(selectPanelDate));\n }\n return (\n <div className={[prefixCls, className].filter(Boolean).join(' ').trim()} {...other}>\n <DatePickerCaption\n todayButton={todayButton}\n panelDate={selectPanelDate}\n monthLabel={monthLabel}\n onSelected={handleSelected}\n />\n {type === 'day' && (\n <DatePickerDay\n prefixCls={prefixCls}\n disabledDate={disabledDate}\n onSelectDay={(selectedDate, dateSource) => {\n setSelectPanelDate(selectedDate!);\n onChange(selectedDate, dateSource);\n }}\n renderDay={renderDay}\n date={selectDate}\n today={today || new Date()}\n panelDate={selectPanelDate}\n weekday={weekday}\n weekTitle={weekTitle}\n />\n )}\n {type === 'month' && (\n <DatePickerMonth\n panelDate={selectPanelDate}\n monthLabel={monthLabel}\n prefixCls={prefixCls}\n onSelected={(num) => onSelectedDate('setMonth', num)}\n />\n )}\n {type === 'year' && (\n <DatePickerYear\n prefixCls={prefixCls}\n panelDate={selectDate || selectPanelDate}\n onSelected={(num) => onSelectedDate('setFullYear', num)}\n />\n )}\n {type === 'time' && (\n <TimePickerTime\n date={selectPanelDate}\n {...showTime}\n className={`${prefixCls}-timepicker`}\n onSelected={onSelectedTime}\n />\n )}\n {showTime && format && (\n <div className={`${prefixCls}-time-btn`} onClick={() => handleSelected('time')}>\n {formatter(format!, selectDate || selectPanelDate)}\n </div>\n )}\n </div>\n );\n}\n","import React, { useMemo } from 'react';\nimport { CalendarProps } from './';\n\nexport type RenderDayProps = {\n prefixCls?: string;\n day?: number;\n data?: CalendarProps['data'];\n currentDate?: Date;\n};\n\nexport default function RenderDay(props: RenderDayProps) {\n const { prefixCls, day, data, currentDate } = props;\n\n const dayData = useMemo(\n () =>\n (data || []).filter((item) => {\n let arr: number[] = ((item.date && item.date.split('/')) || []).map((num) => Number(num));\n if (arr.length === 1) {\n return day === arr[0];\n }\n if (currentDate && arr.length === 2) {\n return currentDate.getMonth() + 1 === arr[0] && day === arr[1];\n }\n if (currentDate && arr.length === 3) {\n return currentDate.getFullYear() === arr[0] && currentDate.getMonth() + 1 === arr[1] && day === arr[2];\n }\n return false;\n }),\n [currentDate, day, data],\n );\n\n return useMemo(\n () => (\n <div className={`${prefixCls}-inner`}>\n <div className={`${prefixCls}-day`}>{day}</div>\n <div className={`${prefixCls}-panel`}>\n {dayData &&\n dayData.length > 0 &&\n dayData.map((item, idx) => {\n const { date, label, ...other } = item;\n return (\n <div key={idx} {...other}>\n {label}\n </div>\n );\n })}\n </div>\n </div>\n ),\n [dayData, day],\n );\n}\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { DatePickerDay, DatePickerDayProps, DatePickerDayDateSource } from '@uiw/react-date-picker';\nimport Icon from '@uiw/react-icon';\nimport formatter from '@uiw/formatter';\nimport { IProps } from '@uiw/utils';\nimport RenderDay from './DayLabel';\nimport './style/index.less';\n\nexport interface CalendarProps extends IProps, DatePickerDayProps {\n /**\n * 设置日历面板上面的日期标题。\n */\n titleFormat?: string;\n /**\n * 点击选择日期回调\n */\n onSelectDay?: (selectDay?: Date, dateSource?: DatePickerDayDateSource) => void;\n /**\n * 日历面板默认展示哪一页\n */\n panelDate?: Date;\n /**\n * 默认高亮当天日期\n */\n today?: Date;\n /**\n * 在日历面板上面添加通知,数组中的对象可以设置 `ElementProps`,如:`style`, `onClick` 等属性。\n */\n data?: ICalendarData[];\n /**\n * 选中的日期\n */\n date?: Date;\n /**\n * `今天` 按钮的文本设置\n */\n todayLabel?: string;\n /**\n * 月份显示文本\n */\n monthLabel?: string[];\n /** 翻页触发事件 */\n onPaging?: (type: 'prev' | 'next' | 'today', month: number, panelDate?: Date) => void;\n}\n\nexport interface ICalendarData {\n label?: React.ReactNode;\n date?: string;\n [key: string]: any;\n}\n\nconst MONTH_LABEL = [\n '一月',\n '二月',\n '三月',\n '四月',\n '五月',\n '六月',\n '七月',\n '八月',\n '九月',\n '十月',\n '十一月',\n '十二月',\n];\n\nexport default function Calendar(props: CalendarProps) {\n const {\n prefixCls = 'w-calendar',\n className,\n style,\n today = new Date(),\n date,\n data,\n monthLabel = MONTH_LABEL,\n titleFormat = 'YYYY/MM',\n todayLabel = '今天',\n panelDate: _,\n onPaging,\n onSelectDay,\n ...otherProps\n } = props;\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n const [panelDate, setPanelDate] = useState<Date>(props.panelDate || new Date());\n\n useEffect(() => {\n if (props.panelDate !== panelDate) {\n setPanelDate(panelDate);\n }\n }, [props.panelDate]);\n\n function handlePaging(type: 'prev' | 'next' | 'today') {\n let currentDate = new Date();\n if (type === 'today') {\n currentDate = today || new Date();\n } else {\n const month = panelDate.getMonth();\n if (panelDate && type === 'prev') {\n panelDate.setMonth(month - 1);\n }\n if (panelDate && type === 'next') {\n panelDate.setMonth(month + 1);\n }\n currentDate = panelDate;\n }\n setPanelDate(new Date(currentDate));\n onPaging && onPaging(type, currentDate!.getMonth() + 1, currentDate);\n }\n\n const titleLable = useMemo(\n () => <div className={`${prefixCls}-title`}>{formatter(titleFormat, panelDate)}</div>,\n [prefixCls, titleFormat, panelDate],\n );\n\n const btngroup = useMemo(\n () => (\n <div className={`${prefixCls}-btn-group`}>\n <Icon type=\"down\" onClick={() => handlePaging('prev')} />\n <span className={`${prefixCls}-btn`} onClick={() => handlePaging('today')}>\n {todayLabel}\n </span>\n <Icon type=\"down\" onClick={() => handlePaging('next')} />\n </div>\n ),\n [prefixCls, todayLabel],\n );\n\n return (\n <div className={cls} style={style}>\n <div className={`${prefixCls}-caption`}>\n {titleLable}\n {btngroup}\n </div>\n <DatePickerDay\n onSelectDay={(currentDate, dateSource) => {\n setPanelDate(currentDate!);\n onSelectDay && onSelectDay(currentDate, dateSource);\n }}\n renderDay={(day, propsNext) => (\n <RenderDay prefixCls={prefixCls} day={day} data={data} currentDate={propsNext.date} />\n )}\n date={date}\n today={today}\n panelDate={panelDate || new Date()}\n {...otherProps}\n />\n </div>\n );\n}\n","import React, { useMemo } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface CardProps extends IProps, Omit<HTMLDivProps, 'title'> {\n active?: boolean;\n bordered?: boolean;\n bodyStyle?: React.CSSProperties;\n bodyClassName?: string;\n title?: React.ReactNode;\n noHover?: boolean;\n extra?: React.ReactNode;\n footer?: React.ReactNode;\n}\n\nexport default React.forwardRef<HTMLDivElement, CardProps>((props, ref) => {\n const {\n prefixCls = 'w-card',\n className,\n title,\n extra,\n footer,\n bordered = true,\n noHover = false,\n active = false,\n bodyStyle,\n bodyClassName,\n children,\n ...resetProps\n } = props;\n const cls = useMemo(\n () =>\n [\n prefixCls,\n className,\n bordered ? `${prefixCls}-bordered` : null,\n noHover ? `${prefixCls}-no-hover` : null,\n active ? 'active' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim(),\n [prefixCls, className, bordered, noHover],\n );\n\n return (\n <div {...resetProps} className={cls} ref={ref}>\n {(title || extra) && (\n <div className={`${prefixCls}-head`}>\n {title && <div className={`${prefixCls}-head-title`}>{title}</div>}\n {extra && <div className={`${prefixCls}-extra`}>{extra}</div>}\n </div>\n )}\n {children && (\n <div className={[`${prefixCls}-body`, bodyClassName].filter(Boolean).join(' ').trim()} style={bodyStyle}>\n {children}\n </div>\n )}\n {footer && <div className={`${prefixCls}-footer`}>{footer}</div>}\n </div>\n );\n});\n","import React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface CarouselProps extends IProps, HTMLDivProps {\n width?: number;\n height?: number;\n position?: number;\n palyTime?: number;\n scrollTime?: number;\n autoPlay?: boolean;\n direction?: 'horizontal' | 'vertical';\n afterChange?: (current: number) => void;\n beforeChange?: (current: number) => void;\n}\n\nexport interface CarouselRef {\n gotoSlide: (slide: number, dontAnimate?: boolean) => void;\n prevSlide: () => void;\n nextSlide: () => void;\n stopPlay: () => void;\n}\n\nfunction Carousel(props: CarouselProps, ref: React.ForwardedRef<CarouselRef>) {\n const {\n position = 0,\n direction = 'horizontal',\n width = 400,\n height = 200,\n palyTime = 2000,\n scrollTime = 200,\n autoPlay = true,\n afterChange,\n beforeChange,\n\n prefixCls = 'w-carousel',\n className,\n style,\n } = props;\n\n const cls = useMemo(() => [prefixCls, className].filter(Boolean).join(' ').trim(), [prefixCls, className]);\n\n const [currentPosition, currentPositionSet] = useState(position);\n const [transitionInner, transitionInnerSet] = useState(`${scrollTime * 0.001}s ease-in-out`);\n const positionRef = useRef(currentPosition);\n const childCount = React.Children.count(props.children) + 1;\n const stopPlay = useRef({ stop: () => {}, after: afterChange, before: beforeChange });\n\n React.useImperativeHandle(\n ref,\n () => ({\n gotoSlide,\n prevSlide: () => gotoSlide(positionRef.current - 1),\n nextSlide: () => gotoSlide(positionRef.current + 1),\n stopPlay: () => stopPlay.current.stop(),\n }),\n [ref],\n );\n\n const gotoSlide = (slidNumber: number) => {\n stopPlay.current.stop();\n const maxSlid = childCount - 1;\n let slidNumberTemp = slidNumber > maxSlid ? maxSlid : slidNumber;\n slidNumberTemp = slidNumber < 0 ? 0 : slidNumberTemp;\n positionRef.current = slidNumberTemp;\n currentPositionSet(slidNumberTemp);\n play();\n };\n\n const play = (ms: number = palyTime) => {\n if (autoPlay) {\n const time = setInterval(() => {\n stopPlay.current.after?.(positionRef.current);\n positionRef.current++;\n if (positionRef.current >= childCount) {\n positionRef.current = 0;\n }\n currentPositionSet(positionRef.current);\n stopPlay.current.before?.(positionRef.current);\n }, ms);\n stopPlay.current.stop = () => {\n clearInterval(time);\n };\n }\n };\n\n useEffect(() => {\n play();\n return () => {\n stopPlay.current.stop();\n };\n }, [autoPlay]);\n\n useEffect(() => {\n let time: NodeJS.Timeout;\n if (childCount === currentPosition + 1) {\n time = setTimeout(() => {\n stopPlay.current.before = () => {\n transitionInnerSet(`${scrollTime * 0.001}s ease-in-out`);\n stopPlay.current.before = props.beforeChange;\n };\n transitionInnerSet('none');\n gotoSlide(0);\n }, scrollTime);\n }\n return () => {\n clearTimeout(time);\n };\n }, [currentPosition]);\n\n const childrens = React.Children.map(props.children, (child) => {\n return <div style={{ width, height, ...style }}>{child}</div>;\n });\n\n const innerStyle = useMemo(() => {\n const style = { transform: '', display: '' };\n switch (direction) {\n case 'horizontal':\n style.transform = `translate3d(${-(currentPosition * width)}px, 0px, 0px)`;\n style.display = 'flex';\n break;\n case 'vertical':\n style.transform = `translate3d(0px, ${-(currentPosition * height)}px, 0px)`;\n style.display = 'block';\n break;\n default:\n break;\n }\n return style;\n }, [direction, currentPosition, width, height]);\n\n return (\n <div className={cls} style={{ width, height }}>\n <div\n className={`${cls}-content`}\n style={{ width: width * childCount, transition: transitionInner, ...innerStyle }}\n >\n {childrens}\n <div style={{ width, height, ...style }}>{childrens?.[0]}</div>\n </div>\n </div>\n );\n}\n\nexport default React.forwardRef<CarouselRef, CarouselProps>(Carousel);\n","import React from 'react';\nimport OverlayTrigger, { OverlayTriggerProps } from '@uiw/react-overlay-trigger';\nimport { IProps } from '@uiw/utils';\nimport { useMemo } from 'react';\n\nexport interface DropdownProps extends IProps, OverlayTriggerProps {\n menu?: React.ReactNode;\n}\n\nexport default function Dropdown(props: DropdownProps) {\n const { prefixCls = 'w-dropdown', placement = 'bottomLeft', className, menu, children, disabled, ...other } = props;\n\n const cls = useMemo(() => [prefixCls, className].filter(Boolean).join(' ').trim(), [prefixCls, className]);\n\n return (\n <OverlayTrigger\n isOutside\n autoAdjustOverflow\n className={cls}\n disabled={disabled}\n placement={placement}\n {...other}\n overlay={menu}\n >\n {React.cloneElement(children, Object.assign({}, children.props))}\n </OverlayTrigger>\n );\n}\n","import React, { Fragment } from 'react';\nimport Icon, { IconProps } from '@uiw/react-icon';\nimport { IProps } from '@uiw/utils';\nimport './style/item.less';\n\nconst disabledProps = {\n href: undefined,\n onClick: undefined,\n onMouseDown: undefined,\n onMouseEnter: undefined,\n onMouseLeave: undefined,\n tabIndex: -1,\n};\n\nexport type TagType = React.ComponentType | keyof JSX.IntrinsicElements;\n\nexport interface MenuItemProps<Tag extends TagType> extends IProps, React.HTMLProps<Tag> {\n text?: React.ReactNode;\n addonAfter?: React.ReactNode;\n tagName?: Tag;\n multiline?: boolean;\n isSubMenuItem?: boolean;\n disabled?: boolean;\n active?: boolean;\n icon?: IconProps['type'];\n children?: React.ReactNode;\n}\n\nfunction Internal<Tag extends TagType = 'a'>(props: MenuItemProps<Tag>, ref: React.Ref<React.HTMLProps<Tag>>) {\n const {\n prefixCls = 'w-menu-item',\n className,\n tagName: TagName = 'a',\n children,\n disabled = false,\n multiline = false,\n icon,\n text,\n active = false,\n addonAfter,\n isSubMenuItem,\n ...htmlProps\n } = props;\n const anchorCls = [prefixCls, active ? 'active' : null, disabled ? 'w-disabled' : null, className]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n const tagComp = React.createElement(\n TagName,\n {\n ...htmlProps,\n ...(disabled ? disabledProps : {}),\n className: anchorCls,\n ref,\n } as any,\n <Fragment>\n <Icon className={`${prefixCls}-icon`} type={icon} />\n <div\n className={[prefixCls && `${prefixCls}-text`, !multiline && `${prefixCls}-multiline`]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n {text}\n </div>\n {addonAfter}\n </Fragment>,\n );\n if (isSubMenuItem) {\n return tagComp;\n }\n return <li> {tagComp} </li>;\n}\n\nexport const MenuItem = React.forwardRef(Internal);\n\nMenuItem.displayName = 'uiw.MenuItem';\n","import React from 'react';\nimport { IProps, HTMLLiProps } from '@uiw/utils';\n\nexport interface MenuDividerProps extends IProps, Omit<HTMLLiProps, 'title'> {\n title?: React.ReactNode;\n}\n\nexport const MenuDivider = React.forwardRef<HTMLLIElement, MenuDividerProps>((props, ref) => {\n const { prefixCls = 'w-menu-divider', className, title, ...htmlProps } = props;\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n if (!title) {\n return <li {...htmlProps} ref={ref} className={cls} />;\n }\n return (\n <li {...htmlProps} ref={ref} className={cls} data-menu=\"divider\">\n <strong>{title}</strong>\n </li>\n );\n});\n\nMenuDivider.displayName = 'uiw.MenuDivider';\n","import React, { useMemo, useState } from 'react';\nimport { CSSTransitionProps } from 'react-transition-group/CSSTransition';\nimport OverlayTrigger, { OverlayTriggerProps, OverlayTriggerRef } from '@uiw/react-overlay-trigger';\nimport Icon from '@uiw/react-icon';\nimport { IProps } from '@uiw/utils';\nimport { MenuItem, MenuItemProps, TagType } from './MenuItem';\nimport Menu, { MenuProps } from './Menu';\nimport './style/submenu.less';\n\nexport interface SubMenuProps<T extends TagType> extends IProps, MenuItemProps<T> {\n overlayProps?: OverlayTriggerProps;\n collapse?: boolean;\n disabled?: boolean;\n inlineCollapsed?: boolean;\n inlineIndent?: number;\n}\n\nfunction checkedMenuItem(node?: HTMLElement) {\n let isCheck = false;\n if (node) {\n // eslint-disable-next-line\n do {\n if (!node.dataset.menu) {\n isCheck = true;\n }\n if (node.dataset.menu && /^(subitem|divider)$/.test(node.dataset.menu)) {\n isCheck = false;\n }\n } while (!node.dataset.menu && (node = node.parentNode as HTMLElement));\n }\n return isCheck;\n}\n\nfunction IconView({ prefixCls, collapse, isOpen }: { prefixCls?: string; collapse?: boolean; isOpen: boolean }) {\n return useMemo(\n () => (\n <Icon\n type=\"caret-right\"\n className={[\n prefixCls ? `${prefixCls}-collapse-icon` : null,\n !collapse && isOpen ? 'w-open' : null,\n !collapse && !isOpen ? 'w-close' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n />\n ),\n [prefixCls, collapse, isOpen],\n );\n}\nexport const SubMenu = React.forwardRef(function <Tag extends TagType = 'a'>(\n props: SubMenuProps<Tag>,\n ref: React.Ref<HTMLLIElement>,\n) {\n const {\n prefixCls = 'w-menu-subitem',\n className,\n disabled,\n overlayProps = {},\n children,\n collapse = false,\n inlineIndent,\n inlineCollapsed,\n ...other\n } = props;\n const overlayTriggerProps = {} as OverlayTriggerProps & CSSTransitionProps;\n const menuProps: MenuProps = {\n bordered: true,\n children,\n inlineIndent,\n className: [prefixCls ? `${prefixCls}-overlay` : null].filter(Boolean).join(' ').trim(),\n };\n const popupRef = React.useRef<OverlayTriggerRef>(null);\n const [isOpen, setIsOpen] = useState(!!overlayProps.isOpen);\n useMemo(() => {\n if (collapse) setIsOpen(false);\n }, [collapse]);\n\n function onClick(e: React.MouseEvent<HTMLUListElement, MouseEvent>) {\n const target = e.currentTarget;\n const related = (e.relatedTarget || e.nativeEvent.target) as HTMLElement;\n if (target.children.length < 1) return;\n if (checkedMenuItem(related)) {\n if (popupRef.current) {\n popupRef.current!.hide();\n }\n }\n }\n function onExit(node: HTMLElement) {\n node.style.height = `${node.scrollHeight}px`;\n setIsOpen(false);\n }\n function onExiting(node: HTMLElement) {\n node.style.height = '0px';\n }\n function onEnter(node: HTMLElement) {\n node.style.height = '1px';\n setIsOpen(true);\n }\n function onEntering(node: HTMLElement) {\n node.style.height = `${node.scrollHeight}px`;\n }\n function onEntered(node: HTMLElement) {\n node.style.height = 'initial';\n }\n\n if (!collapse) {\n delete menuProps.onClick;\n menuProps.bordered = false;\n overlayTriggerProps.className = `${prefixCls}-collapse`;\n overlayTriggerProps.appear = false;\n overlayTriggerProps.isOutside = true;\n overlayTriggerProps.isClickOutside = false;\n overlayTriggerProps.unmountOnExit = false;\n overlayTriggerProps.trigger = 'click';\n overlayTriggerProps.transitionName = `${prefixCls}`;\n overlayTriggerProps.onExit = onExit;\n overlayTriggerProps.onExiting = onExiting;\n overlayTriggerProps.onEnter = onEnter;\n overlayTriggerProps.onEntered = onEntered;\n overlayTriggerProps.onEntering = onEntering;\n } else {\n overlayTriggerProps.className = `${prefixCls}-popup`;\n overlayTriggerProps.trigger = 'hover';\n overlayTriggerProps.usePortal = true;\n menuProps.onClick = onClick;\n }\n return (\n <li data-menu=\"subitem\" ref={ref}>\n <OverlayTrigger\n placement=\"rightTop\"\n autoAdjustOverflow\n disabled={disabled}\n isOpen={isOpen}\n usePortal={false}\n isOutside\n {...overlayTriggerProps}\n {...overlayProps}\n ref={popupRef}\n overlay={<Menu {...menuProps} style={!collapse ? { paddingLeft: inlineIndent } : {}} />}\n >\n <MenuItem\n {...other}\n ref={null}\n disabled={disabled}\n isSubMenuItem\n addonAfter={<IconView collapse={collapse} prefixCls={prefixCls} isOpen={isOpen} />}\n className={[\n prefixCls ? `${prefixCls}-title` : null,\n !collapse ? `${prefixCls}-collapse-title` : null,\n className,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n />\n </OverlayTrigger>\n </li>\n );\n});\n\nSubMenu.displayName = 'uiw.SubMenu';\n","import React, { useMemo } from 'react';\nimport { IProps, HTMLUlProps } from '@uiw/utils';\nimport { MenuItem } from './MenuItem';\nimport { MenuDivider } from './Divider';\nimport { SubMenu } from './SubMenu';\nimport './style/menu.less';\n\nexport interface MenuProps extends IProps, HTMLUlProps {\n /** 主题颜色 */\n theme?: 'light' | 'dark';\n /**\n * 垂直是否收起菜单\n * Default: `false`\n */\n inlineCollapsed?: boolean;\n /**\n * 菜单缩进宽度 Default: `10`\n */\n inlineIndent?: number;\n bordered?: boolean;\n}\n\nconst Menu = React.forwardRef<HTMLUListElement, MenuProps>((props, ref) => {\n const {\n prefixCls = 'w-menu',\n className,\n children,\n bordered,\n theme = 'light',\n inlineIndent = 10,\n inlineCollapsed,\n ...htmlProps\n } = props;\n const cls = useMemo(\n () =>\n [\n prefixCls,\n bordered ? 'w-bordered' : null,\n inlineCollapsed ? `${prefixCls}-inline-collapsed` : null,\n theme ? `${prefixCls}-${theme}` : null,\n className,\n ]\n .filter(Boolean)\n .join(' ')\n .trim(),\n [prefixCls, bordered, inlineCollapsed, theme, className],\n );\n\n return (\n <ul {...htmlProps} ref={ref} className={cls} data-menu=\"menu\">\n {React.Children.map(children, (child: React.ReactNode, key) => {\n if (!React.isValidElement(child)) return child;\n const props: { inlineIndent?: number; inlineCollapsed?: boolean } = {};\n // Sub Menu\n if (child.props.children && child.type === (SubMenu as any)) {\n props.inlineIndent = inlineIndent;\n }\n return React.cloneElement(child, Object.assign({ ...props }, child.props, { key: `${key}` }));\n })}\n </ul>\n );\n});\n\nMenu.displayName = 'uiw.Menu';\n\ntype Menu = typeof Menu & {\n Item: typeof MenuItem;\n SubMenu: typeof SubMenu;\n Divider: typeof MenuDivider;\n};\n\n(Menu as Menu).Item = MenuItem;\n(Menu as Menu).SubMenu = SubMenu;\n(Menu as Menu).Divider = MenuDivider;\n\nexport default Menu as Menu;\n","import Menu from './Menu';\n\nexport * from './Menu';\nexport * from './MenuItem';\nexport * from './SubMenu';\nexport * from './Divider';\n\nexport default Menu;\n","import React, { useState, useEffect, useMemo } from 'react';\nimport Input from '@uiw/react-input';\nimport { HTMLInputProps, IProps } from '@uiw/utils';\nimport Dropdown, { DropdownProps } from '@uiw/react-dropdown';\nimport Menu from '@uiw/react-menu';\nimport Icon from '@uiw/react-icon';\nimport './style/index.less';\n\ntype ValueType = Array<string | number>;\ntype OptionType = { value: string | number; label: React.ReactNode; children?: Array<OptionType> };\ntype SearchOptionType = { label: string; options: Array<OptionType> };\n\nexport interface CascaderProps extends IProps, DropdownProps {\n size?: 'large' | 'default' | 'small';\n option?: Array<OptionType>;\n value?: ValueType;\n onChange?: (isSeleted: boolean, value: ValueType, selectedOptions: Array<OptionType>) => void;\n onSearch?: boolean | ((searchText: string) => void);\n allowClear?: boolean;\n placeholder?: string;\n disabled?: boolean;\n inputProps?: HTMLInputProps;\n expandTrigger: 'click' | 'hover';\n}\n\nfunction Cascader(props: CascaderProps) {\n const {\n value,\n onChange,\n onSearch,\n expandTrigger = 'click',\n size,\n disabled,\n allowClear,\n placeholder,\n prefixCls = 'w-cascader',\n className,\n style = { width: 200 },\n option = [],\n others,\n inputProps,\n } = props;\n\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n const [innerIsOpen, setInnerIsOpen] = useState(false);\n const [selectedValue, setSelectedValue] = useState<Array<OptionType>>([]);\n const [selectIconType, setSelectIconType] = useState('');\n const [searchText, setSearchText] = useState<string>('');\n const [searchOn, setSearchOn] = useState(false);\n const [inputValue, setInputValue] = useState('');\n const [searchOption, setSearchOption] = useState<Array<SearchOptionType>>();\n\n useEffect(() => {\n if (onSearch) {\n const tempOptions: Array<SearchOptionType> = [];\n iteratorOption(option, (opt) => {\n const label = opt.map((m) => m.label).join(' / ');\n tempOptions.push({ label, options: opt });\n });\n setSearchOption(tempOptions);\n }\n }, [onSearch]);\n\n const iteratorOption = (\n options: Array<OptionType>,\n cb: (opt: Array<OptionType>) => void,\n opts: Array<OptionType> = [],\n ) => {\n options.map((opt) => {\n const optsTemp = [...opts, opt];\n if (opt.children) {\n iteratorOption(opt.children, cb, optsTemp);\n } else {\n cb?.(optsTemp);\n }\n });\n };\n\n useEffect(() => {\n if (value) {\n const valueTemp: Array<OptionType> = [];\n let optChildren = option;\n value?.map((item) => {\n const findOpt = optChildren.find((opt) => opt.value === item);\n optChildren = findOpt?.children || [];\n valueTemp.push({ label: item, value: item, ...findOpt });\n });\n setSelectedValue(valueTemp);\n }\n }, [value]);\n\n function onVisibleChange(isOpen: boolean) {\n setInnerIsOpen(isOpen);\n }\n\n function renderSelectIcon(type: string) {\n let selectIconType;\n if (type === 'enter' && allowClear && selectedValue.length > 0) {\n selectIconType = 'close';\n } else {\n selectIconType = '';\n }\n setSelectIconType(selectIconType);\n }\n\n const searchItemClick = (options: Array<OptionType>) => {\n setSearchText('');\n setInnerIsOpen(false);\n handelChange(false, options);\n };\n\n const handleItemClick = (optionsItem: OptionType, level: number) => {\n selectedValue.splice(level, selectedValue.length - level, optionsItem);\n if (!optionsItem.children) setInnerIsOpen(false);\n\n handelChange(true, selectedValue);\n };\n\n const handelChange = (isSeleted: boolean, selectedValue: Array<OptionType>) => {\n setSelectedValue([...selectedValue]);\n const value = selectedValue.map((item) => item.value);\n onChange?.(isSeleted, value, selectedValue);\n };\n\n const onClear = (e: React.MouseEvent<any, MouseEvent>) => {\n e.stopPropagation();\n handelChange(false, []);\n };\n\n const handelSearch = (searchText: string) => {\n setSearchText(searchText);\n };\n\n const inputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!innerIsOpen) {\n setInnerIsOpen(!innerIsOpen);\n }\n const value = e.target.value;\n onSearch && handelSearch(value);\n };\n\n const widths = (style?.width as number) * 0.7 || undefined;\n\n const trigger = useMemo(() => {\n return (cb: Function, click?: boolean) => {\n const triggers: Record<'onClick' | 'onMouseOver', () => void> = { onClick: () => {}, onMouseOver: () => {} };\n const callback = () => {\n cb();\n };\n if (expandTrigger === 'click' || click) {\n triggers.onClick = callback;\n } else if (expandTrigger === 'hover') {\n triggers.onMouseOver = callback;\n }\n return triggers;\n };\n }, []);\n\n const OptionIter = (option: Array<OptionType>, level: number = 0) => {\n if (!option) return;\n\n return (\n <Menu\n key={level}\n bordered\n style={{\n minHeight: 25,\n minWidth: widths,\n overflowY: 'scroll',\n width: widths,\n }}\n >\n {!option || option.length === 0 ? (\n <div style={{ color: '#c7c7c7', fontSize: 12 }}>{'没有数据'}</div>\n ) : (\n option.map((opt, index) => {\n const active = selectedValue[level]?.value === opt.value;\n return (\n <Menu.Item\n active={active}\n key={index}\n text={opt.label}\n addonAfter={opt.children ? <Icon type=\"right\" /> : undefined}\n {...trigger(() => {\n handleItemClick(opt, level);\n }, !opt.children?.length)}\n />\n );\n })\n )}\n </Menu>\n ) as JSX.Element;\n };\n\n useEffect(() => {\n const inputValue = selectedValue.map((opt) => opt.label).join(' / ');\n setInputValue(inputValue);\n }, [selectedValue]);\n\n return (\n <Dropdown\n className={cls}\n trigger=\"click\"\n style={{ marginTop: 5 }}\n overlayStyl={{ width: 100 }}\n disabled={disabled}\n {...others}\n onVisibleChange={onVisibleChange}\n isOpen={innerIsOpen}\n menu={\n !searchText ? (\n <div style={{ display: 'flex' }}>\n {new Array(selectedValue.length + 1)\n .fill(0)\n .map((_, index) => {\n const options = index ? selectedValue[index - 1]?.children! : option;\n return OptionIter(options, index);\n })\n .filter((m) => !!m)}\n </div>\n ) : (\n <Menu\n bordered\n style={{\n minHeight: 25,\n minWidth: style?.width,\n overflowY: 'scroll',\n width: style?.width,\n }}\n >\n {!searchOption || searchOption.length === 0 ? (\n <div style={{ color: '#c7c7c7', fontSize: 12 }}>{'没有数据'}</div>\n ) : (\n searchOption\n .filter((opt) => opt.label.includes(searchText.trim()))\n .map((opt, index) => {\n return <Menu.Item key={index} text={opt.label} onClick={() => searchItemClick(opt.options)} />;\n })\n )}\n </Menu>\n )\n }\n >\n <span onMouseLeave={() => renderSelectIcon('leave')} onMouseOver={() => renderSelectIcon('enter')}>\n <Input\n {...inputProps}\n value={searchOn ? searchText : inputValue}\n onChange={inputChange}\n size={size}\n disabled={disabled}\n placeholder={searchOn ? inputValue : placeholder}\n style={style}\n onFocus={() => onSearch && setSearchOn(true)}\n onBlur={() => onSearch && setSearchOn(false)}\n readOnly={!onSearch}\n addonAfter={\n <span style={{ width: 'auto' }}>\n {!disabled && selectIconType === 'close' && (\n <Icon type={selectIconType} onClick={onClear} className={`${prefixCls}-close`} />\n )}\n </span>\n }\n />\n </span>\n </Dropdown>\n );\n}\n\nexport default Cascader;\n","import React, { useState, useMemo } from 'react';\nimport { IProps, HTMLInputProps } from '@uiw/utils';\n\n/**\n * Constructs a type by picking all properties from `HTMLInputProps` and then removing `size`.\n * Omit: https://www.typescriptlang.org/docs/handbook/utility-types.html#omittk\n */\nexport interface RadioAbstractProps extends IProps, Omit<HTMLInputProps, 'size'> {\n size?: 'large' | 'default' | 'small';\n checked?: boolean;\n disabled?: boolean;\n onChange?: (even: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const RadioAbstract = React.forwardRef<HTMLInputElement, RadioAbstractProps>((props, ref) => {\n const {\n prefixCls = 'w-radio',\n type = 'radio',\n disabled = false,\n value = '',\n className,\n style,\n children,\n size,\n checked: prChecked = false,\n onChange,\n ...other\n } = props;\n\n const [checked, setChecked] = useState(prChecked);\n const [prevChecked, setPrevChecked] = useState<boolean>();\n if (prChecked !== prevChecked) {\n setPrevChecked(prChecked);\n }\n useMemo(() => {\n if (prChecked !== prevChecked) {\n setChecked(prChecked);\n }\n }, [prevChecked]);\n\n const cls = [prefixCls, className, disabled ? 'disabled' : null, size ? `${prefixCls}-${size}` : null]\n .filter(Boolean)\n .join(' ')\n .trim();\n useMemo(() => {\n if (checked !== props.checked) {\n setChecked(!!props.checked);\n }\n }, [props.checked]);\n\n function handleChange(e: React.ChangeEvent<HTMLInputElement>) {\n e.persist();\n setChecked(e.target.checked);\n onChange && onChange(e);\n }\n\n const label = children || value;\n return (\n <label {...{ className: cls, style }}>\n <input {...{ ...other, type, disabled, value }} checked={checked} onChange={handleChange} ref={ref} />\n {label && <div className={`${prefixCls}-text`}>{label}</div>}\n </label>\n );\n});\n","import React from 'react';\nimport { RadioAbstract, RadioAbstractProps } from './RadioAbstract';\nimport './style/index.less';\n\nexport interface RadioProps extends RadioAbstractProps {}\n\nexport default React.forwardRef<HTMLInputElement, RadioProps>((props, ref) => {\n return <RadioAbstract ref={ref} {...props} />;\n});\n","import React from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport { RadioProps } from './Radio';\nimport ButtonGroup from '@uiw/react-button-group';\nimport './style/group.less';\n\nexport interface RadioGroupProps extends IProps, HTMLDivProps {\n name?: RadioProps['name'];\n value?: RadioProps['value'];\n onChange?: RadioProps['onChange'];\n}\n\nexport default React.forwardRef<HTMLDivElement, RadioGroupProps>((props, ref) => {\n const { prefixCls = 'w-radio-group', className, name, value, onChange, children, ...other } = props;\n return (\n <div {...other} ref={ref} className={[prefixCls, className].filter(Boolean).join(' ').trim()}>\n <ButtonGroup>\n {React.Children.toArray(children).map((child) => {\n if (!child) return;\n if (!React.isValidElement(child)) return child;\n return React.cloneElement(child, {\n ...(child.props || {}),\n ...{\n checked: child.props.value === value,\n name,\n onChange,\n },\n });\n })}\n </ButtonGroup>\n </div>\n );\n});\n","import React, { useState, useMemo } from 'react';\nimport { IProps, HTMLButtonProps } from '@uiw/utils';\nimport Button from '@uiw/react-button';\n\n/**\n * Constructs a type by picking all properties from `HTMLInputProps` and then removing `size`.\n * Omit: https://www.typescriptlang.org/docs/handbook/utility-types.html#omittk\n */\nexport interface RadioButtonProps extends IProps, Omit<HTMLButtonProps, 'size'> {\n size?: 'large' | 'default' | 'small';\n checked?: boolean;\n disabled?: boolean;\n onChange?: (even: any) => void;\n}\n\nconst RadioButton = React.forwardRef<any, RadioButtonProps>((props, ref) => {\n const {\n prefixCls = 'w-radio',\n type = 'button',\n disabled = false,\n value = '',\n className,\n style,\n children,\n size = 'small',\n checked: prChecked = false,\n onChange,\n ...other\n } = props;\n\n const [checked, setChecked] = useState(prChecked);\n const [prevChecked, setPrevChecked] = useState<boolean>();\n if (prChecked !== prevChecked) {\n setPrevChecked(prChecked);\n }\n useMemo(() => {\n if (prChecked !== prevChecked) {\n setChecked(prChecked);\n }\n }, [prevChecked]);\n\n const cls = [prefixCls, className, disabled ? 'disabled' : null, size ? `${prefixCls}-${size}` : null]\n .filter(Boolean)\n .join(' ')\n .trim();\n useMemo(() => {\n if (checked !== props.checked) {\n setChecked(!!props.checked);\n }\n }, [props.checked]);\n console.log('props.checked', props.checked);\n\n function handleChange(e: React.MouseEvent<HTMLButtonElement, MouseEvent> & MouseEvent) {\n e.persist();\n setChecked(!checked);\n onChange && onChange(value);\n }\n\n const label = children || value;\n\n return (\n <Button\n {...{ ...other, className: cls, style, disabled, value }}\n type={checked ? 'primary' : 'light'}\n ref={ref}\n onClick={handleChange}\n >\n {label}\n </Button>\n );\n});\n\nexport default RadioButton;\n","import React, { useMemo, useRef } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport './style/group.less';\n\nexport type Value = string | number;\nexport interface CheckboxGroupPorps extends IProps, Omit<HTMLDivProps, 'onChange'> {\n value?: Value[];\n name?: string;\n onChange?: (e: React.ChangeEvent<HTMLInputElement>, values: Value[]) => void;\n}\n\nexport const CheckboxGroup = React.forwardRef<HTMLDivElement, CheckboxGroupPorps>((props, ref) => {\n const { prefixCls = 'w-checkbox-group', className, name, value, onChange, ...other } = props;\n const valueRef = useRef<Value[]>([]);\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n const childs = React.Children.toArray(props.children);\n useMemo(() => (valueRef.current = value || []), [value]);\n return (\n <div {...other} className={cls} ref={ref}>\n {React.Children.map(childs, (element: React.ReactNode) => {\n if (!React.isValidElement(element)) return;\n if (\n Array.isArray(value) &&\n element &&\n element.props &&\n element.props.value &&\n value.includes(element.props.value)\n ) {\n if (!valueRef.current.includes(element.props.value)) {\n valueRef.current.push(element.props.value);\n }\n }\n return React.cloneElement(\n element,\n Object.assign({}, element.props, {\n name,\n checked: valueRef.current.includes(element.props.value),\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => {\n if (e.target.type && e.target.type !== 'checkbox') return;\n const checked = e.target.checked;\n const include = valueRef.current.includes(element.props.value);\n if (!include && checked) {\n valueRef.current.push(element.props.value);\n } else if (include && !checked) {\n valueRef.current = valueRef.current.filter((val) => val !== element.props.value);\n }\n onChange && onChange(e, valueRef.current);\n },\n }),\n );\n })}\n </div>\n );\n});\n","import React from 'react';\nimport { RadioAbstract, RadioAbstractProps } from '@uiw/react-radio';\nimport { CheckboxGroup } from './Group';\nimport './style/index.less';\n\nexport interface CheckboxProps extends RadioAbstractProps {\n indeterminate?: boolean;\n}\n\nfunction InternalCheckbox(props: CheckboxProps, ref: React.ForwardedRef<HTMLInputElement>) {\n const {\n className,\n prefixCls = 'w-checkbox',\n type = 'checkbox',\n indeterminate = false,\n disabled = false,\n value = '',\n ...other\n } = props;\n\n const cls = [className, indeterminate && 'indeterminate'].filter(Boolean).join(' ').trim();\n return (\n <RadioAbstract\n ref={ref}\n {...other}\n type={type}\n prefixCls={prefixCls}\n disabled={disabled}\n value={value}\n className={cls}\n />\n );\n}\n\nconst Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(InternalCheckbox);\ntype Checkbox = typeof Checkbox & {\n Group: typeof CheckboxGroup;\n};\n\n(Checkbox as Checkbox).Group = CheckboxGroup;\n\nexport default Checkbox as Checkbox;\n","import Checkbox from './Checkbox';\n\nexport * from './Checkbox';\nexport * from './Group';\nexport default Checkbox;\n","import React, { useState, useMemo } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport Panel from './Panel';\nimport './style/index.less';\n\nexport interface CollapseProps extends IProps, Omit<HTMLDivProps, 'onChange'> {\n accordion?: boolean;\n activeKey?: string | string[];\n bordered?: boolean;\n showArrow?: boolean;\n onChange?: (activeKey: string[]) => void;\n}\n\nexport interface CollapseState {\n activeKey: string[];\n}\n\nfunction toArray(activeKey: CollapseProps['activeKey']) {\n let currentActiveKey = activeKey;\n if (!Array.isArray(currentActiveKey)) {\n currentActiveKey = currentActiveKey ? [currentActiveKey] : [];\n }\n return currentActiveKey;\n}\n\nfunction InternalCollapse(props: CollapseProps, ref: React.ForwardedRef<HTMLDivElement>) {\n const {\n prefixCls = 'w-collapse',\n className,\n children,\n accordion = false,\n bordered,\n showArrow = true,\n activeKey: propsActiveKey,\n onChange,\n ...resetProps\n } = props;\n const [activeKey, setActiveKey] = useState(toArray(propsActiveKey));\n const cls = [prefixCls, className, bordered ? 'w-noborder' : null].filter(Boolean).join(' ').trim();\n function onItemClick(key: string) {\n let keys = activeKey;\n if (accordion) {\n keys = keys[0] === key ? [] : [key];\n } else {\n keys = [...keys];\n const index = keys.indexOf(key);\n const isActive = index > -1;\n if (isActive) {\n keys.splice(index, 1);\n } else {\n keys.push(key);\n }\n }\n setActiveKey(keys);\n }\n useMemo(() => {\n if (propsActiveKey !== activeKey) {\n setActiveKey(toArray(propsActiveKey));\n }\n }, [propsActiveKey]);\n useMemo(() => {\n if (propsActiveKey !== activeKey) {\n onChange && onChange(activeKey);\n }\n }, [activeKey, propsActiveKey]);\n return (\n <div className={cls} {...resetProps} ref={ref}>\n {React.Children.map(children, (child: any, index) => {\n // 如果没有密钥提供,请使用面板顺序作为默认密钥\n const key = child.key || String(index);\n const { disabled } = child.props;\n let isActive = false;\n if (accordion) {\n // 手风琴模式下默认选择第一个\n isActive = activeKey[0] === key;\n } else {\n isActive = activeKey.indexOf(key) > -1;\n }\n const childProps = {\n prefixCls,\n isActive,\n disabled,\n showArrow,\n onItemClick: disabled ? () => {} : () => onItemClick(key),\n ...child.props,\n };\n return React.cloneElement(child, childProps);\n })}\n </div>\n );\n}\n\nconst Collapse = React.forwardRef<HTMLDivElement, CollapseProps>(InternalCollapse);\ntype Collapse = typeof Collapse & {\n Panel: typeof Panel;\n};\n\n(Collapse as Collapse).Panel = Panel;\n\nexport default Collapse as Collapse;\n","import React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { TransitionStatus } from 'react-transition-group/Transition';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport Icon, { IconProps } from '@uiw/react-icon';\n\nexport interface CollapsePanelProps extends IProps, HTMLDivProps {\n disabled?: boolean;\n showArrow?: boolean;\n isActive?: boolean;\n header?: React.ReactNode;\n icon?: IconProps['type'];\n extra?: React.ReactNode;\n onItemClick?: (evn: React.MouseEvent<HTMLDivElement>) => void;\n}\n\nexport default function Panel(props: CollapsePanelProps) {\n const {\n prefixCls = 'w-collapse',\n className,\n icon = 'down',\n children,\n isActive,\n onItemClick,\n disabled = false,\n showArrow,\n header,\n extra,\n ...resetProps\n } = props;\n const cls = [\n prefixCls ? `${prefixCls}-item` : null,\n className,\n isActive ? `${prefixCls}-active` : null,\n disabled ? `${prefixCls}-disabled` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n const iconRender = typeof icon === 'string' ? <Icon type={icon} /> : icon;\n\n const childStyle = (child: React.ReactElement) => {\n return Object.assign({}, child && child.props ? child.props.style : {}, {\n transitionDuration: '300ms',\n });\n };\n function getInstance(status: TransitionStatus, instance: any) {\n if (!instance) {\n return;\n }\n if (status === 'exited' || status === 'exiting') {\n instance.style.height = '1px';\n }\n if (status === 'entered' || status === 'entering') {\n instance.style.height = `${instance.scrollHeight}px`;\n }\n }\n return (\n <div className={cls} {...resetProps}>\n <div className={`${prefixCls}-header`} onClick={onItemClick}>\n {showArrow && iconRender}\n <span className={`${prefixCls}-title`}>{header}</span>\n {extra && <div className={`${prefixCls}-extra`}>{extra}</div>}\n </div>\n <CSSTransition in={isActive} unmountOnExit={false} timeout={300} classNames={`${prefixCls}-panel`}>\n {(status: TransitionStatus) =>\n React.cloneElement(<div>{children}</div>, {\n className: `${prefixCls}-panel`,\n style: childStyle(children as React.ReactElement),\n ref: (e: any) => getInstance(status, e),\n })\n }\n </CSSTransition>\n </div>\n );\n}\n","import Collapse from './Collapse';\n\nexport * from './Collapse';\nexport * from './Panel';\n\nexport default Collapse;\n","import React from 'react';\nimport copy from '@uiw/copy-to-clipboard';\nimport { IProps, HTMLSpanProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface CopyToClipboardProps extends IProps, Omit<HTMLSpanProps, 'onClick'> {\n text?: string;\n onClick?: (text: string, isCopy: boolean, event: React.MouseEvent<HTMLElement>) => void;\n}\n\nexport default function CopyToClipboard<T>(props: CopyToClipboardProps & T) {\n const {\n prefixCls = 'w-copy-to-clipboard',\n className,\n text = '',\n children,\n onClick = () => null,\n ...resetProps\n } = props;\n function handleClick(e: React.MouseEvent<HTMLElement>) {\n if (!text) {\n return onClick('', false, e);\n }\n copy(text, (isCopy: boolean) => {\n onClick(text, isCopy, e);\n });\n }\n const otherProps = {\n ...resetProps,\n className: [prefixCls, className].filter(Boolean).join(' ').trim(),\n onClick: handleClick,\n };\n return (\n <span {...otherProps}>\n <span className={`${prefixCls}-select`}>{text}</span>\n {children}\n </span>\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport Input, { InputProps } from '@uiw/react-input';\nimport Popover, { PopoverProps } from '@uiw/react-popover';\nimport DatePicker, { DatePickerProps } from '@uiw/react-date-picker';\nimport Icon from '@uiw/react-icon';\nimport { IProps } from '@uiw/utils';\nimport formatter from '@uiw/formatter';\nimport './style/date-input-range.less';\n\nexport interface DateInputRangeProps<V> extends IProps, Omit<InputProps, 'onChange' | 'value'> {\n popoverProps?: PopoverProps;\n datePickerProps?: DatePickerProps;\n value?: Array<V>;\n format?: string;\n allowClear?: boolean;\n bodyStyle?: object;\n onChange?: (selectedDate?: Date, dateRange?: Array<Date | undefined>) => void;\n}\n\nexport function DateInputRange<V extends string | Date>(props: DateInputRangeProps<V>) {\n const {\n prefixCls = 'w-dateinputrange',\n bodyStyle = undefined,\n className,\n popoverProps,\n datePickerProps,\n allowClear = true,\n format = 'YYYY/MM/DD',\n onChange,\n value,\n ...inputProps\n } = props;\n\n const [dateRange, setDateRange] = useState<Array<Date | undefined>>([]);\n useEffect(() => {\n let valueTemp: Array<Date> = [];\n const propsValue = value;\n if (Array.isArray(propsValue) && !!propsValue?.length) {\n propsValue.forEach((date, index) => {\n valueTemp[index] = typeof propsValue[index] === 'string' ? new Date(date) : (date as Date);\n });\n }\n setDateRange(valueTemp);\n }, [JSON.stringify(value)]);\n\n function handleChange(cdate: Date | undefined, idx?: number) {\n const changeValue = [...dateRange];\n changeValue[idx!] = cdate;\n setDateRange(changeValue);\n onChange && onChange(cdate, changeValue);\n }\n\n return (\n <div\n className={[`${prefixCls}-contents`, `${prefixCls}-inner`].filter(Boolean).join(' ').trim()}\n style={{ width: 300, ...bodyStyle }}\n >\n <Popover\n trigger=\"focus\"\n placement=\"bottomLeft\"\n autoAdjustOverflow\n {...popoverProps}\n content={\n <DatePicker\n date={dateRange[0]}\n className={`${prefixCls}-popover`}\n {...datePickerProps}\n onChange={(selectedDate) => handleChange(selectedDate, 0)}\n />\n }\n >\n <Input\n placeholder=\"请选择日期\"\n readOnly\n {...(inputProps as InputProps)}\n // onChange={(v) => console.log('v', v)}\n value={dateRange[0] ? formatter(format, dateRange[0]) : ''}\n className={[prefixCls, className].filter(Boolean).join(' ').trim()}\n />\n </Popover>\n\n <Icon type=\"swap-right\" verticalAlign=\"baseline\" style={{ fontSize: 21, top: -1, margin: '0px 8px 0px 5px' }} />\n\n <Popover\n trigger=\"focus\"\n placement=\"bottomLeft\"\n autoAdjustOverflow\n {...popoverProps}\n content={\n <DatePicker\n date={dateRange[1]}\n className={`${prefixCls}-popover`}\n {...datePickerProps}\n onChange={(selectedDate) => handleChange(selectedDate, 1)}\n />\n }\n >\n <Input\n placeholder=\"请选择日期\"\n readOnly\n {...(inputProps as InputProps)}\n value={dateRange[1] ? formatter(format, dateRange[1]) : ''}\n // onChange={(v) => console.log('v2', v)}\n className={[prefixCls, className].filter(Boolean).join(' ').trim()}\n />\n </Popover>\n {allowClear && dateRange.length > 0 && (\n <Icon className={`${prefixCls}-close-btn`} color=\"#ccc\" onClick={() => setDateRange([])} type=\"close\" />\n )}\n </div>\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport Input, { InputProps } from '@uiw/react-input';\nimport Popover, { PopoverProps } from '@uiw/react-popover';\nimport DatePicker, { DatePickerProps } from '@uiw/react-date-picker';\nimport Icon from '@uiw/react-icon';\nimport { IProps } from '@uiw/utils';\nimport formatter from '@uiw/formatter';\nexport * from './DateInputRange';\nimport './style/index.less';\n\nexport interface DateInputProps extends IProps, Omit<InputProps, 'onChange' | 'value'> {\n popoverProps?: PopoverProps;\n datePickerProps?: DatePickerProps;\n value?: Date | string;\n format?: string;\n allowClear?: boolean;\n onChange?: (selectedDate?: Date) => void;\n autoClose?: boolean;\n}\n\nexport default function DateInput(props: DateInputProps) {\n const {\n prefixCls = 'w-dateinput',\n className,\n popoverProps,\n datePickerProps,\n allowClear = true,\n autoClose = false,\n format = 'YYYY/MM/DD',\n onChange,\n ...inputProps\n } = props;\n const [date, setDate] = useState(props.value);\n\n const value = date || '';\n inputProps.value = typeof value === 'string' ? value : formatter(format, value);\n\n useEffect(() => {\n if (props.value !== date) {\n setDate(props.value);\n }\n }, [props.value]);\n\n function handleChange(cdate?: Date) {\n autoClose && setIsOpen(false);\n setDate(cdate);\n onChange && onChange(cdate);\n }\n if (allowClear && inputProps.value) {\n inputProps.addonAfter = (\n <Icon className={`${prefixCls}-close-btn`} onClick={() => handleChange(undefined)} type=\"close\" />\n );\n }\n\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n <Popover\n trigger=\"focus\"\n placement=\"bottomLeft\"\n autoAdjustOverflow\n isOpen={isOpen}\n onVisibleChange={(open) => setIsOpen(open)}\n {...popoverProps}\n content={\n <DatePicker\n date={(value && new Date(value)) || undefined}\n className={`${prefixCls}-popover`}\n {...datePickerProps}\n onChange={(selectedDate) => handleChange(selectedDate!)}\n />\n }\n >\n <Input\n placeholder=\"请选择日期\"\n readOnly\n {...(inputProps as InputProps)}\n className={[prefixCls, className].filter(Boolean).join(' ').trim()}\n />\n </Popover>\n );\n}\n","import React from 'react';\nimport { IProps } from '@uiw/utils';\n\nexport interface DescriptionsItemProps extends IProps {\n label?: React.ReactNode;\n children: React.ReactNode;\n span?: number;\n}\n\nconst DescriptionsItem: React.FC<DescriptionsItemProps> = ({ children }) => children as JSX.Element;\n\nexport default DescriptionsItem;\n","import React, { Fragment } from 'react';\nimport { IProps } from '@uiw/utils';\nimport { DescriptionsItemProps } from './DescriptionsItem';\nimport { RowProps } from './Row';\n\nexport interface CellProps\n extends Omit<RowProps, 'children'>,\n Omit<DescriptionsItemProps, 'children'>,\n React.HTMLAttributes<HTMLTableCellElement>,\n IProps {\n children?: React.ReactElement<DescriptionsItemProps> | React.ReactNode;\n tagName?: 'td' | 'th';\n /**\n * 是否为一行的最后一个\n */\n isLastCell?: boolean;\n}\n\nfunction Cell(props: CellProps = {}) {\n const {\n prefixCls,\n className,\n tagName: TagName = 'td',\n layout,\n bordered,\n label,\n isLastCell,\n colon,\n span,\n children,\n column,\n ...other\n } = props;\n\n const labelProps: React.HTMLAttributes<HTMLSpanElement> = {\n className: [\n prefixCls ? `${prefixCls}-item-label` : null,\n className,\n colon ? `${prefixCls}-item-colon` : null,\n !label ? `${prefixCls}-item-no-label` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim(),\n };\n if (layout === 'horizontal') {\n if (!bordered) {\n return (\n <TagName {...other} colSpan={span}>\n <span {...labelProps}>{label}</span>\n <span className={prefixCls ? `${prefixCls}-item-content` : ''}>{children}</span>\n </TagName>\n );\n }\n return (\n <Fragment>\n <th {...labelProps}>{label}</th>\n <TagName\n {...other}\n colSpan={span ? span * 2 - 1 : span}\n className={prefixCls ? `${prefixCls}-item-content` : ''}\n >\n {children}\n </TagName>\n </Fragment>\n );\n }\n return (\n <TagName colSpan={span} className={`${prefixCls}-item-${TagName === 'td' ? 'content' : 'label'}`}>\n {children}\n </TagName>\n );\n}\n\nexport default Cell;\n","import React, { Fragment } from 'react';\nimport { IProps } from '@uiw/utils';\nimport { DescriptionsItemProps } from './DescriptionsItem';\nimport Cell from './Cell';\n\nexport interface RowProps extends IProps {\n children?: React.ReactElement<DescriptionsItemProps>[];\n bordered?: boolean;\n layout?: 'horizontal' | 'vertical';\n colon?: boolean;\n column?: number;\n}\n\nexport default function Row(props: RowProps = {}) {\n const { prefixCls, layout, bordered, column, colon, children = [] } = props;\n function handleCell(isHead?: boolean) {\n return children.map((child, index) => (\n <Cell\n {...child.props}\n prefixCls={prefixCls}\n key={index}\n column={column}\n tagName={isHead ? 'th' : 'td'}\n isLastCell={children.length - 1 === index}\n layout={layout}\n colon={colon}\n bordered={bordered}\n >\n {isHead ? child.props.label : child.props.children}\n </Cell>\n ));\n }\n const cls = prefixCls ? `${prefixCls}-row` : '';\n return (\n <Fragment>\n {layout === 'vertical' && <tr className={cls}>{handleCell(true)}</tr>}\n <tr className={cls}>{handleCell()}</tr>\n </Fragment>\n );\n}\n","import React from 'react';\nimport { IProps } from '@uiw/utils';\nimport DescriptionsItem, { DescriptionsItemProps } from './DescriptionsItem';\nimport Row, { RowProps } from './Row';\nimport './style/index.less';\n\nexport * from './DescriptionsItem';\n\nexport interface DescriptionsProps extends IProps {\n column?: number;\n title?: React.ReactNode;\n children?: React.ReactNode;\n bordered?: boolean;\n colon?: boolean;\n size?: 'large' | 'small' | 'default';\n layout?: RowProps['layout'];\n}\n\nconst generateChildrenRows = (\n children: React.ReactElement<DescriptionsItemProps>[],\n column: number,\n): Array<React.ReactElement<DescriptionsItemProps>[]> => {\n const rows: React.ReactElement<DescriptionsItemProps>[][] = [];\n let columns: React.ReactElement<DescriptionsItemProps>[] | null = null;\n let leftSpans: number;\n\n children.forEach((node: React.ReactElement<DescriptionsItemProps>, index: number) => {\n let itemNode = node;\n\n if (!columns) {\n leftSpans = column;\n columns = [];\n rows.push(columns);\n }\n\n // Always set last span to align the end of Descriptions\n const lastItem = index === children.length - 1;\n if (lastItem) {\n itemNode = React.cloneElement(itemNode, {\n span: leftSpans,\n });\n }\n // Calculate left fill span\n const { span = 1 } = itemNode.props;\n columns.push(itemNode);\n leftSpans -= span;\n\n if (leftSpans <= 0) {\n columns = null;\n }\n });\n\n return rows;\n};\n\nfunction InternalDescriptions(props: DescriptionsProps, ref: React.ForwardedRef<HTMLDivElement>) {\n const {\n prefixCls = 'w-descriptions',\n className,\n title,\n bordered,\n column = 3,\n size,\n colon = true,\n children,\n layout = 'horizontal',\n ...other\n } = props;\n const cls = [\n prefixCls,\n className,\n prefixCls && layout ? `${prefixCls}-${layout}` : null,\n bordered ? `${prefixCls}-bordered` : null,\n size ? `${prefixCls}-${size}` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n const cloneChildren = React.Children.toArray(children) as JSX.Element[];\n const childs: Array<React.ReactElement<DescriptionsItemProps>[]> = generateChildrenRows(cloneChildren, column!);\n\n return (\n <div className={cls} ref={ref}>\n <table {...other}>\n {title && <caption className={`${prefixCls}-title`}>{title}</caption>}\n <tbody className={`${prefixCls}-tbody`}>\n {childs.map((child, index) => (\n <Row key={index} prefixCls={prefixCls} bordered={bordered} colon={colon} column={column} layout={layout}>\n {child}\n </Row>\n ))}\n </tbody>\n </table>\n </div>\n );\n}\n\nconst Descriptions = React.forwardRef<HTMLDivElement, DescriptionsProps>(InternalDescriptions);\ntype Descriptions = typeof Descriptions & {\n Item: typeof DescriptionsItem;\n};\n\n(Descriptions as Descriptions).Item = DescriptionsItem;\n\nexport default Descriptions as Descriptions;\n","import React from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface DividerProps extends IProps, HTMLDivProps {\n dashed?: boolean;\n type?: 'horizontal' | 'vertical';\n align?: 'left' | 'right' | 'center';\n}\n\nexport default React.forwardRef<HTMLDivElement, DividerProps>((props, ref) => {\n const {\n prefixCls = 'w-divider',\n className,\n children,\n dashed = false,\n type = 'horizontal',\n align = 'center',\n ...restProps\n } = props;\n const cls = [\n className,\n prefixCls,\n prefixCls && type ? `${prefixCls}-${type}` : null,\n prefixCls && align ? `${prefixCls}-${align}` : null,\n children ? `${prefixCls}-with-text` : null,\n !!dashed ? `${prefixCls}-dashed` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n return (\n <div className={cls} {...restProps} ref={ref}>\n {children && <span className={`${prefixCls}-inner-text`}>{children}</span>}\n </div>\n );\n});\n","import React, { useMemo } from 'react';\nimport Overlay, { OverlayProps } from '@uiw/react-overlay';\nimport Icon, { IconProps } from '@uiw/react-icon';\nimport Button from '@uiw/react-button';\nimport { HTMLDivProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface DrawerProps extends OverlayProps {\n footer?: React.ReactNode;\n icon?: IconProps['type'];\n title?: React.ReactNode;\n bodyProps?: HTMLDivProps;\n placement?: 'top' | 'right' | 'bottom' | 'left';\n size?: number;\n isCloseButtonShown?: boolean;\n onClose?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n}\n\nexport default (props: DrawerProps = {}) => {\n const {\n prefixCls = 'w-drawer',\n className,\n style,\n placement = 'right',\n size = 260,\n title,\n footer,\n icon,\n isCloseButtonShown = true,\n bodyProps,\n timeout = 300,\n isOpen = false,\n maskClosable = true,\n ...overlayProps\n } = props;\n const cls = [className, prefixCls, placement].filter(Boolean).join(' ').trim();\n const bodyCls = [bodyProps ? bodyProps.className : null, prefixCls ? `${prefixCls}-body-inner` : null]\n .filter(Boolean)\n .join(' ')\n .trim();\n const styl = {\n ...style,\n [/^(top|bottom)$/.test(placement!) ? 'height' : 'width']: size,\n };\n const footerView = useMemo(() => (footer ? <div className={`${prefixCls}-footer`}>{footer}</div> : null), [footer]);\n const iconView = useMemo(() => (icon ? <Icon type={icon} /> : null), [icon]);\n const titleView = useMemo(() => (title ? <h4>{title}</h4> : null), [title]);\n return (\n <Overlay className={cls} timeout={timeout} isOpen={isOpen} maskClosable={maskClosable} {...overlayProps}>\n <div className={`${prefixCls}-wrapper`} style={styl}>\n {(title || icon) && (\n <div className={`${prefixCls}-header`}>\n {iconView}\n {titleView}\n {title && isCloseButtonShown && <Button basic onClick={props.onClose} icon=\"close\" type=\"light\" />}\n </div>\n )}\n <div className={`${prefixCls}-body`}>\n <div {...bodyProps} className={bodyCls}>\n {props.children}\n </div>\n </div>\n {footerView}\n </div>\n </Overlay>\n );\n};\n","import React from 'react';\nimport './style/index.less';\n\nexport interface EmptyProps extends React.HTMLAttributes<HTMLDivElement> {\n prefixCls?: string;\n icon?: React.ReactNode;\n size?: number | string;\n iconProps?: React.SVGProps<SVGSVGElement>;\n /** 自定义描述内容 */\n description?: React.ReactNode;\n}\n\nconst Empty = (props: EmptyProps) => {\n const {\n prefixCls = 'w-empty',\n className,\n icon,\n iconProps,\n size = 64,\n description = '暂无数据',\n children,\n ...other\n } = props;\n\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return (\n <div className={cls} {...other}>\n <div className={`${prefixCls}-icon`}>\n {icon ? (\n icon\n ) : (\n <svg viewBox=\"0 0 1024 1024\" width={size} height={size} {...iconProps}>\n <path d=\"M20.48 860.16a491.52 102.4 0 1 0 983.04 0 491.52 102.4 0 1 0-983.04 0Z\" fill=\"#F5F5F5\" />\n <path d=\"M225.28 409.6l573.44-8.06912 112.78336 183.296H102.4z\" fill=\"#C4C5C7\" />\n <path\n d=\"M266.24 61.44h491.52a40.96 40.96 0 0 1 40.96 40.96v532.48a40.96 40.96 0 0 1-40.96 40.96H266.24a40.96 40.96 0 0 1-40.96-40.96V102.4a40.96 40.96 0 0 1 40.96-40.96z\"\n fill=\"#F5F5F7\"\n />\n <path\n d=\"M348.16 143.36h327.68a40.96 40.96 0 0 1 40.96 40.96v122.88a40.96 40.96 0 0 1-40.96 40.96H348.16a40.96 40.96 0 0 1-40.96-40.96V184.32a40.96 40.96 0 0 1 40.96-40.96zM327.68 409.6h368.64a20.48 20.48 0 0 1 0 40.96H327.68a20.48 20.48 0 0 1 0-40.96zM327.68 491.52h368.64a20.48 20.48 0 0 1 0 40.96H327.68a20.48 20.48 0 0 1 0-40.96z\"\n fill=\"#EBECEC\"\n />\n <path\n d=\"M673.44384 607.58016v13.43488c0 25.14944-20.0704 45.52704-44.8512 45.52704H382.95552l-2.2528-0.06144c-23.7568-1.16736-42.63936-21.07392-42.63936-45.4656v-13.45536c0-12.55424-10.0352-22.7328-22.44608-22.7328H102.4v250.30656C102.4 860.2624 122.49088 880.64 147.29216 880.64h719.31904c24.7808 0 44.89216-20.3776 44.89216-45.50656V584.82688H695.88992c-12.3904 0-22.44608 10.17856-22.44608 22.7328z\"\n fill=\"#E0E0E0\"\n />\n </svg>\n )}\n </div>\n {description && <div className={`${prefixCls}-description`}>{description}</div>}\n {children && <div className={`${prefixCls}-footer`}>{children}</div>}\n </div>\n );\n};\n\nexport default Empty;\n","import React from 'react';\nimport Input, { InputProps } from '@uiw/react-input';\nimport { FileInputProps } from './';\n\nexport interface InputUploadProps extends FileInputProps, InputProps {}\n\nexport default React.forwardRef<HTMLInputElement, InputUploadProps>((props, ref) => {\n const { className, dataLabel = 'Browse', prefixCls = 'w-fileinput', ...other } = props;\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return <Input ref={ref} data-label={dataLabel} className={cls} {...other} type=\"file\" />;\n});\n","import React from 'react';\nimport Icon from '@uiw/react-icon';\nimport { FileInputListProps } from './';\nimport './style/index.less';\n\nconst Picture = (props: FileInputListProps) => {\n const {\n className,\n prefixCls = 'w-fileinput-list',\n dataList = [],\n uploadType,\n size = 'middle',\n shape = 'round',\n readonly,\n children,\n showFileIcon = {\n showPreviewIcon: true,\n showRemoveIcon: true,\n },\n onPreview,\n onAdd,\n onRemove,\n } = props;\n\n const cls = [prefixCls, `${prefixCls}-size-${size}`, `${prefixCls}-shape-${shape}`, className]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n return (\n <div className={cls}>\n {children &&\n !readonly &&\n React.isValidElement(children) &&\n React.cloneElement(children, {\n onClick: onAdd,\n })}\n <div>\n {dataList.map((item, index) => (\n <div className={`${prefixCls}-${uploadType}`} key={index}>\n {uploadType === 'picture' && (\n <div className={`${prefixCls}-info ${prefixCls}-${uploadType}-info`}>\n <img src={item['dataURL']} alt=\"\" />\n {showFileIcon?.showPreviewIcon && (\n <div className={`${prefixCls}-actions`}>\n <span className={`${prefixCls}-actions-search`} onClick={() => onPreview?.(item)}>\n <Icon type=\"search\" style={{ color: '#fff', fontSize: 16 }} />\n </span>\n </div>\n )}\n </div>\n )}\n <div className={`${prefixCls}-${uploadType}-text`}>{item.name}</div>\n {showFileIcon?.showRemoveIcon && (\n <div className={`${prefixCls}-${uploadType}-icon`} onClick={() => onRemove?.(index)}>\n <Icon type=\"delete\" style={{ color: '#999' }} />\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nexport default Picture;\n","import React from 'react';\nimport Icon from '@uiw/react-icon';\nimport { FileInputListProps } from './';\nimport './style/index.less';\n\nconst Card = (props: FileInputListProps) => {\n const {\n className,\n prefixCls = 'w-fileinput-card',\n dataList = [],\n maxNumber = 3,\n shape = 'round',\n size = 'middle',\n readonly,\n children,\n showFileIcon = {\n showPreviewIcon: true,\n showRemoveIcon: true,\n },\n onAdd,\n onPreview,\n onRemove,\n } = props;\n const cls = [prefixCls, `${prefixCls}-size-${size}`, `${prefixCls}-shape-${shape}`, className]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n const isAction = showFileIcon.showPreviewIcon || showFileIcon.showRemoveIcon ? true : false;\n\n return (\n <div className={cls}>\n {dataList.map((item, index) => (\n <div className={`${prefixCls}-box`} key={index}>\n <div className={`${prefixCls}-box-info`}>\n <img src={item['dataURL']} alt=\"\" />\n </div>\n\n <div className={isAction ? `${prefixCls}-actions` : ''}>\n {showFileIcon?.showPreviewIcon && (\n <span className={`${prefixCls}-actions-remove`} onClick={() => onPreview?.(item)}>\n <Icon type=\"search\" style={{ color: '#fff', fontSize: 16 }} />\n </span>\n )}\n {showFileIcon?.showRemoveIcon && (\n <span className={`${prefixCls}-actions-remove`} onClick={() => onRemove?.(index)}>\n <Icon type=\"delete\" style={{ color: '#fff', fontSize: 16 }} />\n </span>\n )}\n </div>\n </div>\n ))}\n {maxNumber > dataList.length && !readonly && (\n <div className={`${prefixCls}-box ${prefixCls}-btn`} onClick={onAdd}>\n {children}\n </div>\n )}\n </div>\n );\n};\n\nexport default Card;\n","import { FileInputValue } from './';\n\nexport const openFileDialog = (inputRef: any): void => {\n if (inputRef.current) inputRef.current.click();\n};\n\nexport const getAcceptTypeString = (accept?: Array<string>) => {\n return accept && accept.length > 0 ? accept.map((item) => `.${item}`).join(', ') : 'image/*';\n};\n\nexport const getBase64 = (file: File): Promise<string> => {\n const reader = new FileReader();\n return new Promise((resolve) => {\n reader.addEventListener('load', () => resolve(String(reader.result)));\n reader.readAsDataURL(file);\n });\n};\n\nexport const getListFiles = (files: FileList, dataURLKey: string): Promise<FileInputValue[]> => {\n const promiseFiles: Array<Promise<string>> = [];\n for (let i = 0; i < files.length; i += 1) {\n promiseFiles.push(getBase64(files[i]));\n }\n return Promise.all(promiseFiles).then((fileListBase64: Array<string>) => {\n const fileList: FileInputValue[] = fileListBase64.map((base64, index) => ({\n [dataURLKey]: base64,\n file: files[index],\n name: files[index].name,\n }));\n return fileList;\n });\n};\n\nexport const isUploadType = (type: string) => {\n return ['picture', 'text', 'card'].includes(type);\n};\n","import React, { useRef, useCallback, useEffect, useState } from 'react';\nimport List from './List';\nimport Card from './Card';\nimport { FileInputValue, FileInputListProps } from './';\nimport { FileInputUploadProps } from './types';\nimport { openFileDialog, getListFiles } from './utils';\n\nexport const FileList = (props: FileInputUploadProps) => {\n const { uploadType, value = [], multiple = false, maxNumber = 3, onChange } = props;\n const inputRef = useRef<HTMLInputElement>(null);\n const inValue: FileInputValue[] = value || [];\n const [fileList, setFileList] = useState<FileInputValue[]>([]);\n\n useEffect(() => {\n setFileList(inValue);\n }, []);\n\n const handleClickInput = useCallback(() => openFileDialog(inputRef), [inputRef]);\n\n const onFileUpload = useCallback((): void => {\n if (inputRef.current) inputRef.current.value = '';\n handleClickInput();\n }, [handleClickInput]);\n\n const onInputChange = async (e: React.ChangeEvent<HTMLInputElement>) => {\n const files = e.target.files;\n if (!files) return;\n const updatedFileList = await getListFiles(files, 'dataURL');\n let updatedList = [...fileList, ...updatedFileList];\n if (maxNumber < updatedList.length) {\n updatedList = updatedList.slice(0, maxNumber);\n }\n setFileList(updatedList);\n onChange?.(updatedList);\n };\n\n const onRemove = (index: number) => {\n const updatedList = [...fileList];\n updatedList.splice(index, 1);\n setFileList(updatedList);\n onChange?.(updatedList);\n };\n\n let Comp: ((props: FileInputListProps) => JSX.Element) | undefined;\n\n if (uploadType === 'card') {\n Comp = Card;\n }\n if (uploadType === 'picture' || uploadType === 'text') {\n Comp = List;\n }\n\n return (\n <React.Fragment>\n <input type=\"file\" ref={inputRef} multiple={multiple} style={{ display: 'none' }} onChange={onInputChange} />\n {Comp && (\n <Comp {...props} maxNumber={maxNumber || 3} dataList={fileList} onAdd={onFileUpload} onRemove={onRemove} />\n )}\n </React.Fragment>\n );\n};\n\nexport default FileList;\n","import React from 'react';\nimport Input from './Input';\nimport FileList from './FileList';\nimport { isUploadType } from './utils';\nimport { InputProps } from '@uiw/react-input';\nimport { UploadType, FileInputBaseProps, FileInputUploadProps, FileInputShowIconProps } from './types';\nimport './style/index.less';\nexport interface FileInputValue {\n dataURL?: string;\n file?: File;\n name?: string;\n [key: string]: any;\n}\nexport interface FileInputProps extends FileInputBaseProps, InputProps {\n dataLabel?: string;\n}\nexport interface FileInputListProps extends FileInputUploadProps {\n shape?: 'circle' | 'round';\n size?: 'large' | 'middle' | 'small';\n showFileIcon?: FileInputShowIconProps;\n dataList: FileInputValue[];\n onAdd?: () => void;\n onRemove?: (index: number) => void;\n}\n\ninterface Props {\n uploadType?: UploadType;\n [key: string]: any;\n}\n\nfunction Upload(props: Props) {\n const { uploadType = 'input' } = props;\n\n if (uploadType === 'input') {\n return <Input {...props} />;\n }\n\n if (isUploadType(uploadType)) {\n return <FileList {...props} />;\n }\n return null;\n}\n\nexport default Upload;\n","import React from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport './style/col.less';\n\nexport interface ColProps extends IProps, HTMLDivProps {\n fixed?: boolean;\n span?: number | string;\n grow?: number | string;\n align?: 'top' | 'middle' | 'bottom' | 'baseline';\n}\n\nexport function Col(props: ColProps = {}) {\n const { prefixCls = 'w-col', className, fixed, span, grow, align, ...other } = props;\n const cls = [\n prefixCls,\n className,\n span ? `${prefixCls}-${span}` : null,\n fixed ? `${prefixCls}-fixed` : null,\n align ? `${prefixCls}-align-${align}` : null,\n fixed ? `${prefixCls}-grow-${grow}` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n return (\n <div className={cls} {...other}>\n {props.children}\n </div>\n );\n}\n","import React from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport './style/row.less';\n\nexport interface RowProps extends IProps, HTMLDivProps {\n fixed?: boolean;\n gutter?: number;\n justify?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly';\n align?: 'top' | 'middle' | 'bottom' | 'baseline';\n}\n\nexport function Row(props: RowProps = {}) {\n const { prefixCls = 'w-row', className, gutter = 0, justify, align, ...other } = props;\n const cls = [\n prefixCls,\n className,\n align ? `${prefixCls}-align-${align}` : null,\n justify ? `${prefixCls}-justify-${justify}` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n const gutterStyl = !gutter ? {} : { paddingLeft: gutter / 2, paddingRight: gutter / 2 };\n return (\n <div {...other} className={cls}>\n {React.Children.toArray(props.children).map((child) => {\n if (!React.isValidElement(child)) return child;\n return React.cloneElement(\n child,\n Object.assign({}, child.props, {\n style: { ...child.props.style, ...gutterStyl },\n }),\n );\n })}\n </div>\n );\n}\n","import React from 'react';\nimport { Col, Row } from '@uiw/react-grid';\nimport { IProps, HTMLInputProps } from '@uiw/utils';\nimport { FormFieldsProps } from './Form';\nimport './style/form-item.less';\n\nexport interface FormItemProps<T> extends IProps, HTMLInputProps {\n inline?: boolean;\n hasError?: boolean;\n label?: React.ReactNode;\n required?: boolean;\n labelFor?: string;\n labelClassName?: string;\n help?: React.ReactNode;\n labelStyle?: React.CSSProperties;\n initialValue?: string | number | T;\n validator?: FormFieldsProps<T>['validator'];\n}\n\nexport default class FormItem<T> extends React.PureComponent<FormItemProps<T>> {\n public static defaultProps = {\n prefixCls: 'w-form-item',\n };\n render() {\n const {\n prefixCls,\n className,\n required,\n style,\n label,\n labelFor,\n labelClassName,\n labelStyle,\n help,\n inline,\n initialValue,\n validator,\n hasError,\n ...otherProps\n } = this.props;\n\n const cls = [prefixCls, className, hasError ? `${prefixCls}-error` : null].filter(Boolean).join(' ').trim();\n const labelCls = ['w-form-label', labelClassName].filter(Boolean).join(' ').trim();\n if (inline) {\n return (\n <div className={cls} style={style} {...otherProps}>\n <Row>\n <Col fixed className={labelCls}>\n {required && <label style={{ color: 'red' }}>*</label>}\n <label style={labelStyle} htmlFor={labelFor}>\n {label}\n </label>\n </Col>\n <Col className=\"w-form-row\">{this.props.children}</Col>\n </Row>\n {help && (\n <Row>\n <Col className=\"w-form-help\">{help}</Col>\n </Row>\n )}\n </div>\n );\n }\n return (\n <div className={cls} style={style} {...otherProps}>\n {label && (\n <React.Fragment>\n {required && <label style={{ color: 'red' }}>*</label>}\n <label className={labelCls} style={labelStyle} htmlFor={labelFor}>\n {label}\n </label>\n </React.Fragment>\n )}\n <Col className=\"w-form-row\">{this.props.children}</Col>\n {help && <div className=\"w-form-help\">{help}</div>}\n </div>\n );\n }\n}\n","import React, { useState, useImperativeHandle, useMemo } from 'react';\nimport { IProps } from '@uiw/utils';\nimport FormItem, { FormItemProps } from './FormItem';\nimport './style/form.less';\n\nexport interface FormProps<T> extends IProps, Omit<React.FormHTMLAttributes<HTMLFormElement>, 'onChange' | 'onSubmit'> {\n prefixCls?: string;\n fields?: Record<string, FormFieldsProps<T>>;\n onSubmit?: (state: FormSubmitProps, event: React.FormEvent) => any;\n afterSubmit?: (result: FormAfterSubmitProps) => any;\n onChange?: (state: FormState) => void;\n onSubmitError?: (evn: any) => any;\n resetOnSubmit?: boolean;\n children?: ((handle: FormChildrenProps) => JSX.Element | undefined) | JSX.Element | undefined;\n}\n\nexport interface FormState {\n submitting: boolean;\n initial: Record<string, any>;\n current: FormState['initial'];\n errors: Record<string, any>;\n}\n\nexport interface FormFieldsProps<T> extends FormItemProps<T> {\n name?: string;\n children?: React.ReactNode;\n help?: React.ReactNode;\n labelFor?: string;\n inline?: boolean;\n checked?: boolean;\n initialValue?: string | number | T;\n required?: boolean;\n validator?: (currentValue: any) => any;\n}\n\nexport interface FormSubmitProps {\n initial: FormState['initial'];\n current: FormState['current'];\n}\n\nexport interface FormAfterSubmitProps {\n state: FormState;\n response: any;\n reset: () => void;\n}\n\nexport interface FormChildrenProps {\n fields: Record<string, React.ReactElement>;\n resetForm: () => void;\n canSubmit: () => boolean;\n state: FormState;\n}\n\nexport type FormElementProps = {\n id?: string;\n name?: string;\n value?: string | boolean;\n checked?: boolean;\n onChange?: (env: React.BaseSyntheticEvent<HTMLInputElement>, list?: string[]) => void;\n};\n\nexport type FormRefType = Record<'onSubmit' | 'resetForm' | 'getFieldValues' | 'setFields' | 'getError' | 'setFieldValue', Function>;\n\nfunction newFormState<T>(\n fields: FormProps<T>['fields'],\n cb: (porps: FormFieldsProps<T>) => {\n initialValue: FormFieldsProps<T>['initialValue'];\n currentValue: FormFieldsProps<T>['initialValue'];\n },\n): FormState {\n const state: FormState = {\n initial: {},\n current: {},\n submitting: false,\n errors: {},\n };\n for (const name in fields) {\n const props = fields[name];\n if (!props) continue;\n const { initialValue, currentValue } = cb({ ...props, name });\n state.initial[name] = Array.isArray(initialValue) ? [...initialValue] : initialValue;\n state.current[name] = currentValue;\n }\n return state;\n}\n\nfunction newInitialValue<T>(value: FormFieldsProps<T>['initialValue']) {\n return value === null || value === undefined ? '' : value;\n}\n\nconst isPromise = (promise: Promise<any>) => promise && typeof promise.then === 'function';\n\nfunction Form<T>(\n {\n prefixCls = 'w-form',\n className,\n fields,\n children,\n resetOnSubmit,\n onSubmitError,\n onChange,\n onSubmit,\n afterSubmit,\n ...others\n }: FormProps<T>,\n ref: React.ForwardedRef<FormRefType | undefined>, //| React.RefObject<FormRefType>,\n) {\n const initData = useMemo(\n () =>\n newFormState(fields, ({ initialValue }) => {\n initialValue = newInitialValue(initialValue);\n return { initialValue, currentValue: initialValue };\n }),\n [],\n );\n const [data, setData] = useState<FormState>(initData);\n\n useImperativeHandle(\n ref,\n () => ({\n onSubmit: handleSubmit,\n resetForm: handleReset,\n getFieldValues: () => data.current,\n getError: () => data.errors,\n setFields: setFields,\n setFieldValue: setFieldValue,\n }),\n [data],\n );\n\n const formUnits: FormChildrenProps['fields'] = {};\n for (const name in fields) {\n const props = fields[name];\n if (!props) continue;\n const error = data.errors[name];\n if (typeof props.initialValue === 'boolean') {\n props.checked = props.initialValue;\n }\n const childField: FormFieldsProps<T> = controlField({\n ...props,\n name,\n });\n const help = error || props.help;\n const labelFor = props.labelFor;\n formUnits[name] = (\n <FormItem\n {...{\n ...props,\n key: name,\n children: childField,\n help,\n labelFor,\n state: data,\n name,\n hasError: !!error,\n }}\n />\n );\n }\n\n function setFields(fields: FormState['current']) {\n const tempData = { ...data, current: fields };\n setData(tempData);\n }\n\n function setFieldValue<V>(fieldName: string, value: V) {\n const tempData = { ...data, current: { ...data.current, [fieldName]: value } };\n setData(tempData);\n }\n\n function handleChange(\n name: string,\n validator: FormFieldsProps<T>['validator'],\n element?: React.ReactElement,\n cb?: (env: React.BaseSyntheticEvent<HTMLInputElement>) => void,\n ) {\n return (env: React.BaseSyntheticEvent<HTMLInputElement>, list?: string[]) => {\n let value = env && env.target && 'value' in env.target ? env.target.value : env;\n // 控件 Checkbox.Group 多选值的处理\n value = list || value;\n // 控件 Checkbox 值的处理\n if (!list && element && env && env.target && /(radio)/.test(env.target.type)) {\n // 控件 Switch/Radio/Checkbox 值的处理\n value = env.target.value ? env.target.value : env.target.checked;\n }\n if (!list && element && env && env.target && /(checkbox)/.test(env.target.type)) {\n // 控件 Switch/Radio/Checkbox 值的处理\n value = env.target.checked;\n }\n const nextState = {\n current: { ...data.current, [name]: value },\n } as FormState;\n const error = validator && validator(value);\n if (!error) {\n nextState.errors = { ...data.errors };\n delete nextState.errors[name];\n }\n if (env && env.persist && typeof env.persist === 'function') env.persist();\n setData({ ...data, ...nextState });\n if (cb) {\n cb(env);\n }\n onChange && onChange({ ...data, ...nextState });\n };\n }\n\n function handleSubmit(e: React.FormEvent) {\n e && e.preventDefault();\n const { initial, current } = data;\n setData({ ...data, submitting: true });\n const nextState = { submitting: false } as FormState;\n const onError = (evn: unknown) =>\n setData({\n ...data,\n ...nextState,\n errors: (onSubmitError && onSubmitError(evn)) || {},\n });\n const onSuccess = (response: any) => {\n if (resetOnSubmit) {\n nextState.current = initial;\n }\n setData({ ...data, ...nextState, errors: {} });\n afterSubmit && afterSubmit({ state: data, response, reset: handleReset });\n };\n try {\n const afterSubmitPromise = onSubmit ? onSubmit({ initial, current }, e) : undefined;\n if (afterSubmitPromise && isPromise(afterSubmitPromise)) {\n return afterSubmitPromise.then(onSuccess).catch(onError);\n } else {\n return onSuccess(afterSubmitPromise);\n }\n } catch (evn) {\n onError(evn);\n }\n }\n\n function canSubmit() {\n const { submitting, current = {} } = data;\n let passesValidators = true;\n for (const name in fields) {\n if (Object.prototype.hasOwnProperty.call(fields, name)) {\n const props: FormFieldsProps<T> = fields[name];\n if (!props) continue;\n if (props.validator && props.validator(current[name])) {\n passesValidators = false;\n break;\n }\n }\n }\n return !submitting && passesValidators;\n }\n\n function handleReset() {\n let { initial } = data;\n const initials = { ...initial };\n Object.entries(initials).map(([key, value]) => {\n if (Array.isArray(value)) {\n initials[key] = [...value];\n }\n });\n setData({ ...data, initial, current: initials, errors: {} });\n }\n\n function controlField({\n children,\n validator,\n name,\n help,\n label,\n labelFor,\n labelClassName,\n labelStyle,\n inline,\n initialValue,\n ...other\n }: FormFieldsProps<T>) {\n const element =\n typeof children !== 'function'\n ? children\n : children({\n onChange: handleChange(name!, validator),\n onSubmit: handleSubmit,\n canSubmit: canSubmit,\n });\n if (!element || React.Children.count(element) !== 1 || !name) return element;\n const props = {\n name: element.props.name || name,\n ...other,\n } as FormElementProps;\n const hasCurrentValue = Object.prototype.hasOwnProperty.call(data.current, name);\n props.id = element.props.id;\n props.value = hasCurrentValue ? data.current && data.current[name] : props.value;\n // : element.props.value;\n\n const type = element.props.type;\n // console.log('type', element)\n if (type === 'checkbox' || type === 'switch' || typeof props.value === 'boolean') {\n props.checked = !!props.value;\n delete props.value;\n }\n props.onChange = handleChange(name, validator, element, element.props.onChange) as FormElementProps['onChange'];\n return React.cloneElement(element, props as FormElementProps);\n }\n\n return (\n <form\n {...{\n ...others,\n className: [prefixCls, className].filter(Boolean).join(' ').trim(),\n onSubmit: handleSubmit,\n }}\n >\n <fieldset {...{ disabled: data.submitting }}>\n {typeof children === 'function'\n ? children({\n fields: formUnits,\n state: data,\n resetForm: handleReset,\n canSubmit: canSubmit,\n })\n : children}\n </fieldset>\n </form>\n );\n}\n\nexport default React.forwardRef<FormRefType | undefined, FormProps<{}>>(Form);\n","import Form from './Form';\n\nexport * from './Form';\nexport * from './FormItem';\nexport { default as FormItem } from './FormItem';\n\nexport default Form;\n","import React, { Fragment } from 'react';\nimport { IProps } from '@uiw/utils';\n\nexport type TagType = React.ComponentType | keyof JSX.IntrinsicElements;\n\nexport interface ListItemProps<Tag extends TagType> extends IProps, React.HTMLProps<Tag> {\n disabled?: boolean;\n active?: boolean;\n extra?: React.ReactNode;\n href?: string;\n tagName?: Tag;\n}\n\nexport const ListItem = React.forwardRef(\n <Tag extends TagType = 'div'>(props: ListItemProps<Tag>, ref: React.Ref<React.HTMLProps<Tag>>) => {\n const {\n prefixCls = 'w-list-item',\n className,\n children,\n extra,\n tagName = 'div',\n active = false,\n ...resetProps\n } = props;\n const cls = [prefixCls, className, props.disabled ? 'w-disabled' : null, active ? 'w-active' : null]\n .filter(Boolean)\n .join(' ')\n .trim();\n const TagName = props.href && typeof tagName === 'string' ? 'a' : tagName;\n return React.createElement(\n TagName,\n {\n ...resetProps,\n className: cls,\n ref,\n } as any,\n !extra || resetProps.href ? (\n children\n ) : (\n <Fragment>\n <div className={`${prefixCls}-main`}>{children}</div>\n <div className={`${prefixCls}-extra`}>{extra}</div>\n </Fragment>\n ),\n );\n },\n);\n\nListItem.displayName = 'List.Item';\n","import React from 'react';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport { ListItem } from './Item';\nimport './style/index.less';\n\nexport * from './Item';\n\nexport interface ListProps<T> extends IProps, HTMLDivProps {\n bordered?: boolean;\n striped?: boolean;\n noHover?: boolean;\n active?: boolean;\n header?: React.ReactNode;\n footer?: React.ReactNode;\n size?: 'small' | 'default' | 'large';\n renderItem?: (item: any, idx: number) => React.ReactNode;\n dataSource?: T[];\n}\n\nfunction InternalList<T>(props: ListProps<T>, ref: React.ForwardedRef<HTMLDivElement>) {\n const {\n prefixCls = 'w-list',\n bordered = true,\n striped = false,\n noHover = false,\n active = false,\n size = 'default',\n renderItem = noop,\n className,\n children,\n header,\n footer,\n dataSource = [],\n ...resetProps\n } = props;\n let items: React.ReactNode;\n if (dataSource && dataSource.length > 0) {\n items = dataSource.map((item: any, index: number) => renderItem!(item, index));\n } else {\n items = children;\n }\n let childrenList = React.Children.map(\n items,\n (child: React.ReactNode, index) =>\n React.isValidElement(child) &&\n React.cloneElement(child, {\n key: index,\n }),\n );\n const classString = [\n prefixCls,\n className,\n striped ? `${prefixCls}-striped` : null,\n noHover ? `${prefixCls}-no-hover` : null,\n active ? `${prefixCls}-active` : null,\n bordered ? `${prefixCls}-bordered` : null,\n size && size !== 'default' ? `${prefixCls}-size-${size}` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n return (\n <div className={classString} {...resetProps} ref={ref}>\n {header && <div className={`${prefixCls}-header`}>{header}</div>}\n {childrenList}\n {footer && <div className={`${prefixCls}-footer`}>{footer}</div>}\n </div>\n );\n}\n\nconst List = React.forwardRef<HTMLDivElement, ListProps<any>>(InternalList);\ntype List = typeof List & {\n Item: typeof ListItem;\n};\n\n(List as List).Item = ListItem;\n\nexport default List as List;\n","import React, { useMemo } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface LoaderProps extends IProps, HTMLDivProps {\n size?: 'small' | 'default' | 'large';\n loading?: boolean;\n fullscreen?: boolean;\n color?: string;\n bgColor?: string;\n vertical?: boolean;\n tip?: React.ReactNode;\n indicator?: React.ReactNode;\n children?: any | React.ReactNode;\n}\n\nexport default (props: LoaderProps = {}) => {\n const {\n prefixCls = 'w-loader',\n className,\n size = 'default',\n loading = true,\n tip,\n vertical,\n color,\n bgColor,\n children,\n indicator,\n fullscreen = false,\n ...otherProps\n } = props;\n const cls = [prefixCls, className, size ? `${prefixCls}-${size}` : null].filter(Boolean).join(' ').trim();\n\n const indicatorView = useMemo(\n () => (\n <svg viewBox=\"25 25 50 50\">\n <circle cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" strokeWidth=\"5\" strokeMiterlimit=\"10\" />\n </svg>\n ),\n [],\n );\n\n const tipsView = useMemo(\n () => (\n <div\n className={[`${prefixCls}-tips`, fullscreen ? `${prefixCls}-fullscreen` : null]\n .filter(Boolean)\n .join(' ')\n .trim()}\n style={{ color, backgroundColor: bgColor }}\n >\n <div className={`${prefixCls}-tips-nested`}>\n {indicator || indicatorView}\n {tip && (\n <div\n className={[`${prefixCls}-text`, vertical ? `${prefixCls}-vertical` : null]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n {tip}\n </div>\n )}\n </div>\n </div>\n ),\n [fullscreen, bgColor, prefixCls, vertical, tip],\n );\n\n return (\n <div className={cls} {...otherProps}>\n {(loading || fullscreen) && tipsView}\n {children &&\n React.cloneElement(\n children,\n Object.assign({}, children.props, {\n className: [`${prefixCls}-warp`, loading ? `${prefixCls}-blur` : null].filter(Boolean).join(' ').trim(),\n }),\n )}\n </div>\n );\n};\n","import React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport Icon, { IconProps } from '@uiw/react-icon';\nimport Button from '@uiw/react-button';\nimport './style/index.less';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\n\nexport interface MessageProps extends IProps, Omit<HTMLDivProps, 'title'> {\n title?: React.ReactNode;\n icon?: IconProps['type'];\n type?: 'success' | 'warning' | 'info' | 'error';\n description?: React.ReactNode;\n showIcon?: boolean;\n isCloseButtonShown?: boolean;\n rounded?: boolean;\n onClose?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport interface IMessageState {\n isOpen: boolean;\n}\n\nexport default class Message extends React.Component<MessageProps, IMessageState> {\n public static defaultProps: MessageProps = {\n prefixCls: 'w-message',\n rounded: true,\n isCloseButtonShown: false,\n };\n constructor(props: MessageProps) {\n super(props);\n this.state = {\n isOpen: true,\n };\n }\n handleClosed = (e: React.MouseEvent<HTMLButtonElement>) => {\n const { onClose } = this.props;\n this.setState({ isOpen: false });\n onClose && onClose(e);\n };\n renderIcon = () => {\n const { type, showIcon } = this.props;\n let icon = this.props.icon;\n if (!icon && showIcon) {\n switch (type) {\n case 'success':\n icon = 'circle-check';\n break;\n case 'warning':\n icon = 'warning';\n break;\n case 'info':\n icon = 'information';\n break;\n case 'error':\n icon = 'circle-close';\n break;\n default:\n break;\n }\n }\n return icon;\n };\n render() {\n const {\n prefixCls,\n className,\n type,\n title,\n description,\n showIcon,\n icon,\n rounded,\n isCloseButtonShown,\n ...elementProps\n } = this.props;\n const children = description || this.props.children;\n const cls = [\n prefixCls,\n className,\n `${prefixCls}-${type}`,\n rounded ? `${prefixCls}-rounded` : null,\n showIcon ? `${prefixCls}-icon` : null,\n showIcon ? `${prefixCls}${title ? '-title' : ''}${children ? '-description' : ''}` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n const Child = (\n <div className={cls} {...elementProps}>\n {isCloseButtonShown && <Button basic onClick={this.handleClosed} icon=\"close\" type=\"light\" />}\n {showIcon && <Icon type={this.renderIcon()} />}\n <span className={`${prefixCls}-title`}>{title}</span>\n <span className={`${prefixCls}-description`}>{children}</span>\n </div>\n );\n if (!isCloseButtonShown) {\n return Child;\n }\n return (\n <CSSTransition in={this.state.isOpen} unmountOnExit timeout={300} classNames={prefixCls}>\n {Child}\n </CSSTransition>\n );\n }\n}\n","import React, { useEffect, useMemo, useState } from 'react';\nimport Input, { InputProps } from '@uiw/react-input';\nimport Popover, { PopoverProps } from '@uiw/react-popover';\nimport { IProps } from '@uiw/utils';\nimport Button from '@uiw/react-button';\nimport formatter from '@uiw/formatter';\nimport { DatePickerMonth, DatePickerYear, DatePickerCaption, DatePickerCaptionProps } from '@uiw/react-date-picker';\nimport './style/index.less';\n\nexport interface MonthPickerProps extends IProps, Omit<InputProps, 'value' | 'onChange'> {\n popoverProps?: PopoverProps;\n pickerCaptionProps?: DatePickerCaptionProps;\n value?: Date | string;\n format?: string;\n monthLabel?: string[];\n allowClear?: boolean;\n onChange?: (date?: Date, formatDate?: string) => void;\n}\n\nconst MONTH_LABEL = [\n '一月',\n '二月',\n '三月',\n '四月',\n '五月',\n '六月',\n '七月',\n '八月',\n '九月',\n '十月',\n '十一月',\n '十二月',\n];\n\nexport default function MonthPicker(props: MonthPickerProps) {\n const {\n prefixCls = 'w-monthpicker',\n format = 'YYYY/MM',\n onChange = () => {},\n className,\n popoverProps,\n pickerCaptionProps = {},\n allowClear = true,\n monthLabel = MONTH_LABEL,\n ...inputProps\n } = props;\n\n const [isOpen, setIsOpen] = useState(false);\n const [panelDate, setPanelDate] = useState(new Date());\n const [type, setType] = useState('month');\n const [date, setDate] = useState(props.value);\n\n useEffect(() => setDate(props.value), [props.value]);\n\n inputProps.value = useMemo(\n () => (typeof date === 'string' ? date : date ? formatter(format, date) : ''),\n [format, date],\n );\n\n if (allowClear && inputProps.value) {\n inputProps.addonAfter = (\n <Button\n className={`${prefixCls}-close-btn`}\n icon=\"close\"\n onClick={() => {\n setDate('');\n onChange && onChange();\n }}\n size={inputProps.size}\n basic\n type=\"light\"\n />\n );\n }\n\n function handleSelectedDate(type: 'setMonth' | 'setFullYear', num: number, paging?: boolean) {\n const curPanelDate = new Date(new Date(panelDate)[type](num));\n if (!paging) {\n setType('month');\n }\n const curDate = formatter(format, new Date(curPanelDate));\n setDate(curDate);\n setPanelDate(curPanelDate);\n onChange && onChange(curPanelDate, curDate);\n if (type === 'setMonth') {\n setIsOpen(false);\n }\n }\n\n return (\n <Popover\n trigger=\"focus\"\n placement=\"bottomLeft\"\n autoAdjustOverflow\n isOpen={isOpen}\n {...popoverProps}\n onVisibleChange={(open) => setIsOpen(open)}\n content={\n <div className={`${prefixCls}-popover`}>\n <DatePickerCaption\n panelDate={panelDate}\n monthLabel={monthLabel}\n {...pickerCaptionProps}\n onSelected={(captionType) => {\n if (/^(month|year)$/.test(captionType as string)) {\n setType(captionType);\n } else {\n const year = new Date(panelDate).getFullYear();\n const curPanelDate = new Date(new Date(panelDate).setFullYear(type === 'next' ? year + 1 : year - 1));\n setPanelDate(curPanelDate);\n }\n }}\n />\n {type === 'month' && (\n <DatePickerMonth\n panelDate={panelDate}\n monthLabel={monthLabel}\n onSelected={(month, paging) => handleSelectedDate('setMonth', month, paging)}\n />\n )}\n {type === 'year' && (\n <DatePickerYear\n panelDate={panelDate}\n onSelected={(year, paging) => handleSelectedDate('setFullYear', year, paging)}\n />\n )}\n </div>\n }\n >\n <Input\n placeholder=\"请输入日期\"\n readOnly\n {...(inputProps as any)}\n className={[prefixCls, className].filter(Boolean).join(' ').trim()}\n />\n </Popover>\n );\n}\n","import React from 'react';\nimport Alert, { AlertProps } from '@uiw/react-alert';\nimport { IProps } from '@uiw/utils';\nimport { NotificationCreateProps } from './index';\n\nexport type Placement = 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';\n\nexport interface ContainerProps extends IProps {\n placement?: Placement;\n}\nexport interface ContainerState {\n placement?: Placement;\n notifys: ContainerNotifys;\n}\n\nexport type ContainerNotifys = {\n [placement: string]: {\n [key: string]: NotificationCreateProps;\n };\n};\n\nconst notifys: ContainerNotifys = {};\nconst timer: { [key: string]: any } = {};\n\nexport default class Container extends React.Component<ContainerProps, ContainerState> {\n public static defaultProps: ContainerProps = {\n prefixCls: 'w-notify',\n placement: 'topRight',\n };\n public state: ContainerState = {\n notifys: {},\n };\n public create(props: NotificationCreateProps) {\n const { placement, key } = props;\n if (!notifys[placement as Placement]) {\n notifys[placement as Placement] = {};\n }\n props.isOpen = false;\n notifys[placement as Placement][key as string] = props;\n if (props.duration) {\n timer[key as string] = setTimeout(() => {\n this.closed(key as string, placement);\n }, props.duration);\n }\n this.setState(\n {\n notifys,\n placement,\n },\n () => {\n notifys[placement as Placement][key as string].isOpen = true;\n this.setState({ notifys });\n },\n );\n }\n public closed(key: string, placement?: Placement) {\n if (!key || !placement || !notifys[placement][key]) {\n return;\n }\n notifys[placement][key].isOpen = false;\n const props: NotificationCreateProps = notifys[placement][key];\n this.setState({ notifys }, () => {\n clearTimeout(timer[key]);\n delete timer[key];\n delete notifys[placement][key];\n if (props && props.willUnmount) {\n props.willUnmount(props, notifys);\n }\n });\n }\n render() {\n const { prefixCls } = this.props;\n const { placement } = this.state;\n return (\n <React.Fragment>\n {placement &&\n Object.keys(this.state.notifys[placement]).map((key) => {\n const { description, isOpen, ...alertProps } = this.state.notifys[placement][key];\n if (alertProps.type === 'open') {\n delete alertProps.type;\n }\n return (\n <Alert\n className={prefixCls}\n key={key}\n useButton={false}\n width={320}\n {...(alertProps as AlertProps)}\n usePortal={false}\n hasBackdrop={false}\n isOpen={isOpen}\n content={description}\n />\n );\n })}\n </React.Fragment>\n );\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { AlertProps } from '@uiw/react-alert';\nimport { randomid } from '@uiw/utils';\nimport Container, { Placement, ContainerNotifys } from './Container';\nimport './style/index.less';\n\nexport interface NotificationCreateProps extends Omit<AlertProps, 'type'> {\n placement?: Placement;\n description?: React.ReactNode;\n type?: 'primary' | 'danger' | 'open' | 'success' | 'warning' | 'info' | 'error';\n duration?: number;\n key?: string;\n willUnmount?: (props: NotificationCreateProps, notifys: ContainerNotifys) => void;\n}\n\nexport type Notifys = { [key: string]: any };\nexport type NotifysDom = { [key: string]: HTMLDivElement };\n\nconst notifys: Notifys = {};\nconst notifysDom: NotifysDom = {};\n\nexport interface NotificationProps {\n (props: NotificationCreateProps, type: NotificationCreateProps['type']): void;\n [key: string]: () => void;\n}\n\nfunction NotificationCreate(props: NotificationCreateProps, type: NotificationCreateProps['type'] = 'open') {\n if (!props.placement) {\n props.placement = 'topRight';\n }\n props.type = type as NotificationCreateProps['type'];\n if (!props.icon && props.icon !== null) {\n switch (props.type) {\n case 'success':\n props.icon = 'circle-check';\n break;\n case 'warning':\n props.icon = 'warning';\n break;\n case 'info':\n props.icon = 'information';\n break;\n case 'error':\n props.icon = 'circle-close';\n break;\n default:\n break;\n }\n }\n switch (props.type) {\n case 'info':\n props.type = 'primary';\n break;\n case 'error':\n props.type = 'danger';\n break;\n default:\n break;\n }\n\n if (props.placement && !notifys[props.placement]) {\n const div = document.createElement('div');\n document.body.appendChild(div);\n div.className = ['w-notify-warpper', props.placement].filter(Boolean).join(' ').trim();\n notifysDom[props.placement] = div;\n notifys[props.placement] = ReactDOM.render(<Container />, div);\n }\n\n if (props.duration !== null) {\n props.duration = (props.duration || 4.5) * 1000;\n }\n\n if (notifys[props.placement]) {\n notifys[props.placement].create({\n ...props,\n duration: props.duration,\n key: randomid(),\n willUnmount(nprops: any, notifysChild: ContainerNotifys) {\n if (!nprops) return;\n nprops.onClose && nprops.onClose();\n const keys = Object.keys(notifysChild[props.placement as Placement]);\n if (keys.length === 0 && notifys[props.placement as Placement]) {\n delete notifys[props.placement as Placement];\n if (notifysDom[props.placement as Placement]) {\n document.body.removeChild(notifysDom[props.placement as Placement]);\n }\n }\n },\n });\n }\n}\n\n['open', 'success', 'warning', 'info', 'error'].forEach((type) => {\n (NotificationCreate as NotificationProps)[type] = (options: NotificationCreateProps = {}) => {\n return NotificationCreate(options, type as NotificationCreateProps['type']);\n };\n});\n\nexport interface NotificationApi {\n open(option: NotificationCreateProps): void;\n success(option: NotificationCreateProps): void;\n warning(option: NotificationCreateProps): void;\n info(option: NotificationCreateProps): void;\n error(option: NotificationCreateProps): void;\n}\n\nexport default NotificationCreate as unknown as NotificationApi;\n","/**\n * Returns a random text\n */\nexport function randomid(): string {\n return parseInt(String(Math.random() * 1e15), 10).toString(36);\n}\n","import React from 'react';\n\nexport default React.forwardRef<HTMLOptionElement, React.InputHTMLAttributes<HTMLOptionElement>>((props, ref) => (\n <option {...props} ref={ref} />\n));\n","import React from 'react';\n\nexport default React.forwardRef<HTMLOptGroupElement, React.InputHTMLAttributes<HTMLOptGroupElement>>((props, ref) => (\n <optgroup {...props} ref={ref} />\n));\n","import React from 'react';\nimport { IProps } from '@uiw/utils';\nimport Option from './Option';\nimport Group from './Group';\nimport './style/index.less';\n\nexport interface SelectProps extends IProps, Omit<React.SelectHTMLAttributes<HTMLSelectElement>, 'size'> {\n size?: 'large' | 'default' | 'small';\n}\n\nconst Select = React.forwardRef<HTMLSelectElement, SelectProps>((props, ref) => {\n const { prefixCls = 'w-select', className, size = 'default', ...other } = props;\n return (\n <select\n {...other}\n ref={ref}\n className={[prefixCls, className, size ? `${prefixCls}-${size}` : null].filter(Boolean).join(' ').trim()}\n />\n );\n});\n\ntype Select = typeof Select & {\n Option: typeof Option;\n Group: typeof Group;\n};\n\n(Select as Select).Option = Option;\n(Select as Select).Group = Group;\n\nexport default Select as Select;\n","import React, { useEffect, useMemo, useState } from 'react';\nimport Select from '@uiw/react-select';\nimport { IProps, HTMLUlProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface PaginationProps extends IProps, Omit<HTMLUlProps, 'onChange'> {\n prefixCls?: string;\n alignment?: 'left' | 'center' | 'right';\n size?: 'default' | 'small';\n pageSizeOptions?: number[];\n total?: number;\n pageSize?: number;\n divider?: boolean;\n current?: number;\n onChange?: (current: number, total: number, pageSize: number) => void;\n onShowSizeChange?: (current: number, pageSize: number) => void;\n}\n\nexport interface PaginationState {\n current: number;\n}\n\nexport interface PaginationItemSourceData {\n type?: string;\n disabled?: boolean;\n active?: boolean;\n label?: number | string;\n goto?: number;\n}\n\nexport default function Pagination(props: PaginationProps) {\n const {\n className,\n style,\n prefixCls = 'w-pagination',\n alignment = 'left',\n size = 'default',\n total = 0,\n pageSize = 10, // The number of pages displayed.\n pageSizeOptions = [],\n current: currentNumber = 1,\n onChange = () => null,\n onShowSizeChange,\n divider,\n ...other\n } = props;\n\n const [current, setCurrent] = useState(currentNumber);\n useEffect(() => setCurrent(currentNumber), [currentNumber]);\n\n const cls = [prefixCls, className, divider ? 'divider' : null, size].filter(Boolean).join(' ').trim();\n\n const initPageSoure = useMemo(() => {\n const data: PaginationItemSourceData[] = [{ type: 'prev', disabled: current === 1 }];\n const count = Math.ceil(total / pageSize);\n const itemCount = count <= 5 ? count : 5;\n let num = 0;\n let basic = 0;\n if (current > 3 && count > 5) {\n data.push({ label: 1 });\n }\n if (current > 4 && count > 6) {\n data.push({ type: 'jumpPrev', label: '•••', goto: 5 });\n }\n while (num < itemCount) {\n num += 1;\n if (current > 3 && count > 5) {\n basic = current - 3;\n }\n let label = num + basic;\n if (count - current === 0 && count > 5) {\n label -= 2;\n }\n if (count - current === 1 && count > 5) {\n label -= 1;\n }\n if (label <= count) {\n data.push({ label, active: current === label });\n }\n }\n if (current + 3 < count && count > 6) {\n data.push({ type: 'jumpNext', label: '•••', goto: 5 });\n }\n if (current + 2 < count && count > 5) {\n data.push({ label: count });\n }\n data.push({ type: 'next', disabled: current === count });\n return data;\n // return [\n // { type: 'prev', disabled: true },\n // { type: 'jumpPrev', label: '•••', goto: 5 },\n // { label: 1 },\n // { label: 2, active: true },\n // { label: 3 },\n // { label: 4 },\n // { type: 'jumpPrev', label: '•••', goto: 5 },\n // { type: 'next' },\n // ];\n }, [current, total, pageSize]);\n\n function handleClick(item: PaginationItemSourceData) {\n if (item.active || item.disabled) {\n return;\n }\n const count = Math.ceil(total / pageSize);\n const state = {} as PaginationState;\n if (item.label) {\n state.current = item.label as number;\n }\n if (item.type === 'prev') {\n state.current = current - 1 > 0 ? current - 1 : 1;\n }\n if (item.type === 'next') {\n state.current = current + 1 <= count ? current + 1 : count;\n }\n if (/^(jumpPrev|jumpNext)/.test(item.type as string) && item.goto) {\n state.current = item.type === 'jumpPrev' ? current - item.goto : current + item.goto;\n if (state.current > count) {\n state.current = count;\n }\n if (state.current < 1) {\n state.current = 1;\n }\n }\n\n setCurrent(state.current);\n onChange && onChange(state.current, total as number, pageSize as number);\n }\n\n const onSizeChange: React.ChangeEventHandler<HTMLSelectElement> = (e) => {\n const sizeCount: number = Number(e.target.value);\n const count = Math.ceil(total / sizeCount);\n const newCurrent: number = current > count ? count : current;\n onShowSizeChange && onShowSizeChange(newCurrent, sizeCount);\n };\n\n return (\n <ul className={cls} style={{ ...style, textAlign: alignment }} {...other}>\n {initPageSoure.map((item: PaginationItemSourceData, idx) => {\n // eslint-disable-next-line jsx-a11y/anchor-is-valid\n let label = <a>{item.label}</a>;\n if (/^(prev|next)$/.test(item.type as string)) {\n // eslint-disable-next-line jsx-a11y/anchor-is-valid\n label = <a className={`arrow ${item.type}`} />;\n }\n return (\n <li\n className={[item.active ? 'active' : null, item.disabled ? 'disabled' : null]\n .filter(Boolean)\n .join(' ')\n .trim()}\n onClick={() => handleClick(item)}\n key={idx}\n >\n {label}\n </li>\n );\n })}\n {pageSizeOptions.length > 0 && (\n <li className={`${prefixCls}-options`}>\n <Select size={size} defaultValue={pageSize} onChange={onSizeChange}>\n {pageSizeOptions.map((item: number, index: number) => (\n <Select.Option value={item} key={index}>\n {item}条/页\n </Select.Option>\n ))}\n </Select>\n </li>\n )}\n </ul>\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { IProps, noop } from '@uiw/utils';\nimport Input, { InputProps } from '@uiw/react-input';\nimport './style/input.less';\n\nexport interface PinCodeProps extends IProps {\n value?: string[];\n disabled?: boolean;\n onChange?: (value: string[]) => void;\n onBlur?: InputProps['onBlur'];\n onFocus?: InputProps['onFocus'];\n autoFocus?: boolean;\n size?: InputProps['size'];\n placeholder?: string;\n}\n\nfunction InternalPinCode(props: PinCodeProps = {}, ref: React.ForwardedRef<HTMLDivElement>) {\n const {\n prefixCls = 'w-pin-code',\n placeholder = '○',\n value = [],\n autoFocus,\n className,\n size = 'default',\n style,\n disabled,\n onChange = noop,\n onBlur = noop,\n onFocus = noop,\n ...otherProps\n } = props;\n const [input] = useState<{\n [key: string]: HTMLInputElement;\n }>({});\n const [placehold, setPlacehold] = useState(placeholder);\n const [values, setValues] = useState(value);\n const cls = [prefixCls, className, size ? `${prefixCls}-${size}` : null, disabled ? 'disabled' : null]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n function handleChange(e: React.ChangeEvent<HTMLInputElement>, idx: number) {\n let val = e.target.value;\n val = val.charAt(val.length - 1);\n const arr = [...values];\n if (Number(val) > -1 && val) {\n e.currentTarget.value = val;\n arr[idx] = val;\n if (input[idx + 1]) {\n input[idx + 1].focus();\n }\n setValues(arr);\n } else if (!val) {\n arr[idx] = '';\n setValues(arr);\n }\n }\n function handleKeyDown(e: React.KeyboardEvent<HTMLInputElement>, idx: number) {\n let val = e.currentTarget.value;\n const key = e.key.toLocaleLowerCase();\n if (!val && input[idx - 1] && /(backspace|delete)/.test(key)) {\n input[idx - 1].focus();\n }\n }\n useEffect(() => {\n if (values !== value) {\n onChange(values);\n }\n }, [values]);\n\n function handleBlur(event: React.FocusEvent<HTMLInputElement>) {\n setPlacehold(placeholder);\n onBlur(event);\n }\n function handleFocus(event: React.FocusEvent<HTMLInputElement>) {\n setPlacehold('');\n onFocus(event);\n }\n\n return (\n <div className={cls} style={style} {...otherProps} ref={ref}>\n {[...values].map((val, key) => {\n const inpProps: InputProps = {\n min: 0,\n type: 'text',\n inputMode: 'numeric',\n autoComplete: 'off',\n value: val,\n onChange: (e) => handleChange(e, key),\n onKeyDown: (e) => handleKeyDown(e, key),\n onBlur: (e) => handleBlur(e),\n onFocus: (e) => handleFocus(e),\n className: `${prefixCls}-inner`,\n placeholder: placehold,\n disabled,\n size,\n };\n if (autoFocus && key === 0) {\n inpProps.autoFocus = true;\n }\n const child = (\n <Input\n ref={(instance) => {\n if (instance) {\n input[key] = instance;\n }\n }}\n {...inpProps}\n key={key}\n />\n );\n return child;\n })}\n </div>\n );\n}\n\nexport default React.forwardRef<HTMLDivElement, PinCodeProps>(InternalPinCode);\n","import React from 'react';\nimport Icon, { IconProps } from '@uiw/react-icon';\n\nexport function IconProgress<T>(props: { type: IconProps<T>['type'] }): JSX.Element {\n return <Icon type={props.type} />;\n}\n","import React from 'react';\nimport { IconProps } from '@uiw/react-icon';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport { IconProgress } from './utils';\nimport './style/index.less';\nimport './style/circle.less';\n\nexport type Status = 'success' | 'active' | 'exception';\nexport interface ProgressCircleProps<T> extends IProps, HTMLDivProps {\n type?: IconProps<T>['type'];\n status?: Status;\n showText?: boolean; // 是否显示进度条文字内容\n percent?: number; // 百分比(必填)\n width?: number; // 圆圈进度条画布宽度\n strokeWidth?: number; // 进度条大小设置\n format?: (percent: number) => React.ReactNode;\n}\n\nexport default class Circle<T> extends React.Component<ProgressCircleProps<T>> {\n public static defaultProps: ProgressCircleProps<{}> = {\n prefixCls: 'w-progress',\n showText: true,\n percent: 0, // 百分比(必填)\n width: 126, // 圆圈进度条画布宽度\n strokeWidth: 6, // 进度条大小设置\n };\n relativeStrokeWidth(type: 'track' | 'bg' | undefined, elm: SVGPathElement) {\n const { strokeWidth, percent } = this.props;\n if (elm && elm.parentNode) {\n const { width } = (elm.parentNode as SVGAElement).getBoundingClientRect();\n const _strokeWidth: string = (((strokeWidth as number) / width) * 100).toFixed(1);\n const radius = parseInt((50 - parseFloat(_strokeWidth) / 2).toString(), 10);\n elm.setAttribute('stroke-width', _strokeWidth);\n elm.setAttribute(\n 'd',\n `M 50 50 m 0 -${radius} a ${radius} ${radius} 0 1 1 0 ${radius * 2} a ${radius} ${radius} 0 1 1 0 -${\n radius * 2\n }`,\n );\n if (type === 'track') {\n // 计算周长\n const perimeter = 2 * Math.PI * radius;\n elm.setAttribute(\n 'style',\n `stroke-dasharray:${perimeter}px,${perimeter}px;stroke-dashoffset:${\n (1 - (percent as number) / 100) * perimeter\n }px;transition: stroke-dashoffset 0.6s ease 0s, stroke 0.6s ease;`,\n );\n }\n }\n }\n render() {\n const { prefixCls, style, type, className, showText, percent, format, strokeWidth, width, status, ...resetProps } =\n this.props;\n const cls = [\n prefixCls,\n className,\n `${prefixCls}-circle`,\n showText ? `${prefixCls}-show-text` : null,\n status ? `${prefixCls}-status-${status}` : null,\n parseInt((percent as number).toString(), 10) >= 100 ? `${prefixCls}-status-success` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n let progressInfo;\n const progressStatus =\n parseInt((percent as number).toString(), 10) >= 100 && !('status' in this.props) ? 'success' : status;\n if (showText) {\n let percentView: React.ReactNode = `${percent}%`;\n if (progressStatus === 'exception') {\n percentView = <IconProgress type=\"close\" />;\n } else if (progressStatus === 'success') {\n percentView = <IconProgress type=\"check\" />;\n }\n progressInfo = (\n <span className={`${prefixCls}-text`} style={{ fontSize: (width as number) * 0.16 + 6 }}>\n {format ? format(percent as number) : percentView}\n </span>\n );\n }\n return (\n <div className={cls} style={style} {...resetProps}>\n <svg viewBox=\"0 0 100 100\" width={`${width}`}>\n <path ref={this.relativeStrokeWidth.bind(this, 'bg')} className={`${prefixCls}-trail`} fill=\"none\" />\n <path\n ref={this.relativeStrokeWidth.bind(this, 'track')}\n strokeLinecap=\"round\"\n className={`${prefixCls}-stroke`}\n fill=\"none\"\n />\n </svg>\n {progressInfo}\n </div>\n );\n }\n}\n","import React from 'react';\nimport { IconProgress } from './utils';\nimport { ProgressCircleProps } from './Circle';\nimport './style/index.less';\nimport './style/line.less';\n\nexport interface ProgressLineProp<T> extends ProgressCircleProps<T> {}\n\nexport default class Line<T> extends React.Component<ProgressLineProp<T>> {\n public static defaultProps: ProgressLineProp<{}> = {\n prefixCls: 'w-progress',\n showText: true, // 是否显示进度条文字内容\n percent: 0, // 百分比(必填)\n width: 126, // 圆圈进度条画布宽度\n strokeWidth: 6, // 进度条大小设置\n };\n render() {\n const { prefixCls, style, className, showText, percent, format, strokeWidth, width, status, ...resetProps } =\n this.props;\n const cls = [\n prefixCls,\n className,\n `${prefixCls}-line`,\n showText ? `${prefixCls}-show-text` : null,\n status ? `${prefixCls}-status-${status}` : null,\n parseInt((percent as number).toString(), 10) >= 100 ? `${prefixCls}-status-success` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n let progressInfo;\n if (showText) {\n const progressStatus =\n parseInt((percent as number).toString(), 10) >= 100 && !('status' in this.props) ? 'success' : status;\n let percentView: React.ReactNode = `${percent}%`;\n if (progressStatus === 'exception') {\n percentView = <IconProgress type=\"circle-close\" />;\n } else if (progressStatus === 'success') {\n percentView = <IconProgress type=\"circle-check\" />;\n }\n progressInfo = <span className={`${prefixCls}-text`}>{format ? format(percent as number) : percentView}</span>;\n }\n const percentStyle = {\n width: `${percent}%`,\n height: strokeWidth,\n };\n return (\n <div className={cls} style={style} {...resetProps}>\n <div className={`${prefixCls}-bar`}>\n <div className={`${prefixCls}-inner`}>\n <div className={`${prefixCls}-bg`} style={percentStyle} />\n </div>\n </div>\n {progressInfo}\n </div>\n );\n }\n}\n","import Circle from './Circle';\nimport Line from './Line';\n\nexport * from './Circle';\nexport * from './Line';\n\nexport default {\n Line,\n Circle,\n};\n","import React, { useState, useMemo } from 'react';\nimport { IProps, HTMLDivProps, HTMLSpanProps, noop } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface RateProps extends IProps, Omit<HTMLDivProps, 'onChange'> {\n value?: number;\n readOnly?: boolean;\n allowHalf?: boolean;\n count?: number;\n color?: string;\n disabled?: boolean;\n character?: React.ReactNode;\n onChange?: (key: number) => void;\n onHoverChange?: (key: number) => void;\n}\n\nexport default function Rate(props: RateProps = {}) {\n const {\n prefixCls = 'w-rate',\n count = 5,\n value: defValue = 0,\n className,\n allowHalf,\n character = '★',\n readOnly = false,\n disabled,\n onChange = noop,\n onHoverChange = noop,\n color,\n ...other\n } = props;\n const [value, setValue] = useState(defValue);\n const [hoverCount, setHoverCount] = useState(-1);\n const cls = [prefixCls, className, disabled ? 'disabled' : null].filter(Boolean).join(' ').trim();\n const [prevValue, setPrevValue] = useState<number>();\n if (defValue !== prevValue) {\n setPrevValue(defValue);\n }\n\n useMemo(() => {\n if (value !== prevValue) {\n setValue(defValue);\n }\n }, [prevValue]);\n\n function onMouseLeave() {\n setHoverCount(-1);\n }\n\n function getValue(e: React.MouseEvent<HTMLElement>, key: number) {\n e.persist();\n let currentValue = key;\n const isLeft =\n e.clientX - e.currentTarget.getBoundingClientRect().left <= e.currentTarget.getBoundingClientRect().width / 2;\n if (allowHalf) {\n e.persist();\n currentValue = isLeft ? key + 0.5 : key + 1;\n } else {\n currentValue = key + 1;\n }\n return currentValue;\n }\n\n function onMouseMove(e: React.MouseEvent<HTMLElement>, key: number) {\n const currentValue = getValue(e, key);\n if (hoverCount !== currentValue) {\n setHoverCount(currentValue);\n onHoverChange(currentValue);\n }\n }\n function onClick(e: React.MouseEvent<HTMLElement>, key: number) {\n if (readOnly) return;\n const currentValue = getValue(e, key);\n setValue(currentValue);\n onChange(currentValue);\n }\n return (\n <div {...other} className={cls} onMouseLeave={() => onMouseLeave()}>\n {[...Array(count)].map((_, idx) => {\n const halfon =\n (value <= idx + 0.5 && Math.ceil(value) - 1 === idx && hoverCount === -1) || hoverCount === idx + 0.5;\n const activeCls = [\n `${prefixCls}-hight`,\n idx + 1 <= value && hoverCount === -1 ? 'star-on' : null,\n idx + 1 <= hoverCount ? 'hover-on' : null,\n halfon ? 'half-on' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n const props: HTMLSpanProps = {};\n if (!readOnly) {\n props.onClick = (e) => onClick(e, idx);\n props.onMouseMove = (e) => onMouseMove(e, idx);\n }\n return (\n <span key={idx} {...props}>\n <span style={{ color }} className={activeCls}>\n {character}\n </span>\n <span className={`${prefixCls}-bg`}>{character}</span>\n </span>\n );\n })}\n </div>\n );\n}\n","import React, { useMemo } from 'react';\nimport { IProps, HTMLSpanProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface TagProps extends IProps, Omit<HTMLSpanProps, 'title'> {\n color?: string;\n disabled?: boolean;\n visible?: boolean;\n bordered?: boolean;\n light?: boolean;\n closable?: boolean;\n title?: React.ReactNode;\n onClose?: (e: React.MouseEvent<SVGSVGElement, MouseEvent>) => void;\n}\n\nexport default (props: TagProps = {}) => {\n const {\n prefixCls = 'w-tag',\n className,\n style,\n title = '',\n children,\n visible = true,\n color = '#6E6E6E',\n disabled = false,\n bordered = true,\n closable,\n light = false,\n onClose,\n ...other\n } = props;\n const cls = [prefixCls, className, light ? `${prefixCls}-light` : null, disabled ? 'disabled' : null]\n .filter(Boolean)\n .join(' ')\n .trim();\n const styl: React.CSSProperties = { ...style };\n if (!light) {\n styl.color = '#fff';\n styl.backgroundColor = color;\n } else {\n styl.color = color;\n styl.borderColor = color;\n if (bordered && light) {\n styl.boxShadow = `inset 0 0 0 1px ${color}`;\n }\n }\n if (!visible) {\n return null;\n }\n\n return (\n <span className={cls} style={styl} {...other}>\n {title || children}\n {!disabled && closable ? (\n <svg onClick={onClose} className={`${prefixCls}-close`} width=\"15\" height=\"15\" viewBox=\"0 0 16 16\">\n <path d=\"M9.41 8l2.29-2.29c.19-.18.3-.43.3-.71a1.003 1.003 0 0 0-1.71-.71L8 6.59l-2.29-2.3a1.003 1.003 0 0 0-1.42 1.42L6.59 8 4.3 10.29c-.19.18-.3.43-.3.71a1.003 1.003 0 0 0 1.71.71L8 9.41l2.29 2.29c.18.19.43.3.71.3a1.003 1.003 0 0 0 .71-1.71L9.41 8z\" />\n </svg>\n ) : null}\n </span>\n );\n};\n","import React, { useMemo } from 'react';\nimport Dropdown, { DropdownProps } from '@uiw/react-dropdown';\nimport Icon from '@uiw/react-icon';\nimport Menu from '@uiw/react-menu';\nimport Input from '@uiw/react-input';\nimport Tag, { TagProps } from '@uiw/react-tag';\nimport { IProps } from '@uiw/utils';\nimport { useState } from 'react';\nimport { useRef } from 'react';\nimport { useEffect } from 'react';\nimport './style/index.less';\n\ntype ValueType = string | number;\n\nconst TagSize = { large: 25, default: 20, small: 17 };\n\nexport interface SearchSelectProps extends IProps, DropdownProps {\n mode?: 'single' | 'multiple';\n size?: 'large' | 'default' | 'small';\n maxTagCount?: number;\n valueAmount?: number;\n labelInValue?: boolean;\n loading?: boolean;\n showSearch?: boolean;\n allowClear?: boolean;\n defaultValue?: ValueType | Array<ValueType>;\n tagProps?: TagProps;\n value?: ValueType | Array<ValueType>;\n option: SearchSelectOptionData[];\n onSelect?: (value: ValueType | Array<ValueType> | Array<SearchSelectOptionData>) => void;\n onSearch?: (value: string) => void;\n onChange?: (value: ValueType | Array<ValueType> | Array<SearchSelectOptionData>) => void;\n}\n\nexport interface SearchSelectOptionData {\n label: string;\n value: string | number;\n [keyName: string]: any;\n}\n\nexport default function SearchSelect(props: SearchSelectProps) {\n const {\n allowClear = false,\n disabled = false,\n valueAmount,\n size = 'default',\n option = [],\n maxTagCount,\n loading = false,\n labelInValue = false,\n prefixCls = 'w-search-select',\n className,\n mode = 'single',\n style,\n isOpen,\n value,\n defaultValue,\n showSearch = false,\n tagProps = {},\n placeholder,\n onSearch,\n onChange,\n onSelect,\n ...others\n } = props;\n\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n const isMultiple = useMemo(() => mode === 'multiple', [mode]);\n const [innerIsOpen, setInnerIsOpen] = useState(false);\n const [selectedValue, setSelectedValue] = useState<Array<SearchSelectOptionData>>([]);\n const [selectedLabel, setSelectedLabel] = useState<string>('');\n const [selectIconType, setSelectIconType] = useState('');\n const inputRef = useRef<HTMLInputElement>(null);\n const omitTagCount = useMemo(\n () => (maxTagCount && selectedValue.length > maxTagCount ? selectedValue.length - maxTagCount : 0),\n [selectedValue.length],\n );\n const divRef = useRef<HTMLDivElement>(null);\n\n const valueVerify = (value: ValueType | Array<ValueType> | undefined) => {\n return value !== undefined && value !== '';\n };\n\n const valueRef = useRef<Array<SearchSelectOptionData>>();\n valueRef.current = useMemo(() => selectedValue, [selectedValue]);\n\n useEffect(() => {\n if (!valueVerify(value) && valueVerify(defaultValue)) {\n selectedValueChange(defaultValue!);\n }\n }, []);\n\n useEffect(() => {\n if (disabled) {\n setInnerIsOpen(false);\n }\n }, [disabled]);\n\n useEffect(() => {\n if (valueVerify(value)) {\n selectedValueChange(value!);\n }\n }, [JSON.stringify(value)]);\n\n const getSelectOption = (option: Array<SearchSelectOptionData>, value: ValueType) => {\n const findResult = option.find((item) => item.value === value);\n return findResult;\n };\n\n function selectedValueChange(\n changeValue: ValueType | Array<ValueType> | SearchSelectOptionData | Array<SearchSelectOptionData>,\n ) {\n let opts: Array<SearchSelectOptionData> = [];\n if (labelInValue) {\n if (Array.isArray(changeValue)) {\n opts = changeValue as Array<SearchSelectOptionData>;\n } else {\n opts.push(changeValue as SearchSelectOptionData);\n }\n } else {\n if (Array.isArray(changeValue)) {\n opts = changeValue.map((v) => getSelectOption(option, v as ValueType)!).filter((m) => !!m);\n } else {\n const findResult = getSelectOption(option, changeValue as ValueType);\n if (findResult) {\n setSelectedLabel(findResult.label);\n opts.push(findResult);\n }\n }\n }\n\n if (!isMultiple && opts.length > 0) setSelectedLabel(opts[0].label || '');\n setSelectedValue(opts.slice(0, valueAmount));\n }\n\n function removeSelectItem(index: number) {\n const selectedValue = valueRef.current as SearchSelectOptionData[];\n selectedValue.splice(index, 1);\n const values = [...selectedValue];\n return values;\n }\n\n const selectedLabelChange = (value: string) => {\n setSelectedLabel(value);\n showSearch && onSearch?.(value);\n };\n\n function handleItemClick(item: SearchSelectOptionData) {\n setInnerIsOpen(false);\n const values = [item];\n setSelectedLabel(item.label);\n const resultValue = item.value;\n handleChange(resultValue, values);\n }\n\n function handleItemsClick(index: number, item?: SearchSelectOptionData) {\n let values: SearchSelectOptionData[] =\n index !== -1\n ? removeSelectItem(index)\n : [...selectedValue.slice(0, valueAmount ? valueAmount - 1 : undefined), item!];\n const resultValue = values.map((item) => item.value);\n handleChange(resultValue, values);\n }\n\n function handleChange(resultValue: ValueType | Array<ValueType>, values: SearchSelectOptionData[]) {\n setSelectedLabel('');\n onSelect && onSelect(resultValue);\n handleSelectChange(resultValue, values); // 支持form组件\n\n value === undefined && setSelectedValue(values); // 如果受控于父组件则不需要内部维护状态\n }\n\n // 渲染icon\n function renderSelectIcon(type: string) {\n let selectIconType;\n if (type === 'enter' && allowClear && (selectedValue.length > 0 || selectedLabel)) {\n selectIconType = 'close';\n } else {\n selectIconType = '';\n }\n setSelectIconType(selectIconType);\n }\n // handle change\n function handleInputChange(value: string) {\n setInnerIsOpen(true);\n setSelectIconType(showSearch && value ? 'loading' : '');\n // setSelectedLabel(value);\n // showSearch && onSearch && onSearch(value);\n selectedLabelChange(value);\n }\n // 清除选中的值\n function resetSelectedValue(e: React.MouseEvent<any, MouseEvent>) {\n e.stopPropagation();\n inputRef.current?.focus();\n setSelectedValue([]);\n handleInputChange('');\n setInnerIsOpen(false);\n handleSelectChange('', []);\n }\n function handleSelectChange(value: ValueType | Array<ValueType>, options: Array<SearchSelectOptionData>) {\n if (!onChange) return;\n\n onChange(labelInValue ? options : value);\n }\n\n function inputKeyDown(e: any) {\n if (isMultiple && selectedValue.length > 0 && !selectedLabel && e.keyCode === 8) {\n handleItemsClick(selectedValue.length - 1);\n }\n }\n\n function onVisibleChange(isOpen: boolean) {\n const selectedValue = valueRef.current as SearchSelectOptionData[];\n setInnerIsOpen(isOpen);\n if (!isOpen) selectedLabelChange('');\n if (!isMultiple && selectedValue.length > 0) {\n setSelectedLabel(selectedValue[0].label);\n }\n }\n\n return (\n <Dropdown\n className={cls}\n trigger=\"click\"\n style={{ marginTop: 5 }}\n overlayStyl={{ width: 100 }}\n disabled={disabled}\n {...others}\n onVisibleChange={onVisibleChange}\n isOpen={innerIsOpen}\n menu={\n <Menu\n bordered\n style={{\n minHeight: 25,\n maxHeight: 280,\n minWidth: style?.width ?? 200,\n overflowY: 'scroll',\n width: style?.width,\n }}\n >\n {!option || option.length === 0 ? (\n <div style={{ color: '#c7c7c7', fontSize: 12 }}>{loading ? '正在加载数据...' : '没有数据'}</div>\n ) : (\n option.map((item) => {\n const index = selectedValue.findIndex((finds) => finds.value === item.value);\n return (\n <Menu.Item\n active={index !== -1}\n key={index}\n text={item.label}\n onClick={() => (isMultiple ? handleItemsClick(index, item) : handleItemClick(item))}\n />\n );\n })\n )}\n </Menu>\n }\n >\n <div\n ref={divRef}\n onMouseOver={() => renderSelectIcon('enter')}\n onMouseLeave={() => renderSelectIcon('leave')}\n onClick={() => inputRef.current?.focus()}\n style={{ width: '100%', maxWidth: 'none', ...style }}\n >\n {isMultiple ? (\n <div\n className={[`${prefixCls}-inner`, `${prefixCls}-search-${showSearch}`, `${prefixCls}-${size}`]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n <div className={`${prefixCls}-tag-content`} style={{}}>\n {isMultiple &&\n selectedValue.slice(0, maxTagCount).map((item, index) => {\n return (\n <Tag\n style={{\n height: TagSize[size],\n margin: 1,\n display: 'flex',\n alignItems: 'center',\n ...tagProps.style,\n }}\n key={index}\n color=\"#393E48\"\n {...tagProps}\n closable\n disabled={disabled}\n onClose={(e) => {\n e.stopPropagation();\n handleItemsClick(index, item);\n }}\n >\n {item.label}\n </Tag>\n );\n })}\n {!!omitTagCount && (\n <Tag style={{ height: 20, margin: 1, display: 'flex', alignItems: 'center' }} disabled={true}>\n +{omitTagCount} …{' '}\n </Tag>\n )}\n <Input\n style={{ flex: 1, width: showSearch ? 0 : 50 }}\n className={`${prefixCls}-input-contents`}\n readOnly={!showSearch}\n size={size}\n ref={inputRef}\n disabled={disabled}\n onKeyDown={inputKeyDown}\n onChange={(e) => handleInputChange(e.target.value)}\n value={selectedLabel}\n placeholder={selectedValue.length ? '' : placeholder}\n />\n </div>\n {!disabled && (selectIconType === 'close' || (selectIconType === 'loading' && loading)) && (\n <Icon\n className={`${prefixCls}-multiple-colse`}\n type={selectIconType}\n spin={loading && selectIconType === 'loading'}\n onClick={resetSelectedValue}\n />\n )}\n </div>\n ) : (\n <Input\n className={`${prefixCls}-search-${showSearch}`}\n readOnly={!showSearch}\n size={size}\n ref={inputRef}\n disabled={disabled}\n onChange={(e) => handleInputChange(e.target.value)}\n value={selectedLabel}\n placeholder={placeholder}\n addonAfter={\n !disabled &&\n (selectIconType === 'close' || (selectIconType === 'loading' && loading)) && (\n <Icon\n type={selectIconType}\n className={`${prefixCls}-singe-colse`}\n color=\"#393e48\"\n spin={loading && selectIconType === 'loading'}\n onClick={resetSelectedValue}\n />\n )\n }\n />\n )}\n </div>\n </Dropdown>\n );\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport Step, { StepProps } from './Step';\n\nexport interface StepsProps<T> extends IProps, HTMLDivProps {\n status?: StepProps['status'];\n progressDot?: StepProps['progressDot'];\n direction?: 'horizontal' | 'vertical';\n /**\n * 指定当前步骤,从 `0` 开始记数。\n */\n current?: number;\n}\n\nfunction InternalSteps<T>(props: StepsProps<T>) {\n const {\n prefixCls = 'w-steps',\n style = {},\n className,\n children,\n current,\n status = 'process',\n progressDot = false,\n direction = 'horizontal',\n ...resetProps\n } = props;\n\n const warpRef = useRef<HTMLDivElement>(null);\n const [lastStepOffsetWidth, setLastStepOffsetWidth] = useState(0);\n const filteredChildren = React.Children.toArray(children).filter((c) => !!c);\n const lastIndex = filteredChildren.length - 1; // 最后一个节点的索引数字\n const classString = [prefixCls, `${prefixCls}-${direction}`, !!progressDot ? `${prefixCls}-dot` : null]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n useEffect(() => calcStepOffsetWidth());\n\n // 计算每一步的宽度\n function calcStepOffsetWidth() {\n const domNode = warpRef.current;\n if (domNode && domNode.lastChild) {\n const width = ((domNode.lastChild as HTMLElement).offsetWidth || 0) + 1;\n if (width === lastStepOffsetWidth || Math.abs(width - lastStepOffsetWidth) <= 3) {\n return;\n }\n setLastStepOffsetWidth(width);\n }\n }\n\n return (\n <div className={classString} style={style} {...resetProps} ref={warpRef}>\n {React.Children.map(children, (child: any, index) => {\n const childProps = {\n stepNumber: `${index + 1}`,\n prefixCls,\n progressDot,\n ...child.props,\n };\n if (index !== lastIndex && direction !== 'vertical') {\n childProps.itemWidth = `${100 / lastIndex}%`;\n childProps.adjustMarginRight = -Math.round(lastStepOffsetWidth / lastIndex + 1);\n }\n\n if (progressDot && direction !== 'vertical') {\n childProps.itemWidth = `${100 / filteredChildren.length}%`;\n childProps.adjustMarginRight = 0;\n }\n // 错误前面\n if (status === 'error' && index === (current as number) - 1) {\n childProps.className = `${prefixCls}-next-error`;\n }\n if (!child.props.status) {\n if (index === current!) {\n childProps.status = status;\n } else if (index < (current as number)) {\n childProps.status = 'finish';\n } else {\n childProps.status = 'wait';\n }\n }\n return React.cloneElement(child, childProps);\n })}\n </div>\n );\n}\n\ntype Steps = typeof InternalSteps & {\n Step: typeof Step;\n};\n\n(InternalSteps as Steps).Step = Step;\n\nexport default InternalSteps as Steps;\n","import React, { CSSProperties } from 'react';\nimport Icon, { IconProps, IconsName } from '@uiw/react-icon';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface StepProps extends IProps, Omit<HTMLDivProps, 'title'> {\n title?: React.ReactNode;\n description?: React.ReactNode;\n status?: 'wait' | 'process' | 'finish' | 'error' | 'success';\n progressDot?: boolean;\n itemWidth?: number;\n stepNumber?: string;\n adjustMarginRight?: number;\n icon?: IconProps['type'];\n}\n\nexport default function Step(props: StepProps) {\n const {\n prefixCls = 'w-steps',\n className,\n style,\n status,\n itemWidth,\n icon,\n adjustMarginRight,\n stepNumber,\n title,\n description,\n progressDot,\n ...restProps\n } = props;\n const classString = [\n `${prefixCls}-item`,\n `${prefixCls}-item-${status}`,\n className,\n icon ? `${prefixCls}-custom` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n const stepItemStyle: CSSProperties = { ...style };\n const stepItemDotStyle: CSSProperties = {};\n if (itemWidth) {\n stepItemStyle.width = itemWidth;\n }\n if (adjustMarginRight) {\n stepItemStyle.marginRight = adjustMarginRight;\n if (progressDot) {\n stepItemDotStyle.paddingRight = Math.abs(adjustMarginRight);\n }\n }\n let iconNode = null;\n if (progressDot) {\n iconNode = <span className={`${prefixCls}-dot`} />;\n } else if (icon && typeof icon !== 'string') {\n iconNode = <span className={`${prefixCls}-icon`}>{icon}</span>;\n } else if ((icon && typeof icon === 'string') || status === 'finish' || status === 'error') {\n iconNode = (\n <Icon\n type={\n [\n icon && typeof icon === 'string' ? `${icon}` : null,\n !icon && status === 'finish' ? 'check' : null,\n !icon && status === 'error' ? 'close' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim() as IconsName | null\n }\n />\n );\n } else {\n iconNode = <span className={`${prefixCls}-icon`}>{stepNumber}</span>;\n }\n return (\n <div {...restProps} className={classString} style={stepItemStyle}>\n <div className={`${prefixCls}-item-tail`} style={stepItemDotStyle}>\n <i style={{ paddingRight: '100%' }} />\n </div>\n <div className={`${prefixCls}-item-head`}>\n <div className={[`${prefixCls}-item-inner`, !!icon && 'is-icon'].filter(Boolean).join(' ').trim()}>\n {iconNode}\n </div>\n </div>\n <div className={`${prefixCls}-item-main`}>\n <div className={`${prefixCls}-item-title`}>{title}</div>\n {description && <div className={`${prefixCls}-item-description`}>{description}</div>}\n </div>\n </div>\n );\n}\n","import Steps from './Steps';\n\nexport * from './Steps';\nexport * from './Step';\n\nexport default Steps;\n","import React from 'react';\nimport { HTMLDivProps } from '@uiw/utils';\nimport { SliderProps, SliderMarks } from './index';\n\ninterface TooltipProps extends HTMLDivProps {\n prefixCls: string;\n data: number[];\n step: number;\n min: number;\n vertical: boolean;\n marks: SliderProps['marks'];\n markRender: (stepValue: number, mark?: SliderMarks) => React.ReactNode;\n}\n\nexport default function Dots(props: TooltipProps) {\n const { prefixCls, data, step, min, vertical, marks, markRender } = props;\n return (\n <div className={`${prefixCls}-dots`}>\n {data.map((val, idx) => {\n const stepValue = idx * step + min;\n return (\n <div\n key={idx}\n style={{\n [vertical ? 'top' : 'left']: `${val}%`,\n }}\n className={[`${prefixCls}-mark`, marks && marks !== true && !marks[stepValue] ? 'no-marks' : null]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n {marks === true && markRender && markRender(stepValue)}\n {marks !== true && marks && marks[stepValue] && markRender && markRender(stepValue, marks[stepValue])}\n </div>\n );\n })}\n </div>\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport Dots from './Dots';\nimport './style/index.less';\n\nexport type SliderMarks = {\n style?: React.CSSProperties;\n label?: React.ReactNode;\n};\n\nexport interface SliderProps extends IProps, Omit<HTMLDivProps, 'onChange'> {\n value?: number | number[];\n min?: number;\n max?: number;\n marks?: boolean | Record<number, SliderMarks>;\n dots?: boolean;\n range?: boolean;\n vertical?: boolean;\n step?: number;\n disabled?: boolean;\n tooltip?: boolean;\n progress?: boolean | string;\n renderMarks?: (value: number) => JSX.Element;\n onChange?: (value: number | number[]) => void;\n onClick?: (e: React.MouseEvent<HTMLElement>) => void;\n}\n\nexport default function Slider(props: SliderProps) {\n const {\n prefixCls = 'w-slider',\n value = 0,\n min = 0,\n max = 100,\n dots = false,\n step = 1,\n disabled = false,\n progress = true,\n tooltip = false,\n className,\n marks,\n renderMarks,\n vertical,\n onChange,\n ...other\n } = props;\n\n const bar = React.useRef<HTMLDivElement>(null);\n const slider = React.useRef<HTMLDivElement>(null);\n const indexBar = React.useRef<number>();\n const startX = React.useRef<number>();\n const curValue = React.useRef<number | number[]>();\n const barWidth = React.useRef<number>();\n const barOffsetLeft = React.useRef<number>();\n const move = React.useRef<boolean>();\n const [arrValue, setArrValue] = useState(Array.isArray(value) ? value : [value]);\n\n useEffect(() => setArrValue(Array.isArray(value) ? value : [value]), [value]);\n\n other.onClick = (evn: React.MouseEvent<HTMLElement>) => {\n if (move.current !== undefined) {\n return;\n }\n const markOffset = slider.current!.getBoundingClientRect();\n const vals = getWidthToValue(evn[vertical ? 'clientY' : 'clientX'] - markOffset[vertical ? 'y' : 'x']);\n const curr = getRangeValue(vals);\n handleChange(curr);\n };\n\n function getRangeValue(val: number | number[]) {\n if (!Array.isArray(value)) {\n return Array.isArray(val) ? val : [val];\n }\n const newData = [...arrValue];\n const val1 = newData[0];\n const val2 = newData[1];\n if ((val1 < val2 && val1 > val) || (val1 > val2 && val1 < val)) {\n newData[0] = val as number;\n }\n if ((val1 < val2 && val2 < val) || (val1 > val2 && val2 > val)) {\n newData[1] = val as number;\n }\n\n if (val1 > val && val2 < val) {\n const half = val2 + (val1 - val2) / 2;\n if (half >= val) {\n newData[1] = val as number;\n }\n if (half < val) {\n newData[0] = val as number;\n }\n }\n if (val2 > val && val1 < val) {\n const half = val1 + (val2 - val1) / 2;\n if (half >= val) {\n newData[0] = val as number;\n }\n if (half < val) {\n newData[1] = val as number;\n }\n }\n return newData;\n }\n\n function handleChange(val: number[]) {\n setArrValue([...val]);\n onChange && onChange(arrValue.length === 1 ? val[0] : val);\n }\n\n function getWidthToValue(width: number) {\n const equal = (max - min) / step;\n let percent = 0;\n if (slider.current) {\n percent = (width / slider.current[vertical ? 'clientHeight' : 'clientWidth']) * 100;\n }\n\n if (percent <= 0) {\n percent = 0;\n }\n if (percent >= 100) {\n percent = 100;\n }\n\n const num = equal * (percent / 100) + 0.5;\n const numFloor = Math.floor(num);\n const vals = numFloor * step + min;\n return vals;\n }\n\n function onHandleBtnDown(idx: number, env: React.MouseEvent<HTMLElement>) {\n if (disabled) {\n return;\n }\n indexBar.current = idx;\n move.current = true;\n startX.current = env[vertical ? 'clientY' : 'clientX'];\n if (bar.current) {\n barWidth.current = bar.current[vertical ? 'clientHeight' : 'clientWidth'];\n barOffsetLeft.current = bar.current[vertical ? 'offsetTop' : 'offsetLeft'];\n }\n const vals = [...arrValue];\n if (Array.isArray(value)) {\n barWidth.current =\n (indexBar.current === 1 && vals[1] > vals[0]) || (indexBar.current !== 1 && vals[0] > vals[1])\n ? barWidth.current! + barOffsetLeft.current!\n : barOffsetLeft.current;\n }\n window.addEventListener('mousemove', onDragging);\n window.addEventListener('mouseup', onDragEnd);\n }\n function onDragging(env: MouseEvent | React.MouseEvent<HTMLButtonElement, MouseEvent>) {\n if (!move.current) {\n return;\n }\n const vals = [...arrValue];\n const valueToWidth = getWidthToValue(env[vertical ? 'clientY' : 'clientX'] - startX.current! + barWidth.current!);\n if (valueToWidth !== curValue.current) {\n vals[indexBar.current!] = valueToWidth;\n const barStyl = getStyle(vals);\n if (bar.current) {\n bar.current.style[vertical ? 'top' : 'left'] = barStyl.left;\n bar.current.style[vertical ? 'bottom' : 'right'] = barStyl.right;\n }\n handleChange(vals);\n curValue.current = valueToWidth;\n }\n }\n function onDragEnd() {\n move.current = undefined;\n window.removeEventListener('mousemove', onDragging, false);\n window.removeEventListener('mouseup', onDragEnd, false);\n }\n\n const stepArray = () => {\n const equal = (max - min) / step;\n const stepWidth = (100 * step) / (max - min);\n const result = [0];\n for (let i = 1; i < equal; i += 1) {\n result.push(i * stepWidth);\n }\n result.push(100);\n return result;\n };\n function getValueToPercent(vals: number) {\n return ((vals - min) * 100) / (max - min);\n }\n\n function getStyle(val?: number[]) {\n val = val || arrValue;\n const barStyl = { left: '0%', right: '100%' };\n if (!Array.isArray(value)) {\n barStyl.right = `${100 - getValueToPercent(val[0])}%`;\n } else {\n const leftValue = val[0] > val[1] ? val[1] : val[0];\n const rightValue = val[0] > val[1] ? val[0] : val[1];\n barStyl.left = `${getValueToPercent(leftValue)}%`;\n barStyl.right = `${100 - getValueToPercent(rightValue)}%`;\n }\n return barStyl;\n }\n\n function getLabelValue(val: number) {\n if (marks && marks !== true && marks[val] && marks[val].label) {\n return marks[val].label;\n } else if (marks && marks !== true && marks[val] && typeof marks[val] === 'string') {\n return marks[val];\n } else if (renderMarks && typeof renderMarks === 'function' && renderMarks(val)) {\n return renderMarks(val);\n }\n return val;\n }\n\n const barStyl = getStyle();\n if (disabled) {\n delete other.onClick;\n }\n return (\n <div\n ref={slider}\n className={[\n prefixCls,\n className,\n disabled ? 'disabled' : null,\n marks ? `${prefixCls}-with-marks` : null,\n vertical ? `${prefixCls}-vertical` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n {...other}\n >\n <div\n ref={bar}\n className={`${prefixCls}-bar`}\n style={{\n [vertical ? 'top' : 'left']: barStyl.left,\n [vertical ? 'bottom' : 'right']: barStyl.right,\n ...(progress !== true ? { backgroundColor: progress || 'initial' } : {}),\n }}\n />\n {[...arrValue].map((item, idx) => {\n const lleftPostion = getValueToPercent(item);\n return (\n <div\n key={idx}\n className={`${prefixCls}-handle`}\n onMouseDown={(evn) => onHandleBtnDown(idx, evn)}\n style={{ [vertical ? 'top' : 'left']: `${lleftPostion}%` }}\n >\n {(tooltip || tooltip === false) && (\n <div className={[`${prefixCls}-tooltip`, tooltip ? 'open' : null].filter(Boolean).join(' ').trim()}>\n {getLabelValue(item)}\n </div>\n )}\n </div>\n );\n })}\n {dots && (\n <Dots\n prefixCls={prefixCls}\n min={min}\n step={step}\n marks={marks}\n vertical={!!vertical}\n data={stepArray()}\n markRender={(stepValue, mark = {}) => {\n if (!mark) {\n return <div> {getLabelValue(stepValue)} </div>;\n }\n const other = typeof mark === 'object' ? mark : {};\n delete other.label;\n return <div {...other}> {getLabelValue(stepValue)} </div>;\n }}\n />\n )}\n </div>\n );\n}\n","import React from 'react';\nimport { RadioAbstract, RadioAbstractProps } from '@uiw/react-radio';\nimport './style/index.less';\n\nexport interface SwitchProps extends RadioAbstractProps {}\n\nexport default React.forwardRef<HTMLInputElement, SwitchProps>((props, ref) => {\n const { prefixCls = 'w-switch', ...other } = props;\n return <RadioAbstract prefixCls={prefixCls} {...{ ...other, type: 'checkbox' }} ref={ref} />;\n});\n","import { TableColumns, LocationWidth } from './';\nimport React from 'react';\n\n/**\n * Get colspan number\n * @param {Array} date\n */\nfunction getColspanNum<T>(data: TableColumns<T>[] = [], num = 1) {\n let childs: TableColumns<T>[] = [];\n for (let i = 0; i < data.length; i += 1) {\n if (data[i].children) {\n childs = childs.concat(data[i].children || []);\n }\n }\n if (childs && childs.length > 0) {\n num = getColspanNum(childs, num + 1);\n }\n return num;\n}\n\n/**\n * Get rowspan number\n * @param {Array} date\n */\nfunction getRowspanNum<T>(data: TableColumns<T>[] = [], child = []) {\n let childs: TableColumns<T>[] = [];\n for (let i = 0; i < data.length; i += 1) {\n if (!data[i].children) {\n childs.push(data[i]);\n } else if (data[i].children && data[i].children!.length > 0) {\n childs = childs.concat(getRowspanNum(data[i].children, child));\n }\n }\n return childs;\n}\n\nexport interface ILevelItems<T> {\n header: TableColumns<T>[][];\n ellipsis?: Record<string, boolean>;\n render: {\n [key: string]: any;\n };\n}\n\n/**\n * JSON Array => Array\n * @param {Array} date\n */\nexport function getLevelItems<T>(data: TableColumns<T>[], result?: ILevelItems<T>): ILevelItems<T> {\n if (!result) {\n result = { header: [], render: {} };\n }\n if (result && !result.header) {\n result.header = [];\n }\n if (result && !result.render) {\n result.render = {};\n }\n let child: TableColumns<T>[] = [];\n const levelTop: TableColumns<T>[] = [];\n for (let i = 0; i < data.length; i += 1) {\n if (data[i].render && data[i].key) {\n result.render[data[i].key as string] = data[i].render;\n }\n if (data[i].ellipsis && data[i].key) {\n if (!result.ellipsis) result.ellipsis = {};\n result.ellipsis[data[i].key!] = true;\n }\n if (result.header.length === 0) {\n // Calculation rowspan\n if (data[i].children && data[i].children && data[i].children!.length > 0) {\n data[i].colSpan = getRowspanNum(data[i].children as TableColumns<T>[]).length;\n }\n levelTop.push(data[i]);\n }\n if (data[i] && data[i].children) {\n child = child.concat(\n data[i].children!.map((item: TableColumns<T>) => {\n // Calculation rowspan\n if (item.children && item.children.length > 0) {\n item.colSpan = getRowspanNum(item.children).length;\n }\n return item;\n }),\n );\n }\n }\n // level 1\n if (result.header.length === 0) {\n const num = getColspanNum(levelTop);\n result.header.push(\n levelTop.map((item) => {\n if (num === 1) return item;\n if (!item.children || (item.children && item.children.length === 0)) {\n item.rowSpan = num;\n }\n return item;\n }),\n );\n }\n if (child && child.length > 0) {\n const num = getColspanNum(child);\n result.header.push(\n child.map((item: TableColumns<T>) => {\n if (num === 1) return item;\n if (!item.children || (item.children && item.children.length === 0)) {\n item.rowSpan = num;\n }\n return item;\n }),\n );\n result = getLevelItems(child, result);\n }\n return result;\n}\n\n/**\n * Get all columns keys\n * @param {Array} data\n */\nexport function getAllColumnsKeys<T>(data: TableColumns<T>[], keys: TableColumns<T>[] = []): TableColumns<T>[] {\n for (let i = 0; i < data.length; i += 1) {\n if (data[i].children) {\n keys = keys.concat(getAllColumnsKeys(data[i].children || []));\n } else if (data[i].key) {\n keys.push(data[i]);\n }\n }\n return keys;\n}\n\nexport function locationFixed(\n fixed: boolean | 'left' | 'right',\n location: { [key: string]: LocationWidth },\n index: string,\n): React.CSSProperties {\n if (!fixed) return {};\n if (fixed === 'right') return { right: location[index]?.right };\n return { left: location[index]?.left };\n}\n","import React, { Component } from 'react';\nimport { TableColumns, TableProps, LocationWidth } from './';\nimport { locationFixed } from './util';\n\ninterface ThComponentProps<T> {\n colNum: number;\n item: TableColumns<T>;\n prefixCls: string;\n titleNode: JSX.Element;\n onCellHead: TableProps<T>['onCellHead'];\n rowNum: number;\n locationWidth: { [key: string]: LocationWidth };\n updateLocation: (params: LocationWidth, index: string, key: string, colSpan?: number) => void;\n}\nexport default class ThComponent<T> extends Component<ThComponentProps<T>> {\n wrapper = React.createRef<HTMLTableCellElement>();\n componentDidMount() {\n this.props.updateLocation(\n { width: this.wrapper.current!.getBoundingClientRect().width },\n `${this.props.rowNum}${this.props.colNum}`,\n this.props.item.key!,\n this.props.item.colSpan,\n );\n }\n\n render() {\n const { colNum, prefixCls, item, titleNode, onCellHead, rowNum, locationWidth } = this.props;\n const { title, key, render, children, ellipsis, fixed = false, ...thProps } = item;\n let cls = '';\n if (fixed) {\n if (fixed === 'right') {\n cls = prefixCls + '-fixed-right';\n } else {\n cls = prefixCls + '-fixed-true';\n }\n }\n return (\n <th\n ref={this.wrapper}\n key={colNum}\n {...thProps}\n style={{ ...thProps.style, ...locationFixed(fixed, locationWidth, `${rowNum}${colNum}`) }}\n className={`${prefixCls}-tr-children-${item?.align || 'left'} ${item.className || ''} ${cls}`}\n onClick={(evn) => onCellHead?.(item, colNum, rowNum!, evn)}\n >\n {titleNode}\n </th>\n );\n }\n}\n","import React from 'react';\nimport { IProps, noop } from '@uiw/utils';\nimport { TableProps, TableColumns, LocationWidth } from './';\nimport './style/index.less';\nimport ThComponentProps from './ThComponent';\n\nexport interface TheadProps<T extends { [key: string]: V }, V = any> extends IProps {\n data?: TableColumns<T>[][];\n onCellHead?: TableProps<T, V>['onCellHead'];\n align?: TableColumns['align'];\n className?: TableColumns['className'];\n locationWidth?: { [key: string]: LocationWidth };\n updateLocation?: (params: LocationWidth, index: string, key: string, colSpan?: number) => void;\n}\n\nexport default function TheadComponent<T extends { [key: string]: V }, V>(\n props: TheadProps<T, V> & React.HTMLAttributes<HTMLTableSectionElement> = {},\n) {\n const {\n prefixCls = 'w-table',\n className,\n data = [],\n onCellHead = noop,\n locationWidth,\n updateLocation,\n ...other\n } = props;\n return (\n <thead className={[prefixCls, className].filter(Boolean).join(' ').trim()} {...other}>\n {data &&\n data.length > 0 &&\n data.map((tds?: TableColumns<T>[], rowNum?: number) => (\n <tr key={rowNum}>\n {(tds || []).map((item, colNum) => {\n const { title, key, render, children, ellipsis, fixed = false, ...thProps } = item;\n const titleNode: TableColumns<T>['title'] = (\n <span className={ellipsis ? `${thProps.className || ''} ${prefixCls}-ellipsis` : undefined}>\n {typeof title === 'function' ? title(item, colNum, rowNum!) : title}\n </span>\n );\n if (thProps.colSpan === 0) {\n return null;\n }\n return (\n <ThComponentProps\n colNum={colNum}\n item={item}\n key={colNum}\n prefixCls={prefixCls}\n onCellHead={onCellHead}\n rowNum={rowNum!}\n titleNode={titleNode}\n locationWidth={locationWidth!}\n updateLocation={updateLocation!}\n />\n );\n })}\n </tr>\n ))}\n </thead>\n );\n}\n","import React, { useState } from 'react';\n\ninterface ExpandableProps<T> {\n onClick: (expand: boolean) => void;\n expandIcon: (expanded: boolean) => React.ReactNode;\n defaultExpand: boolean;\n}\n/**\n * 可展开配置\n */\nexport default function ExpandableComponent<T>({ defaultExpand, onClick, expandIcon }: ExpandableProps<T>) {\n const [expand, setExpand] = useState<boolean>(defaultExpand);\n return (\n <div\n style={{ display: 'flex', justifyContent: 'center', alignItems: 'center' }}\n onClick={() => {\n setExpand(!expand);\n onClick(expand);\n // record: T, index: number, expanded: boolean\n }}\n children={expandIcon(expand)}\n />\n );\n}\n","import React, { useMemo, useState, useEffect } from 'react';\nimport Icon from '@uiw/react-icon';\nimport { LocationWidth, TableColumns, TableProps } from './';\nimport './style/index.less';\nimport { noop } from '@uiw/utils';\nimport { locationFixed } from './util';\n\ninterface TableTrProps<T> {\n rowKey?: keyof T;\n header: TableColumns<T>[][];\n data: T[];\n keys: TableProps['columns'];\n render: { [key: string]: any };\n ellipsis?: Record<string, boolean>;\n prefixCls: string;\n onCell: TableProps['onCell'];\n isExpandedDom: (record: T, index: number) => false | JSX.Element;\n // 控制树形结构每一层的缩进宽度\n indentSize: number;\n // 层级\n hierarchy: number;\n childrenColumnName: string;\n locationWidth: { [key: string]: LocationWidth };\n}\n\nexport default function TableTr<T extends { [key: string]: any }>(props: TableTrProps<T>) {\n const {\n rowKey,\n data,\n keys,\n render,\n ellipsis,\n prefixCls,\n onCell = noop,\n isExpandedDom,\n hierarchy,\n indentSize,\n childrenColumnName,\n locationWidth,\n header,\n } = props;\n const [isOpacity, setIsOpacity] = useState(false);\n const [childrenIndex, setChildrenIndex] = useState(0);\n const [expandIndex, setExpandIndex] = useState<Array<T[keyof T] | number>>([]);\n useEffect(() => {\n setIsOpacity(!!data?.find((it) => it[childrenColumnName]));\n setChildrenIndex(keys?.findIndex((it) => it.key === 'uiw-expanded') === -1 ? 0 : 1);\n }, [data]);\n\n const IconDom = useMemo(() => {\n return (key: T[keyof T] | number, isOpacity: boolean) => {\n const flag = expandIndex.includes(key);\n return (\n <Icon\n type={flag ? 'minus-square-o' : 'plus-square-o'}\n style={{\n marginRight: 10,\n opacity: isOpacity ? 1 : 0,\n marginLeft: hierarchy * indentSize,\n float: 'left',\n marginTop: 3.24,\n }}\n onClick={() => {\n setExpandIndex(flag ? expandIndex.filter((it) => it !== key) : [...expandIndex, key]);\n }}\n />\n );\n };\n }, [expandIndex]);\n const getIndex = (key: string) => {\n let j = 0;\n const i = header.findIndex((it) => {\n j = it.findIndex((item) => item.key === key);\n return j > -1;\n });\n return `${i}${j}`;\n };\n if (!Array.isArray(data) || !data.length) {\n return null;\n }\n return (\n <React.Fragment>\n {data.map((trData, rowNum) => {\n const key = rowKey ? trData[rowKey] : rowNum;\n return (\n <React.Fragment key={rowNum}>\n <tr key={key}>\n {keys!.map((keyName, colNum) => {\n let objs: React.TdHTMLAttributes<HTMLTableDataCellElement> = {\n children: trData[keyName.key!],\n };\n if (render[keyName.key!]) {\n const child = render[keyName.key!](trData[keyName.key!], keyName.key, trData, rowNum, colNum);\n if (React.isValidElement(child)) {\n objs.children = child;\n } else {\n if (child.props) {\n objs = { ...child.props, children: objs.children };\n if (child.props.rowSpan === 0 || child.props.colSpan === 0) return null;\n }\n if (child.children) {\n objs.children = child.children;\n }\n }\n }\n const isHasChildren = Array.isArray(trData[childrenColumnName]);\n if (colNum === childrenIndex && (isOpacity || hierarchy || isHasChildren)) {\n objs.children = (\n <>\n {IconDom(key, isHasChildren)}\n <span style={{ paddingLeft: hierarchy * indentSize }}></span>\n {objs.children}\n </>\n );\n }\n if (keyName.fixed) {\n if (keyName.fixed === 'right') {\n objs.className = `${prefixCls}-fixed-right`;\n } else {\n objs.className = `${prefixCls}-fixed-true`;\n }\n }\n return (\n <td\n {...objs}\n style={\n keyName.fixed\n ? { ...locationFixed(keyName.fixed!, locationWidth, `${getIndex(keyName.key || 'undefined')}`) }\n : {}\n }\n children={\n <span className={ellipsis && ellipsis[keyName.key!] ? `${prefixCls}-ellipsis` : undefined}>\n {objs.children}\n </span>\n }\n key={colNum}\n className={[\n prefixCls + '-tr-children-' + (keyName.align || 'left'),\n keyName.className,\n objs.className,\n ]\n .filter((it) => it)\n .join(' ')\n .trim()}\n onClick={(evn) => onCell(trData, { rowNum, colNum, keyName: keyName.key! }, evn)}\n />\n );\n })}\n </tr>\n {isExpandedDom(trData, rowNum)}\n {expandIndex.includes(key) && (\n <TableTr {...props} data={trData[childrenColumnName]} hierarchy={hierarchy + 1} />\n )}\n </React.Fragment>\n );\n })}\n </React.Fragment>\n );\n}\n","import React, { useMemo, useState, useEffect, useRef } from 'react';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport Icon from '@uiw/react-icon';\nimport Thead from './Thead';\nimport { getLevelItems, getAllColumnsKeys } from './util';\nimport ExpandableComponent from './Expandable';\nimport TableTr from './TableTr';\nimport './style/index.less';\n\n// 展开配置\nexport interface ExpandableType<T> {\n // 展开行\n expandedRowRender?: (record: T, index: number, expanded: boolean) => React.ReactNode;\n // 自定义图标\n expandIcon?: (expanded: boolean, record: T, index: number) => React.ReactNode;\n // 是否允许展开\n rowExpandable?: (record: T) => boolean;\n // 初始时,是否展开所有行\n defaultExpandAllRows?: boolean;\n // 默认展开的行 rowKey数组\n defaultExpandedRowKeys?: Array<T[keyof T] | number>;\n // 控制展开的行 rowKey数组\n expandedRowKeys?: Array<T[keyof T] | number>;\n // 展开的行变化触发\n onExpandedRowsChange?: (expandedRows: Array<T[keyof T] | number>) => void;\n // 点击展开图标触发\n onExpand?: (expanded: boolean, record: T, index: number) => void;\n // 控制树形结构每一层的缩进宽度\n indentSize?: number;\n // 指定树形结构的列名\n childrenColumnName?: string;\n}\n\nexport type TableColumns<T = any> = {\n title?: string | ((data: TableColumns<T>, rowNum: number, colNum: number) => JSX.Element) | JSX.Element;\n key?: string;\n width?: number;\n colSpan?: number;\n children?: TableColumns<T>[];\n ellipsis?: boolean;\n render?: (text: string, keyName: string, rowData: T, rowNumber: number, columnNumber: number) => React.ReactNode;\n style?: React.CSSProperties;\n align?: 'left' | 'center' | 'right';\n className?: string;\n fixed?: boolean | 'left' | 'right';\n [key: string]: any;\n};\n\nexport interface TableProps<T extends { [key: string]: V } = any, V = any> extends IProps, Omit<HTMLDivProps, 'title'> {\n prefixCls?: string;\n columns?: TableColumns<T>[];\n data?: Array<T>;\n title?: React.ReactNode;\n footer?: React.ReactNode;\n bordered?: boolean;\n empty?: React.ReactNode;\n onCell?: (\n data: { [key: string]: any },\n options: ICellOptions,\n evn: React.MouseEvent<HTMLTableCellElement>,\n ) => void | React.ReactNode;\n onCellHead?: (\n data: TableColumns<T>,\n rowNum: number,\n colNum: number,\n evn: React.MouseEvent<HTMLTableCellElement>,\n ) => void;\n expandable?: ExpandableType<T>;\n rowKey?: keyof T;\n scroll?: { x?: React.CSSProperties['width']; y?: React.CSSProperties['height'] };\n}\n\nexport interface LocationWidth {\n left?: number;\n right?: number;\n width: number;\n key?: string;\n colSpan?: number;\n}\nexport interface ICellOptions {\n rowNum: number;\n colNum: number;\n keyName: string;\n}\n\nexport default function Table<T extends { [key: string]: V }, V>(props: TableProps<T, V> = {}) {\n const {\n prefixCls = 'w-table',\n className,\n columns = [],\n data = [],\n title,\n footer,\n bordered,\n onCell = noop,\n onCellHead = noop,\n empty,\n children,\n expandable,\n rowKey,\n scroll,\n ...other\n } = props;\n const [expandIndex, setExpandIndex] = useState<Array<T[keyof T] | number>>([]);\n const [locationWidth, setLocationWidth] = useState<{ [key: string]: LocationWidth }>({});\n const finalLocationWidth = useRef<{ [key: string]: LocationWidth }>({});\n const updateLocation = (params: LocationWidth, index: string, key: string, colSpan: number = 0) => {\n finalLocationWidth.current = {\n ...finalLocationWidth.current,\n [index]: {\n ...finalLocationWidth.current[index],\n ...params,\n key: key,\n colSpan,\n },\n };\n if (index === `${header.length - 1}${header[header.length - 1].length - 1}`) {\n setLocationWidth(computed());\n }\n };\n const deepClumnsLocation = (params: Array<TableColumns<T> | number>, fistIndex: number) => {\n let initialValue = 0,\n headerIndex = 0,\n deepParams: Array<TableColumns<T> | number> = [];\n params.forEach((_, index) => {\n const i = `${fistIndex}${headerIndex}`;\n if (typeof params[index] === 'number') {\n initialValue = (params[index] as number) + initialValue;\n deepParams.push(params[index]);\n return;\n }\n if (finalLocationWidth.current[i]) {\n finalLocationWidth.current[i].left = initialValue;\n initialValue = finalLocationWidth.current[i].width + initialValue;\n if (Array.isArray((params[index] as TableColumns<T>).children)) {\n deepParams.push(...(params[index] as TableColumns<T>).children!);\n } else {\n deepParams.push(finalLocationWidth.current[i].width);\n }\n }\n headerIndex += 1;\n });\n (initialValue = 0), (headerIndex = header[fistIndex].length - 1);\n for (let index = params.length - 1; index >= 0; index--) {\n const i = `${fistIndex}${headerIndex}`;\n if (typeof params[index] === 'number') {\n initialValue = (params[index] as number) + initialValue;\n continue;\n }\n if (finalLocationWidth.current[i]) {\n finalLocationWidth.current[i].right = initialValue;\n initialValue = finalLocationWidth.current[i].width + initialValue;\n }\n headerIndex -= 1;\n }\n if (deepParams.filter((it) => typeof it !== 'number').length) deepClumnsLocation(deepParams, fistIndex + 1);\n };\n\n const computed = () => {\n deepClumnsLocation(columns, 0);\n return finalLocationWidth.current;\n };\n useEffect(() => {\n const childKey = expandable?.childrenColumnName || 'children';\n const deep = (params: TableColumns<T>) => {\n const arr1: Array<T[keyof T] | number> = [];\n const arr = params.map((it: T, index: number) => {\n if (Array.isArray(it[childKey])) {\n arr1.push(...deep(it[childKey]));\n }\n return rowKey ? it[rowKey] : index;\n });\n return [...arr1, ...arr];\n };\n if (expandable) {\n if (expandable.defaultExpandAllRows) {\n setExpandIndex(deep(data));\n return;\n }\n if (expandable.defaultExpandedRowKeys) {\n setExpandIndex(expandable.defaultExpandedRowKeys);\n return;\n }\n }\n }, []);\n useEffect(() => {\n if (expandable) {\n if (expandable.expandedRowKeys && JSON.stringify(expandable.expandedRowKeys) !== JSON.stringify(expandIndex)) {\n setExpandIndex(expandable.expandedRowKeys);\n }\n }\n }, [expandable?.expandedRowKeys]);\n\n const isExpandedDom = useMemo(() => {\n return (record: T, index: number) => {\n if (!expandable) {\n return false;\n }\n if (!expandable.expandedRowRender) {\n return false;\n }\n let flag = true;\n if (expandable.rowExpandable) {\n flag = expandable.rowExpandable(record);\n }\n return (\n flag && (\n <tr style={expandIndex.includes(rowKey ? record[rowKey] : index) ? {} : { display: 'none' }}>\n <td style={{ paddingLeft: 16 }} colSpan={columns.length + 1}>\n {expandable.expandedRowRender(record, index, true)}\n </td>\n </tr>\n )\n );\n };\n }, [expandable, expandIndex]);\n\n const self = useMemo(() => {\n let keys = getAllColumnsKeys<T>(columns);\n let selfColumns: TableColumns<T>[] = [];\n if (expandable?.expandedRowRender) {\n keys = [{ key: 'uiw-expanded', align: 'center' }, ...keys];\n selfColumns = [\n {\n title: '',\n key: 'uiw-expanded',\n width: 50,\n align: 'center',\n render: (text, key, record, index) => {\n return (\n <ExpandableComponent\n defaultExpand={\n expandable.defaultExpandAllRows === undefined\n ? !!expandable.defaultExpandedRowKeys?.includes(rowKey ? record[rowKey] : index)\n : !!expandable.defaultExpandAllRows\n }\n onClick={(expand) => {\n expandable.onExpand?.(expand, record, index);\n if (expand) {\n const result = expandIndex.filter((it) => (rowKey ? it !== record[rowKey] : it !== index));\n expandable.onExpandedRowsChange ? expandable.onExpandedRowsChange(result) : setExpandIndex(result);\n } else {\n const result = [...expandIndex, rowKey ? record[rowKey] : index];\n expandable.onExpandedRowsChange ? expandable.onExpandedRowsChange(result) : setExpandIndex(result);\n }\n }}\n expandIcon={(expand) => {\n if (expandable.rowExpandable && !expandable.rowExpandable?.(record)) {\n return null;\n }\n if (expandable.expandIcon) {\n return expandable.expandIcon(expand, record, index);\n }\n return expand ? <Icon type=\"minus-square-o\" /> : <Icon type=\"plus-square-o\" />;\n }}\n />\n );\n },\n },\n ...columns,\n ];\n } else {\n selfColumns = [...columns];\n }\n return {\n keys,\n selfColumns,\n };\n }, [columns, expandIndex]);\n const style: { table: React.CSSProperties; div: React.CSSProperties } = useMemo(() => {\n const style: { table: React.CSSProperties; div: React.CSSProperties } = {\n table: {},\n div: {},\n };\n if (scroll) {\n if (scroll.x !== undefined) {\n style.table.minWidth = '100%';\n style.table.width = scroll.x;\n style.div.overflowX = 'auto';\n style.div.overflowY = 'hidden';\n }\n if (scroll.y !== undefined) {\n style.div.maxHeight = scroll.y;\n style.div.overflowY = 'scroll';\n }\n }\n return style;\n }, [scroll]);\n const cls = [prefixCls, className, bordered ? `${prefixCls}-bordered` : null].filter(Boolean).join(' ').trim();\n const { header, render, ellipsis } = getLevelItems(self.selfColumns);\n\n return (\n <React.Fragment>\n <div className={cls} {...other} style={{ ...other.style, ...style.div }}>\n <table style={{ tableLayout: ellipsis ? 'fixed' : 'auto', ...style.table }}>\n {title && <caption>{title}</caption>}\n {columns && columns.length > 0 && (\n <Thead\n onCellHead={onCellHead}\n data={header}\n locationWidth={locationWidth}\n updateLocation={updateLocation}\n />\n )}\n {data && data.length > 0 && (\n <tbody>\n <TableTr\n rowKey={rowKey}\n locationWidth={locationWidth}\n data={data}\n header={header}\n keys={self.keys}\n render={render}\n ellipsis={ellipsis}\n prefixCls={prefixCls}\n onCell={onCell}\n hierarchy={0}\n isExpandedDom={isExpandedDom}\n indentSize={typeof expandable?.indentSize === 'number' ? expandable?.indentSize : 16}\n childrenColumnName={expandable?.childrenColumnName || 'children'}\n />\n </tbody>\n )}\n {data && data.length === 0 && empty && (\n <tbody>\n <tr>\n <td colSpan={columns.length} style={{ position: 'relative', left: 0 }}>\n {empty}\n </td>\n </tr>\n </tbody>\n )}\n {props.children}\n </table>\n </div>\n {footer && <div className={`${prefixCls}-footer`}>{footer}</div>}\n </React.Fragment>\n );\n}\n","import React, { useEffect, useState, useRef, useCallback, useMemo } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport Pane from './Pane';\nimport './style/index.less';\nimport Popover from '@uiw/react-popover';\n\nexport * from './Pane';\n\nTabs.Pane = Pane;\n\nlet labelWidth: number = 0;\nexport interface TabsProps extends IProps, HTMLDivProps {\n prefixCls?: string;\n activeKey?: string;\n type?: 'default' | 'line' | 'card';\n children?: React.ReactNode;\n onTabClick?: (key: string, item: React.ReactElement, e: React.MouseEvent) => void;\n}\n\ntype FlowNavType = {\n content: number;\n nav: Array<Record<'index' | 'width' | 'curWidth', number>>;\n flowLeft: number;\n displayStart: number;\n displayEnd: number;\n};\n\nexport default function Tabs(props: TabsProps) {\n const {\n prefixCls = 'w-tabs',\n className,\n children,\n type = 'default',\n activeKey: _,\n onTabClick,\n ...elementProps\n } = props;\n\n const [activeKey, setActiveKey] = useState(props.activeKey);\n const [slideStyle, setSlideStyle] = useState({ width: 0, left: 0 });\n const activeItem = useRef<HTMLDivElement | undefined>();\n const cls = [prefixCls, className, type ? `${prefixCls}-${type}` : null].filter(Boolean).join(' ').trim();\n\n const [flowNav, flowNavSet] = useState<FlowNavType>({\n content: 0,\n nav: [],\n flowLeft: -1,\n displayStart: 0,\n displayEnd: 0,\n });\n const [hiddenNav, hiddenNavSet] = useState<Array<number>>([]);\n const deviation = 15;\n\n const [nodes, nodesSet] = useState<any>();\n const divContentRef = useCallback((node) => {\n if (node !== null) {\n nodesSet(nodes);\n node.addEventListener('scroll', (e: any) => {\n const { clientWidth, scrollLeft } = e.target;\n flowNav.displayStart = scrollLeft;\n flowNav.displayEnd = clientWidth + scrollLeft;\n flowNavSet({ ...flowNav });\n });\n flowNav.displayEnd = node.getBoundingClientRect().width;\n flowNavSet({ ...flowNav });\n }\n }, []);\n\n const divNavRef = useCallback((node, key: number, itemKey: React.Key | null) => {\n if (node !== null) {\n node.addEventListener('click', (e: any) => {\n activeItem.current = node;\n });\n divNavWidthChange(node.getBoundingClientRect().width, key);\n\n if (itemKey === props.activeKey && type === 'line' && labelWidth === 0) {\n activeItem.current = node;\n }\n }\n }, []);\n\n const divNavWidthChange = (width: number, index: number) => {\n let curWidth = 0;\n flowNav.nav.slice(0, index + 1).forEach((nav) => (curWidth += nav.width));\n flowNav.nav[index] = { width, curWidth: Math.floor(curWidth), index };\n flowNavSet(flowNav);\n };\n\n useEffect(() => {\n showHideenNav();\n }, [flowNav.displayEnd > flowNav.nav[flowNav.nav.length - 1]?.curWidth]);\n\n const showHideenNav = () => {\n const hiddenNav: Array<number> = [];\n if (flowNav.nav.length > 0) {\n flowNav.nav.forEach((item) => {\n const curWidth = item.curWidth - deviation;\n if (curWidth < flowNav.displayStart || curWidth > flowNav.displayEnd) {\n hiddenNav.push(item.index);\n }\n });\n hiddenNavSet(hiddenNav);\n }\n };\n\n useEffect(() => setActiveKey(props.activeKey), [props.activeKey]);\n useEffect(() => calcSlideStyle(), [activeKey]);\n\n function calcSlideStyle() {\n if (activeItem.current && type === 'line') {\n labelWidth = activeItem.current.clientWidth;\n setSlideStyle({\n width: activeItem.current.clientWidth,\n left: activeItem.current.offsetLeft,\n });\n }\n }\n\n return (\n <div className={cls} {...elementProps}>\n <div style={{ display: 'flex' }}>\n <div style={{ overflow: 'hidden' }}>\n <div className={`${prefixCls}-bar`} ref={divContentRef}>\n <div className={`${prefixCls}-nav`} style={{ width: 'max-content' }}>\n {renderNav(children)}\n <div style={slideStyle} className={`${prefixCls}-slide`} />\n </div>\n </div>\n </div>\n {hiddenNav.length > 0 && (\n <Popover\n trigger=\"click\"\n placement=\"bottomRight\"\n visibleArrow={false}\n content={\n <div className={`${prefixCls}-nav-hidden`}>\n {renderNav(hiddenNav.map((idx) => (children as Array<React.ReactElement>)[idx]))}\n </div>\n }\n >\n <div onClick={showHideenNav} className={`${prefixCls}-flow-content`}>\n <span>…</span>\n </div>\n </Popover>\n )}\n </div>\n {React.Children.map(children, (item: any) => {\n if (!item || activeKey !== item.key) {\n return null;\n }\n return React.cloneElement(item, Object.assign({}, item.props, {}));\n })}\n </div>\n );\n\n function renderNav(children: React.ReactNode): React.ReactNode {\n return React.Children.map(children as React.ReactElement[], (item: React.ReactElement, key: number) => {\n if (!item) {\n return null;\n }\n const divProps: HTMLDivProps = {\n className: [\n `${prefixCls}-item`,\n item.key === activeKey ? 'active' : null,\n item.props.disabled ? 'disabled' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim(),\n children: item.props.label,\n };\n if (!item.props.disabled) {\n divProps.onClick = (e: React.MouseEvent) => {\n setActiveKey(item.key as string);\n onTabClick && onTabClick(item.key as string, item, e);\n calcSlideStyle();\n };\n }\n return <div key={key} ref={(ref) => divNavRef(ref, key, item.key)} {...divProps} />;\n });\n }\n}\n","import React from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\n\nexport interface TabsPaneProps extends IProps, HTMLDivProps {\n label?: React.ReactNode;\n disabled?: boolean;\n}\n\nexport default (props: TabsPaneProps = {}) => {\n const { prefixCls = 'w-tabs-pane', className, label: _, ...resetProps } = props;\n return <div className={[prefixCls, className].filter(Boolean).join(' ').trim()} {...resetProps} />;\n};\n","import React from 'react';\nimport { IProps, HTMLTextProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface TextareaProps extends IProps, HTMLTextProps {}\n\nexport default React.forwardRef<HTMLTextAreaElement, TextareaProps>((props, ref) => {\n const { prefixCls = 'w-textarea', className, ...restProps } = props;\n return (\n <textarea className={[prefixCls, className].filter(Boolean).join(' ').trim()} {...restProps} ref={ref}>\n {props.children}\n </textarea>\n );\n});\n","import React from 'react';\nimport OverlayTrigger, { OverlayTriggerProps } from '@uiw/react-overlay-trigger';\nimport { IProps } from '@uiw/utils';\nimport './style/index.less';\n\nexport interface TooltipProps extends IProps, OverlayTriggerProps {\n visibleArrow?: boolean;\n content?: React.ReactNode;\n}\n\nexport default (props: TooltipProps = {}) => {\n const {\n prefixCls = 'w-tooltip',\n className,\n placement = 'top',\n isOpen = false,\n trigger,\n delay,\n usePortal = true,\n visibleArrow = true,\n onVisibleChange,\n ...other\n } = props;\n const cls = [prefixCls, className, !visibleArrow ? 'no-arrow' : null].filter(Boolean).join(' ').trim();\n return (\n <OverlayTrigger\n usePortal={usePortal}\n isOpen={isOpen}\n trigger={trigger}\n delay={delay}\n onVisibleChange={onVisibleChange}\n placement={placement}\n {...other}\n overlay={\n <div className={cls}>\n {visibleArrow && <div className={`${prefixCls}-arrow`} />}\n <div className={`${prefixCls}-inner`}>{props.content}</div>\n </div>\n }\n >\n {typeof props.children === 'object' ? props.children : <span>{props.children}</span>}\n </OverlayTrigger>\n );\n};\n","import React, { useCallback, useMemo } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport Icon, { IconProps } from '@uiw/react-icon';\nimport { IProps, noop } from '@uiw/utils';\nimport { TreeData, TreeProps, getChildKeys } from './';\n\ninterface TreeNodeIconProps {\n isOpen: boolean;\n noChild: boolean;\n openKeys: TreeNodeProps['openKeys'];\n selectedKeys: TreeNodeProps['selectedKeys'];\n}\n\ninterface TreeNodeProps<T = (data: TreeData, props: TreeNodeIconProps) => IconProps['type']> extends IProps {\n data: TreeData[];\n level: number;\n parent?: TreeData;\n icon?: T;\n iconAnimation?: boolean;\n isSelected?: boolean;\n renderTitle?: TreeProps['renderTitle'];\n\n openKeys?: TreeData['key'][];\n selectedKeys?: TreeData['key'][];\n\n onItemClick?: (item: TreeData, evn: React.MouseEvent<HTMLElement>) => void;\n onItemSelected?: (item: TreeData, evn: React.MouseEvent<HTMLElement>) => void;\n}\n\nconst Label = ({ label }: { label: React.ReactNode }) => useMemo(() => <span>{label}</span>, [label]);\n\nexport default function TreeNode<T>(props: TreeNodeProps<T>) {\n const {\n prefixCls,\n renderTitle,\n icon,\n iconAnimation,\n isSelected,\n openKeys,\n selectedKeys,\n\n data,\n level,\n parent,\n\n onItemClick = noop,\n onItemSelected = noop,\n ...other\n } = props;\n let isOpen = false;\n\n if (parent && (parent.key || parent.key === 0)) {\n isOpen = !!(openKeys && openKeys.indexOf(parent.key) > -1);\n }\n const onExit = useCallback((node: HTMLElement) => {\n node.style.height = `${node.scrollHeight}px`;\n }, []);\n const onExiting = useCallback((node: HTMLElement) => {\n node.style.height = '1px';\n }, []);\n const onEnter = useCallback((node: HTMLElement, isAppearing: boolean) => {\n node.style.height = '1px';\n }, []);\n const onEntering = useCallback((node: HTMLElement, isAppearing: boolean) => {\n node.style.height = `${node.scrollHeight}px`;\n }, []);\n const onEntered = useCallback((node: HTMLElement, isAppearing: boolean) => {\n node.style.height = 'initial';\n }, []);\n return (\n <CSSTransition\n classNames={prefixCls}\n in={isOpen}\n timeout={200}\n onExit={onExit}\n onExiting={onExiting}\n onEnter={onEnter}\n onEntered={onEntered}\n onEntering={onEntering}\n >\n <ul\n className={[\n level !== 1 && isOpen ? [`${prefixCls}-open`] : null,\n level !== 1 && !isOpen ? [`${prefixCls}-close`] : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n {data.map((item, idx: number) => {\n item.parent = parent;\n const selected = !!(selectedKeys && selectedKeys.indexOf(item.key) > -1);\n const noChild = !item.children;\n const itemIsOpen = openKeys && openKeys.indexOf(item.key) > -1 && !!item.children;\n const iconItem =\n typeof icon === 'function'\n ? icon(item, {\n isOpen: !!itemIsOpen,\n noChild,\n openKeys,\n selectedKeys,\n })\n : icon;\n const childKeys = noChild ? [] : getChildKeys(item.children);\n const checkedKeys = selectedKeys ? selectedKeys.filter((key) => childKeys.indexOf(key) > -1) : [];\n const isHalfChecked = checkedKeys.length > 0 && childKeys.length !== checkedKeys.length;\n return (\n <li key={idx} style={{ display: item.hideNode ? 'none' : 'block' }}>\n <div className={`${prefixCls}-label`}>\n <span\n style={{ display: noChild ? 'none' : 'auto' }}\n className={`${prefixCls}-switcher`}\n onClick={(evn) => onItemClick(item, evn)}\n >\n <Icon\n type={iconItem || 'caret-right'}\n className={[\n typeof icon === 'function' ? `${prefixCls}-switcher-noop` : null,\n noChild ? 'no-child' : null,\n !iconAnimation ? 'no-animation' : null,\n itemIsOpen ? 'open' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n />\n </span>\n <div\n onClick={(evn) => onItemSelected(item, evn)}\n className={[\n `${prefixCls}-title`,\n selected && isSelected ? 'selected' : null,\n item.disabled ? 'disabled' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n {renderTitle ? (\n renderTitle(item, {\n selected,\n noChild,\n openKeys,\n isHalfChecked,\n selectedKeys,\n })\n ) : (\n <Label label={item.label} />\n )}\n </div>\n </div>\n {item.children && (\n <TreeNode\n {...other}\n {...{\n prefixCls,\n icon,\n iconAnimation,\n isSelected,\n openKeys,\n selectedKeys,\n onItemClick,\n onItemSelected,\n renderTitle,\n }}\n prefixCls={prefixCls}\n data={item.children}\n level={level + 1}\n parent={item}\n />\n )}\n </li>\n );\n })}\n </ul>\n </CSSTransition>\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { IconProps } from '@uiw/react-icon';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport TreeNode from './TreeNode';\nimport './style/index.less';\n\nexport type TreeRenderTitleNode = {\n selected?: boolean;\n noChild?: boolean;\n isHalfChecked?: boolean;\n openKeys?: TreeProps['openKeys'];\n selectedKeys?: TreeProps['selectedKeys'];\n};\n\nexport interface TreeProps extends IProps, Omit<HTMLDivProps, 'onChange'> {\n icon?: IconProps['type'];\n data?: TreeData[];\n openKeys?: TreeData['key'][];\n selectedKeys?: TreeData['key'][];\n defaultExpandAll?: boolean;\n /**\n * 是否自动展开父节点\n */\n autoExpandParent?: boolean;\n /**\n * 是否展示连接线\n */\n showLine?: boolean;\n iconAnimation?: boolean;\n isSelected?: boolean;\n /**\n * 子节点受父节点控制设置 `true`,需要配合 `multiple` 参数使用。\n */\n checkStrictly?: boolean;\n /**\n * 支持点选多个节点\n */\n multiple?: boolean;\n renderTitle?: (item: TreeData, node: TreeRenderTitleNode) => React.ReactElement;\n onExpand?: (key: TreeData['key'], expanded: boolean, item: TreeData, evn: React.MouseEvent<HTMLElement>) => void;\n onSelected?: (\n keys: TreeData['key'][],\n key: TreeData['key'],\n selected: boolean,\n item: TreeData,\n evn: React.MouseEvent<HTMLElement>,\n ) => void;\n onChange?: (key: string | number | undefined, eys: (string | number | undefined)[]) => void;\n value?: TreeData['key'][];\n}\n\nexport interface TreeData {\n label?: React.ReactNode;\n children?: TreeData[];\n hideNode?: boolean;\n key?: string | number;\n [keyName: string]: any;\n}\n\n/**\n * a contains b\n * @param {Array} a\n * @param {Array} b\n */\nconst isContained = (a: any[], b: any[]) => {\n if (!(a instanceof Array) || !(b instanceof Array)) return false;\n if (a.length < b.length) return false;\n const aStr = a.toString();\n for (let i = 0, len = b.length; i < len; i += 1) {\n if (aStr.indexOf(b[i]) === -1) return false;\n }\n return true;\n};\n\nexport const getChildKeys = (\n childs: TreeData[] = [],\n result: TreeData['key'][] = [],\n depth?: number,\n): TreeData['key'][] => {\n childs.forEach((item) => {\n if (!item.hideNode) {\n result.push(item.key as string | number);\n }\n if (typeof depth === 'number' && !(depth - 1)) return;\n\n if (item.children && item.children.length > 0) {\n result = result.concat(getChildKeys(item.children, undefined, depth ? depth - 1 : undefined));\n }\n });\n return result;\n};\n\nconst getParentKeys = (childs: TreeData = {}, result: TreeData['key'][] = []) => {\n if (childs.key) {\n result.push(childs.key);\n }\n if (childs.parent) {\n result = getParentKeys(childs.parent, result);\n }\n return result;\n};\n\nconst getParentSelectKeys = (\n childs: TreeData = {},\n selectedKeys: TreeData['key'][] = [],\n result: TreeData['key'][] = [],\n) => {\n if (childs.key && childs.children && isContained(selectedKeys, getChildKeys(childs.children, undefined, 1))) {\n result.push(childs.key);\n if (childs.parent && !childs.parent.parent) {\n if (isContained(selectedKeys, getChildKeys(childs.children))) {\n selectedKeys = selectedKeys.concat(result);\n }\n if (isContained(selectedKeys, getChildKeys(childs.parent.children))) {\n result.push(childs.parent.key);\n }\n }\n }\n if (childs.parent) {\n result = getParentSelectKeys(childs.parent, selectedKeys, result);\n }\n return result;\n};\n\nexport default function Tree(props: TreeProps) {\n const {\n prefixCls = 'w-tree',\n icon = 'caret-right',\n data = [],\n openKeys = [],\n selectedKeys = [],\n defaultExpandAll = false,\n showLine = false,\n iconAnimation = true,\n isSelected = true,\n checkStrictly = false,\n multiple = false,\n onExpand = noop,\n onSelected = noop,\n\n className,\n autoExpandParent = true,\n renderTitle,\n onChange,\n value,\n ...elementProps\n } = props;\n\n const [curOpenKeys, setCurOpenKeys] = useState(openKeys);\n const [curSelectedKeys, setCurSelectedKeys] = useState(value || selectedKeys);\n\n useEffect(() => {\n setCurSelectedKeys(props.value || props.selectedKeys || []);\n }, [JSON.stringify(props.selectedKeys), JSON.stringify(props.value)]);\n\n useEffect(() => {\n let arrOpenKeys: TreeData['key'][] = [...curOpenKeys];\n if (defaultExpandAll) {\n arrOpenKeys = getChildKeys(data);\n } else if (autoExpandParent) {\n arrOpenKeys.push(...getChildKeys(data || [], undefined, 1));\n }\n setCurOpenKeys(arrOpenKeys);\n }, []);\n\n const cls = [className, prefixCls, showLine ? `${prefixCls}-line` : null].filter(Boolean).join(' ').trim();\n\n function onItemClick(item: TreeData, evn: React.MouseEvent<HTMLElement>) {\n if (!item.children) {\n return;\n }\n // const { onExpand } = this.props;\n // const { openKeys } = this.state;\n let currentKeys = [...(curOpenKeys as TreeData['key'][])];\n const key = currentKeys.find((v) => v === item.key);\n const cls = evn.currentTarget.className.replace(/(\\s)open/g, '');\n let expanded = false;\n if (!key && item.key) {\n currentKeys.push(item.key);\n evn.currentTarget.className = [cls, 'open'].filter(Boolean).join(' ').trim();\n expanded = true;\n } else {\n currentKeys = currentKeys.filter((v) => v !== item.key);\n evn.currentTarget.className = cls;\n }\n setCurOpenKeys(currentKeys);\n onExpand && onExpand(item.key, expanded, item, evn);\n }\n function onItemSelected(item: TreeData, evn: React.MouseEvent<HTMLElement>) {\n // const { onSelected, multiple, checkStrictly } = this.props;\n let selKeys = [...(curSelectedKeys as TreeData['key'][])];\n const findKey = selKeys.find((v) => v === item.key);\n let selected = false;\n if (!findKey && findKey !== 0) {\n selected = true;\n selKeys.push(item.key);\n } else {\n selKeys = selKeys.filter((v) => v !== item.key);\n }\n if (checkStrictly) {\n if (!findKey) {\n selKeys = selKeys.concat(getChildKeys(item.children).filter((val) => selKeys.indexOf(val) === -1));\n selKeys = selKeys.concat(getParentSelectKeys(item, selKeys));\n selKeys = Array.from(new Set(selKeys)); // Remove duplicates.\n } else {\n selKeys = selKeys.filter((val) => getChildKeys(item.children).indexOf(val) === -1);\n selKeys = selKeys.filter((val) => getParentKeys(item.parent).indexOf(val) === -1);\n }\n }\n if (!multiple) {\n selKeys = !findKey ? [item.key] : [];\n }\n setCurSelectedKeys(selKeys);\n onSelected && onSelected(selKeys, item.key, selected, item, evn);\n onChange?.(item.key, selKeys);\n }\n return (\n <div className={cls} {...elementProps}>\n <TreeNode\n {...{\n icon,\n iconAnimation,\n isSelected,\n openKeys: curOpenKeys,\n selectedKeys: curSelectedKeys,\n prefixCls,\n renderTitle,\n }}\n onItemClick={onItemClick}\n onItemSelected={onItemSelected}\n data={data}\n level={1}\n />\n </div>\n );\n}\n","import React, { Fragment } from 'react';\nimport Tree, { TreeProps, TreeRenderTitleNode, TreeData } from '@uiw/react-tree';\nimport Checkbox, { CheckboxProps } from '@uiw/react-checkbox';\nimport './style/index.less';\n\nexport interface TreeCheckedProps extends TreeProps {}\n\nexport default function TreeChecked({ prefixCls = 'w-treechecked', ...props }: TreeCheckedProps): JSX.Element {\n props.className = [prefixCls, props.className].filter(Boolean).join(' ').trim();\n props.checkStrictly = true;\n props.isSelected = false;\n props.multiple = true;\n return (\n <Tree\n renderTitle={(item: TreeData, node: TreeRenderTitleNode) => {\n const checkedProps: CheckboxProps = {};\n if (node.isHalfChecked) {\n checkedProps.indeterminate = true;\n }\n if (node.selected) {\n checkedProps.checked = true;\n } else {\n checkedProps.checked = false;\n }\n return (\n <Fragment>\n <Checkbox className={`${prefixCls}-checked`} {...checkedProps} />\n {item.label && <span>{item.label}</span>}\n </Fragment>\n );\n }}\n {...props}\n />\n );\n}\n","import React, { useMemo, useState, useRef, useEffect, ReactElement } from 'react';\nimport Dropdown, { DropdownProps } from '@uiw/react-dropdown';\nimport Icon from '@uiw/react-icon';\nimport Input from '@uiw/react-input';\nimport Tag, { TagProps } from '@uiw/react-tag';\nimport Card from '@uiw/react-card';\nimport Empty from '@uiw/react-empty';\nimport { IProps } from '@uiw/utils';\nimport './style/index.less';\n\nconst TagSize = { large: 25, default: 20, small: 17 };\n\nexport interface DropContent<V> {\n values: Array<V>;\n onSelected?: (selectedAll: Array<V>, selectd: V, isChecked: boolean) => void;\n options?: Array<any>;\n}\n\nexport interface SearchTagInputOption {\n label: string;\n key: string | number;\n}\n\nexport interface SearchTagInputProps<V> extends IProps, DropdownProps, DropContent<V> {\n allowClear?: boolean;\n content: ReactElement<DropContent<V>>;\n size?: 'large' | 'default' | 'small';\n onChange: (selectedAll: Array<V>, selectd: V, isChecked: boolean) => void;\n onSearch?: (seachValue: string) => void;\n loading?: boolean;\n placeholder?: string;\n emptyOption?: boolean | React.ReactNode;\n selectCloseDrop?: boolean;\n tagProps?: TagProps;\n}\n\nfunction SearchTagInput<V extends SearchTagInputOption>(props: SearchTagInputProps<V>) {\n const {\n prefixCls = 'w-search-tree',\n size = 'default',\n disabled = false,\n allowClear = false,\n loading = false,\n selectCloseDrop = false,\n className,\n style,\n placeholder,\n\n tagProps = {},\n content,\n options,\n values,\n onChange,\n onSearch,\n emptyOption,\n // ...others\n } = props;\n\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n const [innerIsOpen, setInnerIsOpen] = useState(false);\n const [selectedOption, setSelectedOption] = useState<Array<V>>(values);\n const optionRef = useRef<Array<V>>();\n const [searchValue, searchValueSet] = useState<string>('');\n optionRef.current = useMemo(() => selectedOption, [selectedOption]);\n const [selectIconType, setSelectIconType] = useState('');\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n setSelectedOption(values);\n }, [JSON.stringify(values)]);\n\n function renderSelectIcon(type: string) {\n const selectIconType = type === 'enter' && allowClear && (!!selectedOption.length || searchValue) ? 'close' : '';\n setSelectIconType(selectIconType);\n }\n\n const handleSelectChange = (selectedAll: Array<V>, selectd?: V, isChecked: boolean = true) => {\n setSelectedOption(selectedAll);\n\n searchValueChange('');\n onChange?.(selectedAll, selectd!, isChecked);\n };\n\n const removeSelectItem = (index: number) => {\n const selectedOption = optionRef.current as Array<V>;\n const curreentItem = selectedOption[index];\n selectedOption.splice(index, 1);\n handleSelectChange([...selectedOption], curreentItem, false);\n };\n\n function handleInputChange(value: string) {\n setInnerIsOpen(true);\n searchValueChange(value);\n setSelectIconType(value ? 'loading' : '');\n }\n\n const searchValueChange = (value: string) => {\n searchValueSet(value);\n onSearch?.(value);\n };\n\n // 清除选中的值\n function resetSelectedValue(e: any) {\n e.stopPropagation();\n inputRef.current?.focus();\n handleInputChange('');\n setInnerIsOpen(false);\n setSelectedOption([]);\n handleSelectChange([]);\n }\n\n function inputKeyDown(e: any) {\n if (selectedOption.length > 0 && !searchValue && e.keyCode === 8) {\n removeSelectItem(selectedOption.length - 1);\n }\n }\n\n const newContent = useMemo(() => {\n if (emptyOption) {\n return typeof emptyOption === 'boolean' ? <Empty style={{ minWidth: 200, width: style?.width }} /> : emptyOption;\n }\n\n const newProps = {\n ...content.props,\n onSelected: (selectedAll: Array<V>, selectd?: V, isChecked: boolean = true) => {\n setInnerIsOpen(!selectCloseDrop);\n handleSelectChange(selectedAll, selectd, isChecked);\n },\n values: selectedOption,\n options,\n };\n return React.cloneElement(content as JSX.Element, newProps);\n }, [JSON.parse(JSON.stringify(selectedOption)), options, emptyOption]);\n\n return (\n <Dropdown\n className={cls}\n trigger=\"click\"\n onVisibleChange={(isOpen: boolean) => {\n setInnerIsOpen(isOpen);\n if (!isOpen) searchValueChange('');\n }}\n disabled={disabled}\n isOpen={innerIsOpen}\n menu={<Card bodyStyle={emptyOption === true ? { padding: 0 } : undefined}>{newContent}</Card>}\n >\n <div\n onMouseOver={() => renderSelectIcon('enter')}\n onMouseLeave={() => renderSelectIcon('leave')}\n onClick={() => inputRef.current?.focus()}\n style={{ minWidth: style?.width || 200, maxWidth: 'none', ...style }}\n >\n <div className={[`${prefixCls}-inner`, `${prefixCls}-${size}`].filter(Boolean).join(' ').trim()}>\n <div style={{ display: 'flex', flexFlow: 'wrap', width: '100%' }}>\n {selectedOption.map((item, index) => {\n return (\n <Tag\n style={{ height: TagSize[size], margin: 1, display: 'flex', alignItems: 'center' }}\n className={`${prefixCls}-tag`}\n key={index}\n closable\n color=\"#393E48\"\n {...tagProps}\n disabled={disabled}\n onClose={(e) => {\n e.stopPropagation();\n removeSelectItem(index);\n }}\n >\n {item.label}\n </Tag>\n );\n })}\n <Input\n ref={inputRef}\n className={`${prefixCls}-input-contents`}\n size={size}\n disabled={disabled}\n onKeyDown={inputKeyDown}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => handleInputChange(e.target.value)}\n value={searchValue}\n placeholder={selectedOption.length ? '' : placeholder}\n />\n </div>\n {!disabled && (\n <span style={{ height: 25, width: 14 }} className={`${prefixCls}-close-tag-contents`}>\n {(selectIconType === 'close' || (selectIconType === 'loading' && loading)) && (\n <Icon\n type={selectIconType}\n spin={loading && selectIconType === 'loading'}\n onClick={resetSelectedValue}\n />\n )}\n </span>\n )}\n </div>\n </div>\n </Dropdown>\n );\n}\n\nexport default SearchTagInput;\n","import React, { useState, useEffect } from 'react';\nimport SearchTagInput, { DropContent, SearchTagInputOption } from './SearchTagInput';\nimport Tree, { TreeData, TreeProps } from '@uiw/react-tree';\nimport TreeChecked, { TreeCheckedProps } from '@uiw/react-tree-checked';\n\ntype SelectOtpion = Record<string | number, string>;\n\n// type TreeCheckedsProps = TreeCheckedProps & Partial<DropContent<SearchTagInputOption>>\nfunction TreeCheckeds<V extends SearchTagInputOption>(\n props: Omit<TreeCheckedProps, 'onSelected'> & Partial<DropContent<V>>,\n) {\n const [selectOption, selectOptionSet] = useState<SelectOtpion>({});\n const [keys, keysSet] = useState<Array<string | number>>([]);\n\n useEffect(() => {\n let selectOption: SelectOtpion = {};\n const keys = props.values?.map((opt) => {\n selectOption[opt.key] = opt.label;\n return opt.key;\n });\n selectOptionSet(selectOption);\n keysSet(keys || []);\n }, [props.values]);\n\n const onSelected = (_: any, item: any, isChecked: boolean, evn: TreeData) => {\n const curSelectOption: SelectOtpion = getOptionsRecursion([evn], selectOption, isChecked);\n let isNumberKey = false;\n if (typeof item === 'number') isNumberKey = true;\n const option = Object.entries(curSelectOption).map(\n ([key, label]) => ({ key: isNumberKey ? Number.parseInt(key) : key, label } as V),\n );\n props.onSelected?.(option, { key: evn.key, label: evn.label as string } as V, isChecked);\n };\n\n const getOptionsRecursion = (childrens: TreeData[], selectOption: SelectOtpion, isAdd: boolean) => {\n const addOrDel = (key: string | number, label: string, isAdd: boolean) => {\n if (isAdd) {\n selectOption[key] = label;\n } else {\n delete selectOption[key!];\n }\n };\n const iteratorParent = (child: TreeData) => {\n // 向上迭代\n if (child.parent) {\n const selectCount = child.parent.children.filter((child: TreeData) => !selectOption[child.key!]).length;\n addOrDel(child.parent.key, child.parent.label, selectCount === 0);\n iteratorParent(child.parent);\n }\n };\n\n childrens.forEach((child: TreeData) => {\n if (!!child.children?.length) {\n selectOption = getOptionsRecursion(child.children, selectOption, isAdd);\n }\n addOrDel(child.key!, child.label?.toString()!, isAdd);\n iteratorParent(child);\n });\n return selectOption;\n };\n\n return (\n <TreeChecked defaultExpandAll={true} {...props} data={props.options} selectedKeys={keys} onSelected={onSelected} />\n );\n}\n\nfunction SingeTree<V extends SearchTagInputOption>(props: Omit<TreeProps, 'onSelected'> & Partial<DropContent<V>>) {\n const [keys, keysSet] = useState<Array<string | number>>([]);\n\n useEffect(() => {\n const keys: Array<string | number> = [];\n if (props.values?.length) keys[0] = props.values[0].key;\n keysSet(keys);\n }, [props.values]);\n\n const onSelected = (_1: any, _2: any, isChecked: boolean, evn: TreeData) => {\n const { key, label } = evn;\n const cur = { key, label } as V;\n props.onSelected?.(isChecked ? [cur] : [], cur, isChecked);\n };\n\n return (\n <Tree\n defaultExpandAll={true}\n {...props}\n multiple={false}\n data={props.options}\n selectedKeys={keys}\n onSelected={onSelected}\n />\n );\n}\n\nexport interface SearchTreeProps<V> {\n onChange?: (selectd: V, selectedAll: Array<V>, isChecked: boolean) => void;\n onSearch?: (seachValue: string) => void;\n value?: Array<V>;\n options?: TreeData[];\n treeProps?: Omit<TreeCheckedProps, 'onSelected'> & Partial<DropContent<V>>;\n emptyOption?: React.ReactNode;\n multiple?: boolean;\n}\n\nfunction SearchTree<V extends SearchTagInputOption>(props: SearchTreeProps<V>) {\n const {\n onChange,\n onSearch,\n multiple = true,\n options = [],\n value = [],\n emptyOption = !options.length,\n treeProps,\n ...other\n } = props;\n const [selectedValues, selectedValuesSet] = useState<Array<V>>(Array.isArray(value) ? value : [value]);\n const [selectedOptions, selectedOptionSet] = useState<Array<TreeData>>(options);\n const [isEmpty, isEmptySet] = useState(emptyOption);\n\n useEffect(() => {\n selectedValuesSet(Array.isArray(value) ? value : []);\n }, [JSON.stringify(value)]);\n\n const selectedChange = (resultValue: Array<V>, cur: V, isChecked: boolean) => {\n selectedValuesSet(resultValue);\n onChange?.(cur, resultValue, isChecked);\n };\n\n // 防抖\n const debounce = (fn: Function, ms: number) => {\n let timeoutId: NodeJS.Timeout;\n return (searchValue: string) => {\n onSearch?.(searchValue);\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => {\n fn(searchValue);\n }, ms);\n };\n };\n\n const selectedSearch = (searchValue: string) => {\n const hiddenNodeForSeach = (childrens: TreeData[], parentIsHide: boolean = true) => {\n childrens.forEach((child: TreeData) => {\n const isHide = !(child.label as string).includes(searchValue.trim()) && parentIsHide;\n if (!!child.children?.length) {\n hiddenNodeForSeach(child.children, isHide);\n const find = child.children.find((item) => !item.hideNode);\n child.hideNode = isHide && !find;\n } else {\n child.hideNode = isHide;\n }\n });\n };\n hiddenNodeForSeach(options);\n selectedOptionSet([...options]);\n\n let isEmpt = true;\n options.forEach((opt) => (isEmpt = isEmpt && !!opt.hideNode));\n isEmptySet(typeof emptyOption === 'boolean' && isEmpt ? isEmpt : emptyOption);\n };\n\n return (\n <SearchTagInput\n {...other}\n emptyOption={isEmpty}\n selectCloseDrop={!multiple}\n onSearch={selectedSearch}\n onChange={selectedChange}\n values={selectedValues}\n options={selectedOptions}\n content={multiple ? <TreeCheckeds {...treeProps} /> : <SingeTree {...treeProps} />}\n />\n );\n}\n\nexport default SearchTree;\n","import React, { useEffect, useRef, useState } from 'react';\nimport { IProps } from '@uiw/utils';\nimport Card from '@uiw/react-card';\nimport Icon from '@uiw/react-icon';\nimport Input from '@uiw/react-input';\nimport TreeChecked from '@uiw/react-tree-checked';\nimport { TreeData } from '@uiw/react-tree';\nimport './style/index.less';\nimport Checkbox from '@uiw/react-checkbox';\n\nexport interface TransferOptionType {\n key: string | number;\n label: string;\n}\n\nenum CheckedStatus {\n UnChecked = 0,\n AllChecked = 1,\n Indeterminate = 2,\n}\n\ninterface TransferProps extends IProps {\n placeholder?: string;\n bodyStyle?: React.CSSProperties;\n\n onChange?: (transfer: string, selectedAll: Array<TransferOptionType>) => void;\n onSearch?: (transfer: string, seachValue: string) => void;\n showSearch?: boolean;\n selectedAll?: boolean;\n value?: Array<TransferOptionType>;\n options?: TreeData[];\n // emptyOption?: React.ReactNode;\n}\n\nfunction Transfer(props: TransferProps) {\n const {\n placeholder,\n options,\n value = [],\n showSearch = false,\n selectedAll = false,\n\n bodyStyle,\n style,\n className,\n prefixCls = 'w-transfer',\n } = props;\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n\n const [searchValueLeft, searchValueLeftSet] = useState('');\n const [searchValueRight, searchValueRightSet] = useState('');\n const [selectedOptions, selectedOptionSet] = useState<Array<TreeData>>(options || []);\n const selectedOptionsShowCount = useRef<number>(0);\n const [selectOption, selectOptionSet] = useState<Map<string | number, string>>(new Map());\n const [leftSelectOption, leftSelectOptionSet] = useState<Map<string | number, string>>(new Map());\n const [leftSelectedKeys, leftSelectedKeySet] = useState<Array<string | number | undefined>>([]);\n const [rightSelectedKeys, rightSelectedKeySet] = useState<Array<string | number | undefined>>([]);\n const [rightOpions, rightOpionSet] = useState<Array<TreeData>>([]);\n const [selectAllChecked, selectAllCheckedSet] = useState<{ left: CheckedStatus; right: CheckedStatus }>({\n left: CheckedStatus.UnChecked,\n right: CheckedStatus.UnChecked,\n });\n\n useEffect(() => {\n if (value) {\n rightOpionSet(value || []);\n\n value?.forEach((selectd) => selectOption.set(selectd.key, selectd.label));\n hiddenNode((child) => !!value?.find((selectd) => child.key === selectd.key));\n }\n }, [JSON.stringify(value)]);\n\n const hiddenNode = (callBackfn: (child: TreeData) => boolean) => {\n selectedOptionsShowCount.current = 0;\n const hiddenNodeForSeach = (childrens: TreeData[]) => {\n childrens.forEach((child: TreeData) => {\n const isHide = callBackfn(child); // && parentIsHide;\n if (!!child.children?.length) {\n hiddenNodeForSeach(child.children);\n const find = child.children.find((item: TreeData) => !item.hideNode);\n child.hideNode = isHide && !find;\n } else {\n child.hideNode = isHide;\n }\n if (!child.hideNode) {\n selectedOptionsShowCount.current++;\n }\n });\n };\n hiddenNodeForSeach(selectedOptions);\n selectedOptionSet([...selectedOptions]);\n };\n\n const getOptionsRecursion = (childrens: TreeData[], selectOption: Map<string | number, string>, isAdd: boolean) => {\n const addOrDel = (key: string | number, label: string, isAdd: boolean) => {\n if (isAdd) {\n selectOption.set(key, label);\n } else {\n selectOption.delete(key);\n }\n };\n const iteratorParent = (child: TreeData) => {\n if (child.parent) {\n const selectCount = child.parent.children.filter(\n (child: TreeData) => !selectOption.get(child.key!) && !child.hideNode,\n ).length;\n addOrDel(child.parent.key, child.parent.label, selectCount === 0);\n iteratorParent(child.parent);\n }\n };\n\n childrens.forEach((child: TreeData) => {\n if (!!child.children?.length) {\n selectOption = getOptionsRecursion(child.children, selectOption, isAdd);\n }\n addOrDel(child.key!, child.label?.toString()!, isAdd);\n iteratorParent(child);\n });\n return selectOption;\n };\n\n const leftTreeOnSelected = (\n selectedKeys: Array<string | number | undefined>,\n _1: any,\n isChecked: boolean,\n evn: TreeData,\n ) => {\n leftSelectedKeySet(selectedKeys);\n const selectOptionTemp = getOptionsRecursion([evn], leftSelectOption, isChecked);\n leftSelectOptionSet(selectOptionTemp);\n };\n\n const rightTreeOnSelected = (selectedKeys: Array<string | number | undefined>) => {\n rightSelectedKeySet(selectedKeys);\n };\n\n const transferClick = (transferType: 'left' | 'right') => {\n if (transferType === 'left') {\n leftSelectOption.forEach((value, key) => {\n selectOption.set(key, value);\n });\n leftSelectOptionSet(new Map());\n leftSelectedKeySet([]);\n } else {\n rightSelectedKeys.forEach((key) => {\n selectOption.delete(key!);\n });\n rightSelectedKeySet([]);\n }\n\n selectOptionSet(selectOption);\n const option: Array<TransferOptionType> = [];\n selectOption.forEach((label, key) => option.push({ key, label }));\n props.onChange?.(transferType, option);\n };\n\n const searchValueLeftChange = (searchValue: string) => {\n hiddenNode((child: TreeData) => {\n let searchIsMatch = !(child.label as string).includes(searchValue.trim());\n if (!searchIsMatch) {\n const isSekected = rightOpions.find((selected) => selected.key === child.key);\n searchIsMatch = !!isSekected;\n }\n return searchIsMatch;\n });\n\n searchValueLeftSet(searchValue);\n\n props.onSearch?.('left', searchValue);\n };\n\n const searchValueRightChange = (searchValue: string) => {\n searchValueRightSet(searchValue);\n\n rightOpions.forEach((option) => {\n const isHide = !(option.label as string).includes(searchValue.trim());\n option.hideNode = isHide;\n });\n rightOpionSet(rightOpions);\n\n props.onSearch?.('right', searchValue);\n };\n\n const selectAllLeftChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const isChecked = e.target.checked;\n\n selectAllChecked.left = isChecked ? 1 : 0;\n if (isChecked) {\n const keys: Array<string | number> = [];\n const selectedOptionsRecursion = (selectedOptions: Array<TreeData>) => {\n selectedOptions.forEach((child) => {\n if (child.children?.length) {\n selectedOptionsRecursion(child.children);\n }\n if (!child.hideNode) {\n leftSelectOption.set(child.key!, child.label as string);\n keys.push(child.key!);\n }\n });\n };\n selectedOptionsRecursion(selectedOptions);\n\n leftSelectOptionSet(leftSelectOption);\n leftSelectedKeySet(keys);\n } else {\n leftSelectedKeySet([]);\n leftSelectOptionSet(new Map());\n }\n selectAllCheckedSet(selectAllChecked);\n };\n\n const selectAllRightChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const isChecked = e.target.checked;\n\n selectAllChecked.right = isChecked ? 1 : 0;\n if (isChecked) {\n const keys = rightOpions.map((child) => child.key);\n rightSelectedKeySet(keys);\n } else {\n rightSelectedKeySet([]);\n }\n selectAllCheckedSet(selectAllChecked);\n };\n\n const Arrow = (props: { click: () => void; style: React.CSSProperties }) => (\n <Icon\n onClick={() => props.click()}\n type=\"down-square-o\"\n className={`${prefixCls}-arrow`}\n style={{ fontSize: 20, stroke: '#e9e9e9', fill: '#333', ...props.style }}\n />\n );\n\n return (\n <div className={cls} style={{ width: 400, ...style }}>\n <Card\n bodyStyle={{ padding: '5px 9px' }}\n title={\n <div>\n {selectedAll && (\n <Checkbox\n indeterminate={leftSelectedKeys.length < selectedOptionsShowCount.current && !!leftSelectedKeys.length}\n checked={leftSelectedKeys.length >= selectedOptionsShowCount.current && !!leftSelectedKeys.length}\n onChange={selectAllLeftChange}\n />\n )}\n <label style={{ marginLeft: 3 }}>\n {leftSelectedKeys.length}/{selectedOptionsShowCount.current}\n </label>\n </div>\n }\n className={`${prefixCls}-card`}\n >\n {showSearch && (\n <Input\n placeholder={placeholder}\n value={searchValueLeft}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => searchValueLeftChange(e.target.value)}\n />\n )}\n <div className={`${prefixCls}-cheked-content`}>\n <TreeChecked\n defaultExpandAll={true}\n placeholder={placeholder || '搜索选项'}\n data={selectedOptions}\n selectedKeys={leftSelectedKeys}\n onSelected={leftTreeOnSelected}\n />\n </div>\n </Card>\n <div className={`${prefixCls}-arrow-content`}>\n <Arrow\n click={() => transferClick('left')}\n style={{ transform: 'rotate(-90deg)', background: leftSelectedKeys.length > 0 ? '#393E48' : 'none' }}\n />\n <Arrow\n click={() => transferClick('right')}\n style={{ transform: 'rotate(90deg)', background: rightSelectedKeys.length > 0 ? '#393E48' : 'none' }}\n />\n </div>\n <Card\n bodyStyle={{ padding: '5px 9px' }}\n className={`${prefixCls}-card`}\n title={\n <div>\n {selectedAll && (\n <Checkbox\n indeterminate={rightSelectedKeys.length < rightOpions.length && !!rightSelectedKeys.length}\n checked={rightSelectedKeys.length === rightOpions.length && !!rightSelectedKeys.length}\n onChange={selectAllRightChange}\n />\n )}\n <label style={{ marginLeft: 3 }}>\n {rightSelectedKeys.length}/{rightOpions.length}\n </label>\n </div>\n }\n >\n {showSearch && (\n <Input\n placeholder={placeholder}\n value={searchValueRight}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => searchValueRightChange(e.target.value)}\n />\n )}\n <div className={`${prefixCls}-cheked-content`} style={bodyStyle}>\n <TreeChecked data={rightOpions} selectedKeys={rightSelectedKeys} onSelected={rightTreeOnSelected} />\n </div>\n </Card>\n </div>\n );\n}\n\nexport default Transfer;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + ({\"889\":\"vendors-prismjs\",\"6982\":\"vendors-standalone\"}[chunkId] || chunkId) + \".\" + {\"163\":\"866fca8e\",\"207\":\"891adb65\",\"221\":\"921570d7\",\"433\":\"32f68ce0\",\"486\":\"fc977627\",\"643\":\"d18b8cec\",\"694\":\"3dc0352c\",\"745\":\"3a86c62c\",\"747\":\"7519f1c0\",\"748\":\"82afc4ed\",\"766\":\"139d6a2c\",\"782\":\"7a65d8b8\",\"875\":\"6cb49152\",\"889\":\"b53bdc3b\",\"922\":\"b1f148e3\",\"1016\":\"a3866702\",\"1059\":\"60857d17\",\"1061\":\"15a6c03a\",\"1127\":\"d65f8357\",\"1151\":\"3c560b1f\",\"1169\":\"67184123\",\"1317\":\"1d514e37\",\"1358\":\"e579baca\",\"1584\":\"cbffc663\",\"1619\":\"ffb60fc8\",\"1756\":\"87f583cc\",\"1820\":\"8bd55a94\",\"1892\":\"0f341f07\",\"1971\":\"d746cb8b\",\"2078\":\"53137233\",\"2156\":\"838816af\",\"2190\":\"94aca477\",\"2230\":\"8124ecc2\",\"2316\":\"86e9573e\",\"2367\":\"e65fbbae\",\"2411\":\"7f311f2c\",\"2448\":\"ae6c2b6c\",\"2456\":\"624e63f5\",\"2582\":\"4a7761db\",\"2595\":\"c13509aa\",\"2679\":\"0780e749\",\"2692\":\"db178ecc\",\"2737\":\"a2d9a248\",\"2782\":\"4e51b99b\",\"2795\":\"45c184a0\",\"2926\":\"f11fdc77\",\"3151\":\"59d27efa\",\"3257\":\"5693b5c1\",\"3259\":\"80ff41ab\",\"3261\":\"d4120c57\",\"3313\":\"69770557\",\"3450\":\"812a2002\",\"3518\":\"886015eb\",\"3769\":\"535a1903\",\"3811\":\"ac38cada\",\"3812\":\"7ff588c8\",\"3917\":\"24a53c8d\",\"3931\":\"088517c5\",\"4010\":\"1df4e554\",\"4036\":\"412a4652\",\"4098\":\"e24a6a6a\",\"4128\":\"124a7dba\",\"4188\":\"8ed0ad94\",\"4396\":\"4b813789\",\"4405\":\"a1c35d63\",\"4503\":\"2a04e5a0\",\"4648\":\"a142a917\",\"4663\":\"f34724f6\",\"4781\":\"4def496c\",\"4877\":\"2d0b7638\",\"4948\":\"5727da98\",\"5146\":\"9b213573\",\"5244\":\"09a480b8\",\"5253\":\"7a8716a8\",\"5263\":\"9e01aa1b\",\"5308\":\"5fa19a94\",\"5364\":\"b95913d0\",\"5393\":\"9677b895\",\"5408\":\"16aaa143\",\"5468\":\"aef3688e\",\"5595\":\"2f6f4e93\",\"5821\":\"41b747c6\",\"5865\":\"3490e015\",\"5930\":\"65ea3787\",\"5933\":\"0b61a30f\",\"6019\":\"2d06a6af\",\"6036\":\"289c2eb8\",\"6510\":\"e93c05f4\",\"6536\":\"d87822b3\",\"6566\":\"511e95c6\",\"6659\":\"372695ec\",\"6715\":\"d4813bdc\",\"6730\":\"812d0242\",\"6869\":\"37ce78aa\",\"6878\":\"c6cec0d9\",\"6982\":\"2d38b63a\",\"7079\":\"3aa94426\",\"7087\":\"eead932f\",\"7104\":\"c26afdc0\",\"7157\":\"0603b246\",\"7217\":\"1be488ae\",\"7266\":\"bba9c51f\",\"7313\":\"b857c0a6\",\"7390\":\"9557ba61\",\"7541\":\"dafa7879\",\"7664\":\"f92b74f7\",\"7761\":\"ba44ee99\",\"7763\":\"444dce16\",\"7834\":\"82c0a4c4\",\"7861\":\"757503f5\",\"7875\":\"687fd51a\",\"7884\":\"a9f6528a\",\"7970\":\"eba3f785\",\"8023\":\"b16af62c\",\"8073\":\"87ad75d9\",\"8312\":\"58a5729e\",\"8398\":\"cc6aa9ea\",\"8488\":\"4330d151\",\"8566\":\"abfec2fd\",\"8586\":\"9d605493\",\"8709\":\"44b46cf7\",\"8747\":\"04252521\",\"8768\":\"5facbb82\",\"8849\":\"d5dd1a61\",\"8898\":\"63c6dde1\",\"8915\":\"82c6b45a\",\"9057\":\"b21f426b\",\"9121\":\"8ee8150d\",\"9137\":\"fdbcd423\",\"9147\":\"d6a507a2\",\"9188\":\"b7ce0cf2\",\"9200\":\"0a1f7353\",\"9253\":\"443e075b\",\"9260\":\"2af977b5\",\"9384\":\"29d10f98\",\"9429\":\"3b8debbf\",\"9503\":\"ed1c3185\",\"9636\":\"279db5c1\",\"9673\":\"5f90153c\",\"9763\":\"346983a7\",\"9776\":\"4e4eff56\",\"9777\":\"c66a3f01\",\"9820\":\"39dfb9cc\",\"9836\":\"8cd96a11\",\"9853\":\"43c6381c\",\"9900\":\"521825c9\",\"9961\":\"9db8f620\"}[chunkId] + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/css/\" + chunkId + \".\" + {\"163\":\"296853db\",\"221\":\"296853db\",\"433\":\"296853db\",\"643\":\"296853db\",\"694\":\"296853db\",\"748\":\"296853db\",\"875\":\"296853db\",\"1059\":\"296853db\",\"1061\":\"296853db\",\"1169\":\"296853db\",\"1317\":\"296853db\",\"1584\":\"296853db\",\"1619\":\"296853db\",\"1820\":\"296853db\",\"2156\":\"296853db\",\"2190\":\"296853db\",\"2230\":\"296853db\",\"2316\":\"296853db\",\"2367\":\"296853db\",\"2411\":\"296853db\",\"2582\":\"296853db\",\"2595\":\"296853db\",\"2737\":\"296853db\",\"2782\":\"296853db\",\"3313\":\"296853db\",\"3518\":\"296853db\",\"3812\":\"296853db\",\"3917\":\"296853db\",\"4010\":\"296853db\",\"4098\":\"296853db\",\"4128\":\"296853db\",\"4188\":\"296853db\",\"4396\":\"774af801\",\"4405\":\"296853db\",\"4503\":\"296853db\",\"4648\":\"296853db\",\"4877\":\"6e864cd4\",\"4948\":\"296853db\",\"5244\":\"296853db\",\"5263\":\"296853db\",\"5308\":\"296853db\",\"5393\":\"296853db\",\"5408\":\"296853db\",\"5595\":\"296853db\",\"5865\":\"296853db\",\"5933\":\"296853db\",\"6510\":\"296853db\",\"6715\":\"296853db\",\"6730\":\"296853db\",\"7087\":\"296853db\",\"7104\":\"296853db\",\"7157\":\"296853db\",\"7390\":\"296853db\",\"7541\":\"296853db\",\"7761\":\"296853db\",\"7834\":\"296853db\",\"7875\":\"296853db\",\"7884\":\"296853db\",\"8023\":\"296853db\",\"8073\":\"296853db\",\"8566\":\"296853db\",\"8898\":\"296853db\",\"9121\":\"296853db\",\"9200\":\"14abaeb3\",\"9253\":\"296853db\",\"9260\":\"296853db\",\"9384\":\"296853db\",\"9503\":\"296853db\",\"9673\":\"296853db\",\"9763\":\"296853db\",\"9776\":\"296853db\",\"9777\":\"296853db\",\"9853\":\"296853db\"}[chunkId] + \".chunk.css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"website:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"./\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"163\":1,\"221\":1,\"433\":1,\"643\":1,\"694\":1,\"748\":1,\"875\":1,\"1059\":1,\"1061\":1,\"1169\":1,\"1317\":1,\"1584\":1,\"1619\":1,\"1820\":1,\"2156\":1,\"2190\":1,\"2230\":1,\"2316\":1,\"2367\":1,\"2411\":1,\"2582\":1,\"2595\":1,\"2737\":1,\"2782\":1,\"3313\":1,\"3518\":1,\"3812\":1,\"3917\":1,\"4010\":1,\"4098\":1,\"4128\":1,\"4188\":1,\"4396\":1,\"4405\":1,\"4503\":1,\"4648\":1,\"4877\":1,\"4948\":1,\"5244\":1,\"5263\":1,\"5308\":1,\"5393\":1,\"5408\":1,\"5595\":1,\"5865\":1,\"5933\":1,\"6510\":1,\"6715\":1,\"6730\":1,\"7087\":1,\"7104\":1,\"7157\":1,\"7390\":1,\"7541\":1,\"7761\":1,\"7834\":1,\"7875\":1,\"7884\":1,\"8023\":1,\"8073\":1,\"8566\":1,\"8898\":1,\"9121\":1,\"9200\":1,\"9253\":1,\"9260\":1,\"9384\":1,\"9503\":1,\"9673\":1,\"9763\":1,\"9776\":1,\"9777\":1,\"9853\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkwebsite\"] = self[\"webpackChunkwebsite\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [9896,5183], function() { return __webpack_require__(52744); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["dark","viewBox","width","height","version","stroke","strokeWidth","fill","fillRule","d","light","NoMatch","to","De","Loader","tip","indicator","Icon","type","spin","style","verticalAlign","Options","props","useMemo","Select","value","onChange","e","target","isV1","split","window","location","href","currentVersion","pkg","versionList","data","firstVersion","unshift","className","styles","defaultValue","map","idx","home","component","github","issue","gitee","plugin","SiderMenu","useLocation","menu","find","item","RegExp","path","test","pathname","children","nav","icon","name","divider","replace","initialState","layout","reducer","state","action","ThemeContext","React","dispatch","rx","x","y","fillOpacity","menutop","china","id","transform","xlinkHref","Nav","useContext","Fragment","filter","Boolean","join","trim","logo","Object","keys","includes","Tooltip","usePortal","placement","content","whiteSpace","activeStyle","color","isActive","undefined","rel","onClick","Header","Layout","Sider","Content","Components","siderMenu","Affix","offsetTop","zIndex","display","alignItems","padding","position","left","top","bottom","overflow","paddingLeft","lineHeight","flexDirection","justifyContent","backgroundColor","Loadable","Component","Suspense","fallback","Home","lazy","Extensions","GuideQuickStart","GuideImport","GuideCreateReactApp","GuideKKT","GuideDocs","GuideVscode","GuideRecommendation","Overview","Colors","Alert","AutoLink","ResetCss","Avatar","Calendar","Cascader","Checkbox","CopyToClipboard","Collapse","Card","Carousel","Descriptions","Divider","Drawer","DatePicker","DateInput","Dropdown","Badge","Progress","Pagination","PinCode","Input","Button","Radio","SearchSelect","Split","Switch","Slider","Grid","Form","FileInput","Breadcrumb","List","Notify","Tree","TreeChecked","SearchTree","Transfer","Tag","Tabs","Table","TimePicker","Rate","Overlay","BackTop","Portal","OverlayTrigger","Popover","Message","MonthPicker","Textarea","Modal","Formatter","Steps","Menu","Empty","routes","element","index","App","useRoutes","Provider","useReducer","ReactDOM","document","getElementById","noop","getScroll","method","isWindow","ret","documentElement","getOffset","elemRect","getBoundingClientRect","targetRect","getTargetRect","scrollTop","scrollLeft","docElem","body","clientTop","clientLeft","getDefaultTarget","constructor","placeholderStyle","affixStyle","box","events","eventHandlers","timeout","getInstance","node","updatePosition","bind","componentDidMount","this","setTimeout","setTargetEventListeners","componentWillUnmount","clearEventListeners","clearTimeout","offsetBottom","offsetParent","elemSize","clientWidth","clientHeight","offsetMode","elemOffset","setPlaceholderStyle","setAffixStyle","affixed","setState","forEach","eventName","addEventListener","handler","removeEventListener","render","prefixCls","resetProps","cls","_jsx","ref","defaultProps","canUseDOM","createElement","container","defaultNode","useRef","containerRef","useEffect","current","removeChild","appendChild","isOpen","maskClosable","backdropProps","portalProps","hasBackdrop","unmountOnExit","transitionName","onOpening","onOpened","onClosing","onClosed","onClose","dialogProps","otherProps","useState","setIsOpen","visible","setVisible","overlay","overlayWillClose","classList","add","decoratedChild","cloneElement","tabIndex","handleBackdropMouseDown","onMouseDown","remove","TransitionGroupComp","CSSTransition","classNames","in","onEntering","onEntered","onExiting","onExited","status","_jsxs","tagName","TagName","others","svg","svgPaths","i","propps","disabled","active","loading","block","basic","htmlType","size","child","useButton","autoFocus","title","cancelText","cancelButtonProps","confirmButtonProps","confirmText","maxWidth","minWidth","isCloseButtonShown","onCancel","onConfirm","bodyStyle","other","setLoading","handleCancel","_handleCancel","_handleConfirm","handleConfirm","show","dv","delimiter","text","word","match","url","_createElement","key","startsWith","shape","src","alt","onError","isImgExist","setIsImgExist","evn","getScrollTop","fixed","speed","showBelow","clickable","topShowBelow","percent","setPercent","setCurrent","onScroll","Math","round","scrollHeight","innerHeight","getScrollPercent","scrollToTop","step","start","timer","setInterval","scrollTo","clearInterval","scrollToAnimate","max","dot","processing","count","supProps","warpperProps","separator","isElm","assign","Item","vertical","context","parentNode","isDOM","HTMLElement","nodeType","nodeName","contains","compareDocumentPosition","getBordersSize","axis","sideA","sideB","parseFloat","isIE11","isBrowser","MSInputMethodContext","documentMode","isIE10","navigator","userAgent","isIE","getSize","html","computedStyle","parseInt","rect","right","offsets","result","sizes","getComputedStyle","getWindowSizes","ownerDocument","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","offsetLeft","property","css","defaultView","getStyleComputedProperty","getOuterSizes","scrollWidth","getStyle","options","triggerDom","trigger","popupDom","popup","autoAdjustOverflow","sty","winSizeHeight","winSizeWidth","innerWidth","normalizeDelay","delay","hide","isOutside","isClickOutside","onVisibleChange","onEnter","triggerRef","popupRef","timeoutRef","hoverStateRef","overlayStyl","setOverlayStyl","useImperativeHandle","overlayProps","triggerProps","handleClickOutside","handleResize","styls","popNode","childNode","clearTimeouts","length","timeoutId","handleShow","handle","push","handleHide","handleMouseOverOut","relatedNative","currentTarget","related","relatedTarget","nativeEvent","onFocus","onMouseOver","onMouseEnter","onMouseOut","onMouseLeave","isAppearing","renderArrow","visibleArrow","writingMode","Confirm","fontSize","marginTop","marginLeft","min","overLimitColor","keyboard","Number","_ref","toString","overLimitComp","isOverLimit","isOverLimitSet","overLimitProps","inputStyle","v","preIcon","addonAfter","inputRef","addonRef","input","paddingRight","computedInputPadding","autoComplete","TimePickerPanel","date","hideDisabled","onSelected","disableds","getDisabledItem","num","Date","Array","_","liProps","currentDate","handleClick","currentCount","tag","dataset","getItemInstance","TimePickerTime","precision","TimePanel","format","popoverProps","allowClear","disabledHours","disabledMinutes","disabledSeconds","inputProps","setDate","timeProps","inputValue","formatter","datePickerTime","_props","dataStr","placeholder","readOnly","classnames","obj","keyName","DayRect","selectedDate","col","today","panelDate","disabledDate","renderDay","onSelectDay","end","prev","selected","next","isNaN","getTime","isValidDate","year","getFullYear","month","getMonth","week","getDay","toDateString","lastDay","getDate","day","cellDate","divProps","cellMonth","WEEKTITLE","WEEKDAY","DatePickerDay","weekday","weekTitle","weekdayLabel","row","curDate","DatePickerMonth","monthLabel","selectedMonth","DatePickerYear","panelNum","activeYear","setActiveYear","selectedYear","setFullYear","handleSelected","arg","arguments","DatePickerCaption","todayButton","renderMonth","MONTH_LABEL","onPanelChange","showTime","setType","selectDate","setSelectDate","selectPanelDate","setSelectPanelDate","curType","setMonth","onSelectedDate","paging","dateSource","RenderDay","dayData","arr","label","_objectWithoutPropertiesLoose","titleFormat","todayLabel","onPaging","setPanelDate","handlePaging","titleLable","btngroup","propsNext","extra","footer","bordered","noHover","bodyClassName","direction","palyTime","scrollTime","autoPlay","afterChange","beforeChange","currentPosition","currentPositionSet","transitionInner","transitionInnerSet","positionRef","childCount","stopPlay","stop","after","before","gotoSlide","prevSlide","nextSlide","slidNumber","maxSlid","slidNumberTemp","play","ms","time","childrens","innerStyle","transition","disabledProps","Internal","multiline","isSubMenuItem","htmlProps","anchorCls","tagComp","MenuItem","displayName","MenuDivider","IconView","collapse","SubMenu","inlineIndent","overlayTriggerProps","menuProps","isCheck","checkedMenuItem","appear","onExit","theme","inlineCollapsed","onSearch","expandTrigger","option","innerIsOpen","setInnerIsOpen","selectedValue","setSelectedValue","selectIconType","setSelectIconType","searchText","setSearchText","searchOn","setSearchOn","setInputValue","searchOption","setSearchOption","tempOptions","iteratorOption","opt","m","cb","opts","optsTemp","renderSelectIcon","valueTemp","optChildren","findOpt","handelChange","isSeleted","widths","click","triggers","callback","OptionIter","level","minHeight","overflowY","optionsItem","splice","handleItemClick","_opt$children","_selectedValue","handelSearch","onBlur","stopPropagation","RadioAbstract","checked","prChecked","setChecked","prevChecked","setPrevChecked","persist","ButtonGroup","RadioButton","console","log","CheckboxGroup","valueRef","childs","isArray","include","val","InternalCheckbox","indeterminate","Group","toArray","activeKey","currentActiveKey","InternalCollapse","accordion","showArrow","propsActiveKey","setActiveKey","String","indexOf","childProps","onItemClick","Panel","header","iconRender","transitionDuration","instance","copy","isCopy","DateInputRange","datePickerProps","dateRange","setDateRange","handleChange","cdate","changeValue","propsValue","JSON","stringify","margin","autoClose","open","colon","span","labelProps","colSpan","Row","column","handleCell","isHead","Cell","isLastCell","InternalDescriptions","leftSpans","rows","columns","itemNode","generateChildrenRows","DescriptionsItem","dashed","align","restProps","bodyProps","bodyCls","styl","footerView","iconView","titleView","iconProps","description","dataLabel","dataList","uploadType","readonly","showFileIcon","showPreviewIcon","showRemoveIcon","onPreview","onAdd","onRemove","maxNumber","isAction","getBase64","file","reader","FileReader","Promise","resolve","readAsDataURL","getListFiles","files","dataURLKey","promiseFiles","all","then","fileListBase64","base64","multiple","inValue","fileList","setFileList","Comp","handleClickInput","useCallback","openFileDialog","onFileUpload","onInputChange","updatedFileList","updatedList","slice","FileList","Col","grow","gutter","justify","gutterStyl","FormItem","required","labelFor","labelClassName","labelStyle","help","inline","hasError","labelCls","htmlFor","fields","resetOnSubmit","onSubmitError","onSubmit","afterSubmit","initData","initial","submitting","errors","initialValue","currentValue","newFormState","setData","handleSubmit","resetForm","handleReset","getFieldValues","getError","setFields","setFieldValue","formUnits","error","childField","controlField","tempData","fieldName","validator","env","list","nextState","preventDefault","promise","onSuccess","response","reset","afterSubmitPromise","catch","canSubmit","passesValidators","prototype","hasOwnProperty","call","initials","entries","hasCurrentValue","ListItem","InternalList","items","striped","renderItem","dataSource","childrenList","classString","bgColor","fullscreen","indicatorView","cx","cy","r","strokeMiterlimit","tipsView","handleClosed","renderIcon","showIcon","rounded","elementProps","Child","pickerCaptionProps","handleSelectedDate","curPanelDate","captionType","notifys","Container","create","duration","closed","willUnmount","alertProps","notifysDom","NotificationCreate","div","random","nprops","notifysChild","Option","alignment","total","pageSize","pageSizeOptions","currentNumber","onShowSizeChange","initPageSoure","ceil","itemCount","goto","textAlign","sizeCount","InternalPinCode","placehold","setPlacehold","values","setValues","handleBlur","event","handleFocus","inpProps","inputMode","charAt","focus","onKeyDown","toLocaleLowerCase","handleKeyDown","IconProgress","Circle","relativeStrokeWidth","elm","_strokeWidth","toFixed","radius","setAttribute","perimeter","PI","progressInfo","showText","progressStatus","percentView","strokeLinecap","Line","percentStyle","defValue","allowHalf","character","onHoverChange","setValue","hoverCount","setHoverCount","prevValue","setPrevValue","getValue","isLeft","clientX","halfon","activeCls","onMouseMove","closable","borderColor","boxShadow","TagSize","large","default","small","valueAmount","maxTagCount","labelInValue","mode","showSearch","tagProps","onSelect","isMultiple","selectedLabel","setSelectedLabel","omitTagCount","divRef","valueVerify","selectedValueChange","getSelectOption","findResult","selectedLabelChange","handleItemsClick","removeSelectItem","resultValue","handleSelectChange","handleInputChange","resetSelectedValue","maxHeight","findIndex","finds","_inputRef$current2","flex","keyCode","InternalSteps","progressDot","warpRef","lastStepOffsetWidth","setLastStepOffsetWidth","filteredChildren","c","lastIndex","domNode","lastChild","abs","calcStepOffsetWidth","stepNumber","itemWidth","adjustMarginRight","Step","stepItemStyle","stepItemDotStyle","marginRight","iconNode","Dots","marks","markRender","stepValue","dots","progress","tooltip","renderMarks","bar","slider","indexBar","startX","curValue","barWidth","barOffsetLeft","move","arrValue","setArrValue","getWidthToValue","equal","floor","onDragging","vals","valueToWidth","barStyl","onDragEnd","markOffset","newData","val1","val2","half","getRangeValue","getValueToPercent","leftValue","rightValue","getLabelValue","lleftPostion","onHandleBtnDown","stepWidth","stepArray","mark","getColspanNum","concat","getRowspanNum","getLevelItems","levelTop","ellipsis","rowSpan","getAllColumnsKeys","locationFixed","_location$index","_location$index2","ThComponent","wrapper","updateLocation","rowNum","colNum","titleNode","onCellHead","locationWidth","thProps","TheadComponent","tds","ThComponentProps","ExpandableComponent","defaultExpand","expandIcon","expand","setExpand","TableTr","rowKey","onCell","isExpandedDom","hierarchy","indentSize","childrenColumnName","isOpacity","setIsOpacity","childrenIndex","setChildrenIndex","expandIndex","setExpandIndex","it","IconDom","flag","opacity","float","getIndex","j","trData","objs","isHasChildren","empty","expandable","scroll","setLocationWidth","finalLocationWidth","deepClumnsLocation","params","fistIndex","headerIndex","deepParams","computed","childKey","defaultExpandAllRows","deep","arr1","defaultExpandedRowKeys","expandedRowKeys","record","expandedRowRender","rowExpandable","self","selfColumns","_expandable$defaultEx","onExpand","onExpandedRowsChange","table","overflowX","tableLayout","Thead","_extends","Pane","labelWidth","onTabClick","slideStyle","setSlideStyle","activeItem","flowLeft","displayStart","displayEnd","flowNav","flowNavSet","hiddenNav","hiddenNavSet","nodes","nodesSet","divContentRef","divNavRef","itemKey","divNavWidthChange","curWidth","showHideenNav","_flowNav$nav","calcSlideStyle","renderNav","Label","TreeNode","renderTitle","iconAnimation","isSelected","openKeys","selectedKeys","parent","onItemSelected","noChild","itemIsOpen","iconItem","childKeys","getChildKeys","checkedKeys","isHalfChecked","hideNode","isContained","a","b","aStr","len","depth","getParentKeys","getParentSelectKeys","defaultExpandAll","showLine","checkStrictly","autoExpandParent","curOpenKeys","setCurOpenKeys","curSelectedKeys","setCurSelectedKeys","arrOpenKeys","currentKeys","expanded","selKeys","findKey","from","Set","checkedProps","selectCloseDrop","emptyOption","selectedOption","setSelectedOption","optionRef","searchValue","searchValueSet","selectedAll","selectd","isChecked","searchValueChange","curreentItem","newContent","newProps","parse","flexFlow","TreeCheckeds","selectOption","selectOptionSet","keysSet","_props$values","getOptionsRecursion","isAdd","addOrDel","iteratorParent","selectCount","_child$children","_child$label","curSelectOption","isNumberKey","SingeTree","_props$values2","_1","_2","cur","CheckedStatus","treeProps","selectedValues","selectedValuesSet","selectedOptions","selectedOptionSet","isEmpty","isEmptySet","SearchTagInput","hiddenNodeForSeach","parentIsHide","isHide","_child$children2","isEmpt","searchValueLeft","searchValueLeftSet","searchValueRight","searchValueRightSet","selectedOptionsShowCount","Map","leftSelectOption","leftSelectOptionSet","leftSelectedKeys","leftSelectedKeySet","rightSelectedKeys","rightSelectedKeySet","rightOpions","rightOpionSet","UnChecked","selectAllChecked","selectAllCheckedSet","set","hiddenNode","callBackfn","delete","get","transferClick","transferType","Arrow","selectedOptionsRecursion","_child$children3","searchIsMatch","selectOptionTemp","background","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","every","n","getter","__esModule","definition","o","defineProperty","enumerable","f","chunkId","reduce","promises","u","miniCssF","g","globalThis","Function","prop","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","nc","onScriptComplete","onerror","onload","doneFns","head","Symbol","toStringTag","p","loadStylesheet","reject","fullhref","existingLinkTags","dataHref","existingStyleTags","findStylesheet","linkTag","errorType","realHref","err","Error","code","request","createStylesheet","installedCssChunks","miniCss","installedChunks","installedChunkData","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
|