diff --git a/package-lock.json b/package-lock.json index deb00d7a..816dcb5d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1472,6 +1472,26 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.2.3.tgz", "integrity": "sha512-pg9d0yC4rVNWQzX8U7xb4olIOFuuVL9za3bzMT2pu2SU0SNEi66i2qrvhE2qt0HvkhuCaWJu7pLNOt/Pj8BIrw==" }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "@types/react": { + "version": "18.2.21", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.21.tgz", + "integrity": "sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + }, "@types/triple-beam": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.2.tgz", @@ -1814,11 +1834,6 @@ "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, "asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -2221,6 +2236,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, "requires": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -2582,11 +2598,6 @@ "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true }, - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==" - }, "core-js-compat": { "version": "3.27.2", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.2.tgz", @@ -2728,6 +2739,11 @@ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==" }, + "csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -2761,12 +2777,6 @@ "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true }, - "deconstruct-number-format": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/deconstruct-number-format/-/deconstruct-number-format-0.0.1.tgz", - "integrity": "sha512-DNkCIzxbEHIbSdC+HvN12A2te/+X7MBOvEEetxQXUHW0B9OQCgdzR5JR/dkAPr7GPOPVGGxGx+YRh0gUtJ5FWA==", - "optional": true - }, "deep-diff": { "version": "0.3.4", "resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-0.3.4.tgz", @@ -2776,6 +2786,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, "requires": { "is-arguments": "^1.0.4", "is-date-object": "^1.0.1", @@ -2805,6 +2816,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, "requires": { "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" @@ -3005,14 +3017,6 @@ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "requires": { - "iconv-lite": "^0.6.2" - } - }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -3636,20 +3640,6 @@ "websocket-driver": ">=0.5.1" } }, - "fbjs": { - "version": "0.8.18", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.18.tgz", - "integrity": "sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA==", - "requires": { - "core-js": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.30" - } - }, "fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", @@ -3818,22 +3808,6 @@ "mime-types": "^2.1.12" } }, - "format-number": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/format-number/-/format-number-2.0.2.tgz", - "integrity": "sha512-ibyz0JpwyGjdb/7iOAzo6YeZuA5Z6vYFGGiw+5a11qduwHG669BrNIXm6BDqe5SideoPAi9PRXqGTcderFjNxQ==", - "optional": true - }, - "format-number-with-string": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/format-number-with-string/-/format-number-with-string-0.0.2.tgz", - "integrity": "sha512-vM6k7XP/w4L1wSVXPFgbPcXZ7Rk4RgcwYMkuskVV1XhGTt74Rvk859xXIyNu5yvMSObdEkyEy/RJJhfw7vB38g==", - "optional": true, - "requires": { - "deconstruct-number-format": "~0.0.1", - "format-number": "^2.0.1" - } - }, "forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -3879,7 +3853,8 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true }, "functional-red-black-tree": { "version": "1.0.1", @@ -3890,7 +3865,8 @@ "functions-have-names": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true }, "gensync": { "version": "1.0.0-beta.2", @@ -3907,6 +3883,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -4041,6 +4018,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -4072,6 +4050,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, "requires": { "get-intrinsic": "^1.1.1" } @@ -4079,12 +4058,14 @@ "has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true }, "has-tostringtag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, "requires": { "has-symbols": "^1.0.2" } @@ -4151,24 +4132,14 @@ } }, "history": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/history/-/history-2.1.2.tgz", - "integrity": "sha512-s8D90YFieskA7uRglWmvbI17SehPP+ZHN2eiNrg1xUZjUHIeMcTu8paxjpzC7RfU0wptwQMXdezifG/UTkzC2w==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/history/-/history-3.3.0.tgz", + "integrity": "sha512-ABLnJwKEZGXGqWsXaKYD8NNle49ZbKs1WEBlxrFsQ8dIudZpO5NJaH8WJOqh5lXVhAq7bHksfirrobBmrT7qBw==", "requires": { - "deep-equal": "^1.0.0", - "invariant": "^2.0.0", - "query-string": "^3.0.0", - "warning": "^2.0.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" - } - } + "invariant": "^2.2.1", + "loose-envify": "^1.2.0", + "query-string": "^4.2.2", + "warning": "^3.0.0" } }, "hoist-non-react-statics": { @@ -4260,14 +4231,6 @@ "sshpk": "^1.7.0" } }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, "icss-utils": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", @@ -4444,6 +4407,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -4501,6 +4465,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, "requires": { "has-tostringtag": "^1.0.0" } @@ -4589,6 +4554,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -4637,15 +4603,6 @@ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" }, - "isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==", - "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" - } - }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -5276,15 +5233,6 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - }, "node-forge": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", @@ -5377,6 +5325,7 @@ "version": "1.1.5", "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -5385,7 +5334,8 @@ "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true }, "object-visit": { "version": "1.0.1", @@ -5772,14 +5722,6 @@ "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", "integrity": "sha512-UdA8mJ4weIkUBO224tIarHzuHs4HuYiJvsuGT7j/SPQiUJVjYvNDBIPa0hAorduOfjGohB/qHWRa/lrrWX/mXw==" }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "requires": { - "asap": "~2.0.3" - } - }, "prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -5790,6 +5732,25 @@ "react-is": "^16.13.1" } }, + "prop-types-extra": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.1.tgz", + "integrity": "sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==", + "requires": { + "react-is": "^16.3.2", + "warning": "^4.0.0" + }, + "dependencies": { + "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" + } + } + } + }, "proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -5843,10 +5804,11 @@ "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" }, "query-string": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-3.0.3.tgz", - "integrity": "sha512-51caZjRlfBSfcCvFT5OKJqY7az8z05qAHx1nHydQyEYIxOThv1BLTYt+T+usyJpPCsoGQDQxCdDzZ7BbIZtitw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==", "requires": { + "object-assign": "^4.1.0", "strict-uri-encode": "^1.0.0" } }, @@ -5911,34 +5873,33 @@ } }, "react": { - "version": "15.7.0", - "resolved": "https://registry.npmjs.org/react/-/react-15.7.0.tgz", - "integrity": "sha512-5/MMRYmpmM0sMTHGLossnJCrmXQIiJilD6y3YN3TzAwGFj6zdnMtFv6xmi65PHKRV+pehIHpT7oy67Sr6s9AHA==", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", "requires": { - "create-react-class": "^15.6.0", - "fbjs": "^0.8.9", "loose-envify": "^1.1.0", - "object-assign": "^4.1.0", - "prop-types": "^15.5.10" + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" } }, - "react-addons-css-transition-group": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/react-addons-css-transition-group/-/react-addons-css-transition-group-15.6.2.tgz", - "integrity": "sha512-M5AJydHOUGq+YujoQLL8f9mQ0QLqxjqHUpWyvUmWVCYi93iGz53HwNBwzHbr0u21KABoPzyLYZZgMk974uPovw==", + "react-component-managers": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-component-managers/-/react-component-managers-3.2.2.tgz", + "integrity": "sha512-SqtB09hS1ir0koBNybvNbNAB3k/r7IbIGbXSxvkkTV0m50s+4oJ59KYsbPAQ/2DhE169Rc5V26d674EcGcDbGA==", "requires": { - "react-transition-group": "^1.2.0" + "prop-types": "^15.6.1", + "spy-on-component": "^1.1.0" } }, "react-dom": { - "version": "15.7.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.7.0.tgz", - "integrity": "sha512-mpjXqC2t1FuYsILOLCj0kg6pbg460byZkVA/80VtDmKU/pYmoTdHOtaMcTRIDiyXLz4sIur0cQ04nOC6iGndJg==", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", "requires": { - "fbjs": "^0.8.9", "loose-envify": "^1.1.0", - "object-assign": "^4.1.0", - "prop-types": "^15.5.10" + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" } }, "react-dropzone": { @@ -6002,30 +5963,34 @@ } }, "react-router": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-2.8.1.tgz", - "integrity": "sha512-8CmCXkPag5JmqUlLxeyRzVsntAhIdhfIbdNqsOaNOE0imG9NgZIdSn4jWEvGIyw7YAGbvyJ15BDAad+2R/Zj3Q==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-3.2.6.tgz", + "integrity": "sha512-nlxtQE8B22hb/JxdaslI1tfZacxFU8x8BJryXOnR2RxB4vc01zuHYAHAIgmBkdk1kzXaA25hZxK6KAH/+CXArw==", "requires": { - "history": "^2.1.2", - "hoist-non-react-statics": "^1.2.0", + "create-react-class": "^15.5.1", + "history": "^3.0.0", + "hoist-non-react-statics": "^3.3.2", "invariant": "^2.2.1", "loose-envify": "^1.2.0", + "prop-types": "^15.7.2", + "react-is": "^16.13.0", "warning": "^3.0.0" - }, - "dependencies": { - "hoist-non-react-statics": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", - "integrity": "sha512-r8huvKK+m+VraiRipdZYc+U4XW43j6OFG/oIafe7GfDbRpCduRoX9JI/DRxqgtBSCeL+et6N6ibZoedHS2NyOQ==" - } } }, "react-tooltip": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-1.2.1.tgz", - "integrity": "sha512-i0ZGsLA0p6LJ0OiSo7jAz7AHvCTMsZw4LVVpXMQ1tpBUElKChAnOazydl/mXbRriw4tMRHSuED4sVWG+GHw7Zg==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-4.5.1.tgz", + "integrity": "sha512-Zo+CSFUGXar1uV+bgXFFDe7VeS2iByeIp5rTgTcc2HqtuOS5D76QapejNNfx320MCY91TlhTQat36KGFTqgcvw==", "requires": { - "classnames": "^2.2.0" + "prop-types": "^15.8.1", + "uuid": "^7.0.3" + }, + "dependencies": { + "uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==" + } } }, "react-transition-group": { @@ -6041,38 +6006,40 @@ } }, "react-widgets": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/react-widgets/-/react-widgets-3.5.0.tgz", - "integrity": "sha512-NwnBQZZplCfcm3Zn58aHqJd7RKEStSzt/sNhg1NUEGbGSgLYVR+1id1Ditb1lr6l32AnA1llK5mGBHzwjzbEBw==", - "requires": { - "classnames": "^2.1.2", - "create-react-class": "^15.5.3", - "date-arithmetic": "^3.0.0", - "deconstruct-number-format": "0.0.1", - "dom-helpers": "^2.2.4", - "format-number-with-string": "0.0.2", - "invariant": "^2.1.0", - "loose-envify": "^1.2.0", - "prop-types": "^15.5.0", - "uncontrollable": "^4.0.0", - "warning": "^2.0.0" + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/react-widgets/-/react-widgets-4.6.1.tgz", + "integrity": "sha512-x2n4EFQnk1ZG2rWsdekGK3js091k+b06e0CRI4pDEZ0uh/cft3NyGFKS5/x7CV/fN51kHMaM4r5IRGIbPfsLLw==", + "requires": { + "classnames": "^2.2.6", + "date-arithmetic": "^3.1.0", + "dom-helpers": "^3.3.1", + "invariant": "^2.2.4", + "prop-types-extra": "^1.0.1", + "react-component-managers": "^3.1.0", + "react-lifecycles-compat": "^3.0.4", + "react-transition-group": "^2.4.0", + "uncontrollable": "^7.1.1", + "warning": "^3.0.0" }, "dependencies": { - "dom-helpers": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-2.4.0.tgz", - "integrity": "sha512-urx8RB5tJo+FTdG0ZGPryUD25wUtK/QXRYg7+GaSgfNZNWOAcGZm0puzrKThZINKQJAVAlVijrAKoKd5jnl4FQ==" - }, - "warning": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/warning/-/warning-2.1.0.tgz", - "integrity": "sha512-O9pvum8nlCqIT5pRGo2WRQJPRG2bW/ZBeCzl7/8CWREjUW693juZpGup7zbRtuVcSKyGiRAIZLYsh3C0vq7FAg==", + "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": { - "loose-envify": "^1.0.0" + "dom-helpers": "^3.4.0", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2", + "react-lifecycles-compat": "^3.0.4" } } } }, + "react-widgets-moment": { + "version": "4.0.30", + "resolved": "https://registry.npmjs.org/react-widgets-moment/-/react-widgets-moment-4.0.30.tgz", + "integrity": "sha512-HgW/Kh/guklhaobS7Gc+u6Zx4I1ueMPYyMR0jY5+R58W5jYo0PtVUdl33fU64Ex/66sG6D47hLBxrHp1vIcKMQ==" + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -6169,6 +6136,7 @@ "version": "1.4.3", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", @@ -6459,6 +6427,15 @@ } } }, + "scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, "schema-utils": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", @@ -6699,11 +6676,6 @@ } } }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, "setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -7068,6 +7040,11 @@ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, + "spy-on-component": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/spy-on-component/-/spy-on-component-1.1.3.tgz", + "integrity": "sha512-a7jgnoBSdkcDWIQQwtEgUq4etajwG6+wGIjfC9ARUKwKOdHxJd+utgHTgLn81ETizpsw4xddUS3W8VePedtaIQ==" + }, "sshpk": { "version": "1.17.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", @@ -7548,17 +7525,15 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, - "ua-parser-js": { - "version": "0.7.33", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz", - "integrity": "sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==" - }, "uncontrollable": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-4.1.0.tgz", - "integrity": "sha512-YN1vmvC+UkttgPcFaal2UaNVODu6Rf1FU2x1guyiQRHOzSKkfTJLb0dzhJAEfRsAtjog4PF9UyNWUM2crqDyvg==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz", + "integrity": "sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==", "requires": { - "invariant": "^2.1.0" + "@babel/runtime": "^7.6.3", + "@types/react": ">=16.9.11", + "invariant": "^2.2.4", + "react-lifecycles-compat": "^3.0.4" } }, "unicode-canonical-property-names-ecmascript": { @@ -8474,11 +8449,6 @@ "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "dev": true }, - "whatwg-fetch": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", - "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" - }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", diff --git a/package.json b/package.json index a653968a..d9342f25 100644 --- a/package.json +++ b/package.json @@ -19,16 +19,18 @@ "moment": "^2.29.4", "panda-session": "0.1.6", "phantomjs-prebuilt": "^2.1.14", + "prop-types": "^15.8.1", "q": "1.4.1", "ramda": "^0.18.0", - "react": "^15.3.0", - "react-addons-css-transition-group": "^15.3.0", - "react-dom": "^15.3.0", + "react": "^16.14.0", + "react-dom": "^16.14.0", "react-dropzone": "^3.0", "react-redux": "^5.1.0", - "react-router": "^2.6.1", - "react-tooltip": "^1.1.2", - "react-widgets": "^3.1.0", + "react-router": "^3.2.6", + "react-tooltip": "^4.5.1", + "react-transition-group": "^1.2.1", + "react-widgets": "^4.6.1", + "react-widgets-moment": "4.0.30", "redux": "^4.0.5", "redux-logger": "^2.0.4", "redux-thunk": "^1.0.0", diff --git a/public/components/BatchTag.react.js b/public/components/BatchTag.react.js index 584a7ec0..3ab4dcd7 100644 --- a/public/components/BatchTag.react.js +++ b/public/components/BatchTag.react.js @@ -28,7 +28,7 @@ export class BatchTag extends React.Component { } } - componentWillUpdate(newProps, newState) { + UNSAFE_componentWillUpdate(newProps, newState) { const prevCount = this.state.selectedContent.length; const newCount = newState.selectedContent.length; if (prevCount === 0 && newCount > 0) { @@ -42,7 +42,7 @@ export class BatchTag extends React.Component { } } - componentWillUnmount() { + UNSAFE_componentWillUnmount() { window.onbeforeunload = null; } diff --git a/public/components/BatchTag/BatchFilters.react.js b/public/components/BatchTag/BatchFilters.react.js index f86ad5bf..56f03796 100644 --- a/public/components/BatchTag/BatchFilters.react.js +++ b/public/components/BatchTag/BatchFilters.react.js @@ -7,7 +7,7 @@ import SectionSelect from '../utils/SectionSelect.react'; import DateTimePicker from 'react-widgets/lib/DateTimePicker'; import DateTimePickerCSS from 'react-widgets/dist/css/react-widgets.css'; -import momentLocalizer from 'react-widgets/lib/localizers/moment'; +import momentLocalizer from 'react-widgets-moment'; momentLocalizer(moment); const CAPI_DATE_FORMAT = 'YYYY-MM-DD'; diff --git a/public/components/BatchTagControls/BatchTagControls.js b/public/components/BatchTagControls/BatchTagControls.js index 6853cd57..529befd0 100644 --- a/public/components/BatchTagControls/BatchTagControls.js +++ b/public/components/BatchTagControls/BatchTagControls.js @@ -1,5 +1,5 @@ import React from 'react'; -import ReactCSSTransitionGroup from 'react-addons-css-transition-group'; +import CSSTransitionGroup from 'react-transition-group/CSSTransitionGroup'; import TagSelect from '../utils/TagSelect'; import tagManagerApi from '../../util/tagManagerApi'; import { browserHistory } from 'react-router' @@ -173,14 +173,14 @@ export default class BatchTagControls extends React.Component { const {toAddToTop, toAddToBottom, toRemove} = this.state; return ( - +
{this.renderMode()}
{toAddToTop.length + toAddToBottom.length + toRemove.length > 0 ? this.renderBasket() : false}
-
+ ); } } diff --git a/public/components/JobStatus/JobStatus.react.js b/public/components/JobStatus/JobStatus.react.js index c27af591..e44dd2c9 100644 --- a/public/components/JobStatus/JobStatus.react.js +++ b/public/components/JobStatus/JobStatus.react.js @@ -19,7 +19,7 @@ export default class JobStatus extends React.Component { this.jobCheck = setInterval(this.fetchJobs.bind(this), 5000); } - componentWillUnmount() { + UNSAFE_componentWillUnmount() { clearInterval(this.jobCheck); } diff --git a/public/components/Pillar/PillarList.react.js b/public/components/Pillar/PillarList.react.js index a6abdbdd..19dc02cf 100644 --- a/public/components/Pillar/PillarList.react.js +++ b/public/components/Pillar/PillarList.react.js @@ -14,7 +14,7 @@ class PillarList extends React.Component { browserHistory.push(path); } - componentWillMount() { + UNSAFE_componentWillMount() { if (!this.props.pillars || !this.props.pillars.length) { this.props.pillarActions.getPillars(); } diff --git a/public/components/Pillar/PillarSections/PillarSectionsList.react.js b/public/components/Pillar/PillarSections/PillarSectionsList.react.js index 586a3ae4..fffe057e 100644 --- a/public/components/Pillar/PillarSections/PillarSectionsList.react.js +++ b/public/components/Pillar/PillarSections/PillarSectionsList.react.js @@ -1,4 +1,5 @@ import React from 'react'; +import PropTypes from 'prop-types'; export default class PillarSectionsList extends React.Component { renderFinalRow() { @@ -31,6 +32,6 @@ export default class PillarSectionsList extends React.Component { } PillarSectionsList.propTypes = { - title: React.PropTypes.string.isRequired, - actionButton: React.PropTypes.node + title: PropTypes.string.isRequired, + actionButton: PropTypes.node } diff --git a/public/components/SectionEdit/SectionName.react.js b/public/components/SectionEdit/SectionName.react.js index 7d4af463..4e4aaf48 100644 --- a/public/components/SectionEdit/SectionName.react.js +++ b/public/components/SectionEdit/SectionName.react.js @@ -18,7 +18,7 @@ export default class SectionNameEdit extends React.Component { this.state = inferLockStateFromProps(props); } - componentWillReceiveProps(props) { + UNSAFE_componentWillReceiveProps(props) { this.setState(inferLockStateFromProps(props)); } diff --git a/public/components/SectionList/SectionList.react.js b/public/components/SectionList/SectionList.react.js index dd860314..10a02672 100644 --- a/public/components/SectionList/SectionList.react.js +++ b/public/components/SectionList/SectionList.react.js @@ -14,7 +14,7 @@ class SectionList extends React.Component { browserHistory.push(path); } - componentWillMount() { + UNSAFE_componentWillMount() { if (!this.props.sections || !this.props.sections.length) { this.props.sectionActions.getSections(); } diff --git a/public/components/SponsorshipEdit/TargetingEdit.react.js b/public/components/SponsorshipEdit/TargetingEdit.react.js index a06f5787..61798f49 100644 --- a/public/components/SponsorshipEdit/TargetingEdit.react.js +++ b/public/components/SponsorshipEdit/TargetingEdit.react.js @@ -3,7 +3,7 @@ import R from 'ramda'; import moment from 'moment'; import DateTimePicker from 'react-widgets/lib/DateTimePicker'; -import momentLocalizer from 'react-widgets/lib/localizers/moment'; +import momentLocalizer from 'react-widgets-moment'; import {allowedEditions} from '../../constants/allowedEditions'; import SectionSelect from '../utils/SectionSelect.react'; diff --git a/public/components/SponsorshipEdit/ValidityEdit.react.js b/public/components/SponsorshipEdit/ValidityEdit.react.js index 052e3161..e12bdcdf 100644 --- a/public/components/SponsorshipEdit/ValidityEdit.react.js +++ b/public/components/SponsorshipEdit/ValidityEdit.react.js @@ -2,7 +2,7 @@ import React from 'react'; import moment from 'moment'; import DateTimePicker from 'react-widgets/lib/DateTimePicker'; -import momentLocalizer from 'react-widgets/lib/localizers/moment'; +import momentLocalizer from 'react-widgets-moment'; momentLocalizer(moment); diff --git a/public/components/Status.react.js b/public/components/Status.react.js index e8706207..39fc8ef8 100644 --- a/public/components/Status.react.js +++ b/public/components/Status.react.js @@ -31,7 +31,7 @@ class Status extends React.Component { this.jobCheck = setInterval(this.fetchJobs.bind(this), 15000); } - componentWillUnmount() { + UNSAFE_componentWillUnmount() { clearInterval(this.jobCheck); } diff --git a/public/components/Tag/Display.react.js b/public/components/Tag/Display.react.js index a0dce2e6..7d2124b4 100644 --- a/public/components/Tag/Display.react.js +++ b/public/components/Tag/Display.react.js @@ -34,7 +34,7 @@ class TagDisplay extends React.Component { } } - componentWillReceiveProps(props) { + UNSAFE_componentWillReceiveProps(props) { if (props.tag.id !== parseInt(props.routeParams.tagId, 10)) { props.tagActions.getTag(parseInt(props.routeParams.tagId, 10)); } diff --git a/public/components/Tag/TagAudit.react.js b/public/components/Tag/TagAudit.react.js index d552c70e..87ac77d1 100644 --- a/public/components/Tag/TagAudit.react.js +++ b/public/components/Tag/TagAudit.react.js @@ -16,7 +16,7 @@ export default class TagAudit extends React.Component { this.fetchAudit(); } - componentWillReceiveProps(nextProps) { + UNSAFE_componentWillReceiveProps(nextProps) { if(this.props.saveState === 'SAVE_STATE_INPROGRESS' && nextProps.saveState === 'SAVE_STATE_CLEAN') { //I.E a save just completed this.fetchAudit(); } diff --git a/public/components/Tag/TagValidation.react.js b/public/components/Tag/TagValidation.react.js index 75882527..4aaadbf4 100644 --- a/public/components/Tag/TagValidation.react.js +++ b/public/components/Tag/TagValidation.react.js @@ -1,5 +1,5 @@ import React from 'react'; -import ReactCSSTransitionGroup from 'react-addons-css-transition-group'; +import CSSTransitionGroup from 'react-transition-group/CSSTransitionGroup'; export default class TagValidation extends React.Component { @@ -23,9 +23,9 @@ export default class TagValidation extends React.Component { return (
Validation
- + {this.props.validations.map(this.renderValidationResult, this)} - +
); } diff --git a/public/components/TagContext/TagReferenceList.react.js b/public/components/TagContext/TagReferenceList.react.js index cb78f56f..4796a7ee 100644 --- a/public/components/TagContext/TagReferenceList.react.js +++ b/public/components/TagContext/TagReferenceList.react.js @@ -1,4 +1,5 @@ import React from 'react'; +import PropTypes from 'prop-types'; /** * Renders the table header and the passed content & action button for the @@ -30,7 +31,7 @@ export default class TagReferenceList extends React.Component { - {this.props.headers.map(h => )} + {this.props.headers.map((h, index) => )} @@ -44,7 +45,7 @@ export default class TagReferenceList extends React.Component { } TagReferenceList.propTypes = { - title: React.PropTypes.string.isRequired, - headers: React.PropTypes.arrayOf(React.PropTypes.string).isRequired, - actionButton: React.PropTypes.node + title: PropTypes.string.isRequired, + headers: PropTypes.arrayOf(PropTypes.string).isRequired, + actionButton: PropTypes.node } diff --git a/public/components/TagContext/TagRelationship/TagRelationship.react.js b/public/components/TagContext/TagRelationship/TagRelationship.react.js index de951760..33a0c8bf 100644 --- a/public/components/TagContext/TagRelationship/TagRelationship.react.js +++ b/public/components/TagContext/TagRelationship/TagRelationship.react.js @@ -26,7 +26,7 @@ export default class TagRelationship extends React.Component { }); } - componentWillReceiveProps(props) { + UNSAFE_componentWillReceiveProps(props) { props.tag.parents.forEach(parentId => { this.fetchTagInformation(parentId); }); @@ -70,20 +70,20 @@ export default class TagRelationship extends React.Component { })); } - renderTag(tagId) { + renderTag(tagId, index) { const tag = this.state.cachedTags[tagId]; if (!tag) { return ( - - + + ) } return ( - + @@ -122,7 +122,7 @@ export default class TagRelationship extends React.Component { - {this.props.tag.parents.map(this.renderTag)} + {this.props.tag.parents.map((tag, index) => this.renderTag(tag, index))}
{h}{h}
Fetching tag #{tagId}
Fetching tag #{tagId}
{tag.internalName} {tag.type}
{this.renderAddTagToContext()} diff --git a/public/components/TagEdit/formComponents/TagName.react.js b/public/components/TagEdit/formComponents/TagName.react.js index 622ac6e8..8f098e4a 100644 --- a/public/components/TagEdit/formComponents/TagName.react.js +++ b/public/components/TagEdit/formComponents/TagName.react.js @@ -21,7 +21,7 @@ export default class TagNameEdit extends React.Component { this.getPathPrefixForSection = this.getPathPrefixForSection.bind(this); } - componentWillReceiveProps(props) { + UNSFE_componentWillReceiveProps(props) { this.setState(inferLockStateFromProps(props)); } diff --git a/public/components/utils/ReactScribe.react.js b/public/components/utils/ReactScribe.react.js index 46cb5590..5ee5c650 100644 --- a/public/components/utils/ReactScribe.react.js +++ b/public/components/utils/ReactScribe.react.js @@ -23,7 +23,7 @@ export default class ReactScribe extends React.Component { } } - componentWillUnmount() { + UNSAFE_componentWillUnmount() { if (!this.props.disabled) { this.scribe.off('content-changed', this.onContentChange); } diff --git a/public/components/utils/SaveButton.react.js b/public/components/utils/SaveButton.react.js index 6f7de7b0..7c6eb268 100644 --- a/public/components/utils/SaveButton.react.js +++ b/public/components/utils/SaveButton.react.js @@ -1,5 +1,5 @@ import React from 'react'; -import ReactCSSTransitionGroup from 'react-addons-css-transition-group'; +import CSSTransitionGroup from 'react-transition-group/CSSTransitionGroup'; import {saveState} from "../../reducers/rootReducer" import ProgressSpinner from "../utils/ProgressSpinner.react" @@ -41,9 +41,9 @@ export default class SaveButton extends React.Component { render () { return ( - + {this.renderButtons()} - + ); } }