diff --git a/packages/core/package-lock.json b/packages/core/package-lock.json index 7076343..ae9bd07 100644 --- a/packages/core/package-lock.json +++ b/packages/core/package-lock.json @@ -8,16 +8,19 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-3.2.2.tgz", "integrity": "sha512-YKgNbG2dlzqMhA9NtI3/pbY16m3Yl/EeWBRa+lB1X1YaYxHrxNexiQYCLTWO/uDvAjLFMEDU+zR901waBtMtjQ==", - "dev": true, "requires": { "tinycolor2": "^1.4.1" } }, + "@ant-design/css-animation": { + "version": "1.7.3", + "resolved": "https://registry.npm.taobao.org/@ant-design/css-animation/download/@ant-design/css-animation-1.7.3.tgz?cache=0&sync_timestamp=1596104822487&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40ant-design%2Fcss-animation%2Fdownload%2F%40ant-design%2Fcss-animation-1.7.3.tgz", + "integrity": "sha1-YKHJcAFOhrKPlAUQ1p5QPkKPETY=" + }, "@ant-design/icons": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-4.0.6.tgz", "integrity": "sha512-Hvly7PhImdZo5+UnpRPSpqcYFttTEE9ELCgir6R9cPe99IHciLv97EZTshYTFp4T6i2q0x9nuSLpG11UFeu4Dg==", - "dev": true, "requires": { "@ant-design/colors": "^3.1.0", "@ant-design/icons-svg": "^4.0.0", @@ -29,15 +32,14 @@ "@ant-design/icons-svg": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.1.0.tgz", - "integrity": "sha512-Fi03PfuUqRs76aI3UWYpP864lkrfPo0hluwGqh7NJdLhvH4iRDc3jbJqZIvRDLHKbXrvAfPPV3+zjUccfFvWOQ==", - "dev": true + "integrity": "sha512-Fi03PfuUqRs76aI3UWYpP864lkrfPo0hluwGqh7NJdLhvH4iRDc3jbJqZIvRDLHKbXrvAfPPV3+zjUccfFvWOQ==" }, "@ant-design/react-slick": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-0.25.5.tgz", - "integrity": "sha512-fusHR9LkarCARvYTN6cG3yz2/Ogf+HTaJ2XEihIjsjgm6uE1aSXycRFEVDpOFP1Aib51Z2Iz3tgg/gL+WbK8rQ==", - "dev": true, + "version": "0.27.0", + "resolved": "https://registry.npm.taobao.org/@ant-design/react-slick/download/@ant-design/react-slick-0.27.0.tgz?cache=0&sync_timestamp=1595388481223&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40ant-design%2Freact-slick%2Fdownload%2F%40ant-design%2Freact-slick-0.27.0.tgz", + "integrity": "sha1-xdS/2HmIW3QCT/vOQszLX3v/Qek=", "requires": { + "@babel/runtime": "^7.10.4", "classnames": "^2.2.5", "json2mq": "^0.2.0", "lodash": "^4.17.15", @@ -45,224 +47,136 @@ } }, "@antv/x6": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@antv/x6/-/x6-0.3.4.tgz", - "integrity": "sha512-dchrtvPw6Su30QkCh65RfOcsBkJgYYPCRtUlJjouRhHnYPX1WmHxxRct4GvcVNfkXxxpBAIz8l7MN3TSDElhxQ==", - "dev": true, + "version": "0.10.53", + "resolved": "https://registry.npm.taobao.org/@antv/x6/download/@antv/x6-0.10.53.tgz", + "integrity": "sha1-83Hbw73cvNRjQn9r1RXpWk8CHlA=", "requires": { + "csstype": "^2.6.9", "jquery": "^3.4.1", + "jquery-mousewheel": "^3.1.13", "lodash-es": "^4.17.15", "mousetrap": "^1.6.3", - "size-sensor": "^0.2.5", "utility-types": "^3.10.0" } }, - "@antv/x6-react-shape": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@antv/x6-react-shape/-/x6-react-shape-0.2.2.tgz", - "integrity": "sha512-kaLT87/DelwGtq2hPpIZqOoX1KGppDBb9g2IcrWCp7ZcW3kIP7UM2E9SJprRMzwRUjLfhcXl8BUapFgRA8LAfQ==", - "dev": true - }, - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/helper-module-imports": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", - "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", - "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", - "dev": true - }, - "@babel/highlight": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", - "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", - "dev": true, + "@antv/x6-components": { + "version": "0.10.1", + "resolved": "https://registry.npm.taobao.org/@antv/x6-components/download/@antv/x6-components-0.10.1.tgz", + "integrity": "sha1-gm/fZ9fYFRG4I5VN5wTRx4UdrU4=", "requires": { - "@babel/helper-validator-identifier": "^7.9.0", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "clamp": "^1.0.1", + "classnames": "^2.2.6", + "rc-dropdown": "^3.0.0-alpha.0", + "rc-util": "^4.15.7", + "react-color": "^2.17.3", + "react-resize-detector": "^4.2.1", + "ua-parser-js": "^0.7.20" } }, "@babel/runtime": { - "version": "7.9.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.2.tgz", - "integrity": "sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==", - "dev": true, + "version": "7.11.2", + "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.11.2.tgz?cache=0&sync_timestamp=1596637820375&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.11.2.tgz", + "integrity": "sha1-9UnBPHVMxAuHZEufqfCaapX+BzY=", "requires": { "regenerator-runtime": "^0.13.4" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", - "dev": true - } } }, - "@babel/types": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", - "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", - "dev": true, + "@formily/antd": { + "version": "1.2.11", + "resolved": "https://registry.npm.taobao.org/@formily/antd/download/@formily/antd-1.2.11.tgz", + "integrity": "sha1-A+fRGvb1VoveLJONjFOFvBjACBA=", "requires": { - "@babel/helper-validator-identifier": "^7.9.5", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" + "@formily/react-schema-renderer": "^1.2.11", + "@formily/react-shared-components": "^1.2.11", + "@formily/shared": "^1.2.11", + "classnames": "^2.2.6", + "react-eva": "^1.0.0-alpha.0", + "react-stikky": "^0.1.15", + "rxjs": "^6.5.1" } }, - "@emotion/cache": { - "version": "10.0.29", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.29.tgz", - "integrity": "sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==", - "dev": true, + "@formily/antd-components": { + "version": "1.2.11", + "resolved": "https://registry.npm.taobao.org/@formily/antd-components/download/@formily/antd-components-1.2.11.tgz", + "integrity": "sha1-eZ9l1NVwYDMNewNvUJ52kaI6KwQ=", "requires": { - "@emotion/sheet": "0.9.4", - "@emotion/stylis": "0.8.5", - "@emotion/utils": "0.11.3", - "@emotion/weak-memoize": "0.2.5" + "@ant-design/icons": "^4.0.0-rc.0", + "@formily/antd": "^1.2.11", + "@formily/react-schema-renderer": "^1.2.11", + "@formily/react-shared-components": "^1.2.11", + "@formily/shared": "^1.2.11", + "classnames": "^2.2.6" } }, - "@emotion/core": { - "version": "10.0.28", - "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.28.tgz", - "integrity": "sha512-pH8UueKYO5jgg0Iq+AmCLxBsvuGtvlmiDCOuv8fGNYn3cowFpLN98L8zO56U0H1PjDIyAlXymgL3Wu7u7v6hbA==", - "dev": true, + "@formily/core": { + "version": "1.2.11", + "resolved": "https://registry.npm.taobao.org/@formily/core/download/@formily/core-1.2.11.tgz", + "integrity": "sha1-KwOfsNKZ51CAvMvrWrXP+KUDvQ0=", "requires": { - "@babel/runtime": "^7.5.5", - "@emotion/cache": "^10.0.27", - "@emotion/css": "^10.0.27", - "@emotion/serialize": "^0.11.15", - "@emotion/sheet": "0.9.4", - "@emotion/utils": "0.11.3" + "@formily/shared": "^1.2.11", + "@formily/validator": "^1.2.11", + "immer": "^6.0.3" } }, - "@emotion/css": { - "version": "10.0.27", - "resolved": "https://registry.npmjs.org/@emotion/css/-/css-10.0.27.tgz", - "integrity": "sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==", - "dev": true, + "@formily/react": { + "version": "1.2.11", + "resolved": "https://registry.npm.taobao.org/@formily/react/download/@formily/react-1.2.11.tgz", + "integrity": "sha1-QjoHo4Ic5PRhKRFk/MA3zfi4MlI=", "requires": { - "@emotion/serialize": "^0.11.15", - "@emotion/utils": "0.11.3", - "babel-plugin-emotion": "^10.0.27" + "@formily/core": "^1.2.11", + "@formily/shared": "^1.2.11" } }, - "@emotion/hash": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", - "dev": true - }, - "@emotion/is-prop-valid": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", - "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", - "dev": true, + "@formily/react-schema-renderer": { + "version": "1.2.11", + "resolved": "https://registry.npm.taobao.org/@formily/react-schema-renderer/download/@formily/react-schema-renderer-1.2.11.tgz", + "integrity": "sha1-aEHyDi5QaTkhtrPb2PplXywYSMw=", "requires": { - "@emotion/memoize": "0.7.4" + "@formily/core": "^1.2.11", + "@formily/react": "^1.2.11", + "@formily/shared": "^1.2.11", + "@formily/validator": "^1.2.11", + "pascal-case": "^2.0.1" } }, - "@emotion/memoize": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", - "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", - "dev": true - }, - "@emotion/serialize": { - "version": "0.11.16", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz", - "integrity": "sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==", - "dev": true, + "@formily/react-shared-components": { + "version": "1.2.11", + "resolved": "https://registry.npm.taobao.org/@formily/react-shared-components/download/@formily/react-shared-components-1.2.11.tgz", + "integrity": "sha1-RvMTGobERTyGULZvGreGHfQZjBY=", "requires": { - "@emotion/hash": "0.8.0", - "@emotion/memoize": "0.7.4", - "@emotion/unitless": "0.7.5", - "@emotion/utils": "0.11.3", - "csstype": "^2.5.7" + "@formily/shared": "^1.2.11", + "react-drag-listview": "^0.1.6" } }, - "@emotion/sheet": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-0.9.4.tgz", - "integrity": "sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==", - "dev": true - }, - "@emotion/styled": { - "version": "10.0.27", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz", - "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==", - "dev": true, + "@formily/shared": { + "version": "1.2.11", + "resolved": "https://registry.npm.taobao.org/@formily/shared/download/@formily/shared-1.2.11.tgz?cache=0&sync_timestamp=1596443679039&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40formily%2Fshared%2Fdownload%2F%40formily%2Fshared-1.2.11.tgz", + "integrity": "sha1-zQdIpyhoYnwIQEVpiHqG89wVcH8=", "requires": { - "@emotion/styled-base": "^10.0.27", - "babel-plugin-emotion": "^10.0.27" + "camel-case": "~3.0.0", + "cool-path": "^0.1.23", + "lower-case": "~1.1.4", + "scheduler": "~0.19.0", + "upper-case": "~1.1.3" } }, - "@emotion/styled-base": { - "version": "10.0.31", - "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.0.31.tgz", - "integrity": "sha512-wTOE1NcXmqMWlyrtwdkqg87Mu6Rj1MaukEoEmEkHirO5IoHDJ8LgCQL4MjJODgxWxXibGR3opGp1p7YvkNEdXQ==", - "dev": true, + "@formily/validator": { + "version": "1.2.11", + "resolved": "https://registry.npm.taobao.org/@formily/validator/download/@formily/validator-1.2.11.tgz?cache=0&sync_timestamp=1596443715227&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40formily%2Fvalidator%2Fdownload%2F%40formily%2Fvalidator-1.2.11.tgz", + "integrity": "sha1-1e8bWjLYCQ2UyExqTCumeD4XLNY=", "requires": { - "@babel/runtime": "^7.5.5", - "@emotion/is-prop-valid": "0.8.8", - "@emotion/serialize": "^0.11.15", - "@emotion/utils": "0.11.3" + "@formily/shared": "^1.2.11" } }, - "@emotion/stylis": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", - "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==", - "dev": true - }, - "@emotion/unitless": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", - "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==", - "dev": true - }, - "@emotion/utils": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz", - "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==", - "dev": true - }, - "@emotion/weak-memoize": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz", - "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==", - "dev": true - }, - "@types/hoist-non-react-statics": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", - "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", - "dev": true, - "requires": { - "@types/react": "*", - "hoist-non-react-statics": "^3.3.0" - } + "@icons/material": { + "version": "0.2.4", + "resolved": "https://registry.npm.taobao.org/@icons/material/download/@icons/material-0.2.4.tgz", + "integrity": "sha1-6QyfcXaLNzbnbX3WeD/Gwq+oi8g=" }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/@types/color-name/download/@types/color-name-1.1.1.tgz?cache=0&sync_timestamp=1596837707987&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fcolor-name%2Fdownload%2F%40types%2Fcolor-name-1.1.1.tgz", + "integrity": "sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA=", "dev": true }, "@types/prop-types": { @@ -271,6 +185,12 @@ "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==", "dev": true }, + "@types/q": { + "version": "1.5.4", + "resolved": "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.4.tgz", + "integrity": "sha1-FZJUFOCtLNdlv+9YhC9+JqesyyQ=", + "dev": true + }, "@types/react": { "version": "16.9.34", "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.34.tgz", @@ -290,30 +210,62 @@ "@types/react": "*" } }, - "@types/react-lifecycles-compat": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/react-lifecycles-compat/-/react-lifecycles-compat-3.0.1.tgz", - "integrity": "sha512-4KiU5s1Go4xRbf7t6VxUUpBeN5PGjpjpBv9VvET4uiPHC500VNYBclU13f8ehHkHoZL39b2cfwHu6RzbV3b44A==", - "dev": true, - "requires": { - "@types/react": "*" - } - }, - "@types/shallowequal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/shallowequal/-/shallowequal-1.1.1.tgz", - "integrity": "sha512-Lhni3aX80zbpdxRuWhnuYPm8j8UQaa571lHP/xI4W+7BAFhSIhRReXnqjEgT/XzPoXZTJkCqstFMJ8CZTK6IlQ==", + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-5.7.4.tgz?cache=0&sync_timestamp=1596457241712&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-5.7.4.tgz", + "integrity": "sha1-Po2KmUfQWZoXltECJddDL0pKz14=", "dev": true }, "add-dom-event-listener": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz", "integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==", - "dev": true, "requires": { "object-assign": "4.x" } }, + "ajv": { + "version": "6.12.3", + "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.3.tgz?cache=0&sync_timestamp=1593876862902&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.3.tgz", + "integrity": "sha1-GMWvOKER3etPJpe9eNaKvByr1wY=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.1.tgz", + "integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0=", + "dev": true + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.2.tgz?cache=0&sync_timestamp=1595907068923&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv-keywords%2Fdownload%2Fajv-keywords-3.5.2.tgz", + "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=", + "dev": true + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -324,118 +276,219 @@ } }, "antd": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/antd/-/antd-4.1.4.tgz", - "integrity": "sha512-YRF/nrAq4R+olKRJxEDqeO4xkTvx+U6ovIQjGew1JDiEHMMhSftpvpYg2Iu5hRdFL66uxQk6VYngMttBpuYm9Q==", - "dev": true, - "requires": { - "@ant-design/icons": "^4.0.0", - "@ant-design/react-slick": "~0.25.5", + "version": "4.5.3", + "resolved": "https://registry.npm.taobao.org/antd/download/antd-4.5.3.tgz?cache=0&sync_timestamp=1596988020698&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fantd%2Fdownload%2Fantd-4.5.3.tgz", + "integrity": "sha1-HqDPUB4ecWJqSlfKXm2VREcK/Ak=", + "requires": { + "@ant-design/css-animation": "^1.7.2", + "@ant-design/icons": "^4.2.1", + "@ant-design/react-slick": "~0.27.0", + "@babel/runtime": "^7.10.4", "array-tree-filter": "^2.1.0", - "classnames": "~2.2.6", + "classnames": "^2.2.6", "copy-to-clipboard": "^3.2.0", - "css-animation": "^1.5.0", "lodash": "^4.17.13", - "moment": "^2.24.0", - "omit.js": "^1.0.2", - "prop-types": "^15.7.2", + "moment": "^2.25.3", + "omit.js": "^2.0.2", "raf": "^3.4.1", - "rc-animate": "~2.10.2", - "rc-cascader": "~1.0.0", - "rc-checkbox": "~2.2.0", - "rc-collapse": "~1.11.3", - "rc-dialog": "~7.6.0", - "rc-drawer": "~3.1.1", - "rc-dropdown": "~3.0.0", - "rc-field-form": "~1.1.0", - "rc-input-number": "~4.5.4", - "rc-mentions": "~1.1.0", - "rc-menu": "~8.0.1", - "rc-notification": "~4.0.0", - "rc-pagination": "~2.2.0", - "rc-picker": "~1.4.0", - "rc-progress": "~2.5.0", - "rc-rate": "~2.5.1", - "rc-resize-observer": "^0.2.0", - "rc-select": "~10.2.0", - "rc-slider": "~9.2.3", - "rc-steps": "~3.5.0", - "rc-switch": "~1.9.0", - "rc-table": "~7.4.2", - "rc-tabs": "~10.1.1", - "rc-tooltip": "~4.0.2", - "rc-tree": "~3.1.0", - "rc-tree-select": "~3.1.0", - "rc-trigger": "~4.0.0", - "rc-upload": "~3.0.0", - "rc-util": "^4.20.0", - "rc-virtual-list": "^1.1.0", - "resize-observer-polyfill": "^1.5.1", - "scroll-into-view-if-needed": "^2.2.20", - "warning": "~4.0.3" + "rc-animate": "~3.1.0", + "rc-cascader": "~1.3.0", + "rc-checkbox": "~2.3.0", + "rc-collapse": "~2.0.0", + "rc-dialog": "~8.1.0", + "rc-drawer": "~4.1.0", + "rc-dropdown": "~3.1.2", + "rc-field-form": "~1.8.0", + "rc-input-number": "~6.0.0", + "rc-mentions": "~1.4.0", + "rc-menu": "~8.5.2", + "rc-motion": "^1.0.0", + "rc-notification": "~4.4.0", + "rc-pagination": "~2.4.5", + "rc-picker": "~1.15.1", + "rc-progress": "~3.0.0", + "rc-rate": "~2.8.2", + "rc-resize-observer": "^0.2.3", + "rc-select": "~11.0.12", + "rc-slider": "~9.3.0", + "rc-steps": "~4.1.0", + "rc-switch": "~3.2.0", + "rc-table": "~7.8.0", + "rc-tabs": "~11.5.0", + "rc-textarea": "~0.3.0", + "rc-tooltip": "~4.2.0", + "rc-tree": "~3.8.5", + "rc-tree-select": "~4.1.1", + "rc-trigger": "~4.4.0", + "rc-upload": "~3.2.0", + "rc-util": "^5.0.1", + "scroll-into-view-if-needed": "^2.2.25", + "warning": "^4.0.3" + }, + "dependencies": { + "@ant-design/icons": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/@ant-design/icons/download/@ant-design/icons-4.2.2.tgz?cache=0&sync_timestamp=1596529394243&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40ant-design%2Ficons%2Fdownload%2F%40ant-design%2Ficons-4.2.2.tgz", + "integrity": "sha1-ZTPFoCrsSSOOxHSAdIRa19haT14=", + "requires": { + "@ant-design/colors": "^3.1.0", + "@ant-design/icons-svg": "^4.0.0", + "@babel/runtime": "^7.10.4", + "classnames": "^2.2.6", + "insert-css": "^2.0.0", + "rc-util": "^5.0.1" + } + }, + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" } }, "array-tree-filter": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", - "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==", + "resolved": "https://registry.npm.taobao.org/array-tree-filter/download/array-tree-filter-2.1.0.tgz", + "integrity": "sha1-hzrAD+yDdJ8lWsjdCDgUtPYykZA=" + }, + "ast-types": { + "version": "0.9.6", + "resolved": "https://registry.npm.taobao.org/ast-types/download/ast-types-0.9.6.tgz", + "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=", "dev": true }, "async-validator": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-3.2.4.tgz", - "integrity": "sha512-mTgzMJixkrh+5t2gbYoua8MLy11GHkQqFE6tbhY5Aqc4jEDGsR4BWP+sVQiYDHtzTMB8WIwI/ypObTVPcTZInw==", + "version": "3.4.0", + "resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-3.4.0.tgz?cache=0&sync_timestamp=1596623608639&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync-validator%2Fdownload%2Fasync-validator-3.4.0.tgz", + "integrity": "sha1-hxs+WUEkv0xOt7zRqeeLRPOwnK4=" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base16": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/base16/download/base16-1.0.0.tgz", + "integrity": "sha1-4pf2DX7BAUp6lxo568ipjAtoHnA=" + }, + "base62": { + "version": "1.2.8", + "resolved": "https://registry.npm.taobao.org/base62/download/base62-1.2.8.tgz", + "integrity": "sha1-EmTLD7hI2HV5KHdHnb6LrmuuNCg=", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz", + "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=", + "dev": true + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "dev": true }, - "babel-plugin-emotion": { - "version": "10.0.33", - "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.0.33.tgz", - "integrity": "sha512-bxZbTTGz0AJQDHm8k6Rf3RQJ8tX2scsfsRyKVgAbiUPUNIRtlK+7JxP+TAd1kRLABFxe0CFm2VdK4ePkoA9FxQ==", + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@emotion/hash": "0.8.0", - "@emotion/memoize": "0.7.4", - "@emotion/serialize": "^0.11.16", - "babel-plugin-macros": "^2.0.0", - "babel-plugin-syntax-jsx": "^6.18.0", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^1.0.5", - "find-root": "^1.1.0", - "source-map": "^0.5.7" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "browserslist": { + "version": "4.14.0", + "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-4.14.0.tgz?cache=0&sync_timestamp=1596754416737&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.14.0.tgz", + "integrity": "sha1-KQiVGr/k7Jhze3LzTDvO3I1DsAA=", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001111", + "electron-to-chromium": "^1.3.523", + "escalade": "^3.0.2", + "node-releases": "^1.1.60" } }, - "babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/caller-callsite/download/caller-callsite-2.0.0.tgz?cache=0&sync_timestamp=1562668933683&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaller-callsite%2Fdownload%2Fcaller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + } + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/caller-path/download/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "dev": true, "requires": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" + "caller-callsite": "^2.0.0" + } + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" } }, - "babel-plugin-syntax-jsx": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", "dev": true }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz", + "integrity": "sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA=", "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" } }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "caniuse-lite": { + "version": "1.0.30001112", + "resolved": "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001112.tgz?cache=0&sync_timestamp=1596773136074&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001112.tgz", + "integrity": "sha1-D//DuTT/Vv8FSMN7ydrX2IK89nI=", "dev": true }, "chalk": { @@ -449,11 +502,36 @@ "supports-color": "^5.3.0" } }, + "clamp": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/clamp/download/clamp-1.0.1.tgz", + "integrity": "sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ=" + }, "classnames": { "version": "2.2.6", "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==", - "dev": true + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz", + "integrity": "sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM=", + "dev": true, + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "color": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/color/download/color-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolor%2Fdownload%2Fcolor-3.1.2.tgz", + "integrity": "sha1-aBSOf4XUGtdknF+oyBBvCY0inhA=", + "dev": true, + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } }, "color-convert": { "version": "1.9.3", @@ -470,698 +548,2633 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, - "component-classes": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/component-classes/-/component-classes-1.2.6.tgz", - "integrity": "sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE=", + "color-string": { + "version": "1.5.3", + "resolved": "https://registry.npm.taobao.org/color-string/download/color-string-1.5.3.tgz", + "integrity": "sha1-ybvF8BtYtUkvPWhXRZy2WQziBMw=", "dev": true, "requires": { - "component-indexof": "0.0.3" + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" } }, - "component-indexof": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-indexof/-/component-indexof-0.0.3.tgz", - "integrity": "sha1-EdCRMSI5648yyPJa6csAL/6NPCQ=", + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1595168214577&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", + "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", "dev": true }, + "commoner": { + "version": "0.10.8", + "resolved": "https://registry.npm.taobao.org/commoner/download/commoner-0.10.8.tgz", + "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=", + "dev": true, + "requires": { + "commander": "^2.5.0", + "detective": "^4.3.1", + "glob": "^5.0.15", + "graceful-fs": "^4.1.2", + "iconv-lite": "^0.4.5", + "mkdirp": "^0.5.0", + "private": "^0.1.6", + "q": "^1.1.2", + "recast": "^0.11.17" + } + }, "compute-scroll-into-view": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.13.tgz", - "integrity": "sha512-o+w9w7A98aAFi/GjK8cxSV+CdASuPa2rR5UWs3+yHkJzWqaKoBEufFNWYaXInCSmUfDCVhesG+v9MTWqOjsxFg==", + "version": "1.0.14", + "resolved": "https://registry.npm.taobao.org/compute-scroll-into-view/download/compute-scroll-into-view-1.0.14.tgz?cache=0&sync_timestamp=1590597131336&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcompute-scroll-into-view%2Fdownload%2Fcompute-scroll-into-view-1.0.14.tgz", + "integrity": "sha1-gOPrsl1qqJ9C5TOVbLSxagTP51k=" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "concat-with-sourcemaps": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/concat-with-sourcemaps/download/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha1-1OqT8FriV5CVG5nns7CeOQikCC4=", "dev": true, "requires": { - "safe-buffer": "~5.1.1" + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } } }, + "cool-path": { + "version": "0.1.31", + "resolved": "https://registry.npm.taobao.org/cool-path/download/cool-path-0.1.31.tgz", + "integrity": "sha1-MlnnoSEYx9yeqPzgls89ulJbl5w=" + }, "copy-to-clipboard": { "version": "3.3.1", - "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz", - "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==", - "dev": true, + "resolved": "https://registry.npm.taobao.org/copy-to-clipboard/download/copy-to-clipboard-3.3.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcopy-to-clipboard%2Fdownload%2Fcopy-to-clipboard-3.3.1.tgz", + "integrity": "sha1-EVqhqZmP+rYZb5MHatbaO5E2Yq4=", "requires": { "toggle-selection": "^1.0.6" } }, - "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha1-wZiUD2OnbX42wecQGLABchBUyyI=", "dev": true, "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" + "postcss": "^7.0.1", + "timsort": "^0.3.0" } }, - "css-animation": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/css-animation/-/css-animation-1.6.1.tgz", - "integrity": "sha512-/48+/BaEaHRY6kNQ2OIPzKf9A6g8WjZYjhiNDNuIVbsm5tXCGIAsHDjB4Xu1C4vXJtUWZo26O68OQkDpNBaPog==", + "css-modules-loader-core": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/css-modules-loader-core/download/css-modules-loader-core-1.1.0.tgz", + "integrity": "sha1-WQhmgpShvs0mGuCkziGwtVHyHRY=", "dev": true, "requires": { - "babel-runtime": "6.x", - "component-classes": "^1.2.5" + "icss-replace-symbols": "1.1.0", + "postcss": "6.0.1", + "postcss-modules-extract-imports": "1.1.0", + "postcss-modules-local-by-default": "1.2.0", + "postcss-modules-scope": "1.1.0", + "postcss-modules-values": "1.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1591687070184&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "6.0.1", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.1.tgz", + "integrity": "sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } } }, - "csstype": { - "version": "2.6.10", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.10.tgz", - "integrity": "sha512-D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w==", - "dev": true - }, - "dom-align": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.11.1.tgz", - "integrity": "sha512-hN42DmUgtweBx0iBjDLO4WtKOMcK8yBmPx/fgdsgQadLuzPu/8co3oLdK5yMmeM/vnUd3yDyV6qV8/NzxBexQg==", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/css-select/download/css-select-2.1.0.tgz", + "integrity": "sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8=", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" } }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc=", "dev": true }, - "exec-sh": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", - "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", + "css-selector-tokenizer": { + "version": "0.7.3", + "resolved": "https://registry.npm.taobao.org/css-selector-tokenizer/download/css-selector-tokenizer-0.7.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-selector-tokenizer%2Fdownload%2Fcss-selector-tokenizer-0.7.3.tgz", + "integrity": "sha1-c18mGG5nx0mq8nV4NAXPBmH66PE=", "dev": true, "requires": { - "merge": "^1.2.0" + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" } }, - "find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "dev": true - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.37.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-tree%2Fdownload%2Fcss-tree-1.0.0-alpha.37.tgz", + "integrity": "sha1-mL69YsTB2flg7DQM+fdSLjBwmiI=", "dev": true, - "optional": true + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } }, - "hammerjs": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", - "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=", + "css-what": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/css-what/download/css-what-3.3.0.tgz?cache=0&sync_timestamp=1590961405812&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-what%2Fdownload%2Fcss-what-3.3.0.tgz", + "integrity": "sha1-EP7Glqns4uWRrHctdZqsq6w4zTk=", "dev": true }, - "has-flag": { + "cssesc": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz", + "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=", "dev": true }, - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npm.taobao.org/cssnano/download/cssnano-4.1.10.tgz?cache=0&sync_timestamp=1597078189682&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssnano%2Fdownload%2Fcssnano-4.1.10.tgz", + "integrity": "sha1-CsQfCxPRPUZUh+ERt3jULaYxuLI=", "dev": true, "requires": { - "react-is": "^16.7.0" + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.7", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz?cache=0&sync_timestamp=1596310657948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-5.2.1.tgz", + "integrity": "sha1-BA9yaAnFked6F8CjYmykW08Wixo=", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz?cache=0&sync_timestamp=1595834670724&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } } }, - "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "cssnano-preset-default": { + "version": "4.0.7", + "resolved": "https://registry.npm.taobao.org/cssnano-preset-default/download/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha1-UexmLM/KD4izltzZZ5zbkxvhf3Y=", + "dev": true, + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.2", + "postcss-unique-selectors": "^4.0.1" + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "dev": true + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "dev": true + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI=", "dev": true, "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "postcss": "^7.0.0" } }, - "insert-css": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/insert-css/-/insert-css-2.0.0.tgz", - "integrity": "sha1-610Ql7dUL0x56jBg067gfQU4gPQ=", + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M=", "dev": true }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "csso": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/csso/download/csso-4.0.3.tgz?cache=0&sync_timestamp=1585052130344&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsso%2Fdownload%2Fcsso-4.0.3.tgz", + "integrity": "sha1-DZmF3IUsfMKyys+74QeQFNGo6QM=", + "dev": true, + "requires": { + "css-tree": "1.0.0-alpha.39" + }, + "dependencies": { + "css-tree": { + "version": "1.0.0-alpha.39", + "resolved": "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.39.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-tree%2Fdownload%2Fcss-tree-1.0.0-alpha.39.tgz", + "integrity": "sha1-K/8//huz93bPfu/ZHuXLp3oUnus=", + "dev": true, + "requires": { + "mdn-data": "2.0.6", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.6.tgz", + "integrity": "sha1-hS3GD8ql2qLoz2yRicRA7T4EKXg=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } }, - "jquery": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.0.tgz", - "integrity": "sha512-Xb7SVYMvygPxbFMpTFQiHh1J7HClEaThguL15N/Gg37Lri/qKyhRGZYzHRyLH8Stq3Aow0LsHO2O2ci86fCrNQ==", - "dev": true + "csstype": { + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.10.tgz", + "integrity": "sha512-D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w==" }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "date-fns": { + "version": "2.15.0", + "resolved": "https://registry.npm.taobao.org/date-fns/download/date-fns-2.15.0.tgz?cache=0&sync_timestamp=1594999060129&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdate-fns%2Fdownload%2Fdate-fns-2.15.0.tgz", + "integrity": "sha1-Qk3ms3eOTmnT/ycEbsE2r1iuXV8=" }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true + "dayjs": { + "version": "1.8.33", + "resolved": "https://registry.npm.taobao.org/dayjs/download/dayjs-1.8.33.tgz?cache=0&sync_timestamp=1597033960849&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdayjs%2Fdownload%2Fdayjs-1.8.33.tgz", + "integrity": "sha1-GLxKK2wcb01ntMTyU2wLl+W3Zvc=" }, - "json2mq": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", - "integrity": "sha1-tje9O6nqvhIsg+lyBIOusQ0skEo=", + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz", + "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", "dev": true, "requires": { - "string-convert": "^0.2.0" + "object-keys": "^1.0.12" } }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/defined/download/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", "dev": true }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "detective": { + "version": "4.7.1", + "resolved": "https://registry.npm.taobao.org/detective/download/detective-4.7.1.tgz", + "integrity": "sha1-DspzFDOEQv67bWXaVMELscgrJG4=", + "dev": true, + "requires": { + "acorn": "^5.2.1", + "defined": "^1.0.0" + } + }, + "dom-align": { + "version": "1.12.0", + "resolved": "https://registry.npm.taobao.org/dom-align/download/dom-align-1.12.0.tgz?cache=0&sync_timestamp=1589856012710&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdom-align%2Fdownload%2Fdom-align-1.12.0.tgz", + "integrity": "sha1-VvtxVt8LkQmYMDZNLUj4iWP1opw=" + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz?cache=0&sync_timestamp=1589067578490&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdom-serializer%2Fdownload%2Fdom-serializer-0.2.2.tgz", + "integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.0.1.tgz", + "integrity": "sha1-H4vf6R9aeAYydOgDtL3O326U+U0=", + "dev": true + } + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz", + "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=", + "dev": true + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomutils%2Fdownload%2Fdomutils-1.7.0.tgz", + "integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/dot-prop/download/dot-prop-5.2.0.tgz?cache=0&sync_timestamp=1572621117377&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-5.2.0.tgz", + "integrity": "sha1-w07MKVVtxF8fTCJpe29JBODMT8s=", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "electron-to-chromium": { + "version": "1.3.528", + "resolved": "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.528.tgz?cache=0&sync_timestamp=1597116865357&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.528.tgz", + "integrity": "sha1-nYFaGrUNLpB1URb9bgLDxb3d99s=", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz", + "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=", + "dev": true + }, + "entities": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/entities/download/entities-2.0.3.tgz?cache=0&sync_timestamp=1591227405887&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-2.0.3.tgz", + "integrity": "sha1-XEh+V0Krk8Fau12iJ1m4WQ7AO38=", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.17.6.tgz?cache=0&sync_timestamp=1592109199190&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.17.6.tgz", + "integrity": "sha1-kUIHFweFeyysx7iey2cDFsPi1So=", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz", + "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/escalade/download/escalade-3.0.2.tgz?cache=0&sync_timestamp=1594742923342&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.0.2.tgz", + "integrity": "sha1-algNcO24eIDyK0yR0NVgeN9pYsQ=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "esprima-fb": { + "version": "15001.1001.0-dev-harmony-fb", + "resolved": "https://registry.npm.taobao.org/esprima-fb/download/esprima-fb-15001.1001.0-dev-harmony-fb.tgz", + "integrity": "sha1-Q761fsJujPI3092LM+QlM1d/Jlk=", + "dev": true + }, + "estree-walker": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/estree-walker/download/estree-walker-0.2.1.tgz", + "integrity": "sha1-va/oCVOD2EFNXcLs9MkXO225QS4=", + "dev": true + }, + "eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.4.tgz?cache=0&sync_timestamp=1589283150629&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-4.0.4.tgz", + "integrity": "sha1-tUY6zmNaCD0Bi9x8kXtMXxCoU4Q=", + "dev": true + }, + "exec-sh": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", + "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", + "dev": true, + "requires": { + "merge": "^1.2.0" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz?cache=0&sync_timestamp=1591599604098&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-3.1.3.tgz", + "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz?cache=0&sync_timestamp=1576367703577&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-json-stable-stringify%2Fdownload%2Ffast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=", + "dev": true + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/fastparse/download/fastparse-1.1.2.tgz", + "integrity": "sha1-kXKMWllC7O2FMSg8eUQe5BIsNak=", + "dev": true + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", + "dev": true + }, + "generic-names": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/generic-names/download/generic-names-2.0.1.tgz", + "integrity": "sha1-+KN46tLMqno08DF7BVVIMq5BuHI=", + "dev": true, + "requires": { + "loader-utils": "^1.1.0" + } + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npm.taobao.org/glob/download/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.4.tgz", + "integrity": "sha1-Ila94U02MpWMRl68ltxGfKB6Kfs=", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz", + "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz", + "integrity": "sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg=", + "dev": true + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/hex-color-regex/download/hex-color-regex-1.1.0.tgz", + "integrity": "sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4=", + "dev": true + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npm.taobao.org/hoist-non-react-statics/download/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha1-7OCsr3HWLClpwuxZ/v9CpLGoW0U=", + "requires": { + "react-is": "^16.7.0" + } + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/hsl-regex/download/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/hsla-regex/download/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.2.tgz", + "integrity": "sha1-l9RoiutcgYhqNk+qDK0d2hTUM6c=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "immer": { + "version": "6.0.9", + "resolved": "https://registry.npm.taobao.org/immer/download/immer-6.0.9.tgz?cache=0&sync_timestamp=1595826464561&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimmer%2Fdownload%2Fimmer-6.0.9.tgz", + "integrity": "sha1-ud1puOabOhI5HofbHj/1NdGyZIU=" + }, + "import-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/import-cwd/download/import-cwd-3.0.0.tgz", + "integrity": "sha1-IIRVR3GAFRJuqbNna3WS+4vUz5I=", + "dev": true, + "requires": { + "import-from": "^3.0.0" + } + }, + "import-from": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/import-from/download/import-from-3.0.0.tgz", + "integrity": "sha1-BVz+w4zVon2AV8pRN219O/CJGWY=", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-5.0.0.tgz", + "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk=", + "dev": true + } + } + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", + "dev": true + }, + "insert-css": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/insert-css/-/insert-css-2.0.0.tgz", + "integrity": "sha1-610Ql7dUL0x56jBg067gfQU4gPQ=" + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz?cache=0&sync_timestamp=1569736493122&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-absolute-url%2Fdownload%2Fis-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.0.tgz?cache=0&sync_timestamp=1591427607174&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-callable%2Fdownload%2Fis-callable-1.2.0.tgz", + "integrity": "sha1-gzNlYLVKOONeOi33r9BFTWkUaLs=", + "dev": true + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-color-stop/download/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz?cache=0&sync_timestamp=1576729182289&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-date-object%2Fdownload%2Fis-date-object-1.0.2.tgz", + "integrity": "sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=", + "dev": true + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-2.0.0.tgz", + "integrity": "sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI=", + "dev": true + }, + "is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/is-regex/download/is-regex-1.1.1.tgz?cache=0&sync_timestamp=1596555640141&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-regex%2Fdownload%2Fis-regex-1.1.1.tgz", + "integrity": "sha1-xvmKrMVG9s7FRooHt7FTq1ZKV7k=", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz", + "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=", + "dev": true + }, + "is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-svg/download/is-svg-3.0.0.tgz", + "integrity": "sha1-kyHb0pwhLlypnE+peUxxS8r6L3U=", + "dev": true, + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-symbol%2Fdownload%2Fis-symbol-1.0.3.tgz", + "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "jquery": { + "version": "3.5.1", + "resolved": "https://registry.npm.taobao.org/jquery/download/jquery-3.5.1.tgz?cache=0&sync_timestamp=1588633811418&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjquery%2Fdownload%2Fjquery-3.5.1.tgz", + "integrity": "sha1-17TQjhv9uGrS8aPQOeoXMEcXq7U=" + }, + "jquery-mousewheel": { + "version": "3.1.13", + "resolved": "https://registry.npm.taobao.org/jquery-mousewheel/download/jquery-mousewheel-3.1.13.tgz", + "integrity": "sha1-BvAzXxbjU6aV5yBr9QUDy1I6buU=" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.0.tgz?cache=0&sync_timestamp=1590172122543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.0.tgz", + "integrity": "sha1-p6NBcPJqIbsWJCTYray0ETpp5II=", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesprima%2Fdownload%2Fesprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", + "dev": true + } + } + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/json2mq/download/json2mq-0.2.0.tgz", + "integrity": "sha1-tje9O6nqvhIsg+lyBIOusQ0skEo=", + "requires": { + "string-convert": "^0.2.0" + } + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz?cache=0&sync_timestamp=1586046271069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-1.0.1.tgz", + "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "jstransform": { + "version": "11.0.3", + "resolved": "https://registry.npm.taobao.org/jstransform/download/jstransform-11.0.3.tgz", + "integrity": "sha1-CaeJk+CuTU70SH9hVakfYZDLQiM=", + "dev": true, + "requires": { + "base62": "^1.1.0", + "commoner": "^0.10.1", + "esprima-fb": "^15001.1.0-dev-harmony-fb", + "object-assign": "^2.0.0", + "source-map": "^0.4.2" + }, + "dependencies": { + "esprima-fb": { + "version": "15001.1.0-dev-harmony-fb", + "resolved": "https://registry.npm.taobao.org/esprima-fb/download/esprima-fb-15001.1.0-dev-harmony-fb.tgz", + "integrity": "sha1-MKlHMDxrjV6VW+4rmbHSMyBqaQE=", + "dev": true + }, + "object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-2.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-assign%2Fdownload%2Fobject-assign-2.1.1.tgz", + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "jsx-transform": { + "version": "2.4.1", + "resolved": "https://registry.npm.taobao.org/jsx-transform/download/jsx-transform-2.4.1.tgz", + "integrity": "sha1-mWtrwTMfMrpLGio8rkDDVQL0tzY=", + "dev": true, + "requires": { + "esprima-fb": "^15001.1001.0-dev-harmony-fb", + "jstransform": "^11.0.3", + "through2": "^2.0.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz", + "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "lodash": { + "version": "4.17.19", + "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.19.tgz?cache=0&sync_timestamp=1594226827854&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.19.tgz", + "integrity": "sha1-5I3e2+MLMyF4PFtDAfvTU7weSks=" + }, + "lodash-es": { + "version": "4.17.15", + "resolved": "https://registry.npm.taobao.org/lodash-es/download/lodash-es-4.17.15.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash-es%2Fdownload%2Flodash-es-4.17.15.tgz", + "integrity": "sha1-Ib2Wg5NUQS8j16EDQOXqxu5FXXg=" + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/lodash.camelcase/download/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true + }, + "lodash.curry": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/lodash.curry/download/lodash.curry-4.1.1.tgz", + "integrity": "sha1-JI42By7ekGUB11lmIAqG2riyMXA=" + }, + "lodash.flow": { + "version": "3.5.0", + "resolved": "https://registry.npm.taobao.org/lodash.flow/download/lodash.flow-3.5.0.tgz", + "integrity": "sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o=" + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" + }, + "magic-string": { + "version": "0.14.0", + "resolved": "https://registry.npm.taobao.org/magic-string/download/magic-string-0.14.0.tgz", + "integrity": "sha1-VyJK7xcByu7Sc7F6OalW5ysXJGI=", + "dev": true, + "requires": { + "vlq": "^0.2.1" + } + }, + "material-colors": { + "version": "1.2.6", + "resolved": "https://registry.npm.taobao.org/material-colors/download/material-colors-1.2.6.tgz", + "integrity": "sha1-bRlYhxEmmSzuzHL0vMTY8BCGX0Y=" + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.4.tgz", + "integrity": "sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs=", + "dev": true + }, + "merge": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", + "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==", + "dev": true + }, + "mini-store": { + "version": "3.0.6", + "resolved": "https://registry.npm.taobao.org/mini-store/download/mini-store-3.0.6.tgz?cache=0&sync_timestamp=1596177144125&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmini-store%2Fdownload%2Fmini-store-3.0.6.tgz", + "integrity": "sha1-RLhr5bKHcnEiTOBomzo1ot/7HKk=", + "requires": { + "hoist-non-react-statics": "^3.3.2", + "shallowequal": "^1.0.2" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz?cache=0&sync_timestamp=1587535418745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.5.tgz", + "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "moment": { + "version": "2.27.0", + "resolved": "https://registry.npm.taobao.org/moment/download/moment-2.27.0.tgz?cache=0&sync_timestamp=1592517925956&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmoment%2Fdownload%2Fmoment-2.27.0.tgz", + "integrity": "sha1-i/9OPiaiNiIN/j423nVrbrqgEF0=" + }, + "mousetrap": { + "version": "1.6.5", + "resolved": "https://registry.npm.taobao.org/mousetrap/download/mousetrap-1.6.5.tgz", + "integrity": "sha1-inZtjCcrCDk9X1YHTgtewYNIW/k=" + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npm.taobao.org/mz/download/mz-2.7.0.tgz", + "integrity": "sha1-lQCAV6Vsr63CvGPd5/n/aVWUjjI=", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz?cache=0&sync_timestamp=1576748705107&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fno-case%2Fdownload%2Fno-case-2.3.2.tgz", + "integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=", + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-releases": { + "version": "1.1.60", + "resolved": "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.60.tgz?cache=0&sync_timestamp=1595485372345&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.60.tgz", + "integrity": "sha1-aUi9/OgobwtdDlqI6DhOlU3+cIQ=", + "dev": true + }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz", + "integrity": "sha1-suHE3E98bVd0PfczpPWXjRhlBVk=", + "dev": true + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz", + "integrity": "sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.8.0.tgz?cache=0&sync_timestamp=1592545149361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.8.0.tgz", + "integrity": "sha1-34B+Xs9TpgnMa/6T6sPMe+WzqdA=", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", + "dev": true + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.0.tgz", + "integrity": "sha1-lovxEA15Vrs8oIbwBvhGs7xACNo=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.getownpropertydescriptors%2Fdownload%2Fobject.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha1-Npvx+VktiridcS3O1cuBx8U1Jkk=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "object.values": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/object.values/download/object.values-1.1.1.tgz", + "integrity": "sha1-aKmezeNWt+kpWjxeDOMdyMlT3l4=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "omit.js": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/omit.js/download/omit.js-2.0.2.tgz", + "integrity": "sha1-3ZuENvq5R6Xz/yFMslOGMeMT7C8=" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-queue": { + "version": "6.6.0", + "resolved": "https://registry.npm.taobao.org/p-queue/download/p-queue-6.6.0.tgz", + "integrity": "sha1-Jj8rc63UzvyoHY1rJpbudLMm3i8=", + "dev": true, + "requires": { + "eventemitter3": "^4.0.4", + "p-timeout": "^3.1.0" + } + }, + "p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/p-timeout/download/p-timeout-3.2.0.tgz", + "integrity": "sha1-x+F6vJcdKnli74NiazXWNazyPf4=", + "dev": true, + "requires": { + "p-finally": "^1.0.0" + } + }, + "pascal-case": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/pascal-case/download/pascal-case-2.0.1.tgz?cache=0&sync_timestamp=1577925951636&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpascal-case%2Fdownload%2Fpascal-case-2.0.1.tgz", + "integrity": "sha1-LVeNNFX2YNpl7KGO+VtODekSdh4=", + "requires": { + "camel-case": "^3.0.0", + "upper-case-first": "^1.1.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "pify": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-5.0.0.tgz", + "integrity": "sha1-H17KP16H6+wozG1UoOSq8ArMEn8=", "dev": true }, - "lodash-es": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.15.tgz", - "integrity": "sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ==", - "dev": true + "postcss": { + "version": "7.0.32", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.32.tgz", + "integrity": "sha1-QxDW7jRwU9o0M9sr5JKIPWLOxZ0=", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-calc": { + "version": "7.0.3", + "resolved": "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-7.0.3.tgz?cache=0&sync_timestamp=1596805653918&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-calc%2Fdownload%2Fpostcss-calc-7.0.3.tgz", + "integrity": "sha1-1lzKkqPFK/J603pfcy4Fh7dPFiM=", + "dev": true, + "requires": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-4.0.3.tgz", + "integrity": "sha1-rgYLzpPteUrHEmTwgTLVUJVr04E=", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz?cache=0&sync_timestamp=1597078193103&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-convert-values%2Fdownload%2Fpostcss-convert-values-4.0.1.tgz", + "integrity": "sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8=", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz?cache=0&sync_timestamp=1597078193186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-comments%2Fdownload%2Fpostcss-discard-comments-4.0.2.tgz", + "integrity": "sha1-H7q9LCRr/2qq15l7KwkY9NevQDM=", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz?cache=0&sync_timestamp=1597078193276&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-duplicates%2Fdownload%2Fpostcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha1-P+EzzTyCKC5VD8myORdqkge3hOs=", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz?cache=0&sync_timestamp=1597078194523&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-empty%2Fdownload%2Fpostcss-discard-empty-4.0.1.tgz", + "integrity": "sha1-yMlR6fc+2UKAGUWERKAq2Qu592U=", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz?cache=0&sync_timestamp=1597078194605&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-overridden%2Fdownload%2Fpostcss-discard-overridden-4.0.1.tgz", + "integrity": "sha1-ZSrvipZybwKfXj4AFG7npOdV/1c=", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-load-config": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-2.1.0.tgz", + "integrity": "sha1-yE1pK3u3tB3c7ZTuYuirMbQXsAM=", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz?cache=0&sync_timestamp=1596310657948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-5.2.1.tgz", + "integrity": "sha1-BA9yaAnFked6F8CjYmykW08Wixo=", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/import-from/download/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz?cache=0&sync_timestamp=1595834670724&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-loader/download/postcss-loader-3.0.0.tgz", + "integrity": "sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0=", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz?cache=0&sync_timestamp=1597078194781&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-merge-longhand%2Fdownload%2Fpostcss-merge-longhand-4.0.11.tgz", + "integrity": "sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ=", + "dev": true, + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz?cache=0&sync_timestamp=1597078194971&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-merge-rules%2Fdownload%2Fpostcss-merge-rules-4.0.3.tgz", + "integrity": "sha1-NivqT/Wh+Y5AdacTxsslrv75plA=", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", + "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz?cache=0&sync_timestamp=1597078195068&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-font-values%2Fdownload%2Fpostcss-minify-font-values-4.0.2.tgz", + "integrity": "sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY=", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz?cache=0&sync_timestamp=1597078195149&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-gradients%2Fdownload%2Fpostcss-minify-gradients-4.0.2.tgz", + "integrity": "sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE=", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz?cache=0&sync_timestamp=1597078195232&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-params%2Fdownload%2Fpostcss-minify-params-4.0.2.tgz", + "integrity": "sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz?cache=0&sync_timestamp=1597078195349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-selectors%2Fdownload%2Fpostcss-minify-selectors-4.0.2.tgz", + "integrity": "sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", + "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-modules": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules/download/postcss-modules-2.0.0.tgz?cache=0&sync_timestamp=1593593118102&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules%2Fdownload%2Fpostcss-modules-2.0.0.tgz", + "integrity": "sha1-Rz0NcyZlHYQIWFwqFUEV1cs2zOA=", + "dev": true, + "requires": { + "css-modules-loader-core": "^1.1.0", + "generic-names": "^2.0.1", + "lodash.camelcase": "^4.3.0", + "postcss": "^7.0.1", + "string-hash": "^1.1.1" + } + }, + "postcss-modules-extract-imports": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-1.1.0.tgz", + "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", + "dev": true, + "requires": { + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz", + "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-1.2.0.tgz?cache=0&sync_timestamp=1595733657141&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "dev": true, + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz", + "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "dev": true, + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz", + "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-1.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-values%2Fdownload%2Fpostcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "dev": true, + "requires": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz", + "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz?cache=0&sync_timestamp=1597078195437&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-charset%2Fdownload%2Fpostcss-normalize-charset-4.0.1.tgz", + "integrity": "sha1-izWt067oOhNrBHHg1ZvlilAoXdQ=", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz?cache=0&sync_timestamp=1597078195559&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-display-values%2Fdownload%2Fpostcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha1-Db4EpM6QY9RmftK+R2u4MMglk1o=", "dev": true, "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } } }, - "merge": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", - "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==", - "dev": true + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-positions/download/postcss-normalize-positions-4.0.2.tgz?cache=0&sync_timestamp=1597078195635&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-positions%2Fdownload%2Fpostcss-normalize-positions-4.0.2.tgz", + "integrity": "sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8=", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } }, - "mini-store": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mini-store/-/mini-store-3.0.2.tgz", - "integrity": "sha512-TM7IQBu+mVssLQReprx7JGftXk0EyaiIWw7yAx6E4SIZRHwgQ8XcG4dINFAaBCBihbYPJyhf7kbz7e5qk1FkuQ==", + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz?cache=0&sync_timestamp=1597078195716&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-repeat-style%2Fdownload%2Fpostcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw=", "dev": true, "requires": { - "@types/hoist-non-react-statics": "^3.3.1", - "@types/react-lifecycles-compat": "^3.0.1", - "@types/shallowequal": "^1.1.1", - "hoist-non-react-statics": "^3.3.2", - "prop-types": "^15.6.0", - "react-lifecycles-compat": "^3.0.4", - "shallowequal": "^1.0.2", - "typescript": "^3.8.3" + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw=", + "dev": true, + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } }, - "moment": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", - "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==", - "dev": true + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha1-jgCcoqOUnNr4rSPmtquZy159KNk=", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } }, - "mousetrap": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/mousetrap/-/mousetrap-1.6.5.tgz", - "integrity": "sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==", - "dev": true + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs=", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE=", + "dev": true, + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } }, - "omit.js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-1.0.2.tgz", - "integrity": "sha512-/QPc6G2NS+8d4L/cQhbk6Yit1WTB6Us2g84A7A/1+w9d/eRGHyEqC5kkQtHVoHZ5NFWGG7tUGgrhVZwgZanKrQ==", + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI=", "dev": true, "requires": { - "babel-runtime": "^6.23.0" + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } } }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4=", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz?cache=0&sync_timestamp=1597078196429&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-reduce-initial%2Fdownload%2Fpostcss-reduce-initial-4.0.3.tgz", + "integrity": "sha1-f9QuvqXpyBRgljniwuhK4nC6SN8=", "dev": true, "requires": { - "callsites": "^3.0.0" + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" } }, - "parse-json": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", - "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz?cache=0&sync_timestamp=1597078196519&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-reduce-transforms%2Fdownload%2Fpostcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha1-F++kBerMbge+NBSlyi0QdGgdTik=", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1", - "lines-and-columns": "^1.1.6" + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } } }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-6.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.2.tgz", + "integrity": "sha1-k0z3mdAWyDQRhZ4J3Oyt4BKG7Fw=", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-svgo": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.2.tgz?cache=0&sync_timestamp=1597078196616&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-svgo%2Fdownload%2Fpostcss-svgo-4.0.2.tgz", + "integrity": "sha1-F7mXvHEbMzurFDqu07jT1uPTglg=", + "dev": true, + "requires": { + "is-svg": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz?cache=0&sync_timestamp=1597078196706&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-unique-selectors%2Fdownload%2Fpostcss-unique-selectors-4.0.1.tgz", + "integrity": "sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-4.1.0.tgz", + "integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss=", "dev": true }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "private": { + "version": "0.1.8", + "resolved": "https://registry.npm.taobao.org/private/download/private-0.1.8.tgz", + "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=", "dev": true }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz", + "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=", + "dev": true + }, + "promise.series": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/promise.series/download/promise.series-0.2.0.tgz", + "integrity": "sha1-LMfr6Vn8OmYZwEq029yeRS2GS70=", "dev": true }, "prop-types": { "version": "15.7.2", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "dev": true, "requires": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.8.1" } }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", + "dev": true + }, + "pure-color": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/pure-color/download/pure-color-1.3.0.tgz", + "integrity": "sha1-H+Bk+wrIUfDeYTIKi/eWg2Qi8z4=" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, "raf": { "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "dev": true, + "resolved": "https://registry.npm.taobao.org/raf/download/raf-3.4.1.tgz", + "integrity": "sha1-B0LpmkplUvRF1z4+4DKK8P8e3jk=", "requires": { "performance-now": "^2.1.0" } }, + "raf-schd": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/raf-schd/download/raf-schd-4.0.2.tgz", + "integrity": "sha1-vUTHCBiPLoTIEL9V/OqSMbyu2KA=" + }, "rc-align": { - "version": "3.0.0-rc.1", - "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-3.0.0-rc.1.tgz", - "integrity": "sha512-GbofumhCUb7SxP410j/fbtR2M9Zml+eoZSdaliZh6R3NhfEj5zP4jcO3HG3S9C9KIcXQQtd/cwVHkb9Y0KU7Hg==", - "dev": true, + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/rc-align/download/rc-align-4.0.1.tgz?cache=0&sync_timestamp=1592389816157&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-align%2Fdownload%2Frc-align-4.0.1.tgz", + "integrity": "sha1-BWbeFBqC2aGSO3ZyxwvbGdzebiM=", "requires": { + "@babel/runtime": "^7.10.1", "classnames": "2.x", "dom-align": "^1.7.0", - "rc-util": "^4.12.0", + "rc-util": "^5.0.1", "resize-observer-polyfill": "^1.5.1" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "rc-animate": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/rc-animate/-/rc-animate-2.10.3.tgz", - "integrity": "sha512-A9qQ5Y8BLlM7EhuCO3fWb/dChndlbWtY/P5QvPqBU7h4r5Q2QsvsbpTGgdYZATRDZbTRnJXXfVk9UtlyS7MBLg==", - "dev": true, + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/rc-animate/download/rc-animate-3.1.0.tgz", + "integrity": "sha1-BRtonCxxlOTIrgFtMqDl+d5si6o=", "requires": { - "babel-runtime": "6.x", + "@ant-design/css-animation": "^1.7.2", "classnames": "^2.2.6", - "css-animation": "^1.3.2", - "prop-types": "15.x", "raf": "^3.4.0", - "rc-util": "^4.15.3", - "react-lifecycles-compat": "^3.0.4" + "rc-util": "^5.0.1" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "rc-cascader": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-1.0.1.tgz", - "integrity": "sha512-3mk33+YKJBP1XSrTYbdVLuCC73rUDq5STNALhvua5i8vyIgIxtb5fSl96JdWWq1Oj8tIBoHnCgoEoOYnIXkthQ==", - "dev": true, + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/rc-cascader/download/rc-cascader-1.3.0.tgz", + "integrity": "sha1-Z5JcesS3Mv4Gyrs6nJFjHJbQTM8=", "requires": { "array-tree-filter": "^2.1.0", "rc-trigger": "^4.0.0", - "rc-util": "^4.0.4", + "rc-util": "^5.0.1", "warning": "^4.0.1" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "rc-checkbox": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-2.2.0.tgz", - "integrity": "sha512-Wjh/nutLA8iIPTT1P9I9KOqlUblVe+CWa3SxMibFySnLyYbMxKNtPhwNcbADPOqzNU0AsCntTduNeJg1n0B5fg==", - "dev": true, + "version": "2.3.1", + "resolved": "https://registry.npm.taobao.org/rc-checkbox/download/rc-checkbox-2.3.1.tgz?cache=0&sync_timestamp=1594779746177&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-checkbox%2Fdownload%2Frc-checkbox-2.3.1.tgz", + "integrity": "sha1-KmG8QwF8eDvS6fGmdVO/jv56pNM=", "requires": { - "babel-runtime": "^6.23.0", - "classnames": "2.x" + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1" } }, "rc-collapse": { - "version": "1.11.8", - "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-1.11.8.tgz", - "integrity": "sha512-8EhfPyScTYljkbRuIoHniSwZagD5UPpZ3CToYgoNYWC85L2qCbPYF7+OaC713FOrIkp6NbfNqXsITNxmDAmxog==", - "dev": true, + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/rc-collapse/download/rc-collapse-2.0.0.tgz?cache=0&sync_timestamp=1588909212311&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-collapse%2Fdownload%2Frc-collapse-2.0.0.tgz", + "integrity": "sha1-CMWUL4IAW0NCztAtmDWB5MQc0yQ=", "requires": { + "@ant-design/css-animation": "^1.7.2", "classnames": "2.x", - "css-animation": "1.x", - "prop-types": "^15.5.6", - "rc-animate": "2.x", + "rc-animate": "3.x", "react-is": "^16.7.0", - "react-lifecycles-compat": "^3.0.4", "shallowequal": "^1.1.0" } }, "rc-dialog": { - "version": "7.6.1", - "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-7.6.1.tgz", - "integrity": "sha512-KUKf+2eZ4YL+lnXMG3hR4ZtIhC9glfH27NtTVz3gcoDIPAf3uUvaXVRNoDCiSi+OGKLyIb/b6EoidFh6nQC5Wg==", - "dev": true, + "version": "8.1.0", + "resolved": "https://registry.npm.taobao.org/rc-dialog/download/rc-dialog-8.1.0.tgz?cache=0&sync_timestamp=1594264553388&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-dialog%2Fdownload%2Frc-dialog-8.1.0.tgz", + "integrity": "sha1-OTkQljuwWsGdbRNmIL0JYi8dZ3o=", "requires": { - "babel-runtime": "6.x", - "rc-animate": "2.x", - "rc-util": "^4.16.1" + "rc-animate": "3.x", + "rc-util": "^5.0.1" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "rc-drawer": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-3.1.3.tgz", - "integrity": "sha512-2z+RdxmzXyZde/1OhVMfDR1e/GBswFeWSZ7FS3Fdd0qhgVdpV1wSzILzzxRaT481ItB5hOV+e8pZT07vdJE8kg==", - "dev": true, + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/rc-drawer/download/rc-drawer-4.1.0.tgz?cache=0&sync_timestamp=1591625579950&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-drawer%2Fdownload%2Frc-drawer-4.1.0.tgz", + "integrity": "sha1-178LwDAwC2LSgrwE4FO5rK1rCLQ=", "requires": { + "@babel/runtime": "^7.10.1", "classnames": "^2.2.6", - "rc-util": "^4.16.1", - "react-lifecycles-compat": "^3.0.4" + "rc-util": "^5.0.1" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "rc-dropdown": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-3.0.2.tgz", - "integrity": "sha512-T3XP4qL6xmkxn8z52YF2SEPoMHPpBiLf0Kty3mjNdRSyKnlu+0F+3bhDHf6gO1msmqrjURaz8sMNAFDcoFHHnw==", - "dev": true, + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/rc-dropdown/download/rc-dropdown-3.1.2.tgz", + "integrity": "sha1-UZm9UyrIUZgTo0fRlKtLDO5wIzM=", "requires": { - "babel-runtime": "^6.26.0", + "@babel/runtime": "^7.10.1", "classnames": "^2.2.6", "rc-trigger": "^4.0.0" } }, "rc-field-form": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.1.3.tgz", - "integrity": "sha512-m7SUNNaum4pHrUj5MGnymEk3SRitMUZBhnMS0wqWrcL6XqvdTAG5Yz5HjukA6BryaS6nyQOgUVBXMxxNN/XsTQ==", - "dev": true, + "version": "1.8.0", + "resolved": "https://registry.npm.taobao.org/rc-field-form/download/rc-field-form-1.8.0.tgz?cache=0&sync_timestamp=1596780412816&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-field-form%2Fdownload%2Frc-field-form-1.8.0.tgz", + "integrity": "sha1-xRMSMhQJcn5aMzhzMR+cH14T6MI=", "requires": { "@babel/runtime": "^7.8.4", "async-validator": "^3.0.3", - "rc-util": "^4.17.0", - "warning": "^4.0.3" - } - }, - "rc-hammerjs": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/rc-hammerjs/-/rc-hammerjs-0.6.9.tgz", - "integrity": "sha512-4llgWO3RgLyVbEqUdGsDfzUDqklRlQW5VEhE3x35IvhV+w//VPRG34SBavK3D2mD/UaLKaohgU41V4agiftC8g==", - "dev": true, - "requires": { - "babel-runtime": "6.x", - "hammerjs": "^2.0.8", - "prop-types": "^15.5.9" + "rc-util": "^5.0.0" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "rc-input-number": { - "version": "4.5.6", - "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-4.5.6.tgz", - "integrity": "sha512-AXbL4gtQ1mSQnu6v/JtMv3UbGRCzLvQznmf0a7U/SAtZ8+dCEAqD4JpJhkjv73Wog53eRYhw4l7ApdXflc9ymg==", - "dev": true, + "version": "6.0.0", + "resolved": "https://registry.npm.taobao.org/rc-input-number/download/rc-input-number-6.0.0.tgz?cache=0&sync_timestamp=1595829232448&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-input-number%2Fdownload%2Frc-input-number-6.0.0.tgz", + "integrity": "sha1-DAr1fIGD88prh/ft9v7TvVo7oW8=", "requires": { - "babel-runtime": "6.x", - "classnames": "^2.2.0", - "prop-types": "^15.5.7", - "rc-util": "^4.5.1", - "rmc-feedback": "^2.0.0" + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.0.1" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "rc-mentions": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-1.1.0.tgz", - "integrity": "sha512-uOVMiQ5Jxfo3mbpOZsZt20Alid0268lX9eBR2I/chly0qhNbmSB71iLOHGkbL7zuHd50GF/eSr9fXJJQKUYG1Q==", - "dev": true, + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/rc-mentions/download/rc-mentions-1.4.1.tgz?cache=0&sync_timestamp=1596967109263&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-mentions%2Fdownload%2Frc-mentions-1.4.1.tgz", + "integrity": "sha1-Afv8aqiFzibEgDgMOjl6mQH0Vqs=", "requires": { + "@babel/runtime": "^7.10.1", "classnames": "^2.2.6", "rc-menu": "^8.0.1", - "rc-trigger": "^4.0.0", - "rc-util": "^4.6.0" + "rc-textarea": "^0.3.0", + "rc-trigger": "^4.3.0", + "rc-util": "^5.0.1" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "rc-menu": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-8.0.3.tgz", - "integrity": "sha512-a37l9MfzjXt8/q5en6ukjD2PoVsHCzWeRPdFK9eWi6hF5/9M3mfxgUt1LruQvaJKMQUxDyN5+4M8FsYULXJALw==", - "dev": true, + "version": "8.5.2", + "resolved": "https://registry.npm.taobao.org/rc-menu/download/rc-menu-8.5.2.tgz?cache=0&sync_timestamp=1596620959425&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-menu%2Fdownload%2Frc-menu-8.5.2.tgz", + "integrity": "sha1-+kO8yr/PQiudPN/K5bcdoIurflQ=", "requires": { + "@babel/runtime": "^7.10.1", "classnames": "2.x", "mini-store": "^3.0.1", - "rc-animate": "^2.10.1", - "rc-trigger": "^4.0.0", - "rc-util": "^4.13.0", + "omit.js": "^2.0.0", + "rc-motion": "^1.0.1", + "rc-trigger": "^4.4.0", + "rc-util": "^5.0.1", "resize-observer-polyfill": "^1.5.0", - "scroll-into-view-if-needed": "^2.2.20", "shallowequal": "^1.1.0" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } + } + }, + "rc-motion": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/rc-motion/download/rc-motion-1.0.2.tgz?cache=0&sync_timestamp=1597116994599&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-motion%2Fdownload%2Frc-motion-1.0.2.tgz", + "integrity": "sha1-uK7CiGQimNdN3JrBdz4bYAqqHCU=", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "raf": "^3.4.1", + "rc-util": "^5.0.6" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "rc-notification": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-4.0.0.tgz", - "integrity": "sha512-In9FimkJY+JSIq3/eopPfBpQQr2Zugq5i9Aw9vdiNCGCsAsSO9bGq2dPsn8bamOydNrhc3djljGfmxUUMbcZnA==", - "dev": true, + "version": "4.4.0", + "resolved": "https://registry.npm.taobao.org/rc-notification/download/rc-notification-4.4.0.tgz?cache=0&sync_timestamp=1590764908664&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-notification%2Fdownload%2Frc-notification-4.4.0.tgz", + "integrity": "sha1-GS0ILNbimVcF9DxpKRYmMccePbE=", "requires": { + "@babel/runtime": "^7.10.1", "classnames": "2.x", - "rc-animate": "2.x", - "rc-util": "^4.0.4" + "rc-animate": "3.x", + "rc-util": "^5.0.1" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "rc-pagination": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-2.2.0.tgz", - "integrity": "sha512-fXempMD/kvHu8tsiW70uPjn1pI4mdD62xFG9drcBh17gj5CbCjazrjpWS615RSauk3b2BBgIcAJzREAMvlAkFQ==", - "dev": true, + "version": "2.4.6", + "resolved": "https://registry.npm.taobao.org/rc-pagination/download/rc-pagination-2.4.6.tgz?cache=0&sync_timestamp=1596773177182&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-pagination%2Fdownload%2Frc-pagination-2.4.6.tgz", + "integrity": "sha1-zAMMlpPHMLQ1kr22l0+zLBUCpQA=", "requires": { + "@babel/runtime": "^7.10.1", "classnames": "^2.2.1" } }, "rc-picker": { - "version": "1.4.9", - "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-1.4.9.tgz", - "integrity": "sha512-Lg/+06ozXEsivYit+fNET6IKSY8xnWEDsuQiRjJttsELg1kE3JyCZflaX98nCxkg+2IQqMPVXLuKIiaYGr43Uw==", - "dev": true, + "version": "1.15.3", + "resolved": "https://registry.npm.taobao.org/rc-picker/download/rc-picker-1.15.3.tgz?cache=0&sync_timestamp=1597052652836&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-picker%2Fdownload%2Frc-picker-1.15.3.tgz", + "integrity": "sha1-5Deeb+2aKfDBcFEV0R0ZZiUJa4M=", "requires": { + "@babel/runtime": "^7.10.1", "classnames": "^2.2.1", + "date-fns": "^2.15.0", + "dayjs": "^1.8.30", "moment": "^2.24.0", "rc-trigger": "^4.0.0", - "rc-util": "^4.17.0", + "rc-util": "^5.0.1", + "react": "^16.0.0", "shallowequal": "^1.1.0" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "rc-progress": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-2.5.2.tgz", - "integrity": "sha512-ajI+MJkbBz9zYDuE9GQsY5gsyqPF7HFioZEDZ9Fmc+ebNZoiSeSJsTJImPFCg0dW/5WiRGUy2F69SX1aPtSJgA==", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/rc-progress/download/rc-progress-3.0.0.tgz?cache=0&sync_timestamp=1589511750860&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-progress%2Fdownload%2Frc-progress-3.0.0.tgz", + "integrity": "sha1-zqMkzo/DFCHNgV2UpGSaiin4+Ns=", "requires": { - "babel-runtime": "6.x", - "prop-types": "^15.5.8" + "classnames": "^2.2.6" } }, "rc-rate": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.5.1.tgz", - "integrity": "sha512-3iJkNJT8xlHklPCdeZtUZmJmRVUbr6AHRlfSsztfYTXVlHrv2TcPn3XkHsH+12j812WVB7gvilS2j3+ffjUHXg==", - "dev": true, + "version": "2.8.2", + "resolved": "https://registry.npm.taobao.org/rc-rate/download/rc-rate-2.8.2.tgz?cache=0&sync_timestamp=1592195929518&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-rate%2Fdownload%2Frc-rate-2.8.2.tgz", + "integrity": "sha1-2C0jfXT9Su8+BYHScAtkbN0c2KI=", "requires": { + "@babel/runtime": "^7.10.1", "classnames": "^2.2.5", - "prop-types": "^15.5.8", - "rc-util": "^4.3.0", - "react-lifecycles-compat": "^3.0.4" + "rc-util": "^5.0.1" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "rc-resize-observer": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-0.2.1.tgz", - "integrity": "sha512-GENTRkL3lq05ilrjTxPpHUPrKTC9D7XqUGesSXgi/GyO4j/jKIjLPn7zuZOcJ5QmN5QGRe24IaVWPZHQPE6vLw==", - "dev": true, + "version": "0.2.3", + "resolved": "https://registry.npm.taobao.org/rc-resize-observer/download/rc-resize-observer-0.2.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-resize-observer%2Fdownload%2Frc-resize-observer-0.2.3.tgz", + "integrity": "sha1-gmgoTRdm0WMkCxaCZhrntZvEUj0=", "requires": { + "@babel/runtime": "^7.10.1", "classnames": "^2.2.1", - "rc-util": "^4.14.0", + "rc-util": "^5.0.0", "resize-observer-polyfill": "^1.5.1" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "rc-select": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-10.2.4.tgz", - "integrity": "sha512-PtfAHQRXof5gX1qEYQc8GIgroajtzU3mcMGbqM1aE1jqaZ4r+p0GJy3rabXoNANsKH7jUV5+zYJb5VhTxj2vmQ==", - "dev": true, + "version": "11.0.13", + "resolved": "https://registry.npm.taobao.org/rc-select/download/rc-select-11.0.13.tgz?cache=0&sync_timestamp=1596771620937&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-select%2Fdownload%2Frc-select-11.0.13.tgz", + "integrity": "sha1-/lcYr4GdPgvBKlUzS8FxclfvLaw=", "requires": { + "@babel/runtime": "^7.10.1", "classnames": "2.x", - "rc-animate": "^2.10.0", - "rc-trigger": "^4.0.0", - "rc-util": "^4.20.0", + "rc-motion": "^1.0.1", + "rc-trigger": "^4.3.0", + "rc-util": "^5.0.1", "rc-virtual-list": "^1.1.2", "warning": "^4.0.3" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "rc-slider": { - "version": "9.2.4", - "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-9.2.4.tgz", - "integrity": "sha512-wSr7vz+WtzzGqsGU2rTQ4mmLz9fkuIDMPYMYm8ygYFvxQ2Rh4uRhOWHYI0R8krNK5k1bGycckYxmQqUIvLAh3w==", - "dev": true, + "version": "9.3.1", + "resolved": "https://registry.npm.taobao.org/rc-slider/download/rc-slider-9.3.1.tgz?cache=0&sync_timestamp=1592267339936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-slider%2Fdownload%2Frc-slider-9.3.1.tgz", + "integrity": "sha1-REAS87SEfVkrFnqc7moaRneabvQ=", "requires": { - "babel-runtime": "6.x", + "@babel/runtime": "^7.10.1", "classnames": "^2.2.5", "rc-tooltip": "^4.0.0", - "rc-util": "^4.0.4", - "shallowequal": "^1.1.0", - "warning": "^4.0.3" + "rc-util": "^5.0.0", + "shallowequal": "^1.1.0" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "rc-steps": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-3.5.0.tgz", - "integrity": "sha512-2Vkkrpa7PZbg7qPsqTNzVDov4u78cmxofjjnIHiGB9+9rqKS8oTLPzbW2uiWDr3Lk+yGwh8rbpGO1E6VAgBCOg==", - "dev": true, + "version": "4.1.2", + "resolved": "https://registry.npm.taobao.org/rc-steps/download/rc-steps-4.1.2.tgz?cache=0&sync_timestamp=1595848956015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-steps%2Fdownload%2Frc-steps-4.1.2.tgz", + "integrity": "sha1-Nw9Ma0DTiI8DsnHxYolTxm65HAQ=", "requires": { - "babel-runtime": "^6.23.0", + "@babel/runtime": "^7.10.2", "classnames": "^2.2.3", - "lodash": "^4.17.5", - "prop-types": "^15.5.7" + "rc-util": "^5.0.1" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "rc-switch": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-1.9.0.tgz", - "integrity": "sha512-Isas+egaK6qSk64jaEw4GgPStY4umYDbT7ZY93bZF1Af+b/JEsKsJdNOU2qG3WI0Z6tXo2DDq0kJCv8Yhu0zww==", - "dev": true, + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/rc-switch/download/rc-switch-3.2.0.tgz?cache=0&sync_timestamp=1590766229143&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-switch%2Fdownload%2Frc-switch-3.2.0.tgz", + "integrity": "sha1-qja7QXQJ/0zH1ULsQ4HLXYfP7cE=", "requires": { + "@babel/runtime": "^7.10.1", "classnames": "^2.2.1", - "prop-types": "^15.5.6", - "react-lifecycles-compat": "^3.0.4" + "rc-util": "^5.0.1" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "rc-table": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.4.5.tgz", - "integrity": "sha512-lQS9izhGmgyCVK05imUrl32lBS9g2f3hB8LOKOof19JWCULKuYL5D3lLpaZSpCTecRYfONYNpgR7mZs7FOnYSQ==", - "dev": true, + "version": "7.8.6", + "resolved": "https://registry.npm.taobao.org/rc-table/download/rc-table-7.8.6.tgz?cache=0&sync_timestamp=1596545611479&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-table%2Fdownload%2Frc-table-7.8.6.tgz", + "integrity": "sha1-iX+xZxxi6zpGAztT8GkPoP1l3GE=", "requires": { + "@babel/runtime": "^7.10.1", "classnames": "^2.2.5", - "component-classes": "^1.2.6", - "lodash": "^4.17.5", - "prop-types": "^15.5.8", "raf": "^3.4.1", "rc-resize-observer": "^0.2.0", - "rc-util": "^4.20.1", - "react-lifecycles-compat": "^3.0.2", + "rc-util": "^5.0.0", "shallowequal": "^1.1.0" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "rc-tabs": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-10.1.1.tgz", - "integrity": "sha512-dOFeaYil3d6zV3ZtGZWfRf7zwyqUQ48cl67/Y/03SsBWEdYgfZzlgjfHqmUT+V7L7CvhQ5lIQyYpj4EthkgKCg==", - "dev": true, + "version": "11.5.6", + "resolved": "https://registry.npm.taobao.org/rc-tabs/download/rc-tabs-11.5.6.tgz?cache=0&sync_timestamp=1596546407280&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-tabs%2Fdownload%2Frc-tabs-11.5.6.tgz", + "integrity": "sha1-vP8D+MjcwItXypfA3r5dn6M3OVc=", "requires": { + "@babel/runtime": "^7.10.1", "classnames": "2.x", - "lodash": "^4.17.5", - "rc-hammerjs": "~0.6.0", - "resize-observer-polyfill": "^1.5.1", - "warning": "^4.0.3" + "raf": "^3.4.1", + "rc-dropdown": "^3.1.0", + "rc-menu": "^8.2.1", + "rc-resize-observer": "^0.2.1", + "rc-trigger": "^4.2.1", + "rc-util": "^5.0.0" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } + } + }, + "rc-textarea": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/rc-textarea/download/rc-textarea-0.3.0.tgz?cache=0&sync_timestamp=1594206250830&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-textarea%2Fdownload%2Frc-textarea-0.3.0.tgz", + "integrity": "sha1-mGDveX4AcX2CJ9HvTueJXdk1jd8=", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "omit.js": "^2.0.0", + "rc-resize-observer": "^0.2.3" } }, "rc-tooltip": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-4.0.3.tgz", - "integrity": "sha512-HNyBh9/fPdds0DXja8JQX0XTIHmZapB3lLzbdn74aNSxXG1KUkt+GK4X1aOTRY5X9mqm4uUKdeFrn7j273H8gw==", - "dev": true, + "version": "4.2.1", + "resolved": "https://registry.npm.taobao.org/rc-tooltip/download/rc-tooltip-4.2.1.tgz?cache=0&sync_timestamp=1590501414804&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-tooltip%2Fdownload%2Frc-tooltip-4.2.1.tgz", + "integrity": "sha1-waLVAX7gOncakwHA39tG39+P75Q=", "requires": { - "rc-trigger": "^4.0.0" + "rc-trigger": "^4.2.1" } }, "rc-tree": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-3.1.5.tgz", - "integrity": "sha512-LOUfsJg5XxtA4FKgGkuVwnbBlnh3VVtySF7LMp4ko0n8oIUBYnn2vs6WG41kuH0V4tLTlQhvCFup/6JEKL01sg==", - "dev": true, + "version": "3.8.5", + "resolved": "https://registry.npm.taobao.org/rc-tree/download/rc-tree-3.8.5.tgz?cache=0&sync_timestamp=1596781157012&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-tree%2Fdownload%2Frc-tree-3.8.5.tgz", + "integrity": "sha1-H22MFKT5Jj1aQm96JHA6THvkbqM=", "requires": { + "@babel/runtime": "^7.10.1", "classnames": "2.x", - "prop-types": "^15.5.8", - "rc-animate": "^2.9.2", - "rc-util": "^4.11.0", - "rc-virtual-list": "^1.1.0", - "react-lifecycles-compat": "^3.0.4" + "rc-motion": "^1.0.0", + "rc-util": "^5.0.0", + "rc-virtual-list": "^1.1.0" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "rc-tree-select": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-3.1.3.tgz", - "integrity": "sha512-VQDr+qLCCJ9V/4ewnp3crMT2N7iJV58V0uWVA3nGJxVuxhSj8TPHFZLnyMh6vaNrQsrY6eBp/x1y6nEJBjnVQg==", - "dev": true, + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/rc-tree-select/download/rc-tree-select-4.1.1.tgz?cache=0&sync_timestamp=1596621462054&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-tree-select%2Fdownload%2Frc-tree-select-4.1.1.tgz", + "integrity": "sha1-LTxh8kSd5yg57d+Uq4dtP2VnaS8=", "requires": { + "@babel/runtime": "^7.10.1", "classnames": "2.x", - "rc-select": "^10.1.0", - "rc-tree": "^3.1.0", - "rc-util": "^4.17.0" + "rc-select": "^11.1.1", + "rc-tree": "^3.8.0", + "rc-util": "^5.0.5" + }, + "dependencies": { + "rc-select": { + "version": "11.1.3", + "resolved": "https://registry.npm.taobao.org/rc-select/download/rc-select-11.1.3.tgz?cache=0&sync_timestamp=1596771620937&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-select%2Fdownload%2Frc-select-11.1.3.tgz", + "integrity": "sha1-rLZDbg7DieFnaQPZtRSqDXVl2+s=", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^1.0.1", + "rc-trigger": "^4.3.0", + "rc-util": "^5.0.1", + "rc-virtual-list": "^1.1.2", + "warning": "^4.0.3" + } + }, + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "rc-trigger": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-4.0.2.tgz", - "integrity": "sha512-to5S1NhK10rWHIgQpoQdwIhuDc2Ok4R4/dh5NLrDt6C+gqkohsdBCYiPk97Z+NwGhRU8N+dbf251bivX8DkzQg==", - "dev": true, + "version": "4.4.0", + "resolved": "https://registry.npm.taobao.org/rc-trigger/download/rc-trigger-4.4.0.tgz?cache=0&sync_timestamp=1596620514652&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-trigger%2Fdownload%2Frc-trigger-4.4.0.tgz", + "integrity": "sha1-Ur5Fx7QDJ7KX66z/hNac6ShWBrw=", "requires": { + "@babel/runtime": "^7.10.1", "classnames": "^2.2.6", - "prop-types": "15.x", "raf": "^3.4.1", - "rc-align": "^3.0.0-rc.0", - "rc-animate": "^2.10.2", - "rc-util": "^4.20.0" + "rc-align": "^4.0.0", + "rc-motion": "^1.0.0", + "rc-util": "^5.0.1" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "rc-upload": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-3.0.4.tgz", - "integrity": "sha512-dTCvj1iHxjHG0qo5UyN2ZmtueG9GG3xrOhOwnjsehaoOvl0TOjLbHkUIPPqLZk+wHb57Ue4KB7c3+IMgkDoBvw==", - "dev": true, + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/rc-upload/download/rc-upload-3.2.0.tgz?cache=0&sync_timestamp=1592472784086&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-upload%2Fdownload%2Frc-upload-3.2.0.tgz", + "integrity": "sha1-JR/DyRBZAugIYApBTzaPKF1jv7o=", "requires": { - "babel-runtime": "6.x", "classnames": "^2.2.5" } }, @@ -1169,7 +3182,6 @@ "version": "4.20.3", "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.20.3.tgz", "integrity": "sha512-NBBc9Ad5yGAVTp4jV+pD7tXQGqHxGM2onPSZFyVoJ5fuvRF+ZgzSjZ6RXLPE0pVVISRJ07h+APgLJPBcAeZQlg==", - "dev": true, "requires": { "add-dom-event-listener": "^1.1.0", "prop-types": "^15.5.10", @@ -1179,32 +3191,64 @@ } }, "rc-virtual-list": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-1.1.2.tgz", - "integrity": "sha512-+WwxrtmBta7vcPCty7MtgilBmbxSGwN28Y8o+MG3GkHZccV0tXT+PLnAB+5WOjhhH10iFq+pzviRcXgcZ1x4OA==", - "dev": true, + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/rc-virtual-list/download/rc-virtual-list-1.1.6.tgz", + "integrity": "sha1-slW6+arN4UmoiTMk5jByFAlPTAo=", "requires": { "classnames": "^2.2.6", "raf": "^3.4.1", - "rc-util": "^4.8.0" + "rc-util": "^5.0.0" + }, + "dependencies": { + "rc-util": { + "version": "5.0.6", + "resolved": "https://registry.npm.taobao.org/rc-util/download/rc-util-5.0.6.tgz?cache=0&sync_timestamp=1595683988589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-util%2Fdownload%2Frc-util-5.0.6.tgz", + "integrity": "sha1-K4KLyHqBimY4S4E/dqVhrUYJ6bA=", + "requires": { + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + } } }, "react": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", - "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2" } }, + "react-base16-styling": { + "version": "0.5.3", + "resolved": "https://registry.npm.taobao.org/react-base16-styling/download/react-base16-styling-0.5.3.tgz", + "integrity": "sha1-OFjyTpxN2MvT9wLz901YHKKRcmk=", + "requires": { + "base16": "^1.0.0", + "lodash.curry": "^4.0.1", + "lodash.flow": "^3.3.0", + "pure-color": "^1.2.0" + } + }, + "react-color": { + "version": "2.18.1", + "resolved": "https://registry.npm.taobao.org/react-color/download/react-color-2.18.1.tgz", + "integrity": "sha1-LNqMyOBqnixSrTkaMN2tMZckcvQ=", + "requires": { + "@icons/material": "^0.2.4", + "lodash": "^4.17.11", + "material-colors": "^1.2.1", + "prop-types": "^15.5.10", + "reactcss": "^1.2.0", + "tinycolor2": "^1.4.1" + } + }, "react-dom": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz", "integrity": "sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==", - "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -1212,29 +3256,120 @@ "scheduler": "^0.19.1" } }, + "react-drag-listview": { + "version": "0.1.7", + "resolved": "https://registry.npm.taobao.org/react-drag-listview/download/react-drag-listview-0.1.7.tgz", + "integrity": "sha1-q5OEoIxL/Chj2VDTJvJOYq0v/do=", + "requires": { + "prop-types": "^15.5.8" + } + }, + "react-eva": { + "version": "1.1.12", + "resolved": "https://registry.npm.taobao.org/react-eva/download/react-eva-1.1.12.tgz?cache=0&sync_timestamp=1597047052154&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-eva%2Fdownload%2Freact-eva-1.1.12.tgz", + "integrity": "sha1-EeLPSZoUTMEbV3HsZhW6ryn0exE=", + "requires": { + "rxjs": "^6.3.3" + } + }, "react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "react-json-tree": { + "version": "0.12.0", + "resolved": "https://registry.npm.taobao.org/react-json-tree/download/react-json-tree-0.12.0.tgz", + "integrity": "sha1-WMTecpT/5G3SvppMQ8w2D95GbX0=", + "requires": { + "prop-types": "^15.5.8", + "react-base16-styling": "^0.5.1" + } }, "react-lifecycles-compat": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", - "dev": true + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "react-resize-detector": { + "version": "4.2.3", + "resolved": "https://registry.npm.taobao.org/react-resize-detector/download/react-resize-detector-4.2.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-resize-detector%2Fdownload%2Freact-resize-detector-4.2.3.tgz", + "integrity": "sha1-ffJYZoowvf2I5lW72yfbf9eyMSc=", + "requires": { + "lodash": "^4.17.15", + "lodash-es": "^4.17.15", + "prop-types": "^15.7.2", + "raf-schd": "^4.0.2", + "resize-observer-polyfill": "^1.5.1" + } + }, + "react-stikky": { + "version": "0.1.30", + "resolved": "https://registry.npm.taobao.org/react-stikky/download/react-stikky-0.1.30.tgz", + "integrity": "sha1-ILFZRV/H0oomtI4lMZtwoxKfaA4=", + "requires": { + "classnames": "^2.2.6", + "window-scroll": "^1.0.0" + } + }, + "reactcss": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/reactcss/download/reactcss-1.2.3.tgz", + "integrity": "sha1-wAATh15Vexzw39mjaKHD2rO1SN0=", + "requires": { + "lodash": "^4.0.1" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz?cache=0&sync_timestamp=1581624324274&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "recast": { + "version": "0.11.23", + "resolved": "https://registry.npm.taobao.org/recast/download/recast-0.11.23.tgz", + "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", + "dev": true, + "requires": { + "ast-types": "0.9.6", + "esprima": "~3.1.0", + "private": "~0.1.5", + "source-map": "~0.5.0" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-3.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesprima%2Fdownload%2Fesprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + } + } }, "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "version": "0.13.7", + "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz?cache=0&sync_timestamp=1595456105304&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.7.tgz", + "integrity": "sha1-ysLazIoepnX+qrrriugziYrkb1U=" + }, + "reserved-words": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/reserved-words/download/reserved-words-0.1.2.tgz", + "integrity": "sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE=", "dev": true }, "resize-observer-polyfill": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", - "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", - "dev": true + "resolved": "https://registry.npm.taobao.org/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ=" }, "resolve": { "version": "1.17.0", @@ -1245,21 +3380,17 @@ "path-parse": "^1.0.6" } }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/rgb-regex/download/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", "dev": true }, - "rmc-feedback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/rmc-feedback/-/rmc-feedback-2.0.0.tgz", - "integrity": "sha512-5PWOGOW7VXks/l3JzlOU9NIxRpuaSS8d9zA3UULUCuTKnpwBHNvv1jSJzxgbbCQeYzROWUpgKI4za3X4C/mKmQ==", - "dev": true, - "requires": { - "babel-runtime": "6.x", - "classnames": "^2.2.5" - } + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true }, "rollup": { "version": "2.7.1", @@ -1270,42 +3401,354 @@ "fsevents": "~2.1.2" } }, + "rollup-plugin-jsx": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/rollup-plugin-jsx/download/rollup-plugin-jsx-1.0.3.tgz", + "integrity": "sha1-knk7yp42+Q/QDZkfaghw5Z3vr60=", + "dev": true, + "requires": { + "jsx-transform": "^2.3.0", + "magic-string": "^0.14.0", + "rollup-pluginutils": "^1.3.1" + } + }, + "rollup-plugin-postcss": { + "version": "3.1.5", + "resolved": "https://registry.npm.taobao.org/rollup-plugin-postcss/download/rollup-plugin-postcss-3.1.5.tgz", + "integrity": "sha1-S8wZp/lauPsX+wylkID+OIdCHbI=", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "concat-with-sourcemaps": "^1.1.0", + "cssnano": "^4.1.10", + "import-cwd": "^3.0.0", + "p-queue": "^6.3.0", + "pify": "^5.0.0", + "postcss": "^7.0.27", + "postcss-load-config": "^2.1.0", + "postcss-modules": "^2.0.0", + "promise.series": "^0.2.0", + "resolve": "^1.16.1", + "rollup-pluginutils": "^2.8.2", + "safe-identifier": "^0.4.1", + "style-inject": "^0.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.2.1.tgz", + "integrity": "sha1-kK51xCTQCNJiTFvynq0xd+v881k=", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz?cache=0&sync_timestamp=1591687070184&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/estree-walker/download/estree-walker-0.6.1.tgz", + "integrity": "sha1-UwSRQ/QMbrkYsjZx0f4yGfOhs2I=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npm.taobao.org/rollup-pluginutils/download/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha1-cvKvB0i1kjZNvTOJ5gDlqURKNR4=", + "dev": true, + "requires": { + "estree-walker": "^0.6.1" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.1.0.tgz", + "integrity": "sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "rollup-plugin-postcss-modules": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/rollup-plugin-postcss-modules/download/rollup-plugin-postcss-modules-2.0.1.tgz", + "integrity": "sha1-pACYcV6C1wFA/Ay9sMIaPE60wqo=", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "mz": "^2.7.0", + "postcss-modules": "^1.4.1", + "reserved-words": "^0.1.2", + "rollup-plugin-postcss": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.2.1.tgz", + "integrity": "sha1-kK51xCTQCNJiTFvynq0xd+v881k=", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz?cache=0&sync_timestamp=1591687070184&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/estree-walker/download/estree-walker-0.6.1.tgz", + "integrity": "sha1-UwSRQ/QMbrkYsjZx0f4yGfOhs2I=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "postcss-modules": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules/download/postcss-modules-1.5.0.tgz?cache=0&sync_timestamp=1593593118102&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules%2Fdownload%2Fpostcss-modules-1.5.0.tgz", + "integrity": "sha1-CNps5D/PrbxoWgIf5u0w75KfC8w=", + "dev": true, + "requires": { + "css-modules-loader-core": "^1.1.0", + "generic-names": "^2.0.1", + "lodash.camelcase": "^4.3.0", + "postcss": "^7.0.1", + "string-hash": "^1.1.1" + } + }, + "rollup-plugin-postcss": { + "version": "2.9.0", + "resolved": "https://registry.npm.taobao.org/rollup-plugin-postcss/download/rollup-plugin-postcss-2.9.0.tgz", + "integrity": "sha1-5uoKG4/cSkn8A4XaWIBOMydQwoI=", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "concat-with-sourcemaps": "^1.1.0", + "cssnano": "^4.1.10", + "import-cwd": "^3.0.0", + "p-queue": "^6.3.0", + "pify": "^5.0.0", + "postcss": "^7.0.27", + "postcss-load-config": "^2.1.0", + "postcss-modules": "^2.0.0", + "promise.series": "^0.2.0", + "resolve": "^1.16.0", + "rollup-pluginutils": "^2.8.2", + "safe-identifier": "^0.4.1", + "style-inject": "^0.3.0" + }, + "dependencies": { + "postcss-modules": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules/download/postcss-modules-2.0.0.tgz?cache=0&sync_timestamp=1593593118102&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules%2Fdownload%2Fpostcss-modules-2.0.0.tgz", + "integrity": "sha1-Rz0NcyZlHYQIWFwqFUEV1cs2zOA=", + "dev": true, + "requires": { + "css-modules-loader-core": "^1.1.0", + "generic-names": "^2.0.1", + "lodash.camelcase": "^4.3.0", + "postcss": "^7.0.1", + "string-hash": "^1.1.1" + } + } + } + }, + "rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npm.taobao.org/rollup-pluginutils/download/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha1-cvKvB0i1kjZNvTOJ5gDlqURKNR4=", + "dev": true, + "requires": { + "estree-walker": "^0.6.1" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.1.0.tgz", + "integrity": "sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "rollup-plugin-typescript": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/rollup-plugin-typescript/download/rollup-plugin-typescript-1.0.1.tgz", + "integrity": "sha1-hlZQM7cUw9Hzq6UQqtPcUZ9wkek=", + "dev": true, + "requires": { + "resolve": "^1.10.0", + "rollup-pluginutils": "^2.5.0" + }, + "dependencies": { + "estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/estree-walker/download/estree-walker-0.6.1.tgz", + "integrity": "sha1-UwSRQ/QMbrkYsjZx0f4yGfOhs2I=", + "dev": true + }, + "rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npm.taobao.org/rollup-pluginutils/download/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha1-cvKvB0i1kjZNvTOJ5gDlqURKNR4=", + "dev": true, + "requires": { + "estree-walker": "^0.6.1" + } + } + } + }, + "rollup-pluginutils": { + "version": "1.5.2", + "resolved": "https://registry.npm.taobao.org/rollup-pluginutils/download/rollup-pluginutils-1.5.2.tgz", + "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=", + "dev": true, + "requires": { + "estree-walker": "^0.2.1", + "minimatch": "^3.0.2" + } + }, + "rxjs": { + "version": "6.6.2", + "resolved": "https://registry.npm.taobao.org/rxjs/download/rxjs-6.6.2.tgz?cache=0&sync_timestamp=1596402408867&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frxjs%2Fdownload%2Frxjs-6.6.2.tgz", + "integrity": "sha1-gJanrAPyzE/lhg725XKBDZ4BwNI=", + "requires": { + "tslib": "^1.9.0" + } + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, + "safe-identifier": { + "version": "0.4.2", + "resolved": "https://registry.npm.taobao.org/safe-identifier/download/safe-identifier-0.4.2.tgz", + "integrity": "sha1-z2v8oxwol8WICS0XUNMO9QHVn8s=", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", + "dev": true + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz", + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", + "dev": true + }, "scheduler": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", - "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" } }, - "scroll-into-view-if-needed": { - "version": "2.2.24", - "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.24.tgz", - "integrity": "sha512-vsC6SzyIZUyJG8o4nbUDCiIwsPdH6W/FVmjT2avR2hp/yzS53JjGmg/bKD20TkoNajbu5dAQN4xR7yes4qhwtQ==", + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", "dev": true, "requires": { - "compute-scroll-into-view": "^1.0.13" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "scroll-into-view-if-needed": { + "version": "2.2.25", + "resolved": "https://registry.npm.taobao.org/scroll-into-view-if-needed/download/scroll-into-view-if-needed-2.2.25.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fscroll-into-view-if-needed%2Fdownload%2Fscroll-into-view-if-needed-2.2.25.tgz", + "integrity": "sha1-EXt7x8Ybx6K3hyoJhLxzoZvG6WE=", + "requires": { + "compute-scroll-into-view": "^1.0.14" } }, "shallowequal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", - "dev": true + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" }, - "size-sensor": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/size-sensor/-/size-sensor-0.2.6.tgz", - "integrity": "sha512-0EZ0tXXjyRl9R9+JpoBdH57Xpnbf5NTyDdj7fnFL6KqCsdKyah286ShMflnV2SonnrSFH4OAT/52Jy8qqnoerg==", - "dev": true + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npm.taobao.org/simple-swizzle/download/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.3.2.tgz", + "integrity": "sha1-RXSirlb3qyBolvtDHq7tBm/fjwM=", + "dev": true + } + } }, "source-map": { "version": "0.5.7", @@ -1313,12 +3756,97 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npm.taobao.org/stable/download/stable-0.1.8.tgz", + "integrity": "sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88=", + "dev": true + }, "string-convert": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", - "integrity": "sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c=", + "resolved": "https://registry.npm.taobao.org/string-convert/download/string-convert-0.2.1.tgz", + "integrity": "sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c=" + }, + "string-hash": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/string-hash/download/string-hash-1.1.3.tgz", + "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=", + "dev": true + }, + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.1.tgz?cache=0&sync_timestamp=1586465409341&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimend%2Fdownload%2Fstring.prototype.trimend-1.0.1.tgz", + "integrity": "sha1-hYEqa4R6wAInD1gIFGBkyZX7aRM=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.1.tgz?cache=0&sync_timestamp=1586465413621&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.1.tgz", + "integrity": "sha1-FK9tnzSwU/fPyJty+PLuFLkDmlQ=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1573280518303&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "style-inject": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/style-inject/download/style-inject-0.3.0.tgz", + "integrity": "sha1-0hxHev/skYEcyCNVgypwDSK/jdM=", "dev": true }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/stylehacks/download/stylehacks-4.0.3.tgz?cache=0&sync_timestamp=1597078197296&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstylehacks%2Fdownload%2Fstylehacks-4.0.3.tgz", + "integrity": "sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU=", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", + "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -1328,41 +3856,160 @@ "has-flag": "^3.0.0" } }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/svgo/download/svgo-1.3.2.tgz?cache=0&sync_timestamp=1572433264480&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsvgo%2Fdownload%2Fsvgo-1.3.2.tgz", + "integrity": "sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc=", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + } + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/thenify/download/thenify-3.3.1.tgz?cache=0&sync_timestamp=1592413466879&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthenify%2Fdownload%2Fthenify-3.3.1.tgz", + "integrity": "sha1-iTLmhqQGYDigFt2eLKRq3Zg4qV8=", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/thenify-all/download/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz", + "integrity": "sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/timsort/download/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, "tinycolor2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", - "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=", + "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=" + }, + "toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/toggle-selection/download/toggle-selection-1.0.6.tgz", + "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI=" + }, + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npm.taobao.org/tslib/download/tslib-1.13.0.tgz?cache=0&sync_timestamp=1596752024863&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftslib%2Fdownload%2Ftslib-1.13.0.tgz", + "integrity": "sha1-yIHhPMcBWJTtkUhi0nZDb6mkcEM=" + }, + "ua-parser-js": { + "version": "0.7.21", + "resolved": "https://registry.npm.taobao.org/ua-parser-js/download/ua-parser-js-0.7.21.tgz", + "integrity": "sha1-hTz5zpP2QvZxdCc8w0Vlrm8wh3c=" + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", "dev": true }, - "to-fast-properties": { + "uniqs": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "resolved": "https://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", "dev": true }, - "toggle-selection": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", - "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI=", + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/unquote/download/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", "dev": true }, - "typescript": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", - "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==", + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" + }, + "upper-case-first": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/upper-case-first/download/upper-case-first-1.1.2.tgz", + "integrity": "sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=", + "requires": { + "upper-case": "^1.1.1" + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz", + "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.1.tgz", + "integrity": "sha1-a693dLgO6w91INi4HQeYKlmruu4=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, "utility-types": { "version": "3.10.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", - "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "resolved": "https://registry.npm.taobao.org/utility-types/download/utility-types-3.10.0.tgz", + "integrity": "sha1-6kFI+adBAV8F7XT9YV4dIOa+2Cs=" + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/vendors/download/vendors-1.0.4.tgz?cache=0&sync_timestamp=1579857147055&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvendors%2Fdownload%2Fvendors-1.0.4.tgz", + "integrity": "sha1-4rgApT56Kbk1BsPPQRANFsTErY4=", + "dev": true + }, + "vlq": { + "version": "0.2.3", + "resolved": "https://registry.npm.taobao.org/vlq/download/vlq-0.2.3.tgz", + "integrity": "sha1-jz5DKM9jsVQMDWfhsneDhviXWyY=", "dev": true }, "warning": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", - "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", - "dev": true, + "resolved": "https://registry.npm.taobao.org/warning/download/warning-4.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwarning%2Fdownload%2Fwarning-4.0.3.tgz", + "integrity": "sha1-Fungd+uKhtavfWSqHgX9hbRnjKM=", "requires": { "loose-envify": "^1.0.0" } @@ -1377,14 +4024,22 @@ "minimist": "^1.2.0" } }, - "yaml": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", - "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.9.2" - } + "window-scroll": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/window-scroll/download/window-scroll-1.0.0.tgz", + "integrity": "sha1-bAxIxiCPkGHtkOEPZYkTqZGxiYc=" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz", + "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=", + "dev": true } } } diff --git a/packages/core/package.json b/packages/core/package.json index 4a38e63..fb1b7a7 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@imove/core", - "version": "0.3.3", + "version": "0.3.4", "description": "流程编排", "keywords": [ "imove", @@ -35,27 +35,41 @@ "bugs": { "url": "https://github.com/suanmei/iMove/issues" }, - "devDependencies": { + "dependencies": { "@ant-design/icons": "^4.0.6", - "@antv/x6": "^0.3.4", - "@antv/x6-react-shape": "^0.2.2", - "@emotion/core": "^10.0.28", - "@emotion/styled": "^10.0.27", + "@antv/x6": "^0.10.59", + "@antv/x6-components": "^0.10.1", + "ace-builds": "^1.4.12", + "antd": "^4.5.3", + "babel-runtime": "^6.26.0", + "react-ace": "^9.1.3", + "react-color": "^2.18.1", + "react-json-view": "^1.19.1" + }, + "devDependencies": { "@types/react": "^16.9.34", + "@types/react-color": "^3.0.4", "@types/react-dom": "^16.9.7", - "antd": "^4.1.4", - "react": "^16.13.1", - "react-dom": "^16.13.1", + "autoprefixer": "^9.8.6", + "awesome-typescript-loader": "^5.2.1", + "babel-loader": "^8.1.0", + "css-loader": "^4.2.1", + "file-loader": "^6.0.0", + "less": "^3.12.2", + "less-loader": "^6.2.0", + "postcss-loader": "^3.0.0", "rollup": "^2.6.1", + "rollup-plugin-jsx": "^1.0.3", + "rollup-plugin-postcss": "^3.1.3", + "rollup-plugin-postcss-modules": "^2.0.1", + "rollup-plugin-typescript": "^1.0.1", "watch": "^1.0.2" }, "peerDependencies": { "@ant-design/icons": "^4.0.6", - "@antv/x6": "^0.3.4", - "@antv/x6-react-shape": "^0.2.2", - "@emotion/core": "^10.0.28", - "@emotion/styled": "^10.0.27", - "antd": "^4.1.4", + "@antv/x6": "0.10.59", + "@antv/x6-components": "^0.10.1", + "antd": "^4.5.3", "react": "^16.13.1", "react-dom": "^16.13.1" }, diff --git a/packages/core/rollup.config.js b/packages/core/rollup.config.js index 73a04f4..fa56f8f 100644 --- a/packages/core/rollup.config.js +++ b/packages/core/rollup.config.js @@ -1,7 +1,13 @@ -import rollupBaseConfig from '../../rollup.config'; import pkg from './package.json'; +import postcss from 'rollup-plugin-postcss'; +import typescript from 'rollup-plugin-typescript'; +import rollupBaseConfig from '../../rollup.config'; export default Object.assign(rollupBaseConfig, { + plugins: [ + postcss(), + typescript(), + ], output: [ { file: pkg.main, @@ -12,5 +18,5 @@ export default Object.assign(rollupBaseConfig, { format: 'es', }, ], - external: Object.keys(pkg.peerDependencies).concat(/^antd\//), + external: Object.keys(pkg.peerDependencies), }); diff --git a/packages/core/src/common/baseCell/behavior.ts b/packages/core/src/common/baseCell/behavior.ts new file mode 100644 index 0000000..948fd4f --- /dev/null +++ b/packages/core/src/common/baseCell/behavior.ts @@ -0,0 +1,97 @@ +import {Shape} from '@antv/x6'; + +const schema = { + base: Shape.Rect, + shape: 'imove-behavior', + width: 80, + height: 40, + label: '处理', + attrs: { + body: { + fill: '#AACCF7', + stroke: '#5E9CEE' + }, + label: { + fill: '#333' + } + }, + ports: { + groups: { + top: { + position: 'top', + attrs: { + circle: { + r: 3, + magnet: true, + stroke: '#666', + strokeWidth: 1, + fill: '#fff' + }, + }, + }, + right: { + position: 'right', + attrs: { + circle: { + r: 3, + magnet: true, + stroke: '#666', + strokeWidth: 1, + fill: '#fff' + }, + }, + }, + bottom: { + position: 'bottom', + attrs: { + circle: { + r: 3, + magnet: true, + stroke: '#666', + strokeWidth: 1, + fill: '#fff' + }, + }, + }, + left: { + position: 'left', + attrs: { + circle: { + r: 3, + magnet: true, + stroke: '#666', + strokeWidth: 1, + fill: '#fff' + }, + }, + }, + }, + items: [ + { + id: 'top', + group: 'top' + }, + { + id: 'right', + group: 'right' + }, + { + id: 'bottom', + group: 'bottom' + }, + { + id: 'left', + group: 'left' + } + ] + }, + data: { + label: '处理', + configSchema: '{\n \n}', + configData: {}, + dependencies: '{\n \n}', + code: 'export default async function(ctx) {\n \n}' + } +}; + +export default schema; diff --git a/packages/core/src/common/baseCell/branch.ts b/packages/core/src/common/baseCell/branch.ts new file mode 100644 index 0000000..2c8204f --- /dev/null +++ b/packages/core/src/common/baseCell/branch.ts @@ -0,0 +1,130 @@ +import {Shape} from '@antv/x6'; + +const schema = { + base: Shape.Polygon, + shape: 'imove-branch', + width: 80, + height: 40, + attrs: { + body: { + strokeWidth: 2, + stroke: '#333', + fill: '#FFFC7C', + refPoints: '0,10 10,0 20,10 10,20' + }, + label: { + refX: 0.5, + refY: 0.5, + text: '判断', + fill: '#333', + fontSize: 14, + textAnchor: 'middle', + textVerticalAnchor: 'middle' + } + }, + ports: { + groups: { + top: { + position: 'top', + attrs: { + circle: { + r: 3, + magnet: true, + stroke: '#666', + strokeWidth: 1, + fill: '#fff' + }, + }, + }, + right: { + zIndex: 999999999, + position: 'right', + attrs: { + circle: { + r: 3, + magnet: true, + stroke: '#666', + strokeWidth: 1, + fill: '#fff' + }, + }, + label: { + position: 'right' + } + }, + bottom: { + zIndex: 999999999, + position: 'bottom', + attrs: { + circle: { + r: 3, + magnet: true, + stroke: '#666', + strokeWidth: 1, + fill: '#fff' + }, + }, + label: { + position: 'bottom' + } + }, + left: { + position: 'left', + attrs: { + circle: { + r: 3, + magnet: true, + stroke: '#666', + strokeWidth: 1, + fill: '#fff' + }, + }, + }, + }, + items: [ + { + id: 'top', + group: 'top' + }, + { + id: 'right', + group: 'right', + attrs: { + text: { + text: '是' + } + } + }, + { + id: 'bottom', + group: 'bottom', + attrs: { + text: { + text: '否' + } + } + }, + { + id: 'left', + group: 'left' + } + ] + }, + data: { + label: '判断', + configSchema: '{\n \n}', + configData: {}, + dependencies: '{\n \n}', + ports: { + right: { + condition: 'true' + }, + bottom: { + condition: 'false' + } + }, + code: 'export default async function(ctx) {\n return true;\n}' + } +}; + +export default schema; diff --git a/packages/core/src/common/baseCell/index.ts b/packages/core/src/common/baseCell/index.ts new file mode 100644 index 0000000..23e4325 --- /dev/null +++ b/packages/core/src/common/baseCell/index.ts @@ -0,0 +1,11 @@ +import start from './start'; +import branch from './branch'; +import behavior from './behavior'; + +const cellSchemaMap: {[key: string]: any} = { + 'imove-start': start, + 'imove-branch': branch, + 'imove-behavior': behavior +}; + +export default cellSchemaMap; diff --git a/packages/core/src/common/baseCell/start.ts b/packages/core/src/common/baseCell/start.ts new file mode 100644 index 0000000..66b8057 --- /dev/null +++ b/packages/core/src/common/baseCell/start.ts @@ -0,0 +1,99 @@ +import {Shape} from '@antv/x6'; + +const schema = { + base: Shape.Circle, + shape: 'imove-start', + width: 80, + height: 80, + label: '开始', + attrs: { + body: { + fill: '#333', + strokeWidth: 1, + stroke: '#333' + }, + label: { + fill: '#FFF' + } + }, + ports: { + groups: { + top: { + position: 'top', + attrs: { + circle: { + r: 3, + magnet: true, + stroke: '#666', + strokeWidth: 1, + fill: '#fff' + }, + }, + }, + right: { + position: 'right', + attrs: { + circle: { + r: 3, + magnet: true, + stroke: '#666', + strokeWidth: 1, + fill: '#fff' + }, + }, + }, + bottom: { + position: 'bottom', + attrs: { + circle: { + r: 3, + magnet: true, + stroke: '#666', + strokeWidth: 1, + fill: '#fff' + }, + }, + }, + left: { + position: 'left', + attrs: { + circle: { + r: 3, + magnet: true, + stroke: '#666', + strokeWidth: 1, + fill: '#fff' + }, + }, + }, + }, + items: [ + { + id: 'top', + group: 'top' + }, + { + id: 'right', + group: 'right' + }, + { + id: 'bottom', + group: 'bottom' + }, + { + id: 'left', + group: 'left' + } + ] + }, + data: { + label: '开始', + configSchema: '{\n \n}', + configData: {}, + trigger: 'start', + dependencies: '{\n \n}', + code: 'export default async function(ctx) {\n \n}' + } +}; + +export default schema; diff --git a/packages/core/src/common/previewCell/behavior.ts b/packages/core/src/common/previewCell/behavior.ts new file mode 100644 index 0000000..320ae38 --- /dev/null +++ b/packages/core/src/common/previewCell/behavior.ts @@ -0,0 +1,21 @@ +import {Shape} from '@antv/x6'; + +const schema = { + base: Shape.Rect, + shape: 'imove-behavior-preview', + top: 20, + width: 80, + height: 40, + label: '处理', + attrs: { + body: { + fill: '#AACCF7', + stroke: '#5E9CEE' + }, + label: { + fill: '#333' + } + } +}; + +export default schema; diff --git a/packages/core/src/common/previewCell/branch.ts b/packages/core/src/common/previewCell/branch.ts new file mode 100644 index 0000000..a17b54c --- /dev/null +++ b/packages/core/src/common/previewCell/branch.ts @@ -0,0 +1,29 @@ +import {Shape} from '@antv/x6'; + +const schema = { + base: Shape.Polygon, + shape: 'imove-branch-preview', + top: 20, + width: 80, + height: 40, + label: '分支', + attrs: { + body: { + strokeWidth: 2, + stroke: '#333', + fill: '#FFFC7C', + refPoints: '0,10 10,0 20,10 10,20' + }, + label: { + refX: 0.5, + refY: 0.5, + text: '判断', + fill: '#333', + fontSize: 14, + textAnchor: 'middle', + textVerticalAnchor: 'middle' + } + } +}; + +export default schema; diff --git a/packages/core/src/common/previewCell/index.ts b/packages/core/src/common/previewCell/index.ts new file mode 100644 index 0000000..70a4ca8 --- /dev/null +++ b/packages/core/src/common/previewCell/index.ts @@ -0,0 +1,11 @@ +import start from './start'; +import branch from './branch'; +import behavior from './behavior'; + +const cellSchemaMap: {[key: string]: any} = { + 'imove-start-preview': start, + 'imove-branch-preview': branch, + 'imove-behavior-preview': behavior +}; + +export default cellSchemaMap; diff --git a/packages/core/src/common/previewCell/start.ts b/packages/core/src/common/previewCell/start.ts new file mode 100644 index 0000000..989f72f --- /dev/null +++ b/packages/core/src/common/previewCell/start.ts @@ -0,0 +1,22 @@ +import {Shape} from '@antv/x6'; + +const schema = { + base: Shape.Circle, + shape: 'imove-start-preview', + top: 0, + width: 80, + height: 80, + label: '开始', + attrs: { + body: { + strokeWidth: 0, + stroke: '#333', + fill: '#333' + }, + label: { + fill: '#FFF' + } + }, +}; + +export default schema; diff --git a/packages/core/src/common/shortcuts.ts b/packages/core/src/common/shortcuts.ts new file mode 100644 index 0000000..af52ce1 --- /dev/null +++ b/packages/core/src/common/shortcuts.ts @@ -0,0 +1,139 @@ +import {Graph} from '@antv/x6'; +import {safeGet} from '../utils'; + +interface Shortcut { + keys: string | string[]; + handler: (flowChart: Graph) => void; +} + +const MIN_ZOOM = 0.5; +const MAX_ZOOM = 1.5; +const ZOOM_STEP = 0.1; + +const shortcuts: {[key: string]: Shortcut} = { + save: { + keys: `meta + s`, + handler(flowChart: Graph) { + // TODO: save data + console.log(JSON.stringify(flowChart.toJSON(), null, 2)); + fetch('http://localhost:3456/api/save', { + method: 'POST', + headers: { + 'content-type': 'application/json' + }, + body: JSON.stringify({dsl: flowChart.toJSON()}) + }); + return false; + } + }, + undo: { + keys: `meta + z`, + handler(flowChart: Graph) { + flowChart.undo(); + return false; + } + }, + redo: { + keys: `meta + shift + z`, + handler(flowChart: Graph) { + flowChart.redo(); + return false; + } + }, + zoomIn: { + keys: `meta + shift + \+`, + handler(flowChart: Graph) { + const nextZoom = (flowChart.zoom() + ZOOM_STEP).toPrecision(2); + flowChart.zoomTo(Number(nextZoom), {maxScale: MAX_ZOOM}); + return false; + } + }, + zoomOut: { + keys: `meta + shift + \-`, + handler(flowChart: Graph) { + const nextZoom = (flowChart.zoom() - ZOOM_STEP).toPrecision(2); + flowChart.zoomTo(Number(nextZoom), {minScale: MIN_ZOOM}); + return false; + } + }, + copy: { + keys: 'meta + c', + handler(flowChart: Graph) { + const cells = flowChart.getSelectedCells(); + if (cells.length > 0) { + flowChart.copy(cells); + } + return false; + } + }, + paste: { + keys: 'meta + v', + handler(flowChart: Graph) { + if (!flowChart.isClipboardEmpty()) { + const cells = flowChart.paste({offset: 32}); + flowChart.cleanSelection(); + flowChart.select(cells); + } + return false; + } + }, + delete: { + keys: ['backspace', 'del'], + handler(flowChart: Graph) { + flowChart.removeCells(flowChart.getSelectedCells()); + flowChart.trigger('toolBar:forceUpdate'); + return false; + } + }, + selectAll: { + keys: 'meta + a', + handler(flowChart: Graph) { + flowChart.select(flowChart.getCells()); + return false; + } + }, + bold: { + keys: 'meta + b', + handler(flowChart: Graph) { + const cells = flowChart.getSelectedCells(); + if (cells.length > 0) { + const isAlreadyBold = safeGet(cells, '0.attrs.label.fontWeight', 'normal') === 'bold'; + cells.forEach((cell) => { + cell.setAttrs({label: {fontWeight: isAlreadyBold ? 'normal' : 'bold'}}); + }); + flowChart.trigger('toolBar:forceUpdate'); + } + return false; + } + }, + italic: { + keys: 'meta + i', + handler(flowChart: Graph) { + const cells = flowChart.getSelectedCells(); + if(cells.length > 0) { + const isAlreadyItalic = safeGet(cells, '0.attrs.label.fontStyle', 'normal') === 'italic'; + cells.forEach((cell) => { + cell.setAttrs({label: {fontStyle: isAlreadyItalic ? 'normal' : 'italic'}}); + }); + flowChart.trigger('toolBar:forceUpdate'); + } + return false; + } + }, + underline: { + keys: 'meta + u', + handler(flowChart: Graph) { + const cells = flowChart.getSelectedCells(); + if(cells.length > 0) { + const isAlreadyUnderline = safeGet(cells, '0.attrs.label.textDecoration', 'none') === 'underline'; + cells.forEach((cell) => { + cell.setAttrs({label: {textDecoration: isAlreadyUnderline ? 'none' : 'underline'}}); + }); + flowChart.trigger('toolBar:forceUpdate'); + } + return false; + } + } +}; + +export default shortcuts; diff --git a/packages/core/src/components/cells/action.tsx b/packages/core/src/components/cells/action.tsx deleted file mode 100644 index f233c6e..0000000 --- a/packages/core/src/components/cells/action.tsx +++ /dev/null @@ -1,34 +0,0 @@ -/** @jsx jsx */ -import { jsx, css } from '@emotion/core'; -import { CellProps } from '../../model'; -import Label from '../../utils/styles/cells'; - -const StateCell = ({ label, scale = 1 }: CellProps): JSX.Element => { - const width = 48 * scale; - const height = 30 * scale; - return ( -
- - - - {label && } -
- ); -}; - -export default StateCell; diff --git a/packages/core/src/components/cells/decision.tsx b/packages/core/src/components/cells/decision.tsx deleted file mode 100644 index f868aa1..0000000 --- a/packages/core/src/components/cells/decision.tsx +++ /dev/null @@ -1,33 +0,0 @@ -/** @jsx jsx */ -import { jsx, css } from '@emotion/core'; -import { CellProps } from '../../model'; -import Label from '../../utils/styles/cells'; - -const DecisionCell = ({ label, scale = 1 }: CellProps): JSX.Element => { - const width = 48 * scale; - const height = 30 * scale; - return ( -
- - - - {label && } -
- ); -}; - -export default DecisionCell; diff --git a/packages/core/src/components/cells/end.tsx b/packages/core/src/components/cells/end.tsx deleted file mode 100644 index 810b56b..0000000 --- a/packages/core/src/components/cells/end.tsx +++ /dev/null @@ -1,27 +0,0 @@ -/** @jsx jsx */ -import { jsx, css } from '@emotion/core'; -import { CellProps } from '../../model'; - -const EndCell = ({ scale = 1 }: CellProps): JSX.Element => { - const width = 20 * scale; - const radius = 10 * scale; - return ( - - - - - ); -}; - -export default EndCell; diff --git a/packages/core/src/components/cells/index.tsx b/packages/core/src/components/cells/index.tsx deleted file mode 100644 index 09a6753..0000000 --- a/packages/core/src/components/cells/index.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import Start from './start'; -import Action from './action'; -import Decision from './decision'; -import End from './end'; - -const CellMap = { - start: Start, - action: Action, - decision: Decision, - end: End, -}; - -export default CellMap; - -export type CellTypes = keyof typeof CellMap; diff --git a/packages/core/src/components/cells/start.tsx b/packages/core/src/components/cells/start.tsx deleted file mode 100644 index 335f90b..0000000 --- a/packages/core/src/components/cells/start.tsx +++ /dev/null @@ -1,27 +0,0 @@ -/** @jsx jsx */ -import { jsx, css } from '@emotion/core'; -import { CellProps } from '../../model'; - -const StartCell = ({ scale = 1 }: CellProps): JSX.Element => { - const width = 20 * scale; - const radius = 10 * scale; - return ( - - - - - ); -}; - -export default StartCell; diff --git a/packages/core/src/components/colorPicker/index.tsx b/packages/core/src/components/colorPicker/index.tsx new file mode 100644 index 0000000..b1c6fb2 --- /dev/null +++ b/packages/core/src/components/colorPicker/index.tsx @@ -0,0 +1,31 @@ +import React, {useState, useEffect} from 'react'; + +import {SketchPicker, ColorResult} from 'react-color'; + +interface IProps { + color: string; + onChangeComplete: (color: string) => void; +} + +const ColorPicker: React.FC = (props) => { + + const {color, onChangeComplete: changeCb} = props; + const [curColor, setCurColor] = useState(color); + + // life + useEffect(() => setCurColor(color), [color]); + + // events + const onChange = (color: ColorResult): void => setCurColor(color.hex); + const onChangeComplete = (color: ColorResult): void => changeCb(color.hex); + + return ( + + ); +}; + +export default ColorPicker; diff --git a/packages/core/src/components/schema-form.tsx b/packages/core/src/components/schema-form.tsx deleted file mode 100644 index 075d7c6..0000000 --- a/packages/core/src/components/schema-form.tsx +++ /dev/null @@ -1,76 +0,0 @@ -import * as React from 'react'; -import { Form, Input, InputNumber } from 'antd'; -import 'antd/lib/input-number/style'; - -const { Item } = Form; - -const labelCol = { span: 7 }; - -export interface SchemaFormProps { - schema: any; - data: any; -} - -export interface SchemaFormState { - data: any; -} - -class SchemaForm extends React.Component { - constructor(props: SchemaFormProps) { - super(props); - - this.state = { - data: props.data, - }; - } - - changeValue = (e: React.ChangeEvent, key: string): void => { - const { data } = this.state; - const value = e.target.value.trim(); - if (!data.input) { - data.input = {}; - } - data.input[key] = value; - this.setState({ data }); - }; - - changeNumValue = (value: number | undefined, key: string): void => { - const { data } = this.state; - if (!data.input) { - data.input = {}; - } - data.input[key] = value; - this.setState({ data }); - }; - - render(): JSX.Element { - const { data } = this.state; - const { - schema: { properties }, - } = this.props; - - return ( -
- {Object.keys(properties).map((key) => ( - - {properties[key].type === 'string' ? ( - { - this.changeValue(e, key); - }} - /> - ) : ( - { - this.changeNumValue(value, key); - }} - /> - )} - - ))} -
- ); - } -} - -export default SchemaForm; diff --git a/packages/core/src/components/setting.tsx b/packages/core/src/components/setting.tsx deleted file mode 100644 index 40ad307..0000000 --- a/packages/core/src/components/setting.tsx +++ /dev/null @@ -1,164 +0,0 @@ -/** @jsx jsx */ -import { Component } from 'react'; -import { jsx, css } from '@emotion/core'; -import styled from '@emotion/styled'; -import { Graph, Cell } from '@antv/x6'; -import { Collapse, Form, Input } from 'antd'; -import SchemaForm from './schema-form'; -import 'antd/lib/form/style'; -import 'antd/lib/input/style'; - -const { Panel } = Collapse; -const { Item } = Form; - -const labelCol = { span: 7 }; - -const Header = styled.h3` - margin-bottom: 0; - padding-left: 20px; - height: 36px; - line-height: 36px; - font-size: 12px; - color: #555; - border-bottom: 1px solid #ddd; -`; - -const SettingCollapse = styled(Collapse)` - font-size: 14px; - border: none; - - > .ant-collapse-item > .ant-collapse-header { - height: 36px; - line-height: 12px; - font-size: 12px; - color: #666; - } -`; - -interface SettingProps { - graph: Graph; -} - -interface SettingState { - cell: Cell | null; -} - -class Setting extends Component { - constructor(props: SettingProps) { - super(props); - - this.state = { - cell: null, - }; - - const { graph } = this.props; - graph.on('selection:changed', () => { - const cells = graph.getSelectedCells(); - if (cells.length === 0) { - this.setState({ cell: null }); - return; - } - - const cell = cells[0]; - - if (cell.isEdge()) { - cell.data = {}; - } - - this.setState({ cell }); - }); - } - - render(): JSX.Element { - const { graph } = this.props; - const { cell } = this.state; - let cellType = ''; - - if (cell) { - if (cell.isNode()) { - cellType = cell.data.type.toUpperCase(); - } else { - cellType = 'EDGE'; - } - } else { - cellType = 'FLOW'; - } - - return ( -
-
{cellType}
- {cell && !['start', 'end'].includes(cell.data.type) && ( - - -
- - { - cell.data.label = e.target.value.trim(); - graph.setCellData(cell, cell.data); - }} - /> - -
-
- {/* -
- - { - if (!cell.data.data) { - cell.data.data = {}; - } - cell.data.data.event = e.target.value.trim(); - graph.setCellData(cell, cell.data); - }} - /> - -
-
*/} - {cell.data && cell.data.schema && Object.keys(cell.data.schema.properties).length && ( - - - - )} - -
- - { - if (!cell.data.data) { - cell.data.data = {}; - } - if (!cell.data.data.output) { - cell.data.data.output = {}; - } - cell.data.data.output.contextKey = e.target.value.trim(); - graph.setCellData(cell, cell.data); - }} - /> - -
-
-
- )} -
- ); - } -} - -export default Setting; diff --git a/packages/core/src/components/sidebar.tsx b/packages/core/src/components/sidebar.tsx deleted file mode 100644 index 85fdc70..0000000 --- a/packages/core/src/components/sidebar.tsx +++ /dev/null @@ -1,131 +0,0 @@ -/** @jsx jsx */ -import { useRef, useEffect, ReactNode } from 'react'; -import { jsx, css } from '@emotion/core'; -import styled from '@emotion/styled'; -import { Graph } from '@antv/x6'; -import { Collapse } from 'antd'; -import { generals, DataItem } from '../data/cells'; -import patchDnd from '../utils/patch-dnd'; -import Cells from './cells'; -import 'antd/lib/collapse/style'; - -const { Panel } = Collapse; - -const ToolCollapse = styled(Collapse)` - border: none; - - > .ant-collapse-item > .ant-collapse-header { - height: 36px; - line-height: 12px; - font-size: 12px; - color: #666; - } -`; - -const ToolPanel = styled(Panel)` - margin-right: -1px; - - .ant-collapse-content-box { - margin-bottom: -1px; - padding: 0; - overflow: hidden; - } -`; - -interface SidebarProps { - graph: Graph; - cells: DataItem[]; -} - -const CellWrapper = ({ data, children }: { data: DataItem; children: ReactNode }): JSX.Element => { - return ( -
-
- {children} -
- - {data.label} - -
- ); -}; - -const Sidebar = ({ graph, cells }: SidebarProps): JSX.Element => { - const generalRef = useRef(null); - const gistRef = useRef(null); - - useEffect(() => { - const generalContainer = generalRef.current; - patchDnd(generalContainer, graph, generals); - - const gistContainer = gistRef.current; - patchDnd(gistContainer, graph, cells); - }); - - return ( -
- - -
- {generals.map((cell) => { - const Cell = Cells[cell.type]; - return ( - - - - ); - })} -
-
- -
- {cells.map((cell) => { - const Cell = Cells[cell.type]; - return ( - - - - ); - })} -
-
-
-
- ); -}; - -export default Sidebar; diff --git a/packages/core/src/components/toolbar.tsx b/packages/core/src/components/toolbar.tsx deleted file mode 100644 index c39d3d6..0000000 --- a/packages/core/src/components/toolbar.tsx +++ /dev/null @@ -1,84 +0,0 @@ -import * as React from 'react'; -import styled from '@emotion/styled'; -import { Graph, UndoManager } from '@antv/x6'; -import { Tooltip } from 'antd'; -import { bindKey } from '../utils/tool'; -import getCommands from '../data/commands'; -import 'antd/lib/tooltip/style'; - -export interface ToolbarProps { - graph: Graph; - onSave: (data: { nodes: any; edges: any }) => void; -} - -const Group = styled.div` - position: relative; - display: inline-block; - box-sizing: border-box; - padding: 5px; - line-height: 25px; - - :first-of-type { - :before { - display: none; - } - } - - :before { - content: ''; - display: block; - position: absolute; - width: 1px; - height: 12px; - background: #d2d2d2; - top: 50%; - left: 0; - transform: translateY(-50%); - } -`; - -const Item = styled.span` - display: inline-block; - margin: 0 2px; - padding: 0 5px; - border-radius: 3px; - cursor: pointer; - - :hover { - background: #ddd; - } -`; - -const Toolbar = ({ graph, onSave }: ToolbarProps): JSX.Element => { - const undoManager = UndoManager.create(graph); - const commands = getCommands(graph, undoManager); - - bindKey(commands, graph); - - return ( -
- {commands.map((items) => ( - i.name).join('-')}> - {items.map((item) => ( - - { - if (item.name === 'save') { - const graphData = graph.toJSON(); - onSave(graphData); - return; - } - item.handler(); - }} - > - {item.icon} - - - ))} - - ))} -
- ); -}; - -export default Toolbar; diff --git a/packages/core/src/components/xIcon/index.tsx b/packages/core/src/components/xIcon/index.tsx new file mode 100644 index 0000000..5f190b6 --- /dev/null +++ b/packages/core/src/components/xIcon/index.tsx @@ -0,0 +1,13 @@ +import React from 'react'; +import {createFromIconfontCN} from '@ant-design/icons'; + +interface IconFontProps { + type: string; + className?: string; +} + +const XIcon: React.SFC = createFromIconfontCN({ + scriptUrl: '//at.alicdn.com/t/font_2024452_lw8k0l261fe.js' +}); + +export default XIcon; diff --git a/packages/core/src/data/cells.ts b/packages/core/src/data/cells.ts deleted file mode 100644 index 5c24e99..0000000 --- a/packages/core/src/data/cells.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { CellTypes } from '../components/cells'; - -interface Style { - width: number; - height: number; - scale: number; -} - -export interface DataItem { - label: string; - type: CellTypes; - style: Style; - data?: any; - isEdge?: boolean; - schema?: any; -} - -export const generals: DataItem[] = [ - { - label: 'Start Event', - type: 'start', - style: { - width: 20, - height: 20, - scale: 2, - }, - }, - { - label: 'End Event', - type: 'end', - style: { - width: 20, - height: 20, - scale: 2, - }, - }, -]; - -const items: any = []; - -new Array(localStorage.length).fill(1).forEach((val, index) => { - const item = localStorage.key(index); - if (item && item?.startsWith('cell')) { - let data: any = localStorage.getItem(item); - if (data) { - data = JSON.parse(data); - (data as any).type = data.type.toLowerCase(); - items.push(data); - } - } -}); - -export const gists: DataItem[] = items.map((item: any) => { - return { - label: item.label, - type: item.type, - style: { - width: 48, - height: 30, - scale: 2, - }, - data: { - code: item.code, - dependencies: [{ '@ali/rax-base': '^2.1.9' }], - }, - schema: item.schema, - }; -}); diff --git a/packages/core/src/data/commands.tsx b/packages/core/src/data/commands.tsx deleted file mode 100644 index bf12726..0000000 --- a/packages/core/src/data/commands.tsx +++ /dev/null @@ -1,89 +0,0 @@ -import * as React from 'react'; -import { - UndoOutlined, - RedoOutlined, - ZoomInOutlined, - ZoomOutOutlined, - RetweetOutlined, - FullscreenOutlined, - DeleteOutlined, - SaveOutlined, -} from '@ant-design/icons'; -import { Graph, UndoManager, Platform } from '@antv/x6'; -import * as Tool from '../utils/tool'; -import { Commands } from '../model'; - -export default function getCommands(graph: Graph, undoManager: UndoManager): Commands { - const ctrlKey = Platform.IS_MAC ? 'Cmd' : 'Ctrl'; - return [ - [ - { - name: 'undo', - icon: , - tooltip: '撤销', - shortcut: `${ctrlKey} + Z`, - handler: (): void => undoManager.undo(), - }, - { - name: 'redo', - icon: , - tooltip: '重做', - shortcut: `${ctrlKey} + Shift + Z`, - handler: (): void => undoManager.redo(), - }, - ], - [ - { - name: 'zoomIn', - icon: , - tooltip: '放大', - handler: Tool.zoomIn(graph), - }, - { - name: 'zoomOut', - icon: , - tooltip: '缩小', - handler: Tool.zoomOut(graph), - }, - ], - [ - { - name: 'resetView', - icon: , - tooltip: '重置视口', - handler: (): void => { - graph.zoomTo(1); - graph.center(); - }, - }, - { - name: 'fitWindow', - icon: , - tooltip: '适应窗口', - handler: (): void => { - graph.fit(8); - }, - }, - ], - [ - { - name: 'delete', - icon: , - tooltip: '删除', - shortcut: 'Delete', - handler: (): void => graph.deleteCells(), - }, - ], - [ - { - name: 'save', - icon: , - tooltip: '保存', - shortcut: `${ctrlKey} + S`, - handler: (): void => { - // code - }, - }, - ], - ]; -} diff --git a/packages/core/src/index.module.less b/packages/core/src/index.module.less new file mode 100644 index 0000000..a2dce57 --- /dev/null +++ b/packages/core/src/index.module.less @@ -0,0 +1,22 @@ +.container { + + display: flex; + flex-direction: column; + width: 100%; + height: 100%; + + .body { + + flex: 1; + display: flex; + flex-direction: row; + width: 100%; + height: 100%; + + .full { + flex: 1; + display: flex; + flex-direction: column; + } + } +} \ No newline at end of file diff --git a/packages/core/src/index.tsx b/packages/core/src/index.tsx index dc0fc96..b30545f 100644 --- a/packages/core/src/index.tsx +++ b/packages/core/src/index.tsx @@ -1,109 +1,49 @@ -import * as React from 'react'; -import { Layout } from 'antd'; -import { Graph, Shape, DomEvent } from '@antv/x6'; -import { ReactShape } from '@antv/x6-react-shape'; -import styled from '@emotion/styled'; -import Sidebar from './components/sidebar'; -import Toolbar from './components/toolbar'; -import Setting from './components/setting'; -import createGraph from './utils/create-graph'; -import { DataItem } from './data/cells'; -import 'antd/lib/layout/style'; +import React, {useState} from 'react'; -Shape.register('react', ReactShape, true); +import '@antv/x6/dist/x6.css'; +import styles from './index.module.less'; -const { Header, Sider, Content } = Layout; +import {Graph} from '@antv/x6'; +import Header from './mods/header'; +import SideBar from './mods/sideBar'; +import ToolBar from './mods/toolBar'; +import FlowChart from './mods/flowChart'; +import SettingBar from './mods/settingBar'; -const IMoveLayout = styled(Layout)` - height: 100%; -`; - -const IMoveHeader = styled(Header)` - height: 50px; - background: #fff; - border-bottom: 1px solid #ddd; -`; - -const IMoveTitle = styled.h2` - line-height: 50px; -`; - -const IMoveSider = styled(Sider)` - background: #fff; -`; - -const IMoveContent = styled(Content)` - position: relative; - padding-top: 35px; -`; - -const ToolWrapper = styled.div` - position: absolute; - top: 0; - width: 100%; - height: 35px; - line-height: 35px; - background: #fff; -`; - -interface CoreProps { - cells: DataItem[]; - onSave: (data: { nodes: any; edges: any }) => void; +interface IProps { + onSave: (data: {nodes: any; edges: any}) => void; } -interface CoreState { - inited: boolean; -} - -class Core extends React.Component { - private graph: Graph | null = null; - - private container = React.createRef(); - - constructor(props: CoreProps) { - super(props); - this.state = { - inited: false, - }; - } - - componentDidMount(): void { - const container = this.container.current; - if (container) { - DomEvent.disableContextMenu(container); - this.graph = createGraph(container); - this.graph.center(); - this.setState({ - inited: true, - }); - } - } - - render(): JSX.Element { - const { inited } = this.state; - const { cells, onSave } = this.props; - return ( - - - iMove - - - - {this.graph && inited && }2 - - - - {this.graph && inited && } - -
- - - {this.graph && inited && } - - - - ); - } -} +const Core: React.FC = props => { + + const {onSave} = props; + const [flowChart, setGraph] = useState(); + + const onFlowChartReady = (flowChart: Graph): void => { + setGraph(flowChart); + flowChart.on('node:added', (args) => { + flowChart.cleanSelection(); + flowChart.select(args.cell); + }); + flowChart.on('selection:changed', () => { + flowChart.trigger('toolBar:forceUpdate'); + flowChart.trigger('settingBar:forceUpdate'); + }); + }; + + return ( +
+
+
+ +
+ + +
+ +
+
+ ); +}; export default Core; diff --git a/packages/core/src/model/cells.ts b/packages/core/src/model/cells.ts deleted file mode 100644 index 70bd254..0000000 --- a/packages/core/src/model/cells.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface CellProps { - label?: string; - scale?: number; -} diff --git a/packages/core/src/model/commands.ts b/packages/core/src/model/commands.ts deleted file mode 100644 index 19de9b9..0000000 --- a/packages/core/src/model/commands.ts +++ /dev/null @@ -1,9 +0,0 @@ -interface Command { - name: string; - icon: JSX.Element; - tooltip: string; - shortcut?: string; - handler: () => void; -} - -export type Commands = Command[][]; diff --git a/packages/core/src/model/index.ts b/packages/core/src/model/index.ts deleted file mode 100644 index 3d0feb8..0000000 --- a/packages/core/src/model/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './cells'; -export * from './commands'; diff --git a/packages/core/src/mods/flowChart/index.module.less b/packages/core/src/mods/flowChart/index.module.less new file mode 100644 index 0000000..ee91bed --- /dev/null +++ b/packages/core/src/mods/flowChart/index.module.less @@ -0,0 +1,19 @@ +.container { + + position: relative; + display: flex; + flex: 1; + width: 100%; + height: 100%; + + .flowChart { + width: 100%; + height: 100%; + } + + .miniMap { + position: absolute; + right: 40px; + bottom: 40px; + } +} \ No newline at end of file diff --git a/packages/core/src/mods/flowChart/index.tsx b/packages/core/src/mods/flowChart/index.tsx new file mode 100644 index 0000000..41d4e21 --- /dev/null +++ b/packages/core/src/mods/flowChart/index.tsx @@ -0,0 +1,30 @@ +import React, {useRef, useEffect} from 'react'; + +import styles from './index.module.less'; + +import {Graph} from '@antv/x6'; +import createGraph from '../../utils/createGraph'; + +interface IProps { + onReady: (graph: Graph) => void; +} + +const FlowChart: React.FC = props => { + const {onReady} = props; + const graphRef = useRef(null); + const miniMapRef = useRef(null); + useEffect(() => { + if(graphRef.current && miniMapRef.current) { + const graph = createGraph(graphRef.current, miniMapRef.current); + onReady(graph); + } + }, []); + return ( +
+
+
+
+ ); +}; + +export default FlowChart; diff --git a/packages/core/src/mods/header/index.module.less b/packages/core/src/mods/header/index.module.less new file mode 100644 index 0000000..320a117 --- /dev/null +++ b/packages/core/src/mods/header/index.module.less @@ -0,0 +1,12 @@ +.container { + height: 48px; + line-height: 48px; + background-color: #FEFEFE; + border-bottom: 1px solid #D9D9D9; +} + +.titleText { + margin-left: 20px; + font-size: 24px; + font-weight: 500; +} \ No newline at end of file diff --git a/packages/core/src/mods/header/index.tsx b/packages/core/src/mods/header/index.tsx new file mode 100644 index 0000000..f527a8c --- /dev/null +++ b/packages/core/src/mods/header/index.tsx @@ -0,0 +1,18 @@ +import React from 'react'; + +import styles from './index.module.less'; + +interface IProps { + title?: string; +} + +const Header: React.FC = props => { + const {title = 'iMove'} = props; + return ( +
+ {title} +
+ ); +} + +export default Header; diff --git a/packages/core/src/mods/settingBar/components/checkbox/index.module.less b/packages/core/src/mods/settingBar/components/checkbox/index.module.less new file mode 100644 index 0000000..8b3412a --- /dev/null +++ b/packages/core/src/mods/settingBar/components/checkbox/index.module.less @@ -0,0 +1,9 @@ +.container { + + margin-top: 20px; + + .titleText { + font-size: 14px; + margin-bottom: 10px; + } +} diff --git a/packages/core/src/mods/settingBar/components/checkbox/index.tsx b/packages/core/src/mods/settingBar/components/checkbox/index.tsx new file mode 100644 index 0000000..4ee5d3e --- /dev/null +++ b/packages/core/src/mods/settingBar/components/checkbox/index.tsx @@ -0,0 +1,34 @@ +import React from 'react'; + +import 'antd/es/checkbox/style'; +import styles from './index.module.less'; + +import {Checkbox as AntdCheckbox} from 'antd'; +import {CheckboxChangeEvent} from 'antd/lib/checkbox'; + +interface IProps { + value: any; + name: string; + title: string; + disabled?: boolean; + description?: string; + onValueChange: (val: boolean) => void; +} + +const Checkbox: React.FC = props => { + const {name, title, value, disabled, onValueChange} = props; + const onChange = (evt: CheckboxChangeEvent): void => { + console.log(evt.target.checked) + if(evt.target.checked !== value) { + onValueChange(evt.target.checked); + } + }; + return ( +
+

{title}

+ +
+ ); +}; + +export default Checkbox; diff --git a/packages/core/src/mods/settingBar/components/code/index.module.less b/packages/core/src/mods/settingBar/components/code/index.module.less new file mode 100644 index 0000000..1b602f6 --- /dev/null +++ b/packages/core/src/mods/settingBar/components/code/index.module.less @@ -0,0 +1,27 @@ +.container { + + margin-top: 20px; + + .titleText { + font-size: 14px; + margin-bottom: 10px; + } + + .btn { + margin-top: 5px; + } +} + +.editModal { + + :global { + .ant-modal-body { + padding: 0; + } + } + + .editor { + width: 100%; + height: 400; + } +} diff --git a/packages/core/src/mods/settingBar/components/code/index.tsx b/packages/core/src/mods/settingBar/components/code/index.tsx new file mode 100644 index 0000000..b62d20b --- /dev/null +++ b/packages/core/src/mods/settingBar/components/code/index.tsx @@ -0,0 +1,130 @@ +import React, {useState, useEffect} from 'react'; + +import 'antd/es/modal/style'; +import 'antd/es/button/style'; +import styles from './index.module.less'; + +import AceEditor from 'react-ace'; +import {Button, Modal} from 'antd'; +import 'ace-builds/src-noconflict/theme-dracula'; +import 'ace-builds/src-noconflict/mode-javascript'; +import 'ace-builds/src-noconflict/snippets/javascript'; +import 'ace-builds/src-noconflict/ext-language_tools'; + +interface IProps { + value: any; + name: string; + title: string; + onValueChange: (value: string) => void; +} + +const Code: React.FC = props => { + + const {title, value, onValueChange} = props; + const [visible, setVisible] = useState(false); + + // events + const onClickEdit = (): void => { + setVisible(true); + }; + const onClickCancel = (): void => { + setVisible(false); + }; + const onClickOk = (newJson: string): void => { + setVisible(false); + onValueChange(newJson); + }; + + return ( +
+

{title}

+ + +
+ ); +}; + +interface IEditorModalProps { + visible: boolean; + title: string; + value: string; + onOk: (val: string) => void; + onCancel: () => void; +} + +const CODE_EDITOR_STYLE = { + width: '100%', + height: 400 +}; +const CODE_EDITOR_OPTIONS = { + useWorker: false +}; + +const EditModal: React.FC = props => { + + const {visible, title, value, onOk, onCancel} = props; + const [code, setCode] = useState(value); + + // life + useEffect(() => { + // set value when opening modal + // clear content when closing modal + if(visible) { + setCode(value); + } else { + setCode(''); + } + }, [visible]); + + // events + const onClickOk = (): void => { + onOk(code); + }; + const onChangeCode = (newCode: string): void => { + if(newCode !== code) { + setCode(newCode); + } + }; + + return ( + + + + ); +}; + +export default Code; diff --git a/packages/core/src/mods/settingBar/components/input/index.module.less b/packages/core/src/mods/settingBar/components/input/index.module.less new file mode 100644 index 0000000..8b3412a --- /dev/null +++ b/packages/core/src/mods/settingBar/components/input/index.module.less @@ -0,0 +1,9 @@ +.container { + + margin-top: 20px; + + .titleText { + font-size: 14px; + margin-bottom: 10px; + } +} diff --git a/packages/core/src/mods/settingBar/components/input/index.tsx b/packages/core/src/mods/settingBar/components/input/index.tsx new file mode 100644 index 0000000..5fc5042 --- /dev/null +++ b/packages/core/src/mods/settingBar/components/input/index.tsx @@ -0,0 +1,32 @@ +import React from 'react'; + +import 'antd/es/input/style'; +import styles from './index.module.less'; + +import {Input as AntdInput} from 'antd'; + +interface IProps { + value: any; + name: string; + title: string; + disabled?: boolean; + description?: string; + onValueChange: (val: string) => void; +} + +const Input: React.FC = props => { + const {name, title, value, disabled, onValueChange} = props; + const onChange = (evt: React.ChangeEvent): void => { + if(evt.target.value !== value) { + onValueChange(evt.target.value); + } + }; + return ( +
+

{title}

+ +
+ ); +}; + +export default Input; diff --git a/packages/core/src/mods/settingBar/components/json/index.module.less b/packages/core/src/mods/settingBar/components/json/index.module.less new file mode 100644 index 0000000..4adbf15 --- /dev/null +++ b/packages/core/src/mods/settingBar/components/json/index.module.less @@ -0,0 +1,27 @@ +.container { + + margin-top: 20px; + + .titleText { + font-size: 14px; + margin-bottom: 10px; + } + + .btn { + margin-top: 5px; + } +} + +.editModal { + + :global { + .ant-modal-body { + padding: 0; + } + } + + .editor { + width: 100%; + height: 400; + } +} diff --git a/packages/core/src/mods/settingBar/components/json/index.tsx b/packages/core/src/mods/settingBar/components/json/index.tsx new file mode 100644 index 0000000..29b84a8 --- /dev/null +++ b/packages/core/src/mods/settingBar/components/json/index.tsx @@ -0,0 +1,145 @@ +import React, {useState, useEffect} from 'react'; + +import 'antd/es/modal/style'; +import 'antd/es/button/style'; +import 'antd/es/message/style'; +import styles from './index.module.less'; + +import AceEditor from 'react-ace'; +import JsonView from 'react-json-view'; +import {Button, Modal, message} from 'antd'; +import {safeParse} from '../../../../utils'; +import 'ace-builds/src-noconflict/mode-json'; +import 'ace-builds/src-noconflict/theme-dracula'; +import 'ace-builds/src-noconflict/snippets/json'; +import 'ace-builds/src-noconflict/ext-language_tools'; + +interface IJsonProps { + value: any; + name: string; + title: string; + onValueChange: (value: string) => void; +} + +const Json: React.FC = props => { + + const {title, value, onValueChange} = props; + const [visible, setVisible] = useState(false); + + // events + const onClickEdit = (): void => { + setVisible(true); + }; + const onClickCancel = (): void => { + setVisible(false); + }; + const onClickOk = (newJson: string): void => { + setVisible(false); + onValueChange(newJson); + }; + + return ( +
+

{title}

+ + + +
+ ); +}; + +interface IEditorModalProps { + visible: boolean; + title: string; + value: string; + onOk: (val: string) => void; + onCancel: () => void; +} + +const CODE_EDITOR_STYLE = { + width: '100%', + height: 400 +}; +const CODE_EDITOR_OPTIONS = { + useWorker: false +}; + +const EditModal: React.FC = props => { + + const {visible, title, value, onOk, onCancel} = props; + const [json, setJson] = useState(''); + + // life + useEffect(() => { + // set value when opening modal + // clear content when closing modal + if(visible) { + setJson(value); + } else { + setJson(''); + } + }, [visible]); + + // events + const onClickOk = (): void => { + try { + JSON.parse(json); + onOk(json); + } catch(err) { + message.error('内容必须是合法json'); + console.log('save failed, the error is:', err.message); + } + }; + const onChangeJson = (newJson: string): void => { + if(newJson !== json) { + setJson(newJson); + } + }; + + return ( + + + + ); +}; + +export default Json; diff --git a/packages/core/src/mods/settingBar/index.module.less b/packages/core/src/mods/settingBar/index.module.less new file mode 100644 index 0000000..0296448 --- /dev/null +++ b/packages/core/src/mods/settingBar/index.module.less @@ -0,0 +1,35 @@ +.container { + + display: flex; + flex-direction: column; + width: 350px; + height: 100%; + border-left: 1px solid #D9D9D9; + + &.center { + justify-content: center; + align-items: center; + } + + :global { + + .ant-tabs-nav { + margin-bottom: 0; + } + + .ant-tabs-nav-list { + display: flex; + flex: 1; + } + + .ant-tabs-tab { + display: flex; + flex: 1; + justify-content: center; + align-items: center; + padding: 10px 0; + background-color: #FAFAFA; + border-bottom: 1px solid #D9D9D9; + } + } +} diff --git a/packages/core/src/mods/settingBar/index.tsx b/packages/core/src/mods/settingBar/index.tsx new file mode 100644 index 0000000..af01c9b --- /dev/null +++ b/packages/core/src/mods/settingBar/index.tsx @@ -0,0 +1,58 @@ +import React, {useEffect, useReducer} from 'react'; + +import 'antd/es/tabs/style'; +import 'antd/es/empty/style'; +import styles from './index.module.less'; + +import {Empty, Tabs} from 'antd'; +import Basic from './mods/basic'; +import Config from './mods/config'; +import {Graph} from '@antv/x6'; + +const {TabPane} = Tabs; + +interface IProps { + flowChart: Graph | undefined; +} + +const SettingBar: React.FC = props => { + const {flowChart} = props; + const [ignored, forceUpdate] = useReducer(n => n + 1, 0); + useEffect(() => { + flowChart && flowChart.on('settingBar:forceUpdate', forceUpdate); + return () => { + flowChart && flowChart.off('settingBar:forceUpdate'); + }; + }, [flowChart]); + if(!flowChart) { + return ( +
+ +
+ ); + } else { + const nodes = flowChart.getSelectedCells().filter(v => v.shape !== 'edge'); + if(nodes.length === 1) { + return ( +
+ + + + + + + + +
+ ); + } else { + return ( +
+ +
+ ); + } + } +}; + +export default SettingBar; diff --git a/packages/core/src/mods/settingBar/mods/basic/index.module.less b/packages/core/src/mods/settingBar/mods/basic/index.module.less new file mode 100644 index 0000000..2d50989 --- /dev/null +++ b/packages/core/src/mods/settingBar/mods/basic/index.module.less @@ -0,0 +1,5 @@ +.container { + padding: 0 20px; + height: 100%; + overflow: scroll; +} diff --git a/packages/core/src/mods/settingBar/mods/basic/index.tsx b/packages/core/src/mods/settingBar/mods/basic/index.tsx new file mode 100644 index 0000000..f256908 --- /dev/null +++ b/packages/core/src/mods/settingBar/mods/basic/index.tsx @@ -0,0 +1,88 @@ +import React, {useState, useEffect} from 'react'; + +import styles from './index.module.less'; + +import {Cell} from '@antv/x6'; +import Json from '../../components/json'; +import Code from '../../components/code'; +import Input from '../../components/input'; + +interface IProps { + selectedCell: Cell; +} + +interface IBasicData { + label: string; + code: string; + trigger?: string; + dependencies: string; + configSchema: string; +} + +const Basic: React.FC = props => { + + const {selectedCell} = props; + const [data, setData] = useState(); + const {label, code, trigger, dependencies, configSchema} = data || {}; + + // life + useEffect(() => { + setData(selectedCell.getData()); + }, [selectedCell]); + + // events + const commonChange = (key: string, val: string): void => { + selectedCell.setData({[key]: val}); + setData(Object.assign({}, data, {[key]: val})); + }; + const onChangeLabel = (val: string): void => { + commonChange('label', val); + selectedCell.setAttrs({label: {text: val}}); + }; + const onChangeConfigSchema = (val: string): void => { + commonChange('configSchema', val); + selectedCell.trigger('change:configSchema', {configSchema: val}); + }; + const onChangeCode = (val: string): void => commonChange('code', val); + const onChangeTrigger = (val: string): void => commonChange('trigger', val); + const onChangeDependencies = (val: string): void => commonChange('dependencies', val); + + return ( +
+ + {selectedCell.shape === 'imove-start' && ( + + )} + + + +
+ ); +}; + +export default Basic; diff --git a/packages/core/src/mods/settingBar/mods/config/index.module.less b/packages/core/src/mods/settingBar/mods/config/index.module.less new file mode 100644 index 0000000..05e7233 --- /dev/null +++ b/packages/core/src/mods/settingBar/mods/config/index.module.less @@ -0,0 +1,23 @@ +.container { + + display: flex; + flex-direction: column; + padding: 0 20px; + height: 100%; + + .empty { + margin-top: 100px; + } + + .footContainer { + + display: flex; + flex-direction: row; + justify-content: flex-end; + margin-top: 20px; + + .saveBtn { + margin-left: 20px; + } + } +} \ No newline at end of file diff --git a/packages/core/src/mods/settingBar/mods/config/index.tsx b/packages/core/src/mods/settingBar/mods/config/index.tsx new file mode 100644 index 0000000..83fb0a9 --- /dev/null +++ b/packages/core/src/mods/settingBar/mods/config/index.tsx @@ -0,0 +1,120 @@ +import React, {useState, useEffect} from 'react'; + +import styles from './index.module.less'; + +import {Cell} from '@antv/x6'; +import {Button ,Empty} from 'antd'; +import Input from '../../components/input'; +import Checkbox from '../../components/checkbox'; +import {safeParse} from '../../../../utils'; + +// FIXME +// save original config in tempConfig when change to edit mode +// and recover original config when click cancel button +let tempConfig: any = null; + +enum Mode { + edit = 'edit', + readOnly = 'readOnly' +} + +interface IConfig { + [key: string]: any; +} + +interface IProps { + selectedCell: Cell; +} + +const Config: React.FC = props => { + + const {selectedCell} = props; + const [mode, setMode] = useState(Mode.readOnly); + const [configData, setConfigData] = useState({}); + const [configSchema, setConfigSchema] = useState({}); + + // life + useEffect(() => { + const {configSchema, configData = {}} = selectedCell.getData() || {}; + setConfigData(configData); + setConfigSchema(safeParse(configSchema)); + selectedCell.on('change:configSchema', (data: {configSchema: string}) => { + setConfigSchema(safeParse(data.configSchema)); + }); + return () => { + selectedCell.off('change:configSchema'); + }; + }, [selectedCell]); + + // events + const onFieldValueChange = (key: string, value: any) => { + setConfigData(Object.assign({}, configData, {[key]: value})); + }; + const onClickEdit = (): void => { + setMode(Mode.edit); + tempConfig = configData; + }; + const onClickCancel = (): void => { + setMode(Mode.readOnly); + setConfigData(tempConfig); + }; + const onClickSave = (): void => { + setMode(Mode.readOnly); + selectedCell.setData({configData}); + }; + + // no config schema + if(!configSchema || Object.keys(configSchema).length === 0) { + return ( +
+ +
+ ); + } else { + return ( +
+ {Object.keys(configSchema).map((key, idx) => { + const {title, description, type} = configSchema[key]; + const FieldComponent = Helper.getFieldComponent(type); + return ( + onFieldValueChange(key, value)} + /> + ); + })} + {mode === Mode.readOnly ? ( +
+ +
+ ) : ( +
+ + +
+ )} +
+ ); + } +}; + +const Helper = { + getFieldComponent(type: string) { + if(type === 'boolean') { + return Checkbox; + } else { + return Input; + } + } +} + +export default Config; diff --git a/packages/core/src/mods/sideBar/index.module.less b/packages/core/src/mods/sideBar/index.module.less new file mode 100644 index 0000000..40150b1 --- /dev/null +++ b/packages/core/src/mods/sideBar/index.module.less @@ -0,0 +1,20 @@ +.container { + + width: 235px; + border-right: 1px solid #D9D9D9; + + :global { + .ant-collapse > .ant-collapse-item > .ant-collapse-header { + padding: 10px 16px 10px 40px; + } + } + + .collapse { + border: 0; + border-radius: 0; + } +} + +.chart { + width: 100%; +} diff --git a/packages/core/src/mods/sideBar/index.tsx b/packages/core/src/mods/sideBar/index.tsx new file mode 100644 index 0000000..46d6adb --- /dev/null +++ b/packages/core/src/mods/sideBar/index.tsx @@ -0,0 +1,109 @@ +import React, {useState, useEffect, useRef} from 'react'; + +import 'antd/es/collapse/style'; +import styles from './index.module.less'; + +import {Collapse} from 'antd'; +import {Addon, Events, Graph, Node} from '@antv/x6'; +import previewCellSchemaMap from '../../common/previewCell'; + +const {Dnd} = Addon; +const {Panel} = Collapse; +const CELL_SIZE = 80; +const CELL_SCALE = 0.7; +const GENERAL_GROUP = { + key: 'general', + name: '通用元件', + cells: ['imove-start-preview', 'imove-branch-preview', 'imove-behavior-preview'] +}; +const SHAPE_REFLECT_MAP: {[key: string]: string} = { + 'imove-start-preview': 'imove-start', + 'imove-branch-preview': 'imove-branch', + 'imove-behavior-preview': 'imove-behavior', +}; + +interface IGroupItem { + key: string; + name: string; + cells: string[]; +} + +interface ISideBarPorps { + flowChart: Graph | undefined; +} + +const SideBar: React.FC = props => { + + const {flowChart} = props; + const [dnd, setDnd] = useState(); + const [groups, setGroups] = useState([]); + + // life + useEffect(() => { + // TODO: fetch to get custom group data + setGroups([GENERAL_GROUP]); + }, []); + useEffect(() => { + if(flowChart) { + setDnd(new Dnd({target: flowChart, scaled: true})); + } + }, [flowChart]); + + return ( +
+ {flowChart && dnd && ( + + {groups.map(group => ( + + + + ))} + + )} +
+ ); +}; + +interface IPanelContentProps { + dnd: Addon.Dnd; + cells: string[]; + flowChart: Graph; +} + +const PanelContent: React.FC = props => { + const {dnd, cells, flowChart} = props; + const ref = useRef(null); + useEffect(() => { + if(ref.current && flowChart) { + const graph = new Graph({ + container: ref.current, + width: ref.current.offsetWidth, + height: Math.ceil(cells.length / 3) * CELL_SIZE * CELL_SCALE, + interacting: false, + preventDefaultBlankAction: false, + }); + cells.forEach((cell: any, index: number) => { + const rowIdx = Math.floor(index / 3); + const colIdx = index % 3; + const {top} = previewCellSchemaMap[cell] || {}; + graph.addNode({ + shape: cell, + x: colIdx * (CELL_SIZE + 16 / CELL_SCALE), + y: rowIdx * (CELL_SIZE + 16 / CELL_SCALE) + top + }); + }); + graph.scale(CELL_SCALE, CELL_SCALE); + graph.on('cell:mousedown', (args: Events.EventArgs['cell:mousedown']) => { + const {node, e} = args; + let newNode = node; + if(SHAPE_REFLECT_MAP[node.shape]) { + newNode = Node.create({shape: SHAPE_REFLECT_MAP[node.shape]}); + } + dnd.start(newNode, e); + }); + } + }, [flowChart]); + return
; +}; + +export default SideBar; diff --git a/packages/core/src/mods/toolBar/index.module.less b/packages/core/src/mods/toolBar/index.module.less new file mode 100644 index 0000000..364d3eb --- /dev/null +++ b/packages/core/src/mods/toolBar/index.module.less @@ -0,0 +1,18 @@ +.container { + + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: center; + height: 43px; + background-color: #FAFAFA; + border-bottom: 1px solid #D9D9D9; + + .group { + display: flex; + flex-direction: row; + align-items: center; + height: 43px; + border-right: 1px solid #D9D9D9; + } +} diff --git a/packages/core/src/mods/toolBar/index.tsx b/packages/core/src/mods/toolBar/index.tsx new file mode 100644 index 0000000..9c598aa --- /dev/null +++ b/packages/core/src/mods/toolBar/index.tsx @@ -0,0 +1,35 @@ +import React, {useEffect, useReducer} from 'react'; + +import 'antd/es/tooltip/style'; +import styles from './index.module.less'; + +import {Graph} from '@antv/x6'; +import widgets from './widgets'; + +interface IProps { + flowChart: Graph | undefined; +} + +const ToolBar: React.FC = props => { + const {flowChart} = props; + const [ignored, forceUpdate] = useReducer(n => n + 1, 0); + useEffect(() => { + flowChart && flowChart.on('toolBar:forceUpdate', forceUpdate); + return () => { + flowChart && flowChart.off('toolBar:forceUpdate'); + }; + }, [flowChart]); + return ( +
+ {flowChart && widgets.map((group, index) => ( +
+ {group.map((ToolItem, index) => { + return ; + })} +
+ ))} +
+ ); +}; + +export default ToolBar; diff --git a/packages/core/src/mods/toolBar/widgets/bgColor.tsx b/packages/core/src/mods/toolBar/widgets/bgColor.tsx new file mode 100644 index 0000000..49bacee --- /dev/null +++ b/packages/core/src/mods/toolBar/widgets/bgColor.tsx @@ -0,0 +1,54 @@ +import React from 'react'; + +import 'antd/es/menu/style'; +import styles from './index.module.less'; + +import {Graph} from '@antv/x6'; +import {safeGet} from '../../../utils'; +import XIcon from '../../../components/xIcon'; +import makeDropdownWidget from './makeDropdownWidget'; +import ColorPicker from '../../../components/colorPicker'; + +interface IProps { + flowChart: Graph; +} + +const BgColor: React.FC = makeDropdownWidget({ + tooltip: '填充颜色', + getIcon(flowChart: Graph) { + let bgColor = '#DDD'; + const cells = flowChart.getSelectedCells(); + if(cells.length > 0) { + bgColor = safeGet(cells, '0.attrs.body.fill', '#575757'); + } + return ( +
+ +
+
+ ); + }, + getOverlay(flowChart: Graph, onChange: (data: any) => void) { + let bgColor = '#DDD'; + const cells = flowChart.getSelectedCells(); + if(cells.length > 0) { + bgColor = safeGet(cells, '0.attrs.body.fill', '#575757'); + } + const onChangeComplete = (color: string) => onChange(color); + return ( + + ); + }, + handler: (flowChart: Graph, value: any) => { + const cells = flowChart.getSelectedCells(); + if(cells.length > 0) { + cells.forEach(cell => cell.setAttrs({body: {fill: value}})); + flowChart.trigger('toolBar:forceUpdate'); + } + }, + disabled(flowChart: Graph) { + return flowChart.getSelectedCellCount() === 0; + }, +}); + +export default BgColor; diff --git a/packages/core/src/mods/toolBar/widgets/bold.tsx b/packages/core/src/mods/toolBar/widgets/bold.tsx new file mode 100644 index 0000000..b3acf68 --- /dev/null +++ b/packages/core/src/mods/toolBar/widgets/bold.tsx @@ -0,0 +1,32 @@ +import React from 'react'; + +import {Graph} from '@antv/x6'; +import {safeGet} from '../../../utils'; +import makeBtnWidget from './makeBtnWidget'; +import {BoldOutlined} from '@ant-design/icons'; +import shortcuts from '../../../common/shortcuts'; + +interface IProps { + flowChart: Graph +} + +const Bold: React.FC = makeBtnWidget({ + tooltip: '加粗', + handler: shortcuts['bold'].handler, + getIcon() { + return ; + }, + disabled(flowChart: Graph) { + return flowChart.getSelectedCellCount() === 0; + }, + selected(flowChart: Graph) { + const cells = flowChart.getSelectedCells(); + if(cells.length > 0) { + return safeGet(cells, '0.attrs.label.fontWeight', 'normal') === 'bold'; + } else { + return false; + } + } +}); + +export default Bold; diff --git a/packages/core/src/mods/toolBar/widgets/bringToBack.tsx b/packages/core/src/mods/toolBar/widgets/bringToBack.tsx new file mode 100644 index 0000000..cff976e --- /dev/null +++ b/packages/core/src/mods/toolBar/widgets/bringToBack.tsx @@ -0,0 +1,27 @@ +import React from 'react'; + +import {Graph} from '@antv/x6'; +import makeBtnWidget from './makeBtnWidget'; +import XIcon from '../../../components/xIcon'; + +interface IProps { + flowChart: Graph +} + +const BringToBack: React.FC = makeBtnWidget({ + tooltip: '置于底层', + getIcon() { + return ; + }, + handler(flowChart: Graph) { + const cells = flowChart.getSelectedCells(); + if(cells.length === 1) { + cells[0].toBack(); + } + }, + disabled(flowChart: Graph) { + return flowChart.getSelectedCellCount() === 0; + } +}); + +export default BringToBack; \ No newline at end of file diff --git a/packages/core/src/mods/toolBar/widgets/bringToTop.tsx b/packages/core/src/mods/toolBar/widgets/bringToTop.tsx new file mode 100644 index 0000000..d3c9a34 --- /dev/null +++ b/packages/core/src/mods/toolBar/widgets/bringToTop.tsx @@ -0,0 +1,29 @@ +//at.alicdn.com/t/font_2024452_s39le1337k9.js +import React from 'react'; + +import {Graph} from '@antv/x6'; +import makeBtnWidget from './makeBtnWidget'; +import XIcon from '../../../components/xIcon'; +import shortcuts from '../../../common/shortcuts'; + +interface IProps { + flowChart: Graph +} + +const BringToTop: React.FC = makeBtnWidget({ + tooltip: '置于顶层', + getIcon() { + return ; + }, + handler(flowChart: Graph) { + const cells = flowChart.getSelectedCells(); + if(cells.length === 1) { + cells[0].toFront(); + } + }, + disabled(flowChart: Graph) { + return flowChart.getSelectedCellCount() === 0; + } +}); + +export default BringToTop; \ No newline at end of file diff --git a/packages/core/src/mods/toolBar/widgets/fitWindow.tsx b/packages/core/src/mods/toolBar/widgets/fitWindow.tsx new file mode 100644 index 0000000..822f444 --- /dev/null +++ b/packages/core/src/mods/toolBar/widgets/fitWindow.tsx @@ -0,0 +1,21 @@ +import React from 'react'; + +import {Graph} from '@antv/x6'; +import makeBtnWidget from './makeBtnWidget'; +import {FullscreenExitOutlined} from '@ant-design/icons'; + +interface IProps { + flowChart: Graph +} + +const FitWindow: React.FC = makeBtnWidget({ + tooltip: '适配窗口', + getIcon() { + return ; + }, + handler(flowChart: Graph) { + flowChart.zoomToFit({minScale: 0.5, maxScale: 1}); + } +}); + +export default FitWindow; diff --git a/packages/core/src/mods/toolBar/widgets/fontSize.tsx b/packages/core/src/mods/toolBar/widgets/fontSize.tsx new file mode 100644 index 0000000..bac8acc --- /dev/null +++ b/packages/core/src/mods/toolBar/widgets/fontSize.tsx @@ -0,0 +1,52 @@ +import React from 'react'; + +import 'antd/es/menu/style'; + +import {Menu} from 'antd'; +import {Graph} from '@antv/x6'; +import {safeGet} from '../../../utils'; +import makeDropdownWidget from './makeDropdownWidget'; + +interface IProps { + flowChart: Graph +} + +const MenuItem = Menu.Item; +const FONT_SIZE_SET = [ + 9, 10, 11, 12, 13, 14, 15, 16, 19, 22, 24, 29, 32 +]; + +const FontSize: React.FC = makeDropdownWidget({ + tooltip: '字号', + getIcon(flowChart: Graph) { + let fontSize = 14; + const cells = flowChart.getSelectedCells(); + if(cells.length > 0) { + fontSize = safeGet(cells, '0.attrs.label.fontSize', 14); + } + return {fontSize}px; + }, + getOverlay(flowChart: Graph, onChange: (data: any) => void) { + return ( + onChange(args.key)}> + {FONT_SIZE_SET.map(fontSize => ( + + {fontSize} px + + ))} + + ); + }, + handler: (flowChart: Graph, value: any) => { + const cells = flowChart.getSelectedCells(); + if(cells.length > 0) { + cells.forEach(cell => cell.setAttrs({label: {fontSize: value}})); + flowChart.trigger('toolBar:forceUpdate'); + } + }, + disabled(flowChart: Graph) { + return flowChart.getSelectedCellCount() === 0; + }, +}); + +export default FontSize; diff --git a/packages/core/src/mods/toolBar/widgets/horizontalAlign.tsx b/packages/core/src/mods/toolBar/widgets/horizontalAlign.tsx new file mode 100644 index 0000000..baad0f1 --- /dev/null +++ b/packages/core/src/mods/toolBar/widgets/horizontalAlign.tsx @@ -0,0 +1,102 @@ +import React, { ReactElement } from 'react'; + +import 'antd/es/menu/style'; + +import {Menu} from 'antd'; +import {Graph} from '@antv/x6'; +import {safeGet} from '../../../utils'; +import makeDropdownWidget from './makeDropdownWidget'; +import {AlignLeftOutlined, AlignCenterOutlined, AlignRightOutlined} from '@ant-design/icons'; + +interface IProps { + flowChart: Graph; +} + +interface AlignItem { + text: string; + icon: ReactElement; + attrs: { + refX: number; + refX2?: number; + textAnchor: string; + align: { + horizontal: string; + } + } +} + +const MenuItem = Menu.Item; +const ALIGN_MAP: {[key: string]: AlignItem} = { + left: { + text: '左对齐', + icon: , + attrs: { + refX: 0, + refX2: 5, + textAnchor: 'start', + align: { + horizontal: 'left' + } + } + }, + center: { + text: '居中对齐', + icon: , + attrs: { + refX: 0.5, + refX2: 0, + textAnchor: 'middle', + align: { + horizontal: 'center' + } + } + }, + right: { + text: '右对齐', + icon: , + attrs: { + refX: 0.99, + refX2: -5, + textAnchor: 'end', + align: { + horizontal: 'right' + } + } + } +}; + +const HorizontalAlign: React.FC = makeDropdownWidget({ + tooltip: '水平对齐', + getIcon(flowChart: Graph) { + let alignType = 'center'; + const cells = flowChart.getSelectedCells(); + if(cells.length > 0) { + alignType = safeGet(cells, '0.attrs.label.align.horizontal', 'center'); + } + return ALIGN_MAP[alignType].icon; + }, + getOverlay(flowChart: Graph, onChange: (data: any) => void) { + return ( + onChange(ALIGN_MAP[key].attrs)}> + {Object.keys(ALIGN_MAP).map((alignType) => ( + + {ALIGN_MAP[alignType].icon} + {ALIGN_MAP[alignType].text} + + ))} + + ); + }, + handler: (flowChart: Graph, value: any) => { + const cells = flowChart.getSelectedCells(); + if(cells.length > 0) { + cells.forEach(cell => cell.setAttrs({label: value})); + flowChart.trigger('toolBar:forceUpdate'); + } + }, + disabled(flowChart: Graph) { + return flowChart.getSelectedCellCount() === 0; + }, +}); + +export default HorizontalAlign; diff --git a/packages/core/src/mods/toolBar/widgets/index.module.less b/packages/core/src/mods/toolBar/widgets/index.module.less new file mode 100644 index 0000000..d2c3171 --- /dev/null +++ b/packages/core/src/mods/toolBar/widgets/index.module.less @@ -0,0 +1,91 @@ +.btnWidget { + + box-sizing: border-box; + display: flex; + justify-content: center; + align-items: center; + margin-left: 4px; + padding: 0 8px; + min-width: 34px; + height: 34px; + font-size: 16px; + border-radius: 2px; + border: 0.5px solid transparent; + + .caret { + margin-left: 4px; + font-size: 10px; + } + + &:last-child { + margin-right: 4px; + } + + &:hover { + cursor: pointer; + border: 0.5px solid #CCC; + } + + &.selected { + border: 0.5px solid #CCC; + box-shadow: inset 0 1px 2px rgba(0,0,0,.1); + background-color: #EEE; + background-image: linear-gradient(top,#eee,#e0e0e0); + } + + &.disabled { + color: #CCC; + } + + &.disabled:hover { + cursor: default; + border: 0.5px solid transparent; + } +} + +.zoomContainer { + + display: flex; + flex-direction: row; + align-items: center; + + .zoomText { + margin-left: 4px; + width: 45px; + text-align: center; + } +} + +.bgColorContainer, .textColorContainer, .lineColorContainer { + + position: relative; + display: flex; + flex-direction: column; + justify-content: center; + + .fillIcon { + position: relative; + top: -2px; + font-size: 15px; + } + + .textIcon { + position: relative; + top: -2px; + font-size: 15px; + } + + .lineIcon { + position: relative; + top: -2px; + font-size: 15px; + } + + .colorPreview { + position: absolute; + bottom: 0; + left: 0; + right: 0; + height: 1.6px; + } +} diff --git a/packages/core/src/mods/toolBar/widgets/index.tsx b/packages/core/src/mods/toolBar/widgets/index.tsx new file mode 100644 index 0000000..507f9a3 --- /dev/null +++ b/packages/core/src/mods/toolBar/widgets/index.tsx @@ -0,0 +1,35 @@ +import React from 'react'; + +import {Graph} from '@antv/x6'; + +import Save from './save'; +import Undo from './undo'; +import Redo from './redo'; +import Zoom from './zoom'; +import Bold from './bold'; +import Italic from './italic'; +import BgColor from './bgColor'; +import FontSize from './fontSize'; +import TextColor from './textColor'; +import LineColor from './lineColor'; +import Underline from './underline'; +import FitWindow from './fitWindow'; +import BringToTop from './bringToTop'; +import BringToBack from './bringToBack'; +import VerticalAlign from './verticalAlign'; +import HorizontalAlign from './horizontalAlign'; + +interface IProps { + flowChart: Graph; +} + +const tools: React.FC[][] = [ + [Save, FitWindow, Undo, Redo], + [Zoom], + [FontSize, Bold, Italic, Underline, TextColor], + [HorizontalAlign, VerticalAlign], + [BgColor, LineColor], + [BringToTop, BringToBack] +]; + +export default tools; \ No newline at end of file diff --git a/packages/core/src/mods/toolBar/widgets/italic.tsx b/packages/core/src/mods/toolBar/widgets/italic.tsx new file mode 100644 index 0000000..386e64d --- /dev/null +++ b/packages/core/src/mods/toolBar/widgets/italic.tsx @@ -0,0 +1,32 @@ +import React from 'react'; + +import {Graph} from '@antv/x6'; +import {safeGet} from '../../../utils'; +import makeBtnWidget from './makeBtnWidget'; +import {ItalicOutlined} from '@ant-design/icons'; +import shortcuts from '../../../common/shortcuts'; + +interface IProps { + flowChart: Graph +} + +const Italic: React.FC = makeBtnWidget({ + tooltip: '斜体', + handler: shortcuts['italic'].handler, + getIcon() { + return ; + }, + disabled(flowChart: Graph) { + return flowChart.getSelectedCellCount() === 0; + }, + selected(flowChart: Graph) { + const cells = flowChart.getSelectedCells(); + if(cells.length > 0) { + return safeGet(cells, '0.attrs.label.fontStyle', 'normal') === 'italic'; + } else { + return false; + } + } +}); + +export default Italic; diff --git a/packages/core/src/mods/toolBar/widgets/lineColor.tsx b/packages/core/src/mods/toolBar/widgets/lineColor.tsx new file mode 100644 index 0000000..5de27e6 --- /dev/null +++ b/packages/core/src/mods/toolBar/widgets/lineColor.tsx @@ -0,0 +1,54 @@ +import React from 'react'; + +import 'antd/es/menu/style'; +import styles from './index.module.less'; + +import {Graph} from '@antv/x6'; +import {safeGet} from '../../../utils'; +import {HighlightOutlined} from '@ant-design/icons'; +import makeDropdownWidget from './makeDropdownWidget'; +import ColorPicker from '../../../components/colorPicker'; + +interface IProps { + flowChart: Graph; +} + +const LineColor: React.FC = makeDropdownWidget({ + tooltip: '线条颜色', + getIcon(flowChart: Graph) { + let lineColor = '#DDD'; + const cells = flowChart.getSelectedCells(); + if(cells.length > 0) { + lineColor = safeGet(cells, '0.attrs.body.stroke', '#333'); + } + return ( +
+ +
+
+ ); + }, + getOverlay(flowChart: Graph, onChange: (data: any) => void) { + let lineColor = '#DDD'; + const cells = flowChart.getSelectedCells(); + if(cells.length > 0) { + lineColor = safeGet(cells, '0.attrs.body.stroke', '#333'); + } + const onChangeComplete = (color: string) => onChange(color); + return ( + + ); + }, + handler: (flowChart: Graph, value: any) => { + const cells = flowChart.getSelectedCells(); + if(cells.length > 0) { + cells.forEach(cell => cell.setAttrs({body: {stroke: value}})); + flowChart.trigger('toolBar:forceUpdate'); + } + }, + disabled(flowChart: Graph) { + return flowChart.getSelectedCellCount() === 0; + }, +}); + +export default LineColor; diff --git a/packages/core/src/mods/toolBar/widgets/makeBtnWidget.tsx b/packages/core/src/mods/toolBar/widgets/makeBtnWidget.tsx new file mode 100644 index 0000000..6e69423 --- /dev/null +++ b/packages/core/src/mods/toolBar/widgets/makeBtnWidget.tsx @@ -0,0 +1,51 @@ +import React, {ReactElement} from 'react'; + +import 'antd/es/tooltip/style'; +import styles from './index.module.less'; + +import {Tooltip} from 'antd'; +import {Graph} from '@antv/x6'; + +interface IOptions { + tooltip: string; + getIcon: (flowChart: Graph) => ReactElement; + handler: (flowChart: Graph) => void; + disabled?: (flowChart: Graph) => boolean; + selected?: (flowChart: Graph) => boolean; +} + +interface IBtnWidgetProps { + flowChart: Graph; +} + +const makeBtnWidget = (options: IOptions) => { + const Widget: React.FC = (props) => { + const {flowChart} = props; + const {tooltip, getIcon, handler} = options; + const iconWrapperCls = [styles.btnWidget]; + let {disabled = false, selected = false} = options; + if(typeof disabled === 'function') { + disabled = disabled(flowChart); + disabled && iconWrapperCls.push(styles.disabled); + } + if(typeof selected === 'function') { + selected = selected(flowChart); + selected && iconWrapperCls.push(styles.selected); + } + const onClick = (): void => { + if(disabled) return; + handler(flowChart); + flowChart.trigger('toolBar:forceUpdate'); + } + return ( + +
+ {getIcon(flowChart)} +
+
+ ); + }; + return Widget; +}; + +export default makeBtnWidget; diff --git a/packages/core/src/mods/toolBar/widgets/makeDropdownWidget.tsx b/packages/core/src/mods/toolBar/widgets/makeDropdownWidget.tsx new file mode 100644 index 0000000..cfb4f5e --- /dev/null +++ b/packages/core/src/mods/toolBar/widgets/makeDropdownWidget.tsx @@ -0,0 +1,51 @@ +import React, {ReactElement} from 'react'; + +import 'antd/es/tooltip/style'; +import 'antd/es/dropdown/style'; +import styles from './index.module.less'; + +import {Graph} from '@antv/x6'; +import {Tooltip, Dropdown} from 'antd'; +import {CaretDownOutlined} from '@ant-design/icons'; + +interface IOptions { + tooltip: string; + getIcon: (flowChart: Graph) => ReactElement; + getOverlay: (flowChart: Graph, onChange: (data: any) => void) => ReactElement; + handler: (flowChart: Graph, data: any) => void; + disabled?: (flowChart: Graph) => boolean; +} + +interface IDropdownWidgetProps { + flowChart: Graph; +} + +const makeDropdownWidget = (options: IOptions) => { + const Widget: React.FC = (props) => { + const {flowChart} = props; + const {tooltip, getIcon, getOverlay, handler} = options; + const iconWrapperCls = [styles.btnWidget]; + let {disabled = false} = options; + if(typeof disabled === 'function') { + disabled = disabled(flowChart); + disabled && iconWrapperCls.push(styles.disabled); + } + const onChange = (data: any): void => { + if(disabled) return; + handler(flowChart, data); + flowChart.trigger('toolBar:forceUpdate'); + }; + return ( + + +
+ {getIcon(flowChart)} +
+
+
+ ); + }; + return Widget; +}; + +export default makeDropdownWidget; diff --git a/packages/core/src/mods/toolBar/widgets/redo.tsx b/packages/core/src/mods/toolBar/widgets/redo.tsx new file mode 100644 index 0000000..544c306 --- /dev/null +++ b/packages/core/src/mods/toolBar/widgets/redo.tsx @@ -0,0 +1,23 @@ +import React from 'react'; + +import {Graph} from '@antv/x6'; +import makeBtnWidget from './makeBtnWidget'; +import {RedoOutlined} from '@ant-design/icons'; +import shortcuts from '../../../common/shortcuts'; + +interface IProps { + flowChart: Graph +} + +const Save: React.FC = makeBtnWidget({ + tooltip: '重做', + handler: shortcuts['redo'].handler, + getIcon() { + return ; + }, + disabled(flowChart: Graph) { + return !flowChart.canRedo(); + } +}); + +export default Save; diff --git a/packages/core/src/mods/toolBar/widgets/save.tsx b/packages/core/src/mods/toolBar/widgets/save.tsx new file mode 100644 index 0000000..0e1ba06 --- /dev/null +++ b/packages/core/src/mods/toolBar/widgets/save.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +import {Graph} from '@antv/x6'; +import makeBtnWidget from './makeBtnWidget'; +import {SaveOutlined} from '@ant-design/icons'; +import shortcuts from '../../../common/shortcuts'; + +interface IProps { + flowChart: Graph +} + +const Save: React.FC = makeBtnWidget({ + tooltip: '保存', + handler: shortcuts['save'].handler, + getIcon() { + return ; + } +}); + +export default Save; diff --git a/packages/core/src/mods/toolBar/widgets/textColor.tsx b/packages/core/src/mods/toolBar/widgets/textColor.tsx new file mode 100644 index 0000000..c82136c --- /dev/null +++ b/packages/core/src/mods/toolBar/widgets/textColor.tsx @@ -0,0 +1,54 @@ +import React from 'react'; + +import 'antd/es/menu/style'; +import styles from './index.module.less'; + +import {Graph} from '@antv/x6'; +import {safeGet} from '../../../utils'; +import XIcon from '../../../components/xIcon'; +import makeDropdownWidget from './makeDropdownWidget'; +import ColorPicker from '../../../components/colorPicker'; + +interface IProps { + flowChart: Graph; +} + +const TextColor: React.FC = makeDropdownWidget({ + tooltip: '文本颜色', + getIcon(flowChart: Graph) { + let textColor = '#DDD'; + const cells = flowChart.getSelectedCells(); + if(cells.length > 0) { + textColor = safeGet(cells, '0.attrs.label.fill', '#575757'); + } + return ( +
+ +
+
+ ); + }, + getOverlay(flowChart: Graph, onChange: (data: any) => void) { + let textColor = '#DDD'; + const cells = flowChart.getSelectedCells(); + if(cells.length > 0) { + textColor = safeGet(cells, '0.attrs.label.fill', '#575757'); + } + const onChangeComplete = (color: string) => onChange(color); + return ( + + ); + }, + handler: (flowChart: Graph, value: any) => { + const cells = flowChart.getSelectedCells(); + if(cells.length > 0) { + cells.forEach(cell => cell.setAttrs({label: {fill: value}})); + flowChart.trigger('toolBar:forceUpdate'); + } + }, + disabled(flowChart: Graph) { + return flowChart.getSelectedCellCount() === 0; + }, +}); + +export default TextColor; diff --git a/packages/core/src/mods/toolBar/widgets/underline.tsx b/packages/core/src/mods/toolBar/widgets/underline.tsx new file mode 100644 index 0000000..13fa354 --- /dev/null +++ b/packages/core/src/mods/toolBar/widgets/underline.tsx @@ -0,0 +1,32 @@ +import React from 'react'; + +import {Graph} from '@antv/x6'; +import {safeGet} from '../../../utils'; +import makeBtnWidget from './makeBtnWidget'; +import {UnderlineOutlined} from '@ant-design/icons'; +import shortcuts from '../../../common/shortcuts'; + +interface IProps { + flowChart: Graph +} + +const Underline: React.FC = makeBtnWidget({ + tooltip: '下划线', + handler: shortcuts['underline'].handler, + getIcon() { + return ; + }, + disabled(flowChart: Graph) { + return flowChart.getSelectedCellCount() === 0; + }, + selected(flowChart: Graph) { + const cells = flowChart.getSelectedCells(); + if(cells.length > 0) { + return safeGet(cells, '0.attrs.label.textDecoration', 'none') === 'underline'; + } else { + return false; + } + } +}); + +export default Underline; diff --git a/packages/core/src/mods/toolBar/widgets/undo.tsx b/packages/core/src/mods/toolBar/widgets/undo.tsx new file mode 100644 index 0000000..6598819 --- /dev/null +++ b/packages/core/src/mods/toolBar/widgets/undo.tsx @@ -0,0 +1,23 @@ +import React from 'react'; + +import {Graph} from '@antv/x6'; +import makeBtnWidget from './makeBtnWidget'; +import {UndoOutlined} from '@ant-design/icons'; +import shortcuts from '../../../common/shortcuts'; + +interface IProps { + flowChart: Graph +} + +const Save: React.FC = makeBtnWidget({ + tooltip: '撤销', + handler: shortcuts['undo'].handler, + getIcon() { + return ; + }, + disabled(flowChart: Graph) { + return !flowChart.canUndo(); + } +}); + +export default Save; diff --git a/packages/core/src/mods/toolBar/widgets/verticalAlign.tsx b/packages/core/src/mods/toolBar/widgets/verticalAlign.tsx new file mode 100644 index 0000000..a67b980 --- /dev/null +++ b/packages/core/src/mods/toolBar/widgets/verticalAlign.tsx @@ -0,0 +1,102 @@ +import React, {ReactElement} from 'react'; + +import 'antd/es/menu/style'; + +import {Menu} from 'antd'; +import {Graph} from '@antv/x6'; +import {safeGet} from '../../../utils'; +import makeDropdownWidget from './makeDropdownWidget'; +import {VerticalAlignTopOutlined, VerticalAlignMiddleOutlined, VerticalAlignBottomOutlined} from '@ant-design/icons'; + +interface IProps { + flowChart: Graph; +} + +interface AlignItem { + text: string; + icon: ReactElement; + attrs: { + refY: number; + refY2?: number; + textVerticalAlign: string; + align: { + vertical: string; + } + } +} + +const MenuItem = Menu.Item; +const ALIGN_MAP: {[key: string]: AlignItem} = { + top: { + text: '上对齐', + icon: , + attrs: { + refY: 0, + refY2: 10, + textVerticalAlign: 'start', + align: { + vertical: 'top' + } + } + }, + center: { + text: '居中对齐', + icon: , + attrs: { + refY: 0.5, + refY2: 0, + textVerticalAlign: 'middle', + align: { + vertical: 'center' + } + } + }, + bottom: { + text: '下对齐', + icon: , + attrs: { + refY: 0.99, + refY2: -10, + textVerticalAlign: 'end', + align: { + vertical: 'bottom' + } + } + } +}; + +const VerticalAlign: React.FC = makeDropdownWidget({ + tooltip: '垂直对齐', + getIcon(flowChart: Graph) { + let alignType = 'center'; + const cells = flowChart.getSelectedCells(); + if(cells.length > 0) { + alignType = safeGet(cells, '0.attrs.label.align.vertical', 'center'); + } + return ALIGN_MAP[alignType].icon; + }, + getOverlay(flowChart: Graph, onChange: (data: any) => void) { + return ( + onChange(ALIGN_MAP[key].attrs)}> + {Object.keys(ALIGN_MAP).map((alignType: string) => ( + + {ALIGN_MAP[alignType].icon} + {ALIGN_MAP[alignType].text} + + ))} + + ); + }, + handler: (flowChart: Graph, value: any) => { + const cells = flowChart.getSelectedCells(); + if(cells.length > 0) { + cells.forEach(cell => cell.setAttrs({label: value})); + flowChart.trigger('toolBar:forceUpdate'); + } + }, + disabled(flowChart: Graph) { + return flowChart.getSelectedCellCount() === 0; + }, +}); + +export default VerticalAlign; diff --git a/packages/core/src/mods/toolBar/widgets/zoom.tsx b/packages/core/src/mods/toolBar/widgets/zoom.tsx new file mode 100644 index 0000000..4fab294 --- /dev/null +++ b/packages/core/src/mods/toolBar/widgets/zoom.tsx @@ -0,0 +1,64 @@ +import React, {useState, useEffect} from 'react'; + +import styles from './index.module.less'; + +import {Graph} from '@antv/x6'; +import makeBtnWidget from './makeBtnWidget'; +import shortcuts from '../../../common/shortcuts'; +import {ZoomOutOutlined, ZoomInOutlined} from '@ant-design/icons'; + +interface IProps { + flowChart: Graph +} + +const MIN_ZOOM = 0.5; +const MAX_ZOOM = 1.5; + +const ZoomOut: React.FC = makeBtnWidget({ + tooltip: '缩小', + handler: shortcuts['zoomOut'].handler, + getIcon() { + return ; + }, + disabled(flowChart: Graph) { + return flowChart.zoom() <= MIN_ZOOM; + } +}); + +const ZoomIn: React.FC = makeBtnWidget({ + tooltip: '放大', + handler: shortcuts['zoomIn'].handler, + getIcon() { + return ; + }, + disabled(flowChart: Graph) { + return flowChart.zoom() >= MAX_ZOOM; + } +}); + +const Zoom: React.FC = props => { + const {flowChart} = props; + const [scale, setScale] = useState(flowChart.zoom()); + useEffect(() => { + flowChart.on('scale', () => { + setScale(flowChart.zoom()); + }); + }, [flowChart]); + return ( +
+ + + {Helper.scaleFormatter(scale)} + + +
+ ); +}; + +const Helper = { + scaleFormatter(scale: number): string { + return (scale * 100).toFixed(0) + '%'; + } +}; + +export default Zoom; diff --git a/packages/core/src/typings.d.ts b/packages/core/src/typings.d.ts new file mode 100644 index 0000000..c49d769 --- /dev/null +++ b/packages/core/src/typings.d.ts @@ -0,0 +1,9 @@ +declare module '*.module.css' { + const classes: {[key: string]: string}; + export default classes; +} + +declare module '*.less' { + const classes: {[key: string]: string}; + export default classes; +} diff --git a/packages/core/src/utils/create-graph.tsx b/packages/core/src/utils/create-graph.tsx deleted file mode 100644 index 56876e6..0000000 --- a/packages/core/src/utils/create-graph.tsx +++ /dev/null @@ -1,88 +0,0 @@ -import * as React from 'react'; -import * as ReactDom from 'react-dom'; -import { Graph } from '@antv/x6'; - -export default function createGraph(container: HTMLDivElement): Graph { - return new Graph(container, { - rotate: false, - resize: false, - infinite: true, - rubberband: true, - backgroundColor: '#f8f9fa', - grid: { - type: 'dot', - color: '#bcbcbc', - }, - guide: { - enabled: true, - dashed: true, - stroke: '#ff5500', - }, - keyboard: { - enabled: true, - global: false, - escape: true, - }, - selectionPreview: { - dashed: false, - strokeWidth: 2, - }, - nodeStyle: { - fill: 'rgba(0, 0, 0, 0)', - stroke: 'none', - label: false, - editable: false, - }, - edgeStyle: { - edge: 'elbow', - elbow: 'vertical', - labelBackgroundColor: '#f8f9fa', - rounded: true, - movable: false, - }, - connection: { - enabled: true, - hotspotable: false, - livePreview: true, - }, - connectionPreview: { - stroke: '#1890ff', - }, - anchor: { - inductiveSize: 10, - }, - anchorHighlight: { - strokeWidth: 16, - }, - shouldRedrawOnDataChange(): boolean { - return true; - }, - getAnchors(cell): [number, number][] | null { - if (cell === null || cell.data === null) return null; - - if (cell.data.type === 'start') { - return [[0.5, 1]]; - } - - if (cell.data.type === 'end') { - return [[0.5, 0]]; - } - - return [ - [0.5, 0], - [0, 0.5], - - [1, 0.5], - [0.5, 1], - ]; - }, - getLabel: (cell): HTMLElement | string => { - if (cell.isEdge()) { - const div = document.createElement('div'); - ReactDom.render(
{cell.data.label}
, div); - return div; - } - return ''; - }, - }); -} diff --git a/packages/core/src/utils/createGraph.ts b/packages/core/src/utils/createGraph.ts new file mode 100644 index 0000000..824ff43 --- /dev/null +++ b/packages/core/src/utils/createGraph.ts @@ -0,0 +1,88 @@ +import {Graph} from '@antv/x6'; +import shortcuts from '../common/shortcuts'; +import baseCellSchemaMap from '../common/baseCell'; +import previewCellSchemaMap from '../common/previewCell'; + +// X6 register base/preview cell shape +[baseCellSchemaMap, previewCellSchemaMap] + .forEach(schemas => Object.values(schemas).forEach(schema => { + const {base, ...rest} = schema; + base.define(rest); + })); + +const createGraph = (container: HTMLDivElement, miniMapContainer: HTMLDivElement): Graph => { + + // create graph instance + const graph = new Graph({ + container, + rotating: false, + resizing: true, + clipboard: true, + // https://x6.antv.vision/zh/docs/tutorial/intermediate/connector + connecting: { + snap: true, + dangling: true, + highlight: true, + router: { + name: 'manhattan' + }, + validateConnection({sourceView, targetView}) { + return sourceView !== targetView; + } + }, + // https://x6.antv.vision/zh/docs/tutorial/basic/background + background: { + color: '#f8f9fa' + }, + // https://x6.antv.vision/zh/docs/tutorial/basic/grid + grid: { + visible: true + }, + // https://x6.antv.vision/zh/docs/tutorial/basic/selection + selecting: { + enabled: true, + multiple: true, + rubberband: true, + movable: true, + showNodeSelectionBox: true + }, + // https://x6.antv.vision/zh/docs/tutorial/basic/snapline + snapline: { + enabled: true, + clean: 100 + }, + // https://x6.antv.vision/zh/docs/tutorial/basic/keyboard + keyboard: { + enabled: true, + global: false + }, + // https://x6.antv.vision/zh/docs/tutorial/basic/history + history: { + enabled: true + }, + // https://x6.antv.vision/zh/docs/tutorial/basic/minimap + minimap: { + enabled: true, + padding: 0, + width: 200, + height: 160, + minScale: 0.5, + maxScale: 1.5, + container: miniMapContainer, + }, + // https://x6.antv.vision/zh/docs/tutorial/basic/scroller + scroller: { + enabled: true + } + }); + + // register shortcuts + Object.values(shortcuts).forEach(shortcut => { + const {keys, handler} = shortcut; + graph.bindKey(keys, () => handler(graph)); + }); + + return graph; +} + +export default createGraph; diff --git a/packages/core/src/utils/index.ts b/packages/core/src/utils/index.ts new file mode 100644 index 0000000..346f09c --- /dev/null +++ b/packages/core/src/utils/index.ts @@ -0,0 +1,26 @@ +export const safeParse = (json: string): Object => { + try { + return JSON.parse(json); + } catch(err) { + return {}; + } +}; + +export const safeGet = (obj: any, keyChain: string, defaultVal: any): any => { + + if(typeof obj !== 'object' || obj === null) { + return defaultVal; + } + + let retVal = obj; + const keys = keyChain.split('.'); + for(const key of keys) { + if(retVal[key] === undefined) { + return defaultVal; + } else { + retVal = retVal[key]; + } + } + + return retVal; +}; diff --git a/packages/core/src/utils/patch-dnd.tsx b/packages/core/src/utils/patch-dnd.tsx deleted file mode 100644 index 5a98bd1..0000000 --- a/packages/core/src/utils/patch-dnd.tsx +++ /dev/null @@ -1,69 +0,0 @@ -import * as React from 'react'; -import { Graph, Dnd } from '@antv/x6'; -import CellMap from '../components/cells'; -import { DataItem } from '../data/cells'; - -export default function patchDnd( - container: HTMLDivElement | null, - graph: Graph, - cellData: DataItem[] -): void { - if (!container) return; - - (container.childNodes as NodeListOf).forEach((node, index) => { - const itemData = cellData[index]; - const dnd = new Dnd(node, { - data: itemData, - getGraph: (): Graph => graph, - createDragElement: ({ data }): HTMLDivElement => { - const elem = document.createElement('div'); - if (typeof data === 'undefined') return elem; - - const { width, height, scale } = data.style; - elem.style.width = `${width * scale}px`; - elem.style.height = `${height * scale}px`; - elem.style.border = '1px dashed #000'; - elem.style.cursor = 'move'; - return elem; - }, - createPreviewElement: ({ data }): HTMLDivElement => { - const elem = document.createElement('div'); - if (typeof data === 'undefined') return elem; - - const { width, height, scale } = data.style; - elem.style.width = `${width * scale}px`; - elem.style.height = `${height * scale}px`; - elem.style.border = '1px dashed #000'; - elem.style.cursor = 'move'; - return elem; - }, - }); - - dnd.on('dragPrepare', ({ dragElement }) => { - dragElement.style.margin = '0'; - }); - - dnd.on('drop', ({ data, targetPosition }) => { - if (typeof data === 'undefined') return; - - const { width, height, scale } = data.style; - const { x, y } = targetPosition; - const Cell = CellMap[data.type]; - const cell = graph.addNode({ - x, - y, - data, - width: width * scale, - height: height * scale, - shape: 'react', - component: (newData) => { - if (!cell) return null; - const { label } = newData.data; - return ; - }, - }); - - graph.unSelectCells(graph.getSelectedCells()).selectCell(cell); - }); - }); -} diff --git a/packages/core/src/utils/styles/cells.ts b/packages/core/src/utils/styles/cells.ts deleted file mode 100644 index 9b4275a..0000000 --- a/packages/core/src/utils/styles/cells.ts +++ /dev/null @@ -1,16 +0,0 @@ -import styled from '@emotion/styled'; - -const Label = styled.div` - position: absolute; - width: 100%; - top: 50%; - padding: 0 5px; - transform: translateY(-50%); - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - font-size: 12px; - text-align: center; -`; - -export default Label; diff --git a/packages/core/src/utils/tool.ts b/packages/core/src/utils/tool.ts deleted file mode 100644 index 85a4c0b..0000000 --- a/packages/core/src/utils/tool.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { Graph } from '@antv/x6'; -import { Commands } from '../model'; - -export function zoomIn(graph: Graph) { - return (): void => { - let { scale } = graph.view; - if (scale >= 8) { - scale += 8; - } else if (scale >= 4) { - scale += 4; - } else if (scale >= 2) { - scale += 1; - } else if (scale >= 1.5) { - scale += 0.5; - } else if (scale >= 1) { - scale += 0.25; - } else if (scale >= 0.7) { - scale += 0.15; - } else if (scale >= 0.4) { - scale += 0.1; - } else if (scale >= 0.15) { - scale += 0.05; - } else if (scale >= 0.01) { - scale += 0.01; - } - graph.zoomTo(scale); - }; -} - -export function zoomOut(graph: Graph) { - return (): void => { - let { scale } = graph.view; - if (scale <= 0.15) { - scale -= 0.01; - } else if (scale <= 0.4) { - scale -= 0.05; - } else if (scale <= 0.7) { - scale -= 0.1; - } else if (scale <= 1) { - scale -= 0.15; - } else if (scale <= 1.5) { - scale -= 0.25; - } else if (scale <= 2) { - scale -= 0.5; - } else if (scale <= 4) { - scale -= 1; - } else if (scale <= 8) { - scale -= 4; - } else if (scale <= 16) { - scale -= 8; - } - graph.zoomTo(scale); - }; -} - -export function bindKey(commands: Commands, graph: Graph): void { - commands.forEach((items) => - items.forEach((item) => { - if (item.shortcut) { - if (item.shortcut === 'Delete') { - graph.bindKey(['del', 'backspace'], item.handler); - } else { - graph.bindKey(item.shortcut, item.handler); - } - } - }) - ); -} diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 9532874..621978d 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -1,7 +1,10 @@ { "extends": "../../tsconfig", "compilerOptions": { - "outDir": "dist/types" + "outDir": "dist/types", + "jsx": "react", + "esModuleInterop": true }, - "include": ["./src"] + "include": ["./src"], + "exclude": ["node_modules"] }