diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 9fcea17039..17e1d2194b 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -8,13 +8,16 @@ "name": "seahub-frontend", "version": "0.1.0", "dependencies": { - "@reach/router": "1.2.0", + "@reach/router": "1.3.4", "@seafile/react-image-lightbox": "0.0.1", "@seafile/resumablejs": "1.1.16", "@seafile/seafile-calendar": "0.0.12", - "@seafile/seafile-editor": "0.3.111", + "@seafile/seafile-editor": "0.3.122", + "@seafile/slate-react": "0.54.13", "classnames": "^2.2.6", "copy-to-clipboard": "^3.0.8", + "crypto-js": "4.1.1", + "deep-copy": "1.4.2", "glamor": "^2.20.40", "i18next": "22.4.6", "i18next-browser-languagedetector": "7.0.1", @@ -23,20 +26,21 @@ "moment": "^2.22.2", "object-assign": "4.1.1", "prismjs": "1.23.0", - "prop-types": "^15.6.2", + "prop-types": "15.8.1", "qrcode.react": "^1.0.1", - "react": "16.14.0", + "react": "18.2.0", "react-app-polyfill": "^2.0.0", "react-chartjs-2": "^2.8.0", "react-codemirror2": "7.2.1", "react-cookies": "^0.1.0", - "react-dom": "16.14.0", + "react-dom": "18.2.0", "react-i18next": "12.1.1", "react-mentions": "4.4.7", "react-qr-code": "^1.0.5", "react-responsive": "9.0.2", "react-select": "5.7.0", - "reactstrap": "^6.4.0", + "react-transition-group": "4.4.5", + "reactstrap": "8.9.0", "seafile-js": "0.2.190", "socket.io-client": "^2.2.0", "unified": "^7.0.0", @@ -2532,32 +2536,6 @@ "dev": true, "license": "CC0-1.0" }, - "node_modules/@emotion/babel-utils": { - "version": "0.6.10", - "resolved": "https://registry.npmjs.org/@emotion/babel-utils/-/babel-utils-0.6.10.tgz", - "integrity": "sha512-/fnkM/LTEp3jKe++T0KyTszVGWNKPNOUJfjNKLO17BzQ6QPxgbg3whayom1Qr2oLFH3V92tDymU+dT5q676uow==", - "dependencies": { - "@emotion/hash": "^0.6.6", - "@emotion/memoize": "^0.6.6", - "@emotion/serialize": "^0.9.1", - "convert-source-map": "^1.5.1", - "find-root": "^1.1.0", - "source-map": "^0.7.2" - } - }, - "node_modules/@emotion/babel-utils/node_modules/@emotion/memoize": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.6.6.tgz", - "integrity": "sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ==" - }, - "node_modules/@emotion/babel-utils/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "engines": { - "node": ">= 8" - } - }, "node_modules/@emotion/cache": { "version": "11.10.5", "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz", @@ -2570,52 +2548,16 @@ "stylis": "4.1.3" } }, - "node_modules/@emotion/hash": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.6.6.tgz", - "integrity": "sha512-ojhgxzUHZ7am3D2jHkMzPpsBAiB005GF5YU4ea+8DNPybMk01JJUM9V9YRlF/GE95tcOm8DxQvWA2jq19bGalQ==" - }, "node_modules/@emotion/memoize": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" }, - "node_modules/@emotion/serialize": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.9.1.tgz", - "integrity": "sha512-zTuAFtyPvCctHBEL8KZ5lJuwBanGSutFEncqLn/m9T1a6a93smBStK+bZzcNPgj4QS8Rkw9VTwJGhRIUVO8zsQ==", - "dependencies": { - "@emotion/hash": "^0.6.6", - "@emotion/memoize": "^0.6.6", - "@emotion/unitless": "^0.6.7", - "@emotion/utils": "^0.8.2" - } - }, - "node_modules/@emotion/serialize/node_modules/@emotion/memoize": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.6.6.tgz", - "integrity": "sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ==" - }, - "node_modules/@emotion/serialize/node_modules/@emotion/utils": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.8.2.tgz", - "integrity": "sha512-rLu3wcBWH4P5q1CGoSSH/i9hrXs7SlbRLkoq9IGuoPYNGQvDJ3pt/wmOM+XgYjIDRMVIdkUWt0RsfzF50JfnCw==" - }, "node_modules/@emotion/sheet": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz", "integrity": "sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==" }, - "node_modules/@emotion/stylis": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.7.1.tgz", - "integrity": "sha512-/SLmSIkN13M//53TtNxgxo57mcJk/UJIDFRKwOiLIBEyBHEcipgR6hNMQ/59Sl4VjCJ0Z/3zeAZyvnSLPG/1HQ==" - }, - "node_modules/@emotion/unitless": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.6.7.tgz", - "integrity": "sha512-Arj1hncvEVqQ2p7Ega08uHLr1JuRYBuO5cIvcA+WWEQ5+VmkOE3ZXzl04NbQxeQpWX78G7u6MqxKuNX3wvYZxg==" - }, "node_modules/@emotion/utils": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz", @@ -3720,25 +3662,31 @@ } }, "node_modules/@reach/router": { - "version": "1.2.0", - "license": "MIT", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@reach/router/-/router-1.3.4.tgz", + "integrity": "sha512-+mtn9wjlB9NN2CNnnC/BRYtwdKBfSyyasPYraNAyvaV1occr/5NnB4CVzjEZipNHwYebQwcndGUmpFzxAUoqSA==", "dependencies": { - "create-react-context": "^0.2.1", + "create-react-context": "0.3.0", "invariant": "^2.2.3", "prop-types": "^15.6.1", - "react-lifecycles-compat": "^3.0.4", - "warning": "^3.0.0" + "react-lifecycles-compat": "^3.0.4" }, "peerDependencies": { "react": "15.x || 16.x || 16.4.0-alpha.0911da3", "react-dom": "15.x || 16.x || 16.4.0-alpha.0911da3" } }, - "node_modules/@reach/router/node_modules/warning": { - "version": "3.0.0", - "license": "BSD-3-Clause", + "node_modules/@reach/router/node_modules/create-react-context": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.3.0.tgz", + "integrity": "sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw==", "dependencies": { - "loose-envify": "^1.0.0" + "gud": "^1.0.0", + "warning": "^4.0.3" + }, + "peerDependencies": { + "prop-types": "^15.0.0", + "react": "^0.14.0 || ^15.0.0 || ^16.0.0" } }, "node_modules/@react-native-community/cli": { @@ -4832,6 +4780,24 @@ "react-dom": "^16.x" } }, + "node_modules/@seafile/react-image-lightbox/node_modules/react-modal": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.16.1.tgz", + "integrity": "sha512-VStHgI3BVcGo7OXczvnJN7yT2TWHJPDXZWyI/a0ssFNhGZWsPmB8cF0z33ewDXq4VfYMO1vXgiv/g8Nj9NDyWg==", + "dependencies": { + "exenv": "^1.2.0", + "prop-types": "^15.7.2", + "react-lifecycles-compat": "^3.0.0", + "warning": "^4.0.3" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18", + "react-dom": "^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18" + } + }, "node_modules/@seafile/resumablejs": { "version": "1.1.16", "license": "MIT" @@ -4849,37 +4815,30 @@ } }, "node_modules/@seafile/seafile-editor": { - "version": "0.3.111", - "license": "ISC", + "version": "0.3.122", + "resolved": "https://registry.npmjs.org/@seafile/seafile-editor/-/seafile-editor-0.3.122.tgz", + "integrity": "sha512-e89T+29BJqco+fUDp0/ZgWlwYJtyK7JbyqPUyMrR72K354e07gAR2Q9uO7qMyRNbVVcXykih7AT5hbwB1R8f7w==", "dependencies": { "@seafile/react-image-lightbox": "^0.0.9", "@seafile/slate-react": "^0.54.13", "codemirror": "^5.37.0", - "crypto-js": "^3.1.9-1", - "deep-equal": "^1.0.1", "deepmerge": "^2.1.0", "detect-indent": "^4.0.0", - "detect-newline": "^2.1.0", - "glamor": "^2.20.40", "hast-util-sanitize": "^1.1.2", - "i18next": "^17.0.13", - "i18next-browser-languagedetector": "^3.0.3", - "i18next-xhr-backend": "^3.1.2", - "is-data-uri": "^0.1.0", - "is-hotkey": "^0.1.3", + "i18next": "22.4.6", + "i18next-browser-languagedetector": "7.0.1", + "i18next-xhr-backend": "3.2.2", + "is-hotkey": "0.2.0", "is-url": "^1.2.4", "lodash": "4.17.21", "mdast-util-definitions": "^1.2.2", - "object-assign": "4.1.1", "prismjs": "1.23.0", "promise": "8.0.1", - "prop-types": "^15.6.1", - "react": "^16.12.0", - "react-dom": "^16.12.0", - "react-i18next": "^10.12.2", - "react-mentions": "^3.0.2", - "react-select": "^2.4.2", - "reactstrap": "^5.0.0-beta.3", + "prop-types": "15.8.1", + "react": "18.2.0", + "react-dom": "18.2.0", + "react-i18next": "12.1.1", + "reactstrap": "8.9.0", "rehype-format": "^2.2.0", "rehype-mathjax": "^2.0.0", "rehype-raw": "^2.0.0", @@ -4900,17 +4859,10 @@ "xtend": "^4.0.1" } }, - "node_modules/@seafile/seafile-editor/node_modules/@babel/runtime": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.5.tgz", - "integrity": "sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ==", - "dependencies": { - "regenerator-runtime": "^0.13.2" - } - }, "node_modules/@seafile/seafile-editor/node_modules/@seafile/react-image-lightbox": { "version": "0.0.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@seafile/react-image-lightbox/-/react-image-lightbox-0.0.9.tgz", + "integrity": "sha512-VkbItw5Jk4uDaqnemduA8UJuNa09GAJd384/U4HpteDEvkWWj5NSk9end7G68R3zg5UFFkdZUPgBAvYaLwwKeg==", "dependencies": { "prop-types": "^15.6.2", "react-modal": "^3.11.1" @@ -4920,90 +4872,47 @@ "react-dom": "^16.x" } }, - "node_modules/@seafile/seafile-editor/node_modules/i18next": { - "version": "17.3.1", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-17.3.1.tgz", - "integrity": "sha512-4nY+yaENaoZKmpbiDXPzucVHCN3hN9Z9Zk7LyQXVOKVIpnYOJ3L/yxHJlBPtJDq3PGgjFwA0QBFm/26Z0iDT5A==", + "node_modules/@seafile/seafile-editor/node_modules/@seafile/react-image-lightbox/node_modules/react-modal": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.16.1.tgz", + "integrity": "sha512-VStHgI3BVcGo7OXczvnJN7yT2TWHJPDXZWyI/a0ssFNhGZWsPmB8cF0z33ewDXq4VfYMO1vXgiv/g8Nj9NDyWg==", "dependencies": { - "@babel/runtime": "^7.3.1" - } - }, - "node_modules/@seafile/seafile-editor/node_modules/i18next-browser-languagedetector": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-3.1.1.tgz", - "integrity": "sha512-JBgFWijjI1t6as4WgGvDdX4GLJPZwC/SMHzLQQ3ef7XaJsEkomlXFqXifKvOVJg09Hj2BVWe6strDdIF4J/0ng==" - }, - "node_modules/@seafile/seafile-editor/node_modules/react-i18next": { - "version": "10.13.2", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-10.13.2.tgz", - "integrity": "sha512-DGoauWUdPEv/+PLa03nN+wlW31XrGmQJz+zIyOA+tRTIwlRaNgeM62nGP1WG3g7fJrphMZUwPcAQqNv6XBYM4w==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "html-parse-stringify2": "2.0.1" + "exenv": "^1.2.0", + "prop-types": "^15.7.2", + "react-lifecycles-compat": "^3.0.0", + "warning": "^4.0.3" + }, + "engines": { + "node": ">=8" }, "peerDependencies": { - "i18next": ">= 17.0.0", - "react": ">= 16.8.0" + "react": "^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18", + "react-dom": "^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18" } }, - "node_modules/@seafile/seafile-editor/node_modules/react-mentions": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/react-mentions/-/react-mentions-3.3.2.tgz", - "integrity": "sha512-JEuJMnjXOoLo+gkT59ZscZ9ulV7O333cu81pKiWutuX0CCyoedJTxPDlVJAxoaDSUwsMgOmb3GmuiwafWYdizg==", + "node_modules/@seafile/seafile-editor/node_modules/is-hotkey": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-hotkey/-/is-hotkey-0.2.0.tgz", + "integrity": "sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==" + }, + "node_modules/@seafile/seafile-editor/node_modules/slate-html-serializer": { + "version": "0.7.39", + "resolved": "https://registry.npmjs.org/slate-html-serializer/-/slate-html-serializer-0.7.39.tgz", + "integrity": "sha512-ZNyVjqCasSa0M80+4W1bFXMhW4KJM7EE6dkyBOhQmIcuRX529xOahcz+6ZYK7fQn0Cyrye899OtX26LulAh/Ew==", "dependencies": { - "@babel/runtime": "7.4.5", - "invariant": "^2.2.4", - "prop-types": "^15.5.8", - "substyle": "^6.3.1" + "type-of": "^2.0.1" }, "peerDependencies": { - "react": "16.x", - "react-dom": "16.x" + "immutable": ">=3.8.1 || >4.0.0-rc", + "react": ">=0.14.0", + "react-dom": ">=0.14.0", + "slate": ">=0.32.0" } }, - "node_modules/@seafile/seafile-editor/node_modules/react-select": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/react-select/-/react-select-2.4.4.tgz", - "integrity": "sha512-C4QPLgy9h42J/KkdrpVxNmkY6p4lb49fsrbDk/hRcZpX7JvZPNb6mGj+c5SzyEtBv1DmQ9oPH4NmhAFvCrg8Jw==", - "dependencies": { - "classnames": "^2.2.5", - "emotion": "^9.1.2", - "memoize-one": "^5.0.0", - "prop-types": "^15.6.0", - "raf": "^3.4.0", - "react-input-autosize": "^2.2.1", - "react-transition-group": "^2.2.1" - }, - "peerDependencies": { - "react": "^15.3.0 || ^16.0.0", - "react-dom": "^15.3.0 || ^16.0.0" - } - }, - "node_modules/@seafile/seafile-editor/node_modules/reactstrap": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "classnames": "^2.2.3", - "lodash.isfunction": "^3.0.9", - "lodash.isobject": "^3.0.2", - "lodash.tonumber": "^4.0.3", - "prop-types": "^15.5.8", - "react-popper": "^0.8.3", - "react-transition-group": "^2.2.1" - }, - "peerDependencies": { - "react": "^16.0.0", - "react-dom": "^16.0.0" - } - }, - "node_modules/@seafile/seafile-editor/node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, "node_modules/@seafile/slate-react": { "version": "0.54.13", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@seafile/slate-react/-/slate-react-0.54.13.tgz", + "integrity": "sha512-NjaY2EXwgMMJFJp2523w2+hK2S+dAWbHCMXadhuuM0S7ZzrerO86XA2N4ZBsaTwQqzJiEJBjg6+I/szD0HaNEA==", "dependencies": { "@types/debounce": "^1.2.0", "@types/debug": "^4.1.5", @@ -5545,12 +5454,14 @@ } }, "node_modules/@types/debounce": { - "version": "1.2.0", - "license": "MIT" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-epMsEE85fi4lfmJUH/89/iV/LI+F5CvNIvmgs5g5jYFPfhO2S/ae8WSsLOKWdwtoaZw9Q2IhJ4tQ5tFCcS/4HA==" }, "node_modules/@types/debug": { "version": "4.1.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", + "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", "dependencies": { "@types/ms": "*" } @@ -5596,8 +5507,9 @@ "license": "MIT" }, "node_modules/@types/is-hotkey": { - "version": "0.1.3", - "license": "MIT" + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/@types/is-hotkey/-/is-hotkey-0.1.7.tgz", + "integrity": "sha512-yB5C7zcOM7idwYZZ1wKQ3pTfjA9BbvFqRWvKB46GFddxnJtHwi/b9y84ykQtxQPg5qhdpg4Q/kWU3EGoCTmLzQ==" }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.3", @@ -5637,8 +5549,9 @@ "license": "MIT" }, "node_modules/@types/lodash": { - "version": "4.14.172", - "license": "MIT" + "version": "4.14.191", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz", + "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==" }, "node_modules/@types/minimatch": { "version": "3.0.4", @@ -5647,7 +5560,8 @@ }, "node_modules/@types/ms": { "version": "0.7.31", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" }, "node_modules/@types/node": { "version": "14.14.37", @@ -6247,11 +6161,6 @@ "version": "2.0.5", "license": "BSD-3-Clause" }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, "node_modules/abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", @@ -7098,30 +7007,6 @@ "object.assign": "^4.1.0" } }, - "node_modules/babel-plugin-emotion": { - "version": "9.2.11", - "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-9.2.11.tgz", - "integrity": "sha512-dgCImifnOPPSeXod2znAmgc64NhaaOjGEHROR/M+lmStb3841yK1sgaDYAYMnlvWNz8GnpwIPN0VmNpbWYZ+VQ==", - "dependencies": { - "@babel/helper-module-imports": "^7.0.0", - "@emotion/babel-utils": "^0.6.4", - "@emotion/hash": "^0.6.2", - "@emotion/memoize": "^0.6.1", - "@emotion/stylis": "^0.7.0", - "babel-plugin-macros": "^2.0.0", - "babel-plugin-syntax-jsx": "^6.18.0", - "convert-source-map": "^1.5.0", - "find-root": "^1.1.0", - "mkdirp": "^0.5.1", - "source-map": "^0.5.7", - "touch": "^2.0.1" - } - }, - "node_modules/babel-plugin-emotion/node_modules/@emotion/memoize": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.6.6.tgz", - "integrity": "sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ==" - }, "node_modules/babel-plugin-istanbul": { "version": "6.0.0", "dev": true, @@ -7153,6 +7038,7 @@ }, "node_modules/babel-plugin-macros": { "version": "2.8.0", + "dev": true, "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.2", @@ -7162,6 +7048,7 @@ }, "node_modules/babel-plugin-macros/node_modules/resolve": { "version": "1.20.0", + "dev": true, "license": "MIT", "dependencies": { "is-core-module": "^2.2.0", @@ -7238,11 +7125,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/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": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==" - }, "node_modules/babel-plugin-syntax-trailing-function-commas": { "version": "7.0.0-beta.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", @@ -8697,8 +8579,9 @@ } }, "node_modules/compute-scroll-into-view": { - "version": "1.0.17", - "license": "MIT" + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", + "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==" }, "node_modules/concat-map": { "version": "0.0.1", @@ -8912,6 +8795,7 @@ }, "node_modules/cosmiconfig": { "version": "6.0.0", + "dev": true, "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", @@ -8938,43 +8822,6 @@ "dev": true, "license": "MIT" }, - "node_modules/create-emotion": { - "version": "9.2.12", - "resolved": "https://registry.npmjs.org/create-emotion/-/create-emotion-9.2.12.tgz", - "integrity": "sha512-P57uOF9NL2y98Xrbl2OuiDQUZ30GVmASsv5fbsjF4Hlraip2kyAvMm+2PoYUvFFw03Fhgtxk3RqZSm2/qHL9hA==", - "dependencies": { - "@emotion/hash": "^0.6.2", - "@emotion/memoize": "^0.6.1", - "@emotion/stylis": "^0.7.0", - "@emotion/unitless": "^0.6.2", - "csstype": "^2.5.2", - "stylis": "^3.5.0", - "stylis-rule-sheet": "^0.0.10" - } - }, - "node_modules/create-emotion/node_modules/@emotion/memoize": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.6.6.tgz", - "integrity": "sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ==" - }, - "node_modules/create-emotion/node_modules/csstype": { - "version": "2.6.21", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", - "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" - }, - "node_modules/create-emotion/node_modules/stylis": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz", - "integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==" - }, - "node_modules/create-emotion/node_modules/stylis-rule-sheet": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz", - "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==", - "peerDependencies": { - "stylis": "^3.5.0" - } - }, "node_modules/create-hash": { "version": "1.2.0", "dev": true, @@ -9000,18 +8847,6 @@ "sha.js": "^2.4.8" } }, - "node_modules/create-react-context": { - "version": "0.2.3", - "license": "SEE LICENSE IN LICENSE", - "dependencies": { - "fbjs": "^0.8.0", - "gud": "^1.0.0" - }, - "peerDependencies": { - "prop-types": "^15.0.0", - "react": "^0.14.0 || ^15.0.0 || ^16.0.0" - } - }, "node_modules/cross-spawn": { "version": "6.0.5", "license": "MIT", @@ -9062,8 +8897,9 @@ } }, "node_modules/crypto-js": { - "version": "3.3.0", - "license": "MIT" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" }, "node_modules/css": { "version": "3.0.0", @@ -9512,13 +9348,6 @@ "node": ">=0.10" } }, - "node_modules/data-uri-regex": { - "version": "0.1.4", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, "node_modules/data-urls": { "version": "2.0.0", "license": "MIT", @@ -9539,7 +9368,8 @@ }, "node_modules/debounce": { "version": "1.2.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==" }, "node_modules/debug": { "version": "3.1.0", @@ -9572,6 +9402,14 @@ "dev": true, "license": "MIT" }, + "node_modules/deep-copy": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/deep-copy/-/deep-copy-1.4.2.tgz", + "integrity": "sha512-VxZwQ/1+WGQPl5nE67uLhh7OqdrmqI1OazrraO9Bbw/M8Bt6Mol/RxzDA6N6ZgRXpsG/W9PgUj8E1LHHBEq2GQ==", + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/deep-equal": { "version": "1.1.1", "license": "MIT", @@ -9819,13 +9657,6 @@ "node": ">=0.10.0" } }, - "node_modules/detect-newline": { - "version": "2.1.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/detect-node": { "version": "2.0.5", "dev": true, @@ -9891,7 +9722,8 @@ }, "node_modules/direction": { "version": "1.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/direction/-/direction-1.0.4.tgz", + "integrity": "sha512-GYqKi1aH7PJXxdhTeZBFrg8vUBeKXi+cNprXsC1kpJcbcVnV9wBsrOu1cQEdG0WeQwlfHiy3XvnKfIrJ2R0NzQ==", "bin": { "direction": "cli.js" }, @@ -9952,10 +9784,12 @@ } }, "node_modules/dom-helpers": { - "version": "3.4.0", - "license": "MIT", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", "dependencies": { - "@babel/runtime": "^7.1.2" + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" } }, "node_modules/dom-serializer": { @@ -10164,15 +9998,6 @@ "node": ">= 4" } }, - "node_modules/emotion": { - "version": "9.2.12", - "resolved": "https://registry.npmjs.org/emotion/-/emotion-9.2.12.tgz", - "integrity": "sha512-hcx7jppaI8VoXxIWEhxpDW7I+B4kq9RNzQLmsrF6LY8BGKqe2N+gFAQr0EfuFucFlPs2A9HM4+xNj4NeqEWIOQ==", - "dependencies": { - "babel-plugin-emotion": "^9.2.11", - "create-emotion": "^9.2.12" - } - }, "node_modules/encodeurl": { "version": "1.0.2", "license": "MIT", @@ -11398,7 +11223,8 @@ }, "node_modules/exenv": { "version": "1.2.2", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==" }, "node_modules/exit": { "version": "0.1.2", @@ -12498,7 +12324,8 @@ }, "node_modules/gud": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", + "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" }, "node_modules/gzip-size": { "version": "6.0.0", @@ -13081,22 +12908,6 @@ "void-elements": "3.1.0" } }, - "node_modules/html-parse-stringify2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-parse-stringify2/-/html-parse-stringify2-2.0.1.tgz", - "integrity": "sha512-wMKQ3aJ/dwXzDHPpA7XgsRXXCkEhHkAF6Ioh7D51lgZO7Qy0LmcFddC9TI/qNQJvSM1KL8KbcR3FtuybsrzFlQ==", - "dependencies": { - "void-elements": "^2.0.1" - } - }, - "node_modules/html-parse-stringify2/node_modules/void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/html-void-elements": { "version": "1.0.5", "license": "MIT", @@ -13558,9 +13369,9 @@ } }, "node_modules/immutable": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", - "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.0.tgz", + "integrity": "sha512-h4ujZ0OZ3kpvdFcwJAHXEdvawH7J8TYTB62e8xI03OSZhuGpuPY9DPXnonMN8s+uQ56gMUqMK71mXU8ob20xfA==", "peer": true }, "node_modules/import-cwd": { @@ -13916,16 +13727,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-data-uri": { - "version": "0.1.0", - "license": "MIT", - "dependencies": { - "data-uri-regex": "^0.1.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-date-object": { "version": "1.0.2", "license": "MIT", @@ -17190,14 +16991,6 @@ "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", "dev": true }, - "node_modules/lodash.isfunction": { - "version": "3.0.9", - "license": "MIT" - }, - "node_modules/lodash.isobject": { - "version": "3.0.2", - "license": "MIT" - }, "node_modules/lodash.memoize": { "version": "4.1.2", "dev": true, @@ -17226,10 +17019,6 @@ "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", "peer": true }, - "node_modules/lodash.tonumber": { - "version": "4.0.3", - "license": "MIT" - }, "node_modules/lodash.topairs": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.topairs/-/lodash.topairs-4.3.0.tgz", @@ -17600,7 +17389,8 @@ }, "node_modules/memoize-one": { "version": "5.1.1", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/memory-fs": { "version": "0.4.1", @@ -19423,20 +19213,6 @@ "url": "https://github.com/sponsors/antelle" } }, - "node_modules/nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "*" - } - }, "node_modules/normalize-package-data": { "version": "2.5.0", "dev": true, @@ -20352,7 +20128,9 @@ }, "node_modules/popper.js": { "version": "1.16.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", + "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1", "funding": { "type": "opencollective", "url": "https://opencollective.com/popperjs" @@ -21723,12 +21501,13 @@ } }, "node_modules/prop-types": { - "version": "15.7.2", - "license": "MIT", + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", - "react-is": "^16.8.1" + "react-is": "^16.13.1" } }, "node_modules/property-information": { @@ -22019,13 +21798,11 @@ } }, "node_modules/react": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", - "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" + "loose-envify": "^1.1.0" }, "engines": { "node": ">=0.10.0" @@ -22382,17 +22159,15 @@ } }, "node_modules/react-dom": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", - "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", "dependencies": { "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" + "scheduler": "^0.23.0" }, "peerDependencies": { - "react": "^16.14.0" + "react": "^18.2.0" } }, "node_modules/react-error-overlay": { @@ -22422,17 +22197,6 @@ } } }, - "node_modules/react-input-autosize": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.2.2.tgz", - "integrity": "sha512-jQJgYCA3S0j+cuOwzuCd1OjmBmnZLdqQdiLKRYrsMMzbjUrVDS5RvJUDwJqA7sKuksDuzFtm6hZGKFu7Mjk5aw==", - "dependencies": { - "prop-types": "^15.5.8" - }, - "peerDependencies": { - "react": "^0.14.9 || ^15.3.0 || ^16.0.0-rc || ^16.0" - } - }, "node_modules/react-is": { "version": "16.13.1", "license": "MIT" @@ -22479,23 +22243,6 @@ "react": ">=16.8.3" } }, - "node_modules/react-modal": { - "version": "3.12.1", - "license": "MIT", - "dependencies": { - "exenv": "^1.2.0", - "prop-types": "^15.5.10", - "react-lifecycles-compat": "^3.0.0", - "warning": "^4.0.3" - }, - "engines": { - "node": ">=8" - }, - "peerDependencies": { - "react": "^0.14.0 || ^15.0.0 || ^16 || ^17", - "react-dom": "^0.14.0 || ^15.0.0 || ^16 || ^17" - } - }, "node_modules/react-native-codegen": { "version": "0.70.6", "resolved": "https://registry.npmjs.org/react-native-codegen/-/react-native-codegen-0.70.6.tgz", @@ -22514,18 +22261,6 @@ "integrity": "sha512-oOanj84fJEXUg9FoEAQomA8ISG+DVIrTZ3qF7m69VQUJyOGYyDZmPqKcjvRku4KXlEH6hWO9i4ACLzNBh8gC0A==", "peer": true }, - "node_modules/react-popper": { - "version": "0.8.3", - "license": "MIT", - "dependencies": { - "popper.js": "^1.12.9", - "prop-types": "^15.6.0" - }, - "peerDependencies": { - "react": "0.14.x || ^15.0.0 || ^16.0.0", - "react-dom": "0.14.x || ^15.0.0 || ^16.0.0" - } - }, "node_modules/react-qr-code": { "version": "1.1.1", "license": "MIT", @@ -22816,15 +22551,6 @@ "node": ">=10" } }, - "node_modules/react-select/node_modules/dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, "node_modules/react-select/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -22841,21 +22567,6 @@ "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" }, - "node_modules/react-select/node_modules/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", - "dependencies": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": ">=16.6.0", - "react-dom": ">=16.6.0" - } - }, "node_modules/react-select/node_modules/resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", @@ -22899,8 +22610,78 @@ } }, "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/reactstrap": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/reactstrap/-/reactstrap-8.9.0.tgz", + "integrity": "sha512-pmf33YjpNZk1IfrjqpWCUMq9hk6GzSnMWBAofTBNIRJQB1zQ0Au2kzv3lPUAFsBYgWEuI9iYa/xKXHaboSiMkQ==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "classnames": "^2.2.3", + "prop-types": "^15.5.8", + "react-popper": "^1.3.6", + "react-transition-group": "^2.3.1" + }, + "peerDependencies": { + "react": ">=16.3.0", + "react-dom": ">=16.3.0" + } + }, + "node_modules/reactstrap/node_modules/dom-helpers": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", + "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "dependencies": { + "@babel/runtime": "^7.1.2" + } + }, + "node_modules/reactstrap/node_modules/react-popper": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-1.3.11.tgz", + "integrity": "sha512-VSA/bS+pSndSF2fiasHK/PTEEAyOpX60+H5EPAjoArr8JGm+oihu4UbrqcEBpQibJxBVCpYyjAX7abJ+7DoYVg==", + "dependencies": { + "@babel/runtime": "^7.1.2", + "@hypnosphi/create-react-context": "^0.3.1", + "deep-equal": "^1.1.1", + "popper.js": "^1.14.4", + "prop-types": "^15.6.1", + "typed-styles": "^0.0.7", + "warning": "^4.0.2" + }, + "peerDependencies": { + "react": "0.14.x || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/reactstrap/node_modules/react-popper/node_modules/@hypnosphi/create-react-context": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@hypnosphi/create-react-context/-/create-react-context-0.3.1.tgz", + "integrity": "sha512-V1klUed202XahrWJLLOT3EXNeCpFHCcJntdFGI15ntCwau+jfT386w7OFTMaCqOgXUH1fa0w/I1oZs+i/Rfr0A==", + "dependencies": { + "gud": "^1.0.0", + "warning": "^4.0.3" + }, + "peerDependencies": { + "prop-types": "^15.0.0", + "react": ">=0.14.0" + } + }, + "node_modules/reactstrap/node_modules/react-transition-group": { "version": "2.9.0", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz", + "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==", "dependencies": { "dom-helpers": "^3.4.0", "loose-envify": "^1.4.0", @@ -22912,36 +22693,6 @@ "react-dom": ">=15.0.0" } }, - "node_modules/reactstrap": { - "version": "6.5.0", - "license": "MIT", - "dependencies": { - "classnames": "^2.2.3", - "lodash.isfunction": "^3.0.9", - "lodash.isobject": "^3.0.2", - "lodash.tonumber": "^4.0.3", - "prop-types": "^15.5.8", - "react-lifecycles-compat": "^3.0.4", - "react-popper": "^0.10.4", - "react-transition-group": "^2.3.1" - }, - "peerDependencies": { - "react": "^16.0.0", - "react-dom": "^16.0.0" - } - }, - "node_modules/reactstrap/node_modules/react-popper": { - "version": "0.10.4", - "license": "MIT", - "dependencies": { - "popper.js": "^1.14.1", - "prop-types": "^15.6.1" - }, - "peerDependencies": { - "react": "0.14.x || ^15.0.0 || ^16.0.0", - "react-dom": "0.14.x || ^15.0.0 || ^16.0.0" - } - }, "node_modules/read-pkg": { "version": "2.0.0", "dev": true, @@ -24222,11 +23973,11 @@ } }, "node_modules/scheduler": { - "version": "0.19.1", - "license": "MIT", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "^1.1.0" } }, "node_modules/schema-utils": { @@ -24247,10 +23998,11 @@ } }, "node_modules/scroll-into-view-if-needed": { - "version": "2.2.28", - "license": "MIT", + "version": "2.2.31", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz", + "integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==", "dependencies": { - "compute-scroll-into-view": "^1.0.17" + "compute-scroll-into-view": "^1.0.20" } }, "node_modules/seafile-js": { @@ -24639,19 +24391,6 @@ "slate-dev-environment": "^0.2.0" } }, - "node_modules/slate-html-serializer": { - "version": "0.7.39", - "license": "MIT", - "dependencies": { - "type-of": "^2.0.1" - }, - "peerDependencies": { - "immutable": ">=3.8.1 || >4.0.0-rc", - "react": ">=0.14.0", - "react-dom": ">=0.14.0", - "slate": ">=0.32.0" - } - }, "node_modules/slate-schema-violations": { "version": "0.1.39", "license": "MIT" @@ -25481,28 +25220,6 @@ "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" }, - "node_modules/substyle": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/substyle/-/substyle-6.3.1.tgz", - "integrity": "sha512-S25YRgVQB25cLXgGAJ7AXTYewkIB/9Fa1Y7jxkN48U4N6rbK9YhVEiF7vtPGLlJl8ebSOJ3N4t8cd6jL8MH7Uw==", - "dependencies": { - "hoist-non-react-statics": "^3.1.0", - "invariant": "^2.2.0", - "prop-types": "^15.5.8", - "warning": "^2.1.0" - }, - "peerDependencies": { - "react": ">=15.3.2" - } - }, - "node_modules/substyle/node_modules/warning": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/warning/-/warning-2.1.0.tgz", - "integrity": "sha512-O9pvum8nlCqIT5pRGo2WRQJPRG2bW/ZBeCzl7/8CWREjUW693juZpGup7zbRtuVcSKyGiRAIZLYsh3C0vq7FAg==", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, "node_modules/sudo-prompt": { "version": "9.2.1", "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", @@ -26026,20 +25743,6 @@ "node": ">=0.6" } }, - "node_modules/touch": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/touch/-/touch-2.0.2.tgz", - "integrity": "sha512-qjNtvsFXTRq7IuMLweVgFxmEuQ6gLbRs2jQxL80TtZ31dEKWYIxRXquij6w6VimyDek5hD3PytljHmEtAs2u0A==", - "dependencies": { - "nopt": "~1.0.10" - }, - "bin": { - "nodetouch": "bin/nodetouch.js" - }, - "engines": { - "node": ">=0.6" - } - }, "node_modules/tough-cookie": { "version": "4.0.0", "license": "BSD-3-Clause", @@ -26219,7 +25922,13 @@ }, "node_modules/type-of": { "version": "2.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/type-of/-/type-of-2.0.1.tgz", + "integrity": "sha512-39wxbwHdQ2sTiBB8wAzKfQ9GN+om8w+sjNWzr+vZJR5AMD5J+J7Yc8AtXnU9r/r2c8XiDZ/smxutDmZehX/qpQ==" + }, + "node_modules/typed-styles": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/typed-styles/-/typed-styles-0.0.7.tgz", + "integrity": "sha512-pzP0PWoZUhsECYjABgCGQlRGL1n7tOHsgwYv3oIiEpJwGhFTuty/YNeduxQYzXXa3Ge5BdT6sHYIQYpl4uJ+5Q==" }, "node_modules/typedarray": { "version": "0.0.6", @@ -26929,7 +26638,8 @@ }, "node_modules/warning": { "version": "4.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", "dependencies": { "loose-envify": "^1.0.0" } @@ -30100,31 +29810,6 @@ "version": "10.1.0", "dev": true }, - "@emotion/babel-utils": { - "version": "0.6.10", - "resolved": "https://registry.npmjs.org/@emotion/babel-utils/-/babel-utils-0.6.10.tgz", - "integrity": "sha512-/fnkM/LTEp3jKe++T0KyTszVGWNKPNOUJfjNKLO17BzQ6QPxgbg3whayom1Qr2oLFH3V92tDymU+dT5q676uow==", - "requires": { - "@emotion/hash": "^0.6.6", - "@emotion/memoize": "^0.6.6", - "@emotion/serialize": "^0.9.1", - "convert-source-map": "^1.5.1", - "find-root": "^1.1.0", - "source-map": "^0.7.2" - }, - "dependencies": { - "@emotion/memoize": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.6.6.tgz", - "integrity": "sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ==" - }, - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" - } - } - }, "@emotion/cache": { "version": "11.10.5", "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz", @@ -30137,54 +29822,16 @@ "stylis": "4.1.3" } }, - "@emotion/hash": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.6.6.tgz", - "integrity": "sha512-ojhgxzUHZ7am3D2jHkMzPpsBAiB005GF5YU4ea+8DNPybMk01JJUM9V9YRlF/GE95tcOm8DxQvWA2jq19bGalQ==" - }, "@emotion/memoize": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" }, - "@emotion/serialize": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.9.1.tgz", - "integrity": "sha512-zTuAFtyPvCctHBEL8KZ5lJuwBanGSutFEncqLn/m9T1a6a93smBStK+bZzcNPgj4QS8Rkw9VTwJGhRIUVO8zsQ==", - "requires": { - "@emotion/hash": "^0.6.6", - "@emotion/memoize": "^0.6.6", - "@emotion/unitless": "^0.6.7", - "@emotion/utils": "^0.8.2" - }, - "dependencies": { - "@emotion/memoize": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.6.6.tgz", - "integrity": "sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ==" - }, - "@emotion/utils": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.8.2.tgz", - "integrity": "sha512-rLu3wcBWH4P5q1CGoSSH/i9hrXs7SlbRLkoq9IGuoPYNGQvDJ3pt/wmOM+XgYjIDRMVIdkUWt0RsfzF50JfnCw==" - } - } - }, "@emotion/sheet": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz", "integrity": "sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==" }, - "@emotion/stylis": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.7.1.tgz", - "integrity": "sha512-/SLmSIkN13M//53TtNxgxo57mcJk/UJIDFRKwOiLIBEyBHEcipgR6hNMQ/59Sl4VjCJ0Z/3zeAZyvnSLPG/1HQ==" - }, - "@emotion/unitless": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.6.7.tgz", - "integrity": "sha512-Arj1hncvEVqQ2p7Ega08uHLr1JuRYBuO5cIvcA+WWEQ5+VmkOE3ZXzl04NbQxeQpWX78G7u6MqxKuNX3wvYZxg==" - }, "@emotion/utils": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz", @@ -30940,19 +30587,23 @@ } }, "@reach/router": { - "version": "1.2.0", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@reach/router/-/router-1.3.4.tgz", + "integrity": "sha512-+mtn9wjlB9NN2CNnnC/BRYtwdKBfSyyasPYraNAyvaV1occr/5NnB4CVzjEZipNHwYebQwcndGUmpFzxAUoqSA==", "requires": { - "create-react-context": "^0.2.1", + "create-react-context": "0.3.0", "invariant": "^2.2.3", "prop-types": "^15.6.1", - "react-lifecycles-compat": "^3.0.4", - "warning": "^3.0.0" + "react-lifecycles-compat": "^3.0.4" }, "dependencies": { - "warning": { - "version": "3.0.0", + "create-react-context": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.3.0.tgz", + "integrity": "sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw==", "requires": { - "loose-envify": "^1.0.0" + "gud": "^1.0.0", + "warning": "^4.0.3" } } } @@ -31790,6 +31441,19 @@ "requires": { "prop-types": "^15.6.2", "react-modal": "^3.11.1" + }, + "dependencies": { + "react-modal": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.16.1.tgz", + "integrity": "sha512-VStHgI3BVcGo7OXczvnJN7yT2TWHJPDXZWyI/a0ssFNhGZWsPmB8cF0z33ewDXq4VfYMO1vXgiv/g8Nj9NDyWg==", + "requires": { + "exenv": "^1.2.0", + "prop-types": "^15.7.2", + "react-lifecycles-compat": "^3.0.0", + "warning": "^4.0.3" + } + } } }, "@seafile/resumablejs": { @@ -31808,36 +31472,30 @@ } }, "@seafile/seafile-editor": { - "version": "0.3.111", + "version": "0.3.122", + "resolved": "https://registry.npmjs.org/@seafile/seafile-editor/-/seafile-editor-0.3.122.tgz", + "integrity": "sha512-e89T+29BJqco+fUDp0/ZgWlwYJtyK7JbyqPUyMrR72K354e07gAR2Q9uO7qMyRNbVVcXykih7AT5hbwB1R8f7w==", "requires": { "@seafile/react-image-lightbox": "^0.0.9", "@seafile/slate-react": "^0.54.13", "codemirror": "^5.37.0", - "crypto-js": "^3.1.9-1", - "deep-equal": "^1.0.1", "deepmerge": "^2.1.0", "detect-indent": "^4.0.0", - "detect-newline": "^2.1.0", - "glamor": "^2.20.40", "hast-util-sanitize": "^1.1.2", - "i18next": "^17.0.13", - "i18next-browser-languagedetector": "^3.0.3", - "i18next-xhr-backend": "^3.1.2", - "is-data-uri": "^0.1.0", - "is-hotkey": "^0.1.3", + "i18next": "22.4.6", + "i18next-browser-languagedetector": "7.0.1", + "i18next-xhr-backend": "3.2.2", + "is-hotkey": "0.2.0", "is-url": "^1.2.4", "lodash": "4.17.21", "mdast-util-definitions": "^1.2.2", - "object-assign": "4.1.1", "prismjs": "1.23.0", "promise": "8.0.1", - "prop-types": "^15.6.1", - "react": "^16.12.0", - "react-dom": "^16.12.0", - "react-i18next": "^10.12.2", - "react-mentions": "^3.0.2", - "react-select": "^2.4.2", - "reactstrap": "^5.0.0-beta.3", + "prop-types": "15.8.1", + "react": "18.2.0", + "react-dom": "18.2.0", + "react-i18next": "12.1.1", + "reactstrap": "8.9.0", "rehype-format": "^2.2.0", "rehype-mathjax": "^2.0.0", "rehype-raw": "^2.0.0", @@ -31858,89 +31516,47 @@ "xtend": "^4.0.1" }, "dependencies": { - "@babel/runtime": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.5.tgz", - "integrity": "sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ==", - "requires": { - "regenerator-runtime": "^0.13.2" - } - }, "@seafile/react-image-lightbox": { "version": "0.0.9", + "resolved": "https://registry.npmjs.org/@seafile/react-image-lightbox/-/react-image-lightbox-0.0.9.tgz", + "integrity": "sha512-VkbItw5Jk4uDaqnemduA8UJuNa09GAJd384/U4HpteDEvkWWj5NSk9end7G68R3zg5UFFkdZUPgBAvYaLwwKeg==", "requires": { "prop-types": "^15.6.2", "react-modal": "^3.11.1" + }, + "dependencies": { + "react-modal": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.16.1.tgz", + "integrity": "sha512-VStHgI3BVcGo7OXczvnJN7yT2TWHJPDXZWyI/a0ssFNhGZWsPmB8cF0z33ewDXq4VfYMO1vXgiv/g8Nj9NDyWg==", + "requires": { + "exenv": "^1.2.0", + "prop-types": "^15.7.2", + "react-lifecycles-compat": "^3.0.0", + "warning": "^4.0.3" + } + } } }, - "i18next": { - "version": "17.3.1", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-17.3.1.tgz", - "integrity": "sha512-4nY+yaENaoZKmpbiDXPzucVHCN3hN9Z9Zk7LyQXVOKVIpnYOJ3L/yxHJlBPtJDq3PGgjFwA0QBFm/26Z0iDT5A==", + "is-hotkey": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-hotkey/-/is-hotkey-0.2.0.tgz", + "integrity": "sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==" + }, + "slate-html-serializer": { + "version": "0.7.39", + "resolved": "https://registry.npmjs.org/slate-html-serializer/-/slate-html-serializer-0.7.39.tgz", + "integrity": "sha512-ZNyVjqCasSa0M80+4W1bFXMhW4KJM7EE6dkyBOhQmIcuRX529xOahcz+6ZYK7fQn0Cyrye899OtX26LulAh/Ew==", "requires": { - "@babel/runtime": "^7.3.1" + "type-of": "^2.0.1" } - }, - "i18next-browser-languagedetector": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-3.1.1.tgz", - "integrity": "sha512-JBgFWijjI1t6as4WgGvDdX4GLJPZwC/SMHzLQQ3ef7XaJsEkomlXFqXifKvOVJg09Hj2BVWe6strDdIF4J/0ng==" - }, - "react-i18next": { - "version": "10.13.2", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-10.13.2.tgz", - "integrity": "sha512-DGoauWUdPEv/+PLa03nN+wlW31XrGmQJz+zIyOA+tRTIwlRaNgeM62nGP1WG3g7fJrphMZUwPcAQqNv6XBYM4w==", - "requires": { - "@babel/runtime": "^7.3.1", - "html-parse-stringify2": "2.0.1" - } - }, - "react-mentions": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/react-mentions/-/react-mentions-3.3.2.tgz", - "integrity": "sha512-JEuJMnjXOoLo+gkT59ZscZ9ulV7O333cu81pKiWutuX0CCyoedJTxPDlVJAxoaDSUwsMgOmb3GmuiwafWYdizg==", - "requires": { - "@babel/runtime": "7.4.5", - "invariant": "^2.2.4", - "prop-types": "^15.5.8", - "substyle": "^6.3.1" - } - }, - "react-select": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/react-select/-/react-select-2.4.4.tgz", - "integrity": "sha512-C4QPLgy9h42J/KkdrpVxNmkY6p4lb49fsrbDk/hRcZpX7JvZPNb6mGj+c5SzyEtBv1DmQ9oPH4NmhAFvCrg8Jw==", - "requires": { - "classnames": "^2.2.5", - "emotion": "^9.1.2", - "memoize-one": "^5.0.0", - "prop-types": "^15.6.0", - "raf": "^3.4.0", - "react-input-autosize": "^2.2.1", - "react-transition-group": "^2.2.1" - } - }, - "reactstrap": { - "version": "5.0.0", - "requires": { - "classnames": "^2.2.3", - "lodash.isfunction": "^3.0.9", - "lodash.isobject": "^3.0.2", - "lodash.tonumber": "^4.0.3", - "prop-types": "^15.5.8", - "react-popper": "^0.8.3", - "react-transition-group": "^2.2.1" - } - }, - "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" } } }, "@seafile/slate-react": { "version": "0.54.13", + "resolved": "https://registry.npmjs.org/@seafile/slate-react/-/slate-react-0.54.13.tgz", + "integrity": "sha512-NjaY2EXwgMMJFJp2523w2+hK2S+dAWbHCMXadhuuM0S7ZzrerO86XA2N4ZBsaTwQqzJiEJBjg6+I/szD0HaNEA==", "requires": { "@types/debounce": "^1.2.0", "@types/debug": "^4.1.5", @@ -32276,10 +31892,14 @@ } }, "@types/debounce": { - "version": "1.2.0" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-epMsEE85fi4lfmJUH/89/iV/LI+F5CvNIvmgs5g5jYFPfhO2S/ae8WSsLOKWdwtoaZw9Q2IhJ4tQ5tFCcS/4HA==" }, "@types/debug": { "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", + "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", "requires": { "@types/ms": "*" } @@ -32319,7 +31939,9 @@ "dev": true }, "@types/is-hotkey": { - "version": "0.1.3" + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/@types/is-hotkey/-/is-hotkey-0.1.7.tgz", + "integrity": "sha512-yB5C7zcOM7idwYZZ1wKQ3pTfjA9BbvFqRWvKB46GFddxnJtHwi/b9y84ykQtxQPg5qhdpg4Q/kWU3EGoCTmLzQ==" }, "@types/istanbul-lib-coverage": { "version": "2.0.3" @@ -32353,14 +31975,18 @@ "dev": true }, "@types/lodash": { - "version": "4.14.172" + "version": "4.14.191", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz", + "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==" }, "@types/minimatch": { "version": "3.0.4", "dev": true }, "@types/ms": { - "version": "0.7.31" + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" }, "@types/node": { "version": "14.14.37" @@ -32797,11 +32423,6 @@ "abab": { "version": "2.0.5" }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, "abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", @@ -33378,32 +32999,6 @@ "object.assign": "^4.1.0" } }, - "babel-plugin-emotion": { - "version": "9.2.11", - "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-9.2.11.tgz", - "integrity": "sha512-dgCImifnOPPSeXod2znAmgc64NhaaOjGEHROR/M+lmStb3841yK1sgaDYAYMnlvWNz8GnpwIPN0VmNpbWYZ+VQ==", - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@emotion/babel-utils": "^0.6.4", - "@emotion/hash": "^0.6.2", - "@emotion/memoize": "^0.6.1", - "@emotion/stylis": "^0.7.0", - "babel-plugin-macros": "^2.0.0", - "babel-plugin-syntax-jsx": "^6.18.0", - "convert-source-map": "^1.5.0", - "find-root": "^1.1.0", - "mkdirp": "^0.5.1", - "source-map": "^0.5.7", - "touch": "^2.0.1" - }, - "dependencies": { - "@emotion/memoize": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.6.6.tgz", - "integrity": "sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ==" - } - } - }, "babel-plugin-istanbul": { "version": "6.0.0", "dev": true, @@ -33427,6 +33022,7 @@ }, "babel-plugin-macros": { "version": "2.8.0", + "dev": true, "requires": { "@babel/runtime": "^7.7.2", "cosmiconfig": "^6.0.0", @@ -33435,6 +33031,7 @@ "dependencies": { "resolve": { "version": "1.20.0", + "dev": true, "requires": { "is-core-module": "^2.2.0", "path-parse": "^1.0.6" @@ -33485,11 +33082,6 @@ "@babel/helper-define-polyfill-provider": "^0.2.2" } }, - "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": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==" - }, "babel-plugin-syntax-trailing-function-commas": { "version": "7.0.0-beta.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", @@ -34542,7 +34134,9 @@ } }, "compute-scroll-into-view": { - "version": "1.0.17" + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", + "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==" }, "concat-map": { "version": "0.0.1" @@ -34692,6 +34286,7 @@ }, "cosmiconfig": { "version": "6.0.0", + "dev": true, "requires": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.1.0", @@ -34714,43 +34309,6 @@ } } }, - "create-emotion": { - "version": "9.2.12", - "resolved": "https://registry.npmjs.org/create-emotion/-/create-emotion-9.2.12.tgz", - "integrity": "sha512-P57uOF9NL2y98Xrbl2OuiDQUZ30GVmASsv5fbsjF4Hlraip2kyAvMm+2PoYUvFFw03Fhgtxk3RqZSm2/qHL9hA==", - "requires": { - "@emotion/hash": "^0.6.2", - "@emotion/memoize": "^0.6.1", - "@emotion/stylis": "^0.7.0", - "@emotion/unitless": "^0.6.2", - "csstype": "^2.5.2", - "stylis": "^3.5.0", - "stylis-rule-sheet": "^0.0.10" - }, - "dependencies": { - "@emotion/memoize": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.6.6.tgz", - "integrity": "sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ==" - }, - "csstype": { - "version": "2.6.21", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", - "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" - }, - "stylis": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz", - "integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==" - }, - "stylis-rule-sheet": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz", - "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==", - "requires": {} - } - } - }, "create-hash": { "version": "1.2.0", "dev": true, @@ -34774,13 +34332,6 @@ "sha.js": "^2.4.8" } }, - "create-react-context": { - "version": "0.2.3", - "requires": { - "fbjs": "^0.8.0", - "gud": "^1.0.0" - } - }, "cross-spawn": { "version": "6.0.5", "requires": { @@ -34817,7 +34368,9 @@ } }, "crypto-js": { - "version": "3.3.0" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" }, "css": { "version": "3.0.0", @@ -35129,9 +34682,6 @@ "assert-plus": "^1.0.0" } }, - "data-uri-regex": { - "version": "0.1.4" - }, "data-urls": { "version": "2.0.0", "requires": { @@ -35147,7 +34697,9 @@ "peer": true }, "debounce": { - "version": "1.2.1" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==" }, "debug": { "version": "3.1.0", @@ -35170,6 +34722,11 @@ "version": "0.7.0", "dev": true }, + "deep-copy": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/deep-copy/-/deep-copy-1.4.2.tgz", + "integrity": "sha512-VxZwQ/1+WGQPl5nE67uLhh7OqdrmqI1OazrraO9Bbw/M8Bt6Mol/RxzDA6N6ZgRXpsG/W9PgUj8E1LHHBEq2GQ==" + }, "deep-equal": { "version": "1.1.1", "requires": { @@ -35337,9 +34894,6 @@ "repeating": "^2.0.0" } }, - "detect-newline": { - "version": "2.1.0" - }, "detect-node": { "version": "2.0.5", "dev": true @@ -35388,7 +34942,9 @@ } }, "direction": { - "version": "1.0.4" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/direction/-/direction-1.0.4.tgz", + "integrity": "sha512-GYqKi1aH7PJXxdhTeZBFrg8vUBeKXi+cNprXsC1kpJcbcVnV9wBsrOu1cQEdG0WeQwlfHiy3XvnKfIrJ2R0NzQ==" }, "dns-equal": { "version": "1.0.0", @@ -35433,9 +34989,12 @@ } }, "dom-helpers": { - "version": "3.4.0", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", "requires": { - "@babel/runtime": "^7.1.2" + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" } }, "dom-serializer": { @@ -35591,15 +35150,6 @@ "version": "3.0.0", "dev": true }, - "emotion": { - "version": "9.2.12", - "resolved": "https://registry.npmjs.org/emotion/-/emotion-9.2.12.tgz", - "integrity": "sha512-hcx7jppaI8VoXxIWEhxpDW7I+B4kq9RNzQLmsrF6LY8BGKqe2N+gFAQr0EfuFucFlPs2A9HM4+xNj4NeqEWIOQ==", - "requires": { - "babel-plugin-emotion": "^9.2.11", - "create-emotion": "^9.2.12" - } - }, "encodeurl": { "version": "1.0.2" }, @@ -36375,7 +35925,9 @@ } }, "exenv": { - "version": "1.2.2" + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==" }, "exit": { "version": "0.1.2", @@ -37148,7 +36700,9 @@ "optional": true }, "gud": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", + "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" }, "gzip-size": { "version": "6.0.0", @@ -37565,21 +37119,6 @@ "void-elements": "3.1.0" } }, - "html-parse-stringify2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-parse-stringify2/-/html-parse-stringify2-2.0.1.tgz", - "integrity": "sha512-wMKQ3aJ/dwXzDHPpA7XgsRXXCkEhHkAF6Ioh7D51lgZO7Qy0LmcFddC9TI/qNQJvSM1KL8KbcR3FtuybsrzFlQ==", - "requires": { - "void-elements": "^2.0.1" - }, - "dependencies": { - "void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==" - } - } - }, "html-void-elements": { "version": "1.0.5" }, @@ -37893,9 +37432,9 @@ "version": "5.3.6" }, "immutable": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", - "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.0.tgz", + "integrity": "sha512-h4ujZ0OZ3kpvdFcwJAHXEdvawH7J8TYTB62e8xI03OSZhuGpuPY9DPXnonMN8s+uQ56gMUqMK71mXU8ob20xfA==", "peer": true }, "import-cwd": { @@ -38124,12 +37663,6 @@ } } }, - "is-data-uri": { - "version": "0.1.0", - "requires": { - "data-uri-regex": "^0.1.2" - } - }, "is-date-object": { "version": "1.0.2" }, @@ -40285,12 +39818,6 @@ "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", "dev": true }, - "lodash.isfunction": { - "version": "3.0.9" - }, - "lodash.isobject": { - "version": "3.0.2" - }, "lodash.memoize": { "version": "4.1.2", "dev": true @@ -40316,9 +39843,6 @@ "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", "peer": true }, - "lodash.tonumber": { - "version": "4.0.3" - }, "lodash.topairs": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.topairs/-/lodash.topairs-4.3.0.tgz", @@ -40576,7 +40100,8 @@ } }, "memoize-one": { - "version": "5.1.1" + "version": "5.1.1", + "peer": true }, "memory-fs": { "version": "0.4.1", @@ -41987,14 +41512,6 @@ "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", "peer": true }, - "nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", - "requires": { - "abbrev": "1" - } - }, "normalize-package-data": { "version": "2.5.0", "dev": true, @@ -42597,7 +42114,9 @@ } }, "popper.js": { - "version": "1.16.1" + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==" }, "portfinder": { "version": "1.0.28", @@ -43596,11 +43115,13 @@ } }, "prop-types": { - "version": "15.7.2", + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", "requires": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", - "react-is": "^16.8.1" + "react-is": "^16.13.1" } }, "property-information": { @@ -43820,13 +43341,11 @@ } }, "react": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", - "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" + "loose-envify": "^1.1.0" } }, "react-app-polyfill": { @@ -44073,14 +43592,12 @@ } }, "react-dom": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", - "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", "requires": { "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" + "scheduler": "^0.23.0" } }, "react-error-overlay": { @@ -44098,14 +43615,6 @@ "html-parse-stringify": "^3.0.1" } }, - "react-input-autosize": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.2.2.tgz", - "integrity": "sha512-jQJgYCA3S0j+cuOwzuCd1OjmBmnZLdqQdiLKRYrsMMzbjUrVDS5RvJUDwJqA7sKuksDuzFtm6hZGKFu7Mjk5aw==", - "requires": { - "prop-types": "^15.5.8" - } - }, "react-is": { "version": "16.13.1" }, @@ -44143,15 +43652,6 @@ } } }, - "react-modal": { - "version": "3.12.1", - "requires": { - "exenv": "^1.2.0", - "prop-types": "^15.5.10", - "react-lifecycles-compat": "^3.0.0", - "warning": "^4.0.3" - } - }, "react-native-codegen": { "version": "0.70.6", "resolved": "https://registry.npmjs.org/react-native-codegen/-/react-native-codegen-0.70.6.tgz", @@ -44170,13 +43670,6 @@ "integrity": "sha512-oOanj84fJEXUg9FoEAQomA8ISG+DVIrTZ3qF7m69VQUJyOGYyDZmPqKcjvRku4KXlEH6hWO9i4ACLzNBh8gC0A==", "peer": true }, - "react-popper": { - "version": "0.8.3", - "requires": { - "popper.js": "^1.12.9", - "prop-types": "^15.6.0" - } - }, "react-qr-code": { "version": "1.1.1", "requires": { @@ -44407,15 +43900,6 @@ "yaml": "^1.10.0" } }, - "dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "requires": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -44426,17 +43910,6 @@ "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" }, - "react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", - "requires": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - } - }, "resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", @@ -44466,32 +43939,70 @@ } }, "react-transition-group": { - "version": "2.9.0", + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", "requires": { - "dom-helpers": "^3.4.0", + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", "loose-envify": "^1.4.0", - "prop-types": "^15.6.2", - "react-lifecycles-compat": "^3.0.4" + "prop-types": "^15.6.2" } }, "reactstrap": { - "version": "6.5.0", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/reactstrap/-/reactstrap-8.9.0.tgz", + "integrity": "sha512-pmf33YjpNZk1IfrjqpWCUMq9hk6GzSnMWBAofTBNIRJQB1zQ0Au2kzv3lPUAFsBYgWEuI9iYa/xKXHaboSiMkQ==", "requires": { + "@babel/runtime": "^7.12.5", "classnames": "^2.2.3", - "lodash.isfunction": "^3.0.9", - "lodash.isobject": "^3.0.2", - "lodash.tonumber": "^4.0.3", "prop-types": "^15.5.8", - "react-lifecycles-compat": "^3.0.4", - "react-popper": "^0.10.4", + "react-popper": "^1.3.6", "react-transition-group": "^2.3.1" }, "dependencies": { - "react-popper": { - "version": "0.10.4", + "dom-helpers": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", + "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", "requires": { - "popper.js": "^1.14.1", - "prop-types": "^15.6.1" + "@babel/runtime": "^7.1.2" + } + }, + "react-popper": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-1.3.11.tgz", + "integrity": "sha512-VSA/bS+pSndSF2fiasHK/PTEEAyOpX60+H5EPAjoArr8JGm+oihu4UbrqcEBpQibJxBVCpYyjAX7abJ+7DoYVg==", + "requires": { + "@babel/runtime": "^7.1.2", + "@hypnosphi/create-react-context": "^0.3.1", + "deep-equal": "^1.1.1", + "popper.js": "^1.14.4", + "prop-types": "^15.6.1", + "typed-styles": "^0.0.7", + "warning": "^4.0.2" + }, + "dependencies": { + "@hypnosphi/create-react-context": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@hypnosphi/create-react-context/-/create-react-context-0.3.1.tgz", + "integrity": "sha512-V1klUed202XahrWJLLOT3EXNeCpFHCcJntdFGI15ntCwau+jfT386w7OFTMaCqOgXUH1fa0w/I1oZs+i/Rfr0A==", + "requires": { + "gud": "^1.0.0", + "warning": "^4.0.3" + } + } + } + }, + "react-transition-group": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz", + "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==", + "requires": { + "dom-helpers": "^3.4.0", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2", + "react-lifecycles-compat": "^3.0.4" } } } @@ -45405,10 +44916,11 @@ } }, "scheduler": { - "version": "0.19.1", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "^1.1.0" } }, "schema-utils": { @@ -45421,9 +44933,11 @@ } }, "scroll-into-view-if-needed": { - "version": "2.2.28", + "version": "2.2.31", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz", + "integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==", "requires": { - "compute-scroll-into-view": "^1.0.17" + "compute-scroll-into-view": "^1.0.20" } }, "seafile-js": { @@ -45727,12 +45241,6 @@ "slate-dev-environment": "^0.2.0" } }, - "slate-html-serializer": { - "version": "0.7.39", - "requires": { - "type-of": "^2.0.1" - } - }, "slate-schema-violations": { "version": "0.1.39" }, @@ -46326,27 +45834,6 @@ "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" }, - "substyle": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/substyle/-/substyle-6.3.1.tgz", - "integrity": "sha512-S25YRgVQB25cLXgGAJ7AXTYewkIB/9Fa1Y7jxkN48U4N6rbK9YhVEiF7vtPGLlJl8ebSOJ3N4t8cd6jL8MH7Uw==", - "requires": { - "hoist-non-react-statics": "^3.1.0", - "invariant": "^2.2.0", - "prop-types": "^15.5.8", - "warning": "^2.1.0" - }, - "dependencies": { - "warning": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/warning/-/warning-2.1.0.tgz", - "integrity": "sha512-O9pvum8nlCqIT5pRGo2WRQJPRG2bW/ZBeCzl7/8CWREjUW693juZpGup7zbRtuVcSKyGiRAIZLYsh3C0vq7FAg==", - "requires": { - "loose-envify": "^1.0.0" - } - } - } - }, "sudo-prompt": { "version": "9.2.1", "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", @@ -46702,14 +46189,6 @@ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, - "touch": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/touch/-/touch-2.0.2.tgz", - "integrity": "sha512-qjNtvsFXTRq7IuMLweVgFxmEuQ6gLbRs2jQxL80TtZ31dEKWYIxRXquij6w6VimyDek5hD3PytljHmEtAs2u0A==", - "requires": { - "nopt": "~1.0.10" - } - }, "tough-cookie": { "version": "4.0.0", "requires": { @@ -46820,7 +46299,14 @@ } }, "type-of": { - "version": "2.0.1" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-of/-/type-of-2.0.1.tgz", + "integrity": "sha512-39wxbwHdQ2sTiBB8wAzKfQ9GN+om8w+sjNWzr+vZJR5AMD5J+J7Yc8AtXnU9r/r2c8XiDZ/smxutDmZehX/qpQ==" + }, + "typed-styles": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/typed-styles/-/typed-styles-0.0.7.tgz", + "integrity": "sha512-pzP0PWoZUhsECYjABgCGQlRGL1n7tOHsgwYv3oIiEpJwGhFTuty/YNeduxQYzXXa3Ge5BdT6sHYIQYpl4uJ+5Q==" }, "typedarray": { "version": "0.0.6", @@ -47288,6 +46774,8 @@ }, "warning": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", "requires": { "loose-envify": "^1.0.0" } diff --git a/frontend/package.json b/frontend/package.json index f45d810775..a156f7df16 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -3,13 +3,16 @@ "version": "0.1.0", "private": true, "dependencies": { - "@reach/router": "1.2.0", + "@reach/router": "1.3.4", "@seafile/react-image-lightbox": "0.0.1", "@seafile/resumablejs": "1.1.16", "@seafile/seafile-calendar": "0.0.12", - "@seafile/seafile-editor": "0.3.111", + "@seafile/seafile-editor": "0.3.122", + "@seafile/slate-react": "0.54.13", "classnames": "^2.2.6", "copy-to-clipboard": "^3.0.8", + "crypto-js": "4.1.1", + "deep-copy": "1.4.2", "glamor": "^2.20.40", "i18next": "22.4.6", "i18next-browser-languagedetector": "7.0.1", @@ -18,20 +21,21 @@ "moment": "^2.22.2", "object-assign": "4.1.1", "prismjs": "1.23.0", - "prop-types": "^15.6.2", + "prop-types": "15.8.1", "qrcode.react": "^1.0.1", - "react": "16.14.0", + "react": "18.2.0", "react-app-polyfill": "^2.0.0", "react-chartjs-2": "^2.8.0", "react-codemirror2": "7.2.1", "react-cookies": "^0.1.0", - "react-dom": "16.14.0", + "react-dom": "18.2.0", "react-i18next": "12.1.1", "react-mentions": "4.4.7", "react-qr-code": "^1.0.5", "react-responsive": "9.0.2", "react-select": "5.7.0", - "reactstrap": "^6.4.0", + "react-transition-group": "4.4.5", + "reactstrap": "8.9.0", "seafile-js": "0.2.190", "socket.io-client": "^2.2.0", "unified": "^7.0.0", diff --git a/frontend/src/app.js b/frontend/src/app.js index 90d4db6f9e..edeedf0062 100644 --- a/frontend/src/app.js +++ b/frontend/src/app.js @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import ReactDOM from 'react-dom'; +import { createRoot } from 'react-dom/client'; import { Router, navigate } from '@reach/router'; import MediaQuery from 'react-responsive'; import { Modal } from 'reactstrap'; @@ -290,7 +290,5 @@ class App extends Component { } } -ReactDOM.render( - , - document.getElementById('wrapper') -); +const root = createRoot(document.getElementById('wrapper')); +root.render(); diff --git a/frontend/src/components/cur-dir-path/dir-tool.js b/frontend/src/components/cur-dir-path/dir-tool.js index 1ff7a91856..3822f973f7 100644 --- a/frontend/src/components/cur-dir-path/dir-tool.js +++ b/frontend/src/components/cur-dir-path/dir-tool.js @@ -94,7 +94,7 @@ class DirTool extends React.Component { {this.state.isRepoTagDialogShow && ( - + {this.state.isListRepoTagShow && ( { @@ -50,10 +49,6 @@ class CreateDepartmentRepoDialog extends React.Component { this.props.onCreateToggle(); } - componentDidMount = () => { - this.newInput.focus(); - } - validateRepoName = () => { let errMessage = ''; let repoName = this.state.repoName.trim(); @@ -78,7 +73,7 @@ class CreateDepartmentRepoDialog extends React.Component { render() { return ( - + {gettext('New Department Library')}
@@ -87,10 +82,10 @@ class CreateDepartmentRepoDialog extends React.Component { {this.newInput = input;}} value={this.state.repoName} onChange={this.handleChange} maxLength={maxFileName} + autoFocus={true} />
diff --git a/frontend/src/components/dialog/create-file-dialog.js b/frontend/src/components/dialog/create-file-dialog.js index 83b073a0c5..42d1835be4 100644 --- a/frontend/src/components/dialog/create-file-dialog.js +++ b/frontend/src/components/dialog/create-file-dialog.js @@ -32,8 +32,6 @@ class CreateFile extends React.Component { } else { this.setState({parentPath: parentPath + '/'}); // sidePanel } - this.newInput.focus(); - this.newInput.setSelectionRange(0,0); } handleChange = (e) => { @@ -132,9 +130,15 @@ class CreateFile extends React.Component { return isDuplicated; } + onAfterModelOpened = () => { + if (!this.newInput.current) return; + this.newInput.current.focus(); + this.newInput.current.setSelectionRange(0,0); + } + render() { return ( - + {gettext('New File')}
@@ -143,7 +147,7 @@ class CreateFile extends React.Component { {this.newInput = input;}} + innerRef={this.newInput} value={this.state.childName} onChange={this.handleChange} /> diff --git a/frontend/src/components/dialog/create-folder-dialog.js b/frontend/src/components/dialog/create-folder-dialog.js index 751f3dcf4d..c00fa572c5 100644 --- a/frontend/src/components/dialog/create-folder-dialog.js +++ b/frontend/src/components/dialog/create-folder-dialog.js @@ -21,7 +21,6 @@ class CreateForder extends React.Component { errMessage: '', isSubmitBtnActive: false, }; - this.newInput = React.createRef(); } componentDidMount() { @@ -31,8 +30,6 @@ class CreateForder extends React.Component { } else { this.setState({parentPath: parentPath + '/'}); // sidePanel } - this.newInput.focus(); - this.newInput.setSelectionRange(0,0); } handleChange = (e) => { @@ -81,7 +78,7 @@ class CreateForder extends React.Component { render() { return ( - + {gettext('New Folder')} @@ -90,9 +87,9 @@ class CreateForder extends React.Component { {this.newInput = input;}} onKeyPress={this.handleKeyPress} onChange={this.handleChange} + autoFocus={true} /> diff --git a/frontend/src/components/dialog/create-group-dialog.js b/frontend/src/components/dialog/create-group-dialog.js index 3ab71e3ec9..5c4b484286 100644 --- a/frontend/src/components/dialog/create-group-dialog.js +++ b/frontend/src/components/dialog/create-group-dialog.js @@ -14,12 +14,6 @@ class CreateGroupDialog extends React.Component { errorMsg: '', isSubmitBtnActive: false, }; - this.newInput = React.createRef(); - } - - componentDidMount() { - this.newInput.focus(); - this.newInput.setSelectionRange(0, 0); } handleGroupChange = (event) => { @@ -69,17 +63,17 @@ class CreateGroupDialog extends React.Component { render() { return( - + {gettext('New Group')} {this.newInput = input;}} type="text" id="groupName" value={this.state.groupName} onChange={this.handleGroupChange} onKeyDown={this.handleKeyDown} + autoFocus={true} /> {this.state.errorMsg} diff --git a/frontend/src/components/dialog/create-repo-dialog.js b/frontend/src/components/dialog/create-repo-dialog.js index 3ebcdb6c9e..fda587fbee 100644 --- a/frontend/src/components/dialog/create-repo-dialog.js +++ b/frontend/src/components/dialog/create-repo-dialog.js @@ -25,7 +25,6 @@ class CreateRepoDialog extends React.Component { library_template: libraryTemplates.length ? libraryTemplates[0] : '', isSubmitBtnActive: false, }; - this.newInput = React.createRef(); } handleRepoNameChange = (e) => { @@ -69,10 +68,6 @@ class CreateRepoDialog extends React.Component { this.props.onCreateToggle(); } - componentDidMount() { - this.newInput.focus(); - } - validateInputParams() { let errMessage = ''; let repoName = this.state.repoName.trim(); @@ -177,7 +172,7 @@ class CreateRepoDialog extends React.Component { render() { return ( - + {gettext('New Library')}
@@ -186,9 +181,9 @@ class CreateRepoDialog extends React.Component { {this.newInput = input;}} value={this.state.repoName} onChange={this.handleRepoNameChange} + autoFocus={true} /> diff --git a/frontend/src/components/dialog/create-tag-dialog.js b/frontend/src/components/dialog/create-tag-dialog.js index 81c64abdba..cfef3310ec 100644 --- a/frontend/src/components/dialog/create-tag-dialog.js +++ b/frontend/src/components/dialog/create-tag-dialog.js @@ -22,7 +22,6 @@ class CreateTagDialog extends React.Component { errorMsg: '', colorList: ['#FBD44A', '#EAA775', '#F4667C', '#DC82D2', '#9860E5', '#9F8CF1', '#59CB74', '#ADDF84', '#89D2EA', '#4ECCCB', '#46A1FD', '#C2C2C2'], }; - this.newInput = React.createRef(); } inputNewName = (e) => { @@ -70,8 +69,6 @@ class CreateTagDialog extends React.Component { this.setState({ tagColor: this.state.colorList[0] }); - this.newInput.focus(); - this.newInput.setSelectionRange(0, 0); } render() { @@ -87,7 +84,7 @@ class CreateTagDialog extends React.Component {
- {this.newInput = input;}} value={this.state.tagName} onChange={this.inputNewName}/> +
{this.state.errorMsg}
diff --git a/frontend/src/components/dialog/edit-filetag-dialog.js b/frontend/src/components/dialog/edit-filetag-dialog.js index d26542db93..6dc5709c42 100644 --- a/frontend/src/components/dialog/edit-filetag-dialog.js +++ b/frontend/src/components/dialog/edit-filetag-dialog.js @@ -211,7 +211,7 @@ class EditFileTagDialog extends React.Component { render() { return ( - + {this.state.isListRepoTagShow && { diff --git a/frontend/src/components/dialog/new-wiki-dialog.js b/frontend/src/components/dialog/new-wiki-dialog.js index 573054ec54..e093413bed 100644 --- a/frontend/src/components/dialog/new-wiki-dialog.js +++ b/frontend/src/components/dialog/new-wiki-dialog.js @@ -18,12 +18,6 @@ class NewWikiDialog extends React.Component { repoID: '', isSubmitBtnActive: false, }; - this.newName = React.createRef(); - } - - componentDidMount() { - this.newName.focus(); - this.newName.setSelectionRange(0, -1); } inputNewName = (e) => { @@ -56,11 +50,11 @@ class NewWikiDialog extends React.Component { render() { return ( - + {gettext('New Wiki')} - {this.newName = input;}} value={this.state.name} onChange={this.inputNewName}/> + diff --git a/frontend/src/components/dialog/org-add-department-dialog.js b/frontend/src/components/dialog/org-add-department-dialog.js index 29849b2513..4afbcdf36f 100644 --- a/frontend/src/components/dialog/org-add-department-dialog.js +++ b/frontend/src/components/dialog/org-add-department-dialog.js @@ -19,12 +19,6 @@ class AddDepartDialog extends React.Component { departName: '', errMessage: '', }; - this.newInput = React.createRef(); - } - - componentDidMount() { - this.newInput.focus(); - this.newInput.setSelectionRange(0, 0); } handleSubmit = () => { @@ -71,7 +65,7 @@ class AddDepartDialog extends React.Component { render() { let header = this.props.parentGroupID ? gettext('New Sub-department') : gettext('New Department'); return ( - + {header} @@ -82,7 +76,7 @@ class AddDepartDialog extends React.Component { onKeyPress={this.handleKeyPress} value={this.state.departName} onChange={this.handleChange} - innerRef={input => {this.newInput = input;}} + autoFocus={true} /> diff --git a/frontend/src/components/dialog/org-add-repo-dialog.js b/frontend/src/components/dialog/org-add-repo-dialog.js index 38ed1b03ac..ae522077e2 100644 --- a/frontend/src/components/dialog/org-add-repo-dialog.js +++ b/frontend/src/components/dialog/org-add-repo-dialog.js @@ -19,12 +19,6 @@ class AddRepoDialog extends React.Component { repoName: '', errMessage: '', }; - this.newInput = React.createRef(); - } - - componentDidMount() { - this.newInput.focus(); - this.newInput.setSelectionRange(0, 0); } handleSubmit = () => { @@ -66,7 +60,7 @@ class AddRepoDialog extends React.Component { render() { return ( - + {gettext('New Library')}
@@ -77,7 +71,7 @@ class AddRepoDialog extends React.Component { onKeyPress={this.handleKeyPress} value={this.state.repoName} onChange={this.handleChange} - innerRef={input => {this.newInput = input;}} + autoFocus={true} />
diff --git a/frontend/src/components/dialog/org-import-users-dialog.js b/frontend/src/components/dialog/org-import-users-dialog.js index acadd65037..4dfaefc0e8 100644 --- a/frontend/src/components/dialog/org-import-users-dialog.js +++ b/frontend/src/components/dialog/org-import-users-dialog.js @@ -11,10 +11,10 @@ const propTypes = { class ImportOrgUsersDialog extends React.Component { constructor(props) { super(props); - this.fileInputRef = React.createRef(); this.state = { errorMsg: '' }; + this.fileInputRef = React.createRef(); } toggle = () => { diff --git a/frontend/src/components/dialog/org-rename-department-dialog.js b/frontend/src/components/dialog/org-rename-department-dialog.js index 8aa03773d7..5d2cdad3f4 100644 --- a/frontend/src/components/dialog/org-rename-department-dialog.js +++ b/frontend/src/components/dialog/org-rename-department-dialog.js @@ -31,11 +31,6 @@ class RenameDepartmentDialog extends React.Component { this.newInput = React.createRef(); } - componentDidMount() { - this.newInput.select(); - this.newInput.focus(); - } - handleSubmit = () => { let isValid = this.validateName(); const { orgID, groupID } = this.props; @@ -75,10 +70,16 @@ class RenameDepartmentDialog extends React.Component { } } + onAfterModelOpened = () => { + if (!this.newInput.current) return; + this.newInput.current.focus(); + this.newInput.current.select(); + } + render() { let header = gettext('Rename Department'); return ( - + {header}
@@ -89,7 +90,7 @@ class RenameDepartmentDialog extends React.Component { onKeyPress={this.handleKeyPress} value={this.state.departmentName} onChange={this.handleChange} - innerRef={input => {this.newInput = input;}} + innerRef={this.newInput} />
diff --git a/frontend/src/components/dialog/org-set-group-quota-dialog.js b/frontend/src/components/dialog/org-set-group-quota-dialog.js index 6732a22e63..4404c98db5 100644 --- a/frontend/src/components/dialog/org-set-group-quota-dialog.js +++ b/frontend/src/components/dialog/org-set-group-quota-dialog.js @@ -20,12 +20,6 @@ class SetGroupQuotaDialog extends React.Component { quota: '', errMessage: '', }; - this.newInput = React.createRef(); - } - - componentDidMount() { - this.newInput.focus(); - this.newInput.setSelectionRange(0, 0); } setGroupQuota = () => { @@ -61,7 +55,7 @@ class SetGroupQuotaDialog extends React.Component { render() { return ( - + {gettext('Set Quota')} @@ -69,7 +63,7 @@ class SetGroupQuotaDialog extends React.Component { onKeyPress={this.handleKeyPress} value={this.state.quota} onChange={this.handleChange} - innerRef={input => {this.newInput = input;}} + autoFocus={true} /> {'MB'} diff --git a/frontend/src/components/dialog/rename-dialog.js b/frontend/src/components/dialog/rename-dialog.js index e1679f6cfc..57a7fc24dd 100644 --- a/frontend/src/components/dialog/rename-dialog.js +++ b/frontend/src/components/dialog/rename-dialog.js @@ -12,6 +12,7 @@ const propTypes = { }; class Rename extends React.Component { + constructor(props) { super(props); this.state = { @@ -27,16 +28,8 @@ class Rename extends React.Component { } componentDidMount() { - let currentNode = this.props.currentNode; + const { currentNode } = this.props; this.changeState(currentNode); - this.newInput.focus(); - let type = currentNode.object.type; - if (type === 'file') { - var endIndex = currentNode.object.name.lastIndexOf('.md'); - this.newInput.setSelectionRange(0, endIndex, 'forward'); - } else { - this.newInput.setSelectionRange(0, -1); - } } componentWillReceiveProps(nextProps) { @@ -108,14 +101,27 @@ class Rename extends React.Component { return isDuplicated; } + onAfterModelOpened = () => { + if (!this.newInput.current) return; + const { currentNode } = this.props; + let type = currentNode.object.type; + this.newInput.current.focus(); + if (type === 'file') { + var endIndex = currentNode.object.name.lastIndexOf('.md'); + this.newInput.current.setSelectionRange(0, endIndex, 'forward'); + } else { + this.newInput.current.setSelectionRange(0, -1); + } + } + render() { let type = this.props.currentNode.object.type; return ( - + {type === 'file' ? gettext('Rename File') : gettext('Rename Folder') }

{type === 'file' ? gettext('New file name'): gettext('New folder name')}

- {this.newInput = input;}} placeholder="newName" value={this.state.newName} onChange={this.handleChange} /> + {this.state.errMessage && {this.state.errMessage}}
diff --git a/frontend/src/components/dialog/rename-dirent.js b/frontend/src/components/dialog/rename-dirent.js index 8e773fc803..ec0b86d8e8 100644 --- a/frontend/src/components/dialog/rename-dirent.js +++ b/frontend/src/components/dialog/rename-dirent.js @@ -28,16 +28,8 @@ class Rename extends React.Component { } componentDidMount() { - let {dirent} = this.props; + let { dirent } = this.props; this.changeState(dirent); - this.newInput.focus(); - let type = dirent.type; - if (type === 'file') { - var endIndex = dirent.name.lastIndexOf('.md'); - this.newInput.setSelectionRange(0, endIndex, 'forward'); - } else { - this.newInput.setSelectionRange(0, -1); - } } componentWillReceiveProps(nextProps) { @@ -110,14 +102,28 @@ class Rename extends React.Component { return isDuplicated; } + onAfterModelOpened = () => { + if (!this.newInput.current) return; + this.newInput.current.focus(); + + let { dirent } = this.props; + let type = dirent.type; + if (type === 'file') { + var endIndex = dirent.name.lastIndexOf('.md'); + this.newInput.current.setSelectionRange(0, endIndex, 'forward'); + } else { + this.newInput.current.setSelectionRange(0, -1); + } + } + render() { let type = this.props.dirent.type; return ( - + {type === 'file' ? gettext('Rename File') : gettext('Rename Folder') }

{type === 'file' ? gettext('New file name'): gettext('New folder name')}

- {this.newInput = input;}} value={this.state.newName} onChange={this.handleChange} /> + {this.state.errMessage && {this.state.errMessage}}
diff --git a/frontend/src/components/dialog/search-file-dialog.js b/frontend/src/components/dialog/search-file-dialog.js index 1e19f25cd3..1abe8ca2f7 100644 --- a/frontend/src/components/dialog/search-file-dialog.js +++ b/frontend/src/components/dialog/search-file-dialog.js @@ -23,11 +23,6 @@ class SearchFileDialog extends React.Component { errMessage: '', fileList: null }; - this.inputRef = React.createRef(); - } - - componentDidMount() { - this.inputRef.current.focus(); } searchFile = () => { @@ -78,11 +73,11 @@ class SearchFileDialog extends React.Component { render() { const { q, errMessage, fileList, isSubmitDisabled, isSubmitting } = this.state; return ( - + {gettext('Search')}
- +
{errMessage && {errMessage}} diff --git a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-department-dialog.js b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-department-dialog.js index 1983fea425..503116291b 100644 --- a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-department-dialog.js +++ b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-department-dialog.js @@ -19,12 +19,6 @@ class AddDepartDialog extends React.Component { departName: '', errMessage: '', }; - this.newInput = React.createRef(); - } - - componentDidMount() { - this.newInput.focus(); - this.newInput.setSelectionRange(0, 0); } handleSubmit = () => { @@ -71,7 +65,7 @@ class AddDepartDialog extends React.Component { render() { let header = this.props.parentGroupID ? gettext('New Sub-department') : gettext('New Department'); return ( - + {header}
@@ -82,7 +76,7 @@ class AddDepartDialog extends React.Component { onKeyPress={this.handleKeyPress} value={this.state.departName} onChange={this.handleChange} - innerRef={input => {this.newInput = input;}} + autoFocus={true} />
diff --git a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-repo-dialog.js b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-repo-dialog.js index e7cfb80692..f0db249d35 100644 --- a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-repo-dialog.js +++ b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-repo-dialog.js @@ -19,12 +19,6 @@ class AddRepoDialog extends React.Component { repoName: '', errMessage: '', }; - this.newInput = React.createRef(); - } - - componentDidMount() { - this.newInput.focus(); - this.newInput.setSelectionRange(0, 0); } handleSubmit = () => { @@ -66,7 +60,7 @@ class AddRepoDialog extends React.Component { render() { return ( - + {gettext('New Library')}
@@ -77,7 +71,7 @@ class AddRepoDialog extends React.Component { onKeyPress={this.handleKeyPress} value={this.state.repoName} onChange={this.handleChange} - innerRef={input => {this.newInput = input;}} + autoFocus={true} />
diff --git a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-create-group-dialog.js b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-create-group-dialog.js index 48165334e5..8d382b6949 100644 --- a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-create-group-dialog.js +++ b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-create-group-dialog.js @@ -20,7 +20,6 @@ class SysAdminCreateGroupDialog extends React.Component { errMessage: '', isSubmitBtnActive: false }; - this.newInput = React.createRef(); } handleRepoNameChange = (e) => { @@ -56,13 +55,9 @@ class SysAdminCreateGroupDialog extends React.Component { this.props.toggleDialog(); } - componentDidMount() { - this.newInput.focus(); - } - render() { return ( - + {gettext('New Group')}
@@ -71,9 +66,9 @@ class SysAdminCreateGroupDialog extends React.Component { {this.newInput = input;}} value={this.state.groupName} onChange={this.handleRepoNameChange} + autoFocus={true} />