김재형

Implement login

...@@ -4,6 +4,58 @@ ...@@ -4,6 +4,58 @@
4 "lockfileVersion": 1, 4 "lockfileVersion": 1,
5 "requires": true, 5 "requires": true,
6 "dependencies": { 6 "dependencies": {
7 + "@ant-design/colors": {
8 + "version": "3.2.2",
9 + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-3.2.2.tgz",
10 + "integrity": "sha512-YKgNbG2dlzqMhA9NtI3/pbY16m3Yl/EeWBRa+lB1X1YaYxHrxNexiQYCLTWO/uDvAjLFMEDU+zR901waBtMtjQ==",
11 + "requires": {
12 + "tinycolor2": "^1.4.1"
13 + }
14 + },
15 + "@ant-design/css-animation": {
16 + "version": "1.7.2",
17 + "resolved": "https://registry.npmjs.org/@ant-design/css-animation/-/css-animation-1.7.2.tgz",
18 + "integrity": "sha512-bvVOe7A+r7lws58B7r+fgnQDK90cV45AXuvGx6i5CCSX1W/M3AJnHsNggDANBxEtWdNdFWcDd5LorB+RdSIlBw=="
19 + },
20 + "@ant-design/icons": {
21 + "version": "4.2.1",
22 + "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-4.2.1.tgz",
23 + "integrity": "sha512-245ZI40MOr5GGws+sNSiJIRRoEf/J2xvPSMgwRYf3bv8mVGQZ6XTQI/OMeV16KtiSZ3D+mBKXVYSBz2fhigOXQ==",
24 + "requires": {
25 + "@ant-design/colors": "^3.1.0",
26 + "@ant-design/icons-svg": "^4.0.0",
27 + "@babel/runtime": "^7.10.1",
28 + "classnames": "^2.2.6",
29 + "insert-css": "^2.0.0",
30 + "rc-util": "^5.0.1"
31 + },
32 + "dependencies": {
33 + "@babel/runtime": {
34 + "version": "7.10.2",
35 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz",
36 + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==",
37 + "requires": {
38 + "regenerator-runtime": "^0.13.4"
39 + }
40 + }
41 + }
42 + },
43 + "@ant-design/icons-svg": {
44 + "version": "4.1.0",
45 + "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.1.0.tgz",
46 + "integrity": "sha512-Fi03PfuUqRs76aI3UWYpP864lkrfPo0hluwGqh7NJdLhvH4iRDc3jbJqZIvRDLHKbXrvAfPPV3+zjUccfFvWOQ=="
47 + },
48 + "@ant-design/react-slick": {
49 + "version": "0.26.1",
50 + "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-0.26.1.tgz",
51 + "integrity": "sha512-1CR3vNFxAMmMb9btF6w9yT1xlrhZr6f/K+OkqoCLfWxN7h7jC16UCr1RsGBoFUdSq8bYfTr3pe6AiiCEDsALvA==",
52 + "requires": {
53 + "classnames": "^2.2.5",
54 + "json2mq": "^0.2.0",
55 + "lodash": "^4.17.15",
56 + "resize-observer-polyfill": "^1.5.0"
57 + }
58 + },
7 "@babel/code-frame": { 59 "@babel/code-frame": {
8 "version": "7.8.3", 60 "version": "7.8.3",
9 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", 61 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
...@@ -3041,6 +3093,54 @@ ...@@ -3041,6 +3093,54 @@
3041 "color-convert": "^2.0.1" 3093 "color-convert": "^2.0.1"
3042 } 3094 }
3043 }, 3095 },
3096 + "antd": {
3097 + "version": "4.3.3",
3098 + "resolved": "https://registry.npmjs.org/antd/-/antd-4.3.3.tgz",
3099 + "integrity": "sha512-psDb3krf0nK0gkZSfxOGfJdqKbi0hzQJif7R2Cg3T6OV1nrNfc6waL4Th8mV72qq/+Ushuk0afRDaARkx9EzEg==",
3100 + "requires": {
3101 + "@ant-design/css-animation": "^1.7.2",
3102 + "@ant-design/icons": "^4.2.1",
3103 + "@ant-design/react-slick": "~0.26.1",
3104 + "array-tree-filter": "^2.1.0",
3105 + "classnames": "^2.2.6",
3106 + "copy-to-clipboard": "^3.2.0",
3107 + "lodash": "^4.17.13",
3108 + "moment": "^2.25.3",
3109 + "omit.js": "^1.0.2",
3110 + "raf": "^3.4.1",
3111 + "rc-animate": "~3.1.0",
3112 + "rc-cascader": "~1.2.0",
3113 + "rc-checkbox": "~2.2.0",
3114 + "rc-collapse": "~2.0.0",
3115 + "rc-dialog": "~8.0.0",
3116 + "rc-drawer": "~4.0.0",
3117 + "rc-dropdown": "~3.1.2",
3118 + "rc-field-form": "~1.4.1",
3119 + "rc-input-number": "~5.0.0",
3120 + "rc-mentions": "~1.2.0",
3121 + "rc-menu": "~8.3.0",
3122 + "rc-notification": "~4.4.0",
3123 + "rc-pagination": "~2.2.5",
3124 + "rc-picker": "~1.6.1",
3125 + "rc-progress": "~3.0.0",
3126 + "rc-rate": "~2.7.0",
3127 + "rc-resize-observer": "^0.2.3",
3128 + "rc-select": "~11.0.0",
3129 + "rc-slider": "~9.3.0",
3130 + "rc-steps": "~4.0.0",
3131 + "rc-switch": "~3.2.0",
3132 + "rc-table": "~7.7.2",
3133 + "rc-tabs": "~11.3.1",
3134 + "rc-tooltip": "~4.2.0",
3135 + "rc-tree": "~3.3.0",
3136 + "rc-tree-select": "~4.0.0",
3137 + "rc-trigger": "~4.3.0",
3138 + "rc-upload": "~3.1.0",
3139 + "rc-util": "^5.0.1",
3140 + "scroll-into-view-if-needed": "^2.2.25",
3141 + "warning": "^4.0.3"
3142 + }
3143 + },
3044 "anymatch": { 3144 "anymatch": {
3045 "version": "2.0.0", 3145 "version": "2.0.0",
3046 "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", 3146 "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
...@@ -3285,6 +3385,11 @@ ...@@ -3285,6 +3385,11 @@
3285 "is-string": "^1.0.5" 3385 "is-string": "^1.0.5"
3286 } 3386 }
3287 }, 3387 },
3388 + "array-tree-filter": {
3389 + "version": "2.1.0",
3390 + "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz",
3391 + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw=="
3392 + },
3288 "array-union": { 3393 "array-union": {
3289 "version": "1.0.2", 3394 "version": "1.0.2",
3290 "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", 3395 "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
...@@ -3416,6 +3521,11 @@ ...@@ -3416,6 +3521,11 @@
3416 "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", 3521 "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
3417 "dev": true 3522 "dev": true
3418 }, 3523 },
3524 + "async-validator": {
3525 + "version": "3.3.0",
3526 + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-3.3.0.tgz",
3527 + "integrity": "sha512-cAHGD9EL8aCqWXjnb44q94MWiDFzUo1tMhvLb2WzcpWqGiKugsjWG9cvl+jPgkPca7asNbsBU3fa0cwkI/P+Xg=="
3528 + },
3419 "asynckit": { 3529 "asynckit": {
3420 "version": "0.4.0", 3530 "version": "0.4.0",
3421 "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 3531 "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
...@@ -3950,7 +4060,6 @@ ...@@ -3950,7 +4060,6 @@
3950 "version": "6.26.0", 4060 "version": "6.26.0",
3951 "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", 4061 "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
3952 "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", 4062 "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
3953 - "dev": true,
3954 "requires": { 4063 "requires": {
3955 "core-js": "^2.4.0", 4064 "core-js": "^2.4.0",
3956 "regenerator-runtime": "^0.11.0" 4065 "regenerator-runtime": "^0.11.0"
...@@ -3959,14 +4068,12 @@ ...@@ -3959,14 +4068,12 @@
3959 "core-js": { 4068 "core-js": {
3960 "version": "2.6.11", 4069 "version": "2.6.11",
3961 "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", 4070 "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
3962 - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", 4071 + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg=="
3963 - "dev": true
3964 }, 4072 },
3965 "regenerator-runtime": { 4073 "regenerator-runtime": {
3966 "version": "0.11.1", 4074 "version": "0.11.1",
3967 "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", 4075 "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
3968 - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", 4076 + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
3969 - "dev": true
3970 } 4077 }
3971 } 4078 }
3972 }, 4079 },
...@@ -5024,6 +5131,11 @@ ...@@ -5024,6 +5131,11 @@
5024 } 5131 }
5025 } 5132 }
5026 }, 5133 },
5134 + "compute-scroll-into-view": {
5135 + "version": "1.0.14",
5136 + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.14.tgz",
5137 + "integrity": "sha512-mKDjINe3tc6hGelUMNDzuhorIUZ7kS7BwyY0r2wQd2HOH2tRuJykiC06iSEX8y1TuhNzvz4GcJnK16mM2J1NMQ=="
5138 + },
5027 "concat-map": { 5139 "concat-map": {
5028 "version": "0.0.1", 5140 "version": "0.0.1",
5029 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 5141 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
...@@ -5160,6 +5272,14 @@ ...@@ -5160,6 +5272,14 @@
5160 "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", 5272 "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
5161 "dev": true 5273 "dev": true
5162 }, 5274 },
5275 + "copy-to-clipboard": {
5276 + "version": "3.3.1",
5277 + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz",
5278 + "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==",
5279 + "requires": {
5280 + "toggle-selection": "^1.0.6"
5281 + }
5282 + },
5163 "core-js": { 5283 "core-js": {
5164 "version": "3.6.5", 5284 "version": "3.6.5",
5165 "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", 5285 "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz",
...@@ -6081,6 +6201,11 @@ ...@@ -6081,6 +6201,11 @@
6081 "integrity": "sha512-XBM62jdDc06IXSujkqw6BugEWiDkp6jphtzVJf1kgPQGvfzaU7/jRtRSF/mxc8DBCIm2LS3bN1dCa5Sfxx982A==", 6201 "integrity": "sha512-XBM62jdDc06IXSujkqw6BugEWiDkp6jphtzVJf1kgPQGvfzaU7/jRtRSF/mxc8DBCIm2LS3bN1dCa5Sfxx982A==",
6082 "dev": true 6202 "dev": true
6083 }, 6203 },
6204 + "dom-align": {
6205 + "version": "1.12.0",
6206 + "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.0.tgz",
6207 + "integrity": "sha512-YkoezQuhp3SLFGdOlr5xkqZ640iXrnHAwVYcDg8ZKRUtO7mSzSC2BA5V0VuyAwPSJA4CLIc6EDDJh4bEsD2+zA=="
6208 + },
6084 "dom-converter": { 6209 "dom-converter": {
6085 "version": "0.2.0", 6210 "version": "0.2.0",
6086 "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", 6211 "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
...@@ -9466,6 +9591,11 @@ ...@@ -9466,6 +9591,11 @@
9466 "through": "^2.3.6" 9591 "through": "^2.3.6"
9467 } 9592 }
9468 }, 9593 },
9594 + "insert-css": {
9595 + "version": "2.0.0",
9596 + "resolved": "https://registry.npmjs.org/insert-css/-/insert-css-2.0.0.tgz",
9597 + "integrity": "sha1-610Ql7dUL0x56jBg067gfQU4gPQ="
9598 + },
9469 "internal-ip": { 9599 "internal-ip": {
9470 "version": "4.3.0", 9600 "version": "4.3.0",
9471 "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", 9601 "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz",
...@@ -12335,6 +12465,14 @@ ...@@ -12335,6 +12465,14 @@
12335 "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", 12465 "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
12336 "dev": true 12466 "dev": true
12337 }, 12467 },
12468 + "json2mq": {
12469 + "version": "0.2.0",
12470 + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz",
12471 + "integrity": "sha1-tje9O6nqvhIsg+lyBIOusQ0skEo=",
12472 + "requires": {
12473 + "string-convert": "^0.2.0"
12474 + }
12475 + },
12338 "json3": { 12476 "json3": {
12339 "version": "3.3.3", 12477 "version": "3.3.3",
12340 "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", 12478 "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz",
...@@ -12653,8 +12791,7 @@ ...@@ -12653,8 +12791,7 @@
12653 "lodash": { 12791 "lodash": {
12654 "version": "4.17.15", 12792 "version": "4.17.15",
12655 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", 12793 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
12656 - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", 12794 + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
12657 - "dev": true
12658 }, 12795 },
12659 "lodash._reinterpolate": { 12796 "lodash._reinterpolate": {
12660 "version": "3.0.0", 12797 "version": "3.0.0",
...@@ -13336,6 +13473,15 @@ ...@@ -13336,6 +13473,15 @@
13336 } 13473 }
13337 } 13474 }
13338 }, 13475 },
13476 + "mini-store": {
13477 + "version": "3.0.5",
13478 + "resolved": "https://registry.npmjs.org/mini-store/-/mini-store-3.0.5.tgz",
13479 + "integrity": "sha512-A7f0+d7TEvjJNY2K+splh2OG3AhmoPoiF3VntlAcJuBzryMumOF9LAVzg8mRJPPbCkz7mlWQg9MCMQPR2auftA==",
13480 + "requires": {
13481 + "hoist-non-react-statics": "^3.3.2",
13482 + "shallowequal": "^1.0.2"
13483 + }
13484 + },
13339 "minimalistic-assert": { 13485 "minimalistic-assert": {
13340 "version": "1.0.1", 13486 "version": "1.0.1",
13341 "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", 13487 "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
...@@ -13498,6 +13644,11 @@ ...@@ -13498,6 +13644,11 @@
13498 "minimist": "^1.2.5" 13644 "minimist": "^1.2.5"
13499 } 13645 }
13500 }, 13646 },
13647 + "moment": {
13648 + "version": "2.26.0",
13649 + "resolved": "https://registry.npmjs.org/moment/-/moment-2.26.0.tgz",
13650 + "integrity": "sha512-oIixUO+OamkUkwjhAVE18rAMfRJNsNe/Stid/gwHSOfHrOtw9EhAY2AHvdKZ/k/MggcYELFCJz/Sn2pL8b8JMw=="
13651 + },
13501 "move-concurrently": { 13652 "move-concurrently": {
13502 "version": "1.0.1", 13653 "version": "1.0.1",
13503 "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", 13654 "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
...@@ -14144,6 +14295,14 @@ ...@@ -14144,6 +14295,14 @@
14144 "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", 14295 "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
14145 "dev": true 14296 "dev": true
14146 }, 14297 },
14298 + "omit.js": {
14299 + "version": "1.0.2",
14300 + "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-1.0.2.tgz",
14301 + "integrity": "sha512-/QPc6G2NS+8d4L/cQhbk6Yit1WTB6Us2g84A7A/1+w9d/eRGHyEqC5kkQtHVoHZ5NFWGG7tUGgrhVZwgZanKrQ==",
14302 + "requires": {
14303 + "babel-runtime": "^6.23.0"
14304 + }
14305 + },
14147 "on-finished": { 14306 "on-finished": {
14148 "version": "2.3.0", 14307 "version": "2.3.0",
14149 "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", 14308 "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
...@@ -14642,8 +14801,7 @@ ...@@ -14642,8 +14801,7 @@
14642 "performance-now": { 14801 "performance-now": {
14643 "version": "2.1.0", 14802 "version": "2.1.0",
14644 "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 14803 "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
14645 - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", 14804 + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
14646 - "dev": true
14647 }, 14805 },
14648 "picomatch": { 14806 "picomatch": {
14649 "version": "2.2.2", 14807 "version": "2.2.2",
...@@ -16160,7 +16318,6 @@ ...@@ -16160,7 +16318,6 @@
16160 "version": "3.4.1", 16318 "version": "3.4.1",
16161 "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", 16319 "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
16162 "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", 16320 "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
16163 - "dev": true,
16164 "requires": { 16321 "requires": {
16165 "performance-now": "^2.1.0" 16322 "performance-now": "^2.1.0"
16166 } 16323 }
...@@ -16210,6 +16367,535 @@ ...@@ -16210,6 +16367,535 @@
16210 } 16367 }
16211 } 16368 }
16212 }, 16369 },
16370 + "rc-align": {
16371 + "version": "4.0.0",
16372 + "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-4.0.0.tgz",
16373 + "integrity": "sha512-0mKKfiZGo7VNiRCmnI4MTOG72pBFF0H08zebqcJyXcAm2hgAqTUtvt4I0pjMHh1WdYg+iQDjowpB5X8mZTN2vw==",
16374 + "requires": {
16375 + "@babel/runtime": "^7.10.1",
16376 + "classnames": "2.x",
16377 + "dom-align": "^1.7.0",
16378 + "rc-util": "^5.0.1",
16379 + "resize-observer-polyfill": "^1.5.1"
16380 + },
16381 + "dependencies": {
16382 + "@babel/runtime": {
16383 + "version": "7.10.2",
16384 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz",
16385 + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==",
16386 + "requires": {
16387 + "regenerator-runtime": "^0.13.4"
16388 + }
16389 + }
16390 + }
16391 + },
16392 + "rc-animate": {
16393 + "version": "3.1.0",
16394 + "resolved": "https://registry.npmjs.org/rc-animate/-/rc-animate-3.1.0.tgz",
16395 + "integrity": "sha512-8FsM+3B1H+0AyTyGggY6JyVldHTs1CyYT8CfTmG/nGHHXlecvSLeICJhcKgRLjUiQlctNnRtB1rwz79cvBVmrw==",
16396 + "requires": {
16397 + "@ant-design/css-animation": "^1.7.2",
16398 + "classnames": "^2.2.6",
16399 + "raf": "^3.4.0",
16400 + "rc-util": "^5.0.1"
16401 + }
16402 + },
16403 + "rc-cascader": {
16404 + "version": "1.2.0",
16405 + "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-1.2.0.tgz",
16406 + "integrity": "sha512-exJ6qvaZddARXOjxYQzD0oYrOhNS/WC3E0+xUtAA6yP3RA6PRtzTBWCI4Il4y58X3C+wTjkQq5q1vKxHD76QOA==",
16407 + "requires": {
16408 + "array-tree-filter": "^2.1.0",
16409 + "rc-trigger": "^4.0.0",
16410 + "rc-util": "^5.0.1",
16411 + "warning": "^4.0.1"
16412 + }
16413 + },
16414 + "rc-checkbox": {
16415 + "version": "2.2.0",
16416 + "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-2.2.0.tgz",
16417 + "integrity": "sha512-Wjh/nutLA8iIPTT1P9I9KOqlUblVe+CWa3SxMibFySnLyYbMxKNtPhwNcbADPOqzNU0AsCntTduNeJg1n0B5fg==",
16418 + "requires": {
16419 + "babel-runtime": "^6.23.0",
16420 + "classnames": "2.x"
16421 + }
16422 + },
16423 + "rc-collapse": {
16424 + "version": "2.0.0",
16425 + "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-2.0.0.tgz",
16426 + "integrity": "sha512-R5+Ge1uzwK9G1wZPRPhqQsed4FXTDmU0BKzsqfNBtZdk/wd+yey8ZutmJmSozYc5hQwjPkCvJHV7gOIRZKIlJg==",
16427 + "requires": {
16428 + "@ant-design/css-animation": "^1.7.2",
16429 + "classnames": "2.x",
16430 + "rc-animate": "3.x",
16431 + "react-is": "^16.7.0",
16432 + "shallowequal": "^1.1.0"
16433 + }
16434 + },
16435 + "rc-dialog": {
16436 + "version": "8.0.1",
16437 + "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-8.0.1.tgz",
16438 + "integrity": "sha512-ZOO2F8KHN4Dkpf1KiXNPKFWaLZutIuAhQw+YCafcFrigDv50AxGivoMSC//k4yjcJr3XRQTQMlMsmdAff4dEhw==",
16439 + "requires": {
16440 + "babel-runtime": "6.x",
16441 + "rc-animate": "3.x",
16442 + "rc-util": "^5.0.1"
16443 + }
16444 + },
16445 + "rc-drawer": {
16446 + "version": "4.0.1",
16447 + "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-4.0.1.tgz",
16448 + "integrity": "sha512-sQCMV7W5hBjptdHXXKC+YOvZ6sNChDN9Nudd9dA5kJ2ld83yLa54IkEYs4FIb3Ana7yl4kkrgU0B1k2baSsnzw==",
16449 + "requires": {
16450 + "@babel/runtime": "^7.10.1",
16451 + "classnames": "^2.2.6",
16452 + "rc-util": "^5.0.1"
16453 + },
16454 + "dependencies": {
16455 + "@babel/runtime": {
16456 + "version": "7.10.2",
16457 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz",
16458 + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==",
16459 + "requires": {
16460 + "regenerator-runtime": "^0.13.4"
16461 + }
16462 + }
16463 + }
16464 + },
16465 + "rc-dropdown": {
16466 + "version": "3.1.2",
16467 + "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-3.1.2.tgz",
16468 + "integrity": "sha512-s2W5jqvjTid5DxotGO5FlTBaQWeB+Bu7McQgjB8Ot3Wbl72AIKwLf11+lgbV4mA2vWC1H8DKyn6SW9TKLTi0xg==",
16469 + "requires": {
16470 + "@babel/runtime": "^7.10.1",
16471 + "classnames": "^2.2.6",
16472 + "rc-trigger": "^4.0.0"
16473 + },
16474 + "dependencies": {
16475 + "@babel/runtime": {
16476 + "version": "7.10.2",
16477 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz",
16478 + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==",
16479 + "requires": {
16480 + "regenerator-runtime": "^0.13.4"
16481 + }
16482 + }
16483 + }
16484 + },
16485 + "rc-field-form": {
16486 + "version": "1.4.4",
16487 + "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.4.4.tgz",
16488 + "integrity": "sha512-1LwZ/I3fRUDzj2JGyfwur4nZqgwybrHy3kf6aKbGeWfYkpNbZaUNkIPfjBBmCdpN6lVPKI7ftRnYtjdBaXzyaw==",
16489 + "requires": {
16490 + "@babel/runtime": "^7.8.4",
16491 + "async-validator": "^3.0.3",
16492 + "rc-util": "^5.0.0"
16493 + }
16494 + },
16495 + "rc-input-number": {
16496 + "version": "5.0.1",
16497 + "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-5.0.1.tgz",
16498 + "integrity": "sha512-4GgnJCjllAVNsZ9fPA+3LnoIgwUqM8QAWpyoKiTkPDN1UWapXYsPiKJCXOhnmiR0X8xpEoYHiobUaiquMliWiQ==",
16499 + "requires": {
16500 + "classnames": "^2.2.0",
16501 + "rc-util": "^5.0.1"
16502 + }
16503 + },
16504 + "rc-mentions": {
16505 + "version": "1.2.0",
16506 + "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-1.2.0.tgz",
16507 + "integrity": "sha512-9d4AYMuKN4o/ND5r/82rJHMp+R+rn1b+f8ZmWsI/1NlWtMqVn9Q7yxofqbX78zgV6+nppsMvMqtduJhgQkVl0Q==",
16508 + "requires": {
16509 + "@babel/runtime": "^7.10.1",
16510 + "classnames": "^2.2.6",
16511 + "rc-menu": "^8.0.1",
16512 + "rc-trigger": "^4.3.0",
16513 + "rc-util": "^5.0.1"
16514 + },
16515 + "dependencies": {
16516 + "@babel/runtime": {
16517 + "version": "7.10.2",
16518 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz",
16519 + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==",
16520 + "requires": {
16521 + "regenerator-runtime": "^0.13.4"
16522 + }
16523 + }
16524 + }
16525 + },
16526 + "rc-menu": {
16527 + "version": "8.3.1",
16528 + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-8.3.1.tgz",
16529 + "integrity": "sha512-4LNQ0zIL27yayQu9Xi3QOUB2yEqm5qSFwD9MzB1XnTo1JeLTLy3+D8Bm94rykvnhV6z5MYtalUTnM7ETfjExXQ==",
16530 + "requires": {
16531 + "@babel/runtime": "^7.10.1",
16532 + "classnames": "2.x",
16533 + "mini-store": "^3.0.1",
16534 + "rc-animate": "^3.1.0",
16535 + "rc-trigger": "^4.2.0",
16536 + "rc-util": "^5.0.1",
16537 + "resize-observer-polyfill": "^1.5.0",
16538 + "shallowequal": "^1.1.0"
16539 + },
16540 + "dependencies": {
16541 + "@babel/runtime": {
16542 + "version": "7.10.2",
16543 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz",
16544 + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==",
16545 + "requires": {
16546 + "regenerator-runtime": "^0.13.4"
16547 + }
16548 + }
16549 + }
16550 + },
16551 + "rc-notification": {
16552 + "version": "4.4.0",
16553 + "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-4.4.0.tgz",
16554 + "integrity": "sha512-IDeNAFGVeOsy1tv4zNVqMAXB9tianR80ewQbtObaAQfjwAjWfONdqdyjFkEU6nc6UQhSUYA5OcTGb7kwwbnh0g==",
16555 + "requires": {
16556 + "@babel/runtime": "^7.10.1",
16557 + "classnames": "2.x",
16558 + "rc-animate": "3.x",
16559 + "rc-util": "^5.0.1"
16560 + },
16561 + "dependencies": {
16562 + "@babel/runtime": {
16563 + "version": "7.10.2",
16564 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz",
16565 + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==",
16566 + "requires": {
16567 + "regenerator-runtime": "^0.13.4"
16568 + }
16569 + }
16570 + }
16571 + },
16572 + "rc-pagination": {
16573 + "version": "2.2.5",
16574 + "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-2.2.5.tgz",
16575 + "integrity": "sha512-7hMFNi8R7C/4cLKgmSpUb3BfMFdt4DLrjTixSRMpMBR5jwGfwRyoV9g9Tm6gCuCaAlVAX1QNtlM1T2UqEOW5lw==",
16576 + "requires": {
16577 + "@babel/runtime": "^7.10.1",
16578 + "classnames": "^2.2.1"
16579 + },
16580 + "dependencies": {
16581 + "@babel/runtime": {
16582 + "version": "7.10.2",
16583 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz",
16584 + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==",
16585 + "requires": {
16586 + "regenerator-runtime": "^0.13.4"
16587 + }
16588 + }
16589 + }
16590 + },
16591 + "rc-picker": {
16592 + "version": "1.6.3",
16593 + "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-1.6.3.tgz",
16594 + "integrity": "sha512-SBaTUZDr+q89s21dF4wi8Ag+Kecv2x7QfufopV4eASm/WXWnvxIP4pCbedqP02jJQMGt290KNlIiffVNqscs5A==",
16595 + "requires": {
16596 + "@babel/runtime": "^7.10.1",
16597 + "classnames": "^2.2.1",
16598 + "moment": "^2.24.0",
16599 + "rc-trigger": "^4.0.0",
16600 + "rc-util": "^5.0.1",
16601 + "shallowequal": "^1.1.0"
16602 + },
16603 + "dependencies": {
16604 + "@babel/runtime": {
16605 + "version": "7.10.2",
16606 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz",
16607 + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==",
16608 + "requires": {
16609 + "regenerator-runtime": "^0.13.4"
16610 + }
16611 + }
16612 + }
16613 + },
16614 + "rc-progress": {
16615 + "version": "3.0.0",
16616 + "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.0.0.tgz",
16617 + "integrity": "sha512-dQv1KU3o6Vay604FMYMF4S0x4GNXAgXf1tbQ1QoxeIeQt4d5fUeB7Ri82YPu+G+aRvH/AtxYAlEcnxyVZ1/4Hw==",
16618 + "requires": {
16619 + "classnames": "^2.2.6"
16620 + }
16621 + },
16622 + "rc-rate": {
16623 + "version": "2.7.0",
16624 + "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.7.0.tgz",
16625 + "integrity": "sha512-XD+1tnmKa3Ykm6jVX2ZiwIWdv+DG1t7LDK3dojeFoS8GgA7W3oqW5R/UpJ66qrLYpPHw9N4pYJKWySiPKtPsLQ==",
16626 + "requires": {
16627 + "@babel/runtime": "^7.10.1",
16628 + "classnames": "^2.2.5",
16629 + "rc-util": "^5.0.1"
16630 + },
16631 + "dependencies": {
16632 + "@babel/runtime": {
16633 + "version": "7.10.2",
16634 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz",
16635 + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==",
16636 + "requires": {
16637 + "regenerator-runtime": "^0.13.4"
16638 + }
16639 + }
16640 + }
16641 + },
16642 + "rc-resize-observer": {
16643 + "version": "0.2.3",
16644 + "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-0.2.3.tgz",
16645 + "integrity": "sha512-dEPCGX15eRRnu+TNBIGyEghpzE24fTDW8pHdJPJS/kCR3lafFqBLqKzBgZW6pMUuM70/ZDyFQ0Kynx9kWsXRNw==",
16646 + "requires": {
16647 + "@babel/runtime": "^7.10.1",
16648 + "classnames": "^2.2.1",
16649 + "rc-util": "^5.0.0",
16650 + "resize-observer-polyfill": "^1.5.1"
16651 + },
16652 + "dependencies": {
16653 + "@babel/runtime": {
16654 + "version": "7.10.2",
16655 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz",
16656 + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==",
16657 + "requires": {
16658 + "regenerator-runtime": "^0.13.4"
16659 + }
16660 + }
16661 + }
16662 + },
16663 + "rc-select": {
16664 + "version": "11.0.0",
16665 + "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-11.0.0.tgz",
16666 + "integrity": "sha512-TG3I5RkTFNkDo1cNgQHccRdrL29+o61yx6UmfZ8kZ8MCKn7f7FYld3Tey0PGcQOJ4RnzBOCySp+tGakYl94NKQ==",
16667 + "requires": {
16668 + "@babel/runtime": "^7.10.1",
16669 + "classnames": "2.x",
16670 + "rc-animate": "^3.0.0",
16671 + "rc-trigger": "^4.3.0",
16672 + "rc-util": "^5.0.1",
16673 + "rc-virtual-list": "^1.1.2",
16674 + "warning": "^4.0.3"
16675 + },
16676 + "dependencies": {
16677 + "@babel/runtime": {
16678 + "version": "7.10.2",
16679 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz",
16680 + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==",
16681 + "requires": {
16682 + "regenerator-runtime": "^0.13.4"
16683 + }
16684 + }
16685 + }
16686 + },
16687 + "rc-slider": {
16688 + "version": "9.3.0",
16689 + "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-9.3.0.tgz",
16690 + "integrity": "sha512-9QPRjK8qFYO8L/Cn//O/K4g4dSU1glgvAdeT9qBLmjXtdYSiJ9u3YulcdbHWHo9Y3IE1dyaVm4m4ll2FWdDyqg==",
16691 + "requires": {
16692 + "@babel/runtime": "^7.10.1",
16693 + "classnames": "^2.2.5",
16694 + "rc-tooltip": "^4.0.0",
16695 + "rc-util": "^5.0.0",
16696 + "shallowequal": "^1.1.0"
16697 + },
16698 + "dependencies": {
16699 + "@babel/runtime": {
16700 + "version": "7.10.2",
16701 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz",
16702 + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==",
16703 + "requires": {
16704 + "regenerator-runtime": "^0.13.4"
16705 + }
16706 + }
16707 + }
16708 + },
16709 + "rc-steps": {
16710 + "version": "4.0.0",
16711 + "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-4.0.0.tgz",
16712 + "integrity": "sha512-Vy0T2sC+1ElpovEB97mYNVR5GYNYSzMiRJFumera5gZL2bH6FcxYioXcq/HYCPN//YC+b/Fs37x4G/WpGMuaVw==",
16713 + "requires": {
16714 + "@babel/runtime": "^7.10.2",
16715 + "classnames": "^2.2.3",
16716 + "rc-util": "^5.0.1"
16717 + },
16718 + "dependencies": {
16719 + "@babel/runtime": {
16720 + "version": "7.10.2",
16721 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz",
16722 + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==",
16723 + "requires": {
16724 + "regenerator-runtime": "^0.13.4"
16725 + }
16726 + }
16727 + }
16728 + },
16729 + "rc-switch": {
16730 + "version": "3.2.0",
16731 + "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-3.2.0.tgz",
16732 + "integrity": "sha512-WQZnRrWZ+KGh4Cd98FpP1ZgvMmebctoHzKAO2n1Xsry1FQBSGgIw4rQJRxET31VS/dR1LIKb5md/k0UzcXXc0g==",
16733 + "requires": {
16734 + "@babel/runtime": "^7.10.1",
16735 + "classnames": "^2.2.1",
16736 + "rc-util": "^5.0.1"
16737 + },
16738 + "dependencies": {
16739 + "@babel/runtime": {
16740 + "version": "7.10.2",
16741 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz",
16742 + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==",
16743 + "requires": {
16744 + "regenerator-runtime": "^0.13.4"
16745 + }
16746 + }
16747 + }
16748 + },
16749 + "rc-table": {
16750 + "version": "7.7.2",
16751 + "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.7.2.tgz",
16752 + "integrity": "sha512-LcCOYmnIKFPNFDbJpD6yUpTyQytoQL0nXoyuG4FWJROMJzmhVhpVQZ83YjFOAlZjwx0Ixz04yPkMvRq6xr9vXQ==",
16753 + "requires": {
16754 + "@babel/runtime": "^7.10.1",
16755 + "classnames": "^2.2.5",
16756 + "raf": "^3.4.1",
16757 + "rc-resize-observer": "^0.2.0",
16758 + "rc-util": "^5.0.0",
16759 + "shallowequal": "^1.1.0"
16760 + },
16761 + "dependencies": {
16762 + "@babel/runtime": {
16763 + "version": "7.10.2",
16764 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz",
16765 + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==",
16766 + "requires": {
16767 + "regenerator-runtime": "^0.13.4"
16768 + }
16769 + }
16770 + }
16771 + },
16772 + "rc-tabs": {
16773 + "version": "11.3.2",
16774 + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-11.3.2.tgz",
16775 + "integrity": "sha512-UQQrVmBZm/LrgS5GHPZNpzedTV5ppU1f8dvTV2TX/zmV8byaOVd2uJ9F/f4zkXTvsTLxGzFfCrb6nAn1cwSBLw==",
16776 + "requires": {
16777 + "@babel/runtime": "^7.10.1",
16778 + "classnames": "2.x",
16779 + "raf": "^3.4.1",
16780 + "rc-dropdown": "^3.1.0",
16781 + "rc-menu": "^8.2.1",
16782 + "rc-resize-observer": "^0.2.1",
16783 + "rc-trigger": "^4.2.1",
16784 + "rc-util": "^5.0.0"
16785 + },
16786 + "dependencies": {
16787 + "@babel/runtime": {
16788 + "version": "7.10.2",
16789 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz",
16790 + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==",
16791 + "requires": {
16792 + "regenerator-runtime": "^0.13.4"
16793 + }
16794 + }
16795 + }
16796 + },
16797 + "rc-tooltip": {
16798 + "version": "4.2.1",
16799 + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-4.2.1.tgz",
16800 + "integrity": "sha512-oykuaGsHg7RFvPUaxUpxo7ScEqtH61C66x4JUmjlFlSS8gSx2L8JFtfwM1D68SLBxUqGqJObtxj4TED75gQTiA==",
16801 + "requires": {
16802 + "rc-trigger": "^4.2.1"
16803 + }
16804 + },
16805 + "rc-tree": {
16806 + "version": "3.3.1",
16807 + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-3.3.1.tgz",
16808 + "integrity": "sha512-DGyVZN4HRSrmFErn68KOISIl3z0R9EjeNyZE0sgAaa5oqpQDAEK78/lYf5k3rot1N/iFAEJKaTRJfM7eIdWGwg==",
16809 + "requires": {
16810 + "@babel/runtime": "^7.10.1",
16811 + "classnames": "2.x",
16812 + "rc-animate": "^3.1.0",
16813 + "rc-util": "^5.0.0",
16814 + "rc-virtual-list": "^1.1.0"
16815 + },
16816 + "dependencies": {
16817 + "@babel/runtime": {
16818 + "version": "7.10.2",
16819 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz",
16820 + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==",
16821 + "requires": {
16822 + "regenerator-runtime": "^0.13.4"
16823 + }
16824 + }
16825 + }
16826 + },
16827 + "rc-tree-select": {
16828 + "version": "4.0.1",
16829 + "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-4.0.1.tgz",
16830 + "integrity": "sha512-VehfIZgu6Xmko7YfJgshmuIdeI7u7Ar1iLkmlb69/w1HjaDnSHbV3N3xopLABAq8lTlTAnSFU2JCPcYifvTmAA==",
16831 + "requires": {
16832 + "@babel/runtime": "^7.10.1",
16833 + "classnames": "2.x",
16834 + "rc-select": "^11.0.0",
16835 + "rc-tree": "^3.1.0",
16836 + "rc-util": "^5.0.1"
16837 + },
16838 + "dependencies": {
16839 + "@babel/runtime": {
16840 + "version": "7.10.2",
16841 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz",
16842 + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==",
16843 + "requires": {
16844 + "regenerator-runtime": "^0.13.4"
16845 + }
16846 + }
16847 + }
16848 + },
16849 + "rc-trigger": {
16850 + "version": "4.3.0",
16851 + "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-4.3.0.tgz",
16852 + "integrity": "sha512-jnGNzosXmDdivMBjPCYe/AfOXTpJU2/xQ9XukgoXDQEoZq/9lcI1r7eUIfq70WlWpLxlUEqQktiV3hwyy6Nw9g==",
16853 + "requires": {
16854 + "@babel/runtime": "^7.10.1",
16855 + "classnames": "^2.2.6",
16856 + "raf": "^3.4.1",
16857 + "rc-align": "^4.0.0",
16858 + "rc-animate": "^3.0.0",
16859 + "rc-util": "^5.0.1"
16860 + },
16861 + "dependencies": {
16862 + "@babel/runtime": {
16863 + "version": "7.10.2",
16864 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz",
16865 + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==",
16866 + "requires": {
16867 + "regenerator-runtime": "^0.13.4"
16868 + }
16869 + }
16870 + }
16871 + },
16872 + "rc-upload": {
16873 + "version": "3.1.4",
16874 + "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-3.1.4.tgz",
16875 + "integrity": "sha512-G6nqT4HMrT+mDd32ZHfcFs2eCFilMdIdteylNCHPcfoBBOKkBW4iVo7O6uFhz/8jIGNLJfR3+6S2x/lnXYYrCQ==",
16876 + "requires": {
16877 + "classnames": "^2.2.5"
16878 + }
16879 + },
16880 + "rc-util": {
16881 + "version": "5.0.4",
16882 + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.0.4.tgz",
16883 + "integrity": "sha512-cd19RCrE0DJH6UcJ9+V3eaXA/5sNWyVKOKkWl8ZM2OqgNzVb8fv0obf/TkuvSN43tmTsgqY8k7OqpFYHhmef8g==",
16884 + "requires": {
16885 + "react-is": "^16.12.0",
16886 + "shallowequal": "^1.1.0"
16887 + }
16888 + },
16889 + "rc-virtual-list": {
16890 + "version": "1.1.5",
16891 + "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-1.1.5.tgz",
16892 + "integrity": "sha512-roZ6HE5MNKaiop+Ic7jZS7xlMnXBLp0XBElsMbE4eEL3GnnnJAet2iXoT5wjKcKMXEVyVCD0L4yQozmH7+Kgxg==",
16893 + "requires": {
16894 + "classnames": "^2.2.6",
16895 + "raf": "^3.4.1",
16896 + "rc-util": "^5.0.0"
16897 + }
16898 + },
16213 "react": { 16899 "react": {
16214 "version": "16.13.1", 16900 "version": "16.13.1",
16215 "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", 16901 "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz",
...@@ -17020,6 +17706,11 @@ ...@@ -17020,6 +17706,11 @@
17020 "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", 17706 "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
17021 "dev": true 17707 "dev": true
17022 }, 17708 },
17709 + "resize-observer-polyfill": {
17710 + "version": "1.5.1",
17711 + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
17712 + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
17713 + },
17023 "resolve": { 17714 "resolve": {
17024 "version": "1.15.0", 17715 "version": "1.15.0",
17025 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.0.tgz", 17716 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.0.tgz",
...@@ -17623,6 +18314,14 @@ ...@@ -17623,6 +18314,14 @@
17623 "ajv-keywords": "^3.4.1" 18314 "ajv-keywords": "^3.4.1"
17624 } 18315 }
17625 }, 18316 },
18317 + "scroll-into-view-if-needed": {
18318 + "version": "2.2.25",
18319 + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.25.tgz",
18320 + "integrity": "sha512-C8RKJPq9lK7eubwGpLbUkw3lklcG3Ndjmea2PyauzrA0i4DPlzAmVMGxaZrBFqCrVLfvJmP80IyHnv4jxvg1OQ==",
18321 + "requires": {
18322 + "compute-scroll-into-view": "^1.0.14"
18323 + }
18324 + },
17626 "scss-tokenizer": { 18325 "scss-tokenizer": {
17627 "version": "0.2.3", 18326 "version": "0.2.3",
17628 "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", 18327 "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
...@@ -17886,8 +18585,7 @@ ...@@ -17886,8 +18585,7 @@
17886 "shallowequal": { 18585 "shallowequal": {
17887 "version": "1.1.0", 18586 "version": "1.1.0",
17888 "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", 18587 "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
17889 - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", 18588 + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="
17890 - "dev": true
17891 }, 18589 },
17892 "shebang-command": { 18590 "shebang-command": {
17893 "version": "2.0.0", 18591 "version": "2.0.0",
...@@ -18481,6 +19179,11 @@ ...@@ -18481,6 +19179,11 @@
18481 "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", 19179 "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==",
18482 "dev": true 19180 "dev": true
18483 }, 19181 },
19182 + "string-convert": {
19183 + "version": "0.2.1",
19184 + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz",
19185 + "integrity": "sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c="
19186 + },
18484 "string-length": { 19187 "string-length": {
18485 "version": "2.0.0", 19188 "version": "2.0.0",
18486 "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", 19189 "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz",
...@@ -19077,6 +19780,11 @@ ...@@ -19077,6 +19780,11 @@
19077 "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", 19780 "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
19078 "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" 19781 "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
19079 }, 19782 },
19783 + "tinycolor2": {
19784 + "version": "1.4.1",
19785 + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz",
19786 + "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g="
19787 + },
19080 "tmp": { 19788 "tmp": {
19081 "version": "0.0.33", 19789 "version": "0.0.33",
19082 "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 19790 "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
...@@ -19134,6 +19842,11 @@ ...@@ -19134,6 +19842,11 @@
19134 "is-number": "^7.0.0" 19842 "is-number": "^7.0.0"
19135 } 19843 }
19136 }, 19844 },
19845 + "toggle-selection": {
19846 + "version": "1.0.6",
19847 + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
19848 + "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI="
19849 + },
19137 "toidentifier": { 19850 "toidentifier": {
19138 "version": "1.0.0", 19851 "version": "1.0.0",
19139 "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", 19852 "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
...@@ -19585,6 +20298,14 @@ ...@@ -19585,6 +20298,14 @@
19585 "makeerror": "1.0.x" 20298 "makeerror": "1.0.x"
19586 } 20299 }
19587 }, 20300 },
20301 + "warning": {
20302 + "version": "4.0.3",
20303 + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
20304 + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
20305 + "requires": {
20306 + "loose-envify": "^1.0.0"
20307 + }
20308 + },
19588 "watchpack": { 20309 "watchpack": {
19589 "version": "1.6.1", 20310 "version": "1.6.1",
19590 "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.1.tgz", 20311 "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.1.tgz",
......
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
4 "description": "Dropbox alternative cloud file service", 4 "description": "Dropbox alternative cloud file service",
5 "private": true, 5 "private": true,
6 "dependencies": { 6 "dependencies": {
7 + "@ant-design/icons": "^4.2.1",
8 + "antd": "^4.3.3",
7 "classnames": "^2.2.6", 9 "classnames": "^2.2.6",
8 "ky": "^0.20.0", 10 "ky": "^0.20.0",
9 "miragejs": "^0.1.40", 11 "miragejs": "^0.1.40",
......
1 -import React from "react"; 1 +import React, { Fragment } from "react";
2 +import { Switch, Route, Redirect } from "react-router-dom";
3 +
4 +import { Login } from "auth/Login";
5 +import { useAuth } from "auth/useAuth";
2 6
3 export function App() { 7 export function App() {
4 - return <div>Hello World!</div>; 8 + const { token, login } = useAuth();
9 + return (
10 + <Fragment>
11 + <Switch>
12 + <Route path="/login">
13 + <Login login={login} />
14 + </Route>
15 + </Switch>
16 + {token === null && <Redirect to="/login" />}
17 + </Fragment>
18 + );
5 } 19 }
......
1 +.layout {
2 + height: 100%;
3 + align-items: center;
4 + justify-content: center;
5 +}
6 +
7 +.content {
8 + width: 640px;
9 + flex-grow: 0;
10 + background: #fff;
11 + padding: 80px 50px 50px;
12 +}
13 +
14 +#components-form-demo-normal-login .login-form-forgot {
15 + float: right;
16 +}
17 +
18 +#components-form-demo-normal-login .ant-col-rtl .login-form-forgot {
19 + float: left;
20 +}
21 +
22 +#components-form-demo-normal-login .login-form-button {
23 + width: 100%;
24 +}
1 +import React, { useCallback, useState } from "react";
2 +import { Form, Input, Button, Checkbox, Layout } from "antd";
3 +import { UserOutlined, LockOutlined } from "@ant-design/icons";
4 +import { useHistory } from "react-router-dom";
5 +
6 +import styles from "./Login.module.scss";
7 +
8 +export type LoginProps = {
9 + login: (
10 + username: string,
11 + password: string,
12 + remember: boolean
13 + ) => Promise<void>;
14 +};
15 +
16 +export function Login({ login }: LoginProps) {
17 + const [error, setError] = useState<boolean>(false);
18 + const history = useHistory();
19 +
20 + const handleLogin = useCallback(
21 + async ({ username, password, remember }) => {
22 + setError(false);
23 + try {
24 + await login(username, password, remember);
25 + history.push("/");
26 + } catch {
27 + setError(true);
28 + }
29 + },
30 + [login, history]
31 + );
32 +
33 + return (
34 + <Layout className={styles.layout}>
35 + <Layout.Content className={styles.content}>
36 + <Form
37 + name="login"
38 + initialValues={{ remember: true }}
39 + onFinish={handleLogin}
40 + >
41 + <Form.Item
42 + name="username"
43 + rules={[{ required: true, message: "아이디를 입력하세요" }]}
44 + {...(error && {
45 + validateStatus: "error",
46 + })}
47 + >
48 + <Input prefix={<UserOutlined />} placeholder="아이디" />
49 + </Form.Item>
50 + <Form.Item
51 + name="password"
52 + rules={[{ required: true, message: "Please input your Password!" }]}
53 + {...(error && {
54 + validateStatus: "error",
55 + help: "로그인에 실패했습니다",
56 + })}
57 + >
58 + <Input
59 + prefix={<LockOutlined />}
60 + type="password"
61 + placeholder="비밀번호"
62 + />
63 + </Form.Item>
64 + <Form.Item>
65 + <Form.Item name="remember" valuePropName="checked" noStyle>
66 + <Checkbox>자동 로그인</Checkbox>
67 + </Form.Item>
68 + </Form.Item>
69 +
70 + <Form.Item>
71 + <Button type="primary" htmlType="submit">
72 + 로그인
73 + </Button>
74 + </Form.Item>
75 + </Form>
76 + </Layout.Content>
77 + </Layout>
78 + );
79 +}
1 +import { useState, useCallback } from "react";
2 +import ky from "ky";
3 +
4 +interface LoginResponse {
5 + status: number;
6 + data: {
7 + access_token: string;
8 + refresh_token: string;
9 + expiration: string;
10 + };
11 +}
12 +
13 +interface Token {
14 + accessToken: string;
15 + refreshToken: string;
16 + expiration: Date;
17 +}
18 +
19 +export function useAuth() {
20 + const [token, setToken] = useState<Token | null>(() => {
21 + const item = localStorage.getItem("token");
22 + if (item) {
23 + const token = JSON.parse(item);
24 + token.expiration = new Date(token.expiration);
25 + return token;
26 + }
27 + return null;
28 + });
29 +
30 + const login = useCallback(
31 + async (username: string, password: string, remember: boolean) => {
32 + const response = await ky
33 + .post("/users/login", {
34 + json: {
35 + user_id: username,
36 + password: password,
37 + },
38 + })
39 + .json<LoginResponse>();
40 +
41 + const token = {
42 + accessToken: response.data.access_token,
43 + refreshToken: response.data.refresh_token,
44 + expiration: new Date(response.data.expiration),
45 + };
46 +
47 + setToken(token);
48 +
49 + if (remember) {
50 + localStorage.setItem("token", JSON.stringify(token));
51 + }
52 + },
53 + []
54 + );
55 +
56 + return { token, login };
57 +}
1 -body { 1 +#root {
2 - margin: 0; 2 + height: 100%;
3 - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
4 - "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
5 - sans-serif;
6 - -webkit-font-smoothing: antialiased;
7 - -moz-osx-font-smoothing: grayscale;
8 -}
9 -
10 -code {
11 - font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
12 - monospace;
13 } 3 }
......
1 import React from "react"; 1 import React from "react";
2 import ReactDOM from "react-dom"; 2 import ReactDOM from "react-dom";
3 +import { BrowserRouter } from "react-router-dom";
3 4
5 +import "antd/dist/antd.css";
4 import "./index.css"; 6 import "./index.css";
5 7
6 import { App } from "./App"; 8 import { App } from "./App";
...@@ -10,9 +12,9 @@ import * as serviceWorker from "./serviceWorker"; ...@@ -10,9 +12,9 @@ import * as serviceWorker from "./serviceWorker";
10 import "./server"; 12 import "./server";
11 13
12 ReactDOM.render( 14 ReactDOM.render(
13 - <React.StrictMode> 15 + <BrowserRouter>
14 <App /> 16 <App />
15 - </React.StrictMode>, 17 + </BrowserRouter>,
16 document.getElementById("root") 18 document.getElementById("root")
17 ); 19 );
18 20
......
...@@ -46,8 +46,6 @@ createServer({ ...@@ -46,8 +46,6 @@ createServer({
46 factories: {}, 46 factories: {},
47 47
48 routes() { 48 routes() {
49 - this.namespace = "api";
50 -
51 this.get("/items/:item_id/children", (schema, request) => { 49 this.get("/items/:item_id/children", (schema, request) => {
52 const directory = schema.find("item", request.params.item_id); 50 const directory = schema.find("item", request.params.item_id);
53 if (!directory || !directory.is_folder) { 51 if (!directory || !directory.is_folder) {
......