aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar muhamedsalih-tw <104364298+muhamedsalih-tw@users.noreply.github.com>2023-05-29 06:37:07 +0530
committerLibravatar GitHub <noreply@github.com>2023-05-29 06:37:07 +0530
commit05ddc542cc6a5a309d90350636cc1d2aee999c19 (patch)
tree33942d14edf172c1b8e4cae733b49b75ebf111b9
parent6.3.0-nightly.13 [skip ci] (diff)
downloadferdium-app-05ddc542cc6a5a309d90350636cc1d2aee999c19.tar.gz
ferdium-app-05ddc542cc6a5a309d90350636cc1d2aee999c19.tar.zst
ferdium-app-05ddc542cc6a5a309d90350636cc1d2aee999c19.zip
Update react-router-dom, react-tooltip & react-transition-group latest version (#1199)
-rw-r--r--package.json7
-rw-r--r--pnpm-lock.yaml125
-rw-r--r--src/components/layout/Sidebar.tsx34
-rw-r--r--src/components/services/tabs/TabItem.tsx3
-rw-r--r--src/components/settings/account/AccountDashboard.tsx9
-rw-r--r--src/components/settings/services/ServiceItem.tsx20
-rw-r--r--src/components/settings/team/TeamDashboard.tsx9
-rw-r--r--src/components/ui/effects/Appear.tsx26
-rw-r--r--src/features/webControls/components/WebControls.tsx22
-rw-r--r--src/features/workspaces/components/WorkspaceDrawer.tsx13
-rw-r--r--src/features/workspaces/components/WorkspaceDrawerItem.tsx3
-rw-r--r--src/routes.tsx1
-rw-r--r--src/styles/main.scss1
13 files changed, 164 insertions, 109 deletions
diff --git a/package.json b/package.json
index cc932fe2e..4b3b76f88 100644
--- a/package.json
+++ b/package.json
@@ -108,11 +108,11 @@
108 "react-jss": "10.10.0", 108 "react-jss": "10.10.0",
109 "react-loader": "2.4.7", 109 "react-loader": "2.4.7",
110 "react-modal": "3.16.1", 110 "react-modal": "3.16.1",
111 "react-router-dom": "6.4.2", 111 "react-router-dom": "6.11.2",
112 "react-sortable-hoc": "2.0.0", 112 "react-sortable-hoc": "2.0.0",
113 "react-tooltip": "4.5.1", 113 "react-tooltip": "5.13.1",
114 "react-topbar-progress-indicator": "4.1.1", 114 "react-topbar-progress-indicator": "4.1.1",
115 "react-transition-group": "1.2.1", 115 "react-transition-group": "4.4.5",
116 "route-parser": "0.0.5", 116 "route-parser": "0.0.5",
117 "sanitize-filename": "1.6.3", 117 "sanitize-filename": "1.6.3",
118 "semver": "7.5.1", 118 "semver": "7.5.1",
@@ -138,6 +138,7 @@
138 "@types/node": "18.15.3", 138 "@types/node": "18.15.3",
139 "@types/react": "18.2.7", 139 "@types/react": "18.2.7",
140 "@types/react-dom": "18.2.4", 140 "@types/react-dom": "18.2.4",
141 "@types/react-transition-group": "4.4.6",
141 "@types/route-parser": "0.1.4", 142 "@types/route-parser": "0.1.4",
142 "@types/tar": "6.1.5", 143 "@types/tar": "6.1.5",
143 "@types/uuid": "9.0.1", 144 "@types/uuid": "9.0.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 3727d8b98..3743c42cf 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -200,20 +200,20 @@ dependencies:
200 specifier: 3.16.1 200 specifier: 3.16.1
201 version: 3.16.1(react-dom@18.2.0)(react@18.2.0) 201 version: 3.16.1(react-dom@18.2.0)(react@18.2.0)
202 react-router-dom: 202 react-router-dom:
203 specifier: 6.4.2 203 specifier: 6.11.2
204 version: 6.4.2(react-dom@18.2.0)(react@18.2.0) 204 version: 6.11.2(react-dom@18.2.0)(react@18.2.0)
205 react-sortable-hoc: 205 react-sortable-hoc:
206 specifier: 2.0.0 206 specifier: 2.0.0
207 version: 2.0.0(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) 207 version: 2.0.0(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0)
208 react-tooltip: 208 react-tooltip:
209 specifier: 4.5.1 209 specifier: 5.13.1
210 version: 4.5.1(react-dom@18.2.0)(react@18.2.0) 210 version: 5.13.1(react-dom@18.2.0)(react@18.2.0)
211 react-topbar-progress-indicator: 211 react-topbar-progress-indicator:
212 specifier: 4.1.1 212 specifier: 4.1.1
213 version: 4.1.1(react@18.2.0) 213 version: 4.1.1(react@18.2.0)
214 react-transition-group: 214 react-transition-group:
215 specifier: 1.2.1 215 specifier: 4.4.5
216 version: 1.2.1(react-dom@18.2.0)(react@18.2.0) 216 version: 4.4.5(react-dom@18.2.0)(react@18.2.0)
217 route-parser: 217 route-parser:
218 specifier: 0.0.5 218 specifier: 0.0.5
219 version: 0.0.5 219 version: 0.0.5
@@ -293,6 +293,9 @@ devDependencies:
293 '@types/react-dom': 293 '@types/react-dom':
294 specifier: 18.2.4 294 specifier: 18.2.4
295 version: 18.2.4 295 version: 18.2.4
296 '@types/react-transition-group':
297 specifier: 4.4.6
298 version: 4.4.6
296 '@types/route-parser': 299 '@types/route-parser':
297 specifier: 0.1.4 300 specifier: 0.1.4
298 version: 0.1.4 301 version: 0.1.4
@@ -1507,6 +1510,16 @@ packages:
1507 engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1510 engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1508 dev: true 1511 dev: true
1509 1512
1513 /@floating-ui/core@1.2.6:
1514 resolution: {integrity: sha512-EvYTiXet5XqweYGClEmpu3BoxmsQ4hkj3QaYA6qEnigCWffTP3vNRwBReTdrwDwo7OoJ3wM8Uoe9Uk4n+d4hfg==}
1515 dev: false
1516
1517 /@floating-ui/dom@1.2.8:
1518 resolution: {integrity: sha512-XLwhYV90MxiHDq6S0rzFZj00fnDM+A1R9jhSioZoMsa7G0Q0i+Q4x40ajR8FHSdYDE1bgjG45mIWe6jtv9UPmg==}
1519 dependencies:
1520 '@floating-ui/core': 1.2.6
1521 dev: false
1522
1510 /@formatjs/cli@6.1.1: 1523 /@formatjs/cli@6.1.1:
1511 resolution: {integrity: sha512-prUblUQRJwFQqfmBtRWXZFKX+QmhXQkBKRl54hWTCwenskorK6+LTlm9TFbUDhfib2Xt3iDsjk7o9LpeU/AQCw==} 1524 resolution: {integrity: sha512-prUblUQRJwFQqfmBtRWXZFKX+QmhXQkBKRl54hWTCwenskorK6+LTlm9TFbUDhfib2Xt3iDsjk7o9LpeU/AQCw==}
1512 engines: {node: '>= 16'} 1525 engines: {node: '>= 16'}
@@ -2165,8 +2178,8 @@ packages:
2165 dev: true 2178 dev: true
2166 optional: true 2179 optional: true
2167 2180
2168 /@remix-run/router@1.0.2: 2181 /@remix-run/router@1.6.2:
2169 resolution: {integrity: sha512-GRSOFhJzjGN+d4sKHTMSvNeUPoZiDHWmRnXfzaxrqe7dE/Nzlc8BiMSJdLDESZlndM7jIUrZ/F4yWqVYlI0rwQ==} 2182 resolution: {integrity: sha512-LzqpSrMK/3JBAVBI9u3NWtOhWNw5AMQfrUFYB0+bDHTSw17z++WJLsPsxAuK+oSddsxk4d7F/JcdDPM1M5YAhA==}
2170 engines: {node: '>=14'} 2183 engines: {node: '>=14'}
2171 dev: false 2184 dev: false
2172 2185
@@ -2494,6 +2507,12 @@ packages:
2494 '@types/react': 18.2.7 2507 '@types/react': 18.2.7
2495 dev: true 2508 dev: true
2496 2509
2510 /@types/react-transition-group@4.4.6:
2511 resolution: {integrity: sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew==}
2512 dependencies:
2513 '@types/react': 18.2.7
2514 dev: true
2515
2497 /@types/react@18.2.7: 2516 /@types/react@18.2.7:
2498 resolution: {integrity: sha512-ojrXpSH2XFCmHm7Jy3q44nXDyN54+EYKP2lBhJ2bqfyPj6cIUW/FZW/Csdia34NQgq7KYcAlHi5184m4X88+yw==} 2517 resolution: {integrity: sha512-ojrXpSH2XFCmHm7Jy3q44nXDyN54+EYKP2lBhJ2bqfyPj6cIUW/FZW/Csdia34NQgq7KYcAlHi5184m4X88+yw==}
2499 dependencies: 2518 dependencies:
@@ -3905,10 +3924,6 @@ packages:
3905 resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} 3924 resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==}
3906 dev: false 3925 dev: false
3907 3926
3908 /chain-function@1.0.1:
3909 resolution: {integrity: sha512-SxltgMwL9uCko5/ZCLiyG2B7R9fY4pDZUw7hJ4MhirdjBLosoDqkWABi3XMucddHdLiFJMb7PD2MZifZriuMTg==}
3910 dev: false
3911
3912 /chainsaw@0.1.0: 3927 /chainsaw@0.1.0:
3913 resolution: {integrity: sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==} 3928 resolution: {integrity: sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==}
3914 dependencies: 3929 dependencies:
@@ -4461,7 +4476,7 @@ packages:
4461 /css-jss@10.10.0: 4476 /css-jss@10.10.0:
4462 resolution: {integrity: sha512-YyMIS/LsSKEGXEaVJdjonWe18p4vXLo8CMA4FrW/kcaEyqdIGKCFXao31gbJddXEdIxSXFFURWrenBJPlKTgAA==} 4477 resolution: {integrity: sha512-YyMIS/LsSKEGXEaVJdjonWe18p4vXLo8CMA4FrW/kcaEyqdIGKCFXao31gbJddXEdIxSXFFURWrenBJPlKTgAA==}
4463 dependencies: 4478 dependencies:
4464 '@babel/runtime': 7.20.7 4479 '@babel/runtime': 7.21.5
4465 jss: 10.10.0 4480 jss: 10.10.0
4466 jss-preset-default: 10.10.0 4481 jss-preset-default: 10.10.0
4467 dev: false 4482 dev: false
@@ -4469,7 +4484,7 @@ packages:
4469 /css-vendor@2.0.8: 4484 /css-vendor@2.0.8:
4470 resolution: {integrity: sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==} 4485 resolution: {integrity: sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==}
4471 dependencies: 4486 dependencies:
4472 '@babel/runtime': 7.20.7 4487 '@babel/runtime': 7.21.5
4473 is-in-browser: 1.1.3 4488 is-in-browser: 1.1.3
4474 dev: false 4489 dev: false
4475 4490
@@ -4792,10 +4807,11 @@ packages:
4792 esutils: 2.0.3 4807 esutils: 2.0.3
4793 dev: true 4808 dev: true
4794 4809
4795 /dom-helpers@3.4.0: 4810 /dom-helpers@5.2.1:
4796 resolution: {integrity: sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==} 4811 resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==}
4797 dependencies: 4812 dependencies:
4798 '@babel/runtime': 7.21.5 4813 '@babel/runtime': 7.21.5
4814 csstype: 3.1.2
4799 dev: false 4815 dev: false
4800 4816
4801 /dot-prop@5.3.0: 4817 /dot-prop@5.3.0:
@@ -7875,7 +7891,7 @@ packages:
7875 /jss-plugin-camel-case@10.10.0: 7891 /jss-plugin-camel-case@10.10.0:
7876 resolution: {integrity: sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==} 7892 resolution: {integrity: sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==}
7877 dependencies: 7893 dependencies:
7878 '@babel/runtime': 7.20.7 7894 '@babel/runtime': 7.21.5
7879 hyphenate-style-name: 1.0.4 7895 hyphenate-style-name: 1.0.4
7880 jss: 10.10.0 7896 jss: 10.10.0
7881 dev: false 7897 dev: false
@@ -7883,7 +7899,7 @@ packages:
7883 /jss-plugin-compose@10.10.0: 7899 /jss-plugin-compose@10.10.0:
7884 resolution: {integrity: sha512-F5kgtWpI2XfZ3Z8eP78tZEYFdgTIbpA/TMuX3a8vwrNolYtN1N4qJR/Ob0LAsqIwCMLojtxN7c7Oo/+Vz6THow==} 7900 resolution: {integrity: sha512-F5kgtWpI2XfZ3Z8eP78tZEYFdgTIbpA/TMuX3a8vwrNolYtN1N4qJR/Ob0LAsqIwCMLojtxN7c7Oo/+Vz6THow==}
7885 dependencies: 7901 dependencies:
7886 '@babel/runtime': 7.20.7 7902 '@babel/runtime': 7.21.5
7887 jss: 10.10.0 7903 jss: 10.10.0
7888 tiny-warning: 1.0.3 7904 tiny-warning: 1.0.3
7889 dev: false 7905 dev: false
@@ -7891,21 +7907,21 @@ packages:
7891 /jss-plugin-default-unit@10.10.0: 7907 /jss-plugin-default-unit@10.10.0:
7892 resolution: {integrity: sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==} 7908 resolution: {integrity: sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==}
7893 dependencies: 7909 dependencies:
7894 '@babel/runtime': 7.20.7 7910 '@babel/runtime': 7.21.5
7895 jss: 10.10.0 7911 jss: 10.10.0
7896 dev: false 7912 dev: false
7897 7913
7898 /jss-plugin-expand@10.10.0: 7914 /jss-plugin-expand@10.10.0:
7899 resolution: {integrity: sha512-ymT62W2OyDxBxr7A6JR87vVX9vTq2ep5jZLIdUSusfBIEENLdkkc0lL/Xaq8W9s3opUq7R0sZQpzRWELrfVYzA==} 7915 resolution: {integrity: sha512-ymT62W2OyDxBxr7A6JR87vVX9vTq2ep5jZLIdUSusfBIEENLdkkc0lL/Xaq8W9s3opUq7R0sZQpzRWELrfVYzA==}
7900 dependencies: 7916 dependencies:
7901 '@babel/runtime': 7.20.7 7917 '@babel/runtime': 7.21.5
7902 jss: 10.10.0 7918 jss: 10.10.0
7903 dev: false 7919 dev: false
7904 7920
7905 /jss-plugin-extend@10.10.0: 7921 /jss-plugin-extend@10.10.0:
7906 resolution: {integrity: sha512-sKYrcMfr4xxigmIwqTjxNcHwXJIfvhvjTNxF+Tbc1NmNdyspGW47Ey6sGH8BcQ4FFQhLXctpWCQSpDwdNmXSwg==} 7922 resolution: {integrity: sha512-sKYrcMfr4xxigmIwqTjxNcHwXJIfvhvjTNxF+Tbc1NmNdyspGW47Ey6sGH8BcQ4FFQhLXctpWCQSpDwdNmXSwg==}
7907 dependencies: 7923 dependencies:
7908 '@babel/runtime': 7.20.7 7924 '@babel/runtime': 7.21.5
7909 jss: 10.10.0 7925 jss: 10.10.0
7910 tiny-warning: 1.0.3 7926 tiny-warning: 1.0.3
7911 dev: false 7927 dev: false
@@ -7913,14 +7929,14 @@ packages:
7913 /jss-plugin-global@10.10.0: 7929 /jss-plugin-global@10.10.0:
7914 resolution: {integrity: sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==} 7930 resolution: {integrity: sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==}
7915 dependencies: 7931 dependencies:
7916 '@babel/runtime': 7.20.7 7932 '@babel/runtime': 7.21.5
7917 jss: 10.10.0 7933 jss: 10.10.0
7918 dev: false 7934 dev: false
7919 7935
7920 /jss-plugin-nested@10.10.0: 7936 /jss-plugin-nested@10.10.0:
7921 resolution: {integrity: sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==} 7937 resolution: {integrity: sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==}
7922 dependencies: 7938 dependencies:
7923 '@babel/runtime': 7.20.7 7939 '@babel/runtime': 7.21.5
7924 jss: 10.10.0 7940 jss: 10.10.0
7925 tiny-warning: 1.0.3 7941 tiny-warning: 1.0.3
7926 dev: false 7942 dev: false
@@ -7928,14 +7944,14 @@ packages:
7928 /jss-plugin-props-sort@10.10.0: 7944 /jss-plugin-props-sort@10.10.0:
7929 resolution: {integrity: sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==} 7945 resolution: {integrity: sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==}
7930 dependencies: 7946 dependencies:
7931 '@babel/runtime': 7.20.7 7947 '@babel/runtime': 7.21.5
7932 jss: 10.10.0 7948 jss: 10.10.0
7933 dev: false 7949 dev: false
7934 7950
7935 /jss-plugin-rule-value-function@10.10.0: 7951 /jss-plugin-rule-value-function@10.10.0:
7936 resolution: {integrity: sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==} 7952 resolution: {integrity: sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==}
7937 dependencies: 7953 dependencies:
7938 '@babel/runtime': 7.20.7 7954 '@babel/runtime': 7.21.5
7939 jss: 10.10.0 7955 jss: 10.10.0
7940 tiny-warning: 1.0.3 7956 tiny-warning: 1.0.3
7941 dev: false 7957 dev: false
@@ -7943,7 +7959,7 @@ packages:
7943 /jss-plugin-rule-value-observable@10.10.0: 7959 /jss-plugin-rule-value-observable@10.10.0:
7944 resolution: {integrity: sha512-ZLMaYrR3QE+vD7nl3oNXuj79VZl9Kp8/u6A1IbTPDcuOu8b56cFdWRZNZ0vNr8jHewooEeq2doy8Oxtymr2ZPA==} 7960 resolution: {integrity: sha512-ZLMaYrR3QE+vD7nl3oNXuj79VZl9Kp8/u6A1IbTPDcuOu8b56cFdWRZNZ0vNr8jHewooEeq2doy8Oxtymr2ZPA==}
7945 dependencies: 7961 dependencies:
7946 '@babel/runtime': 7.20.7 7962 '@babel/runtime': 7.21.5
7947 jss: 10.10.0 7963 jss: 10.10.0
7948 symbol-observable: 1.2.0 7964 symbol-observable: 1.2.0
7949 dev: false 7965 dev: false
@@ -7951,7 +7967,7 @@ packages:
7951 /jss-plugin-template@10.10.0: 7967 /jss-plugin-template@10.10.0:
7952 resolution: {integrity: sha512-ocXZBIOJOA+jISPdsgkTs8wwpK6UbsvtZK5JI7VUggTD6LWKbtoxUzadd2TpfF+lEtlhUmMsCkTRNkITdPKa6w==} 7968 resolution: {integrity: sha512-ocXZBIOJOA+jISPdsgkTs8wwpK6UbsvtZK5JI7VUggTD6LWKbtoxUzadd2TpfF+lEtlhUmMsCkTRNkITdPKa6w==}
7953 dependencies: 7969 dependencies:
7954 '@babel/runtime': 7.20.7 7970 '@babel/runtime': 7.21.5
7955 jss: 10.10.0 7971 jss: 10.10.0
7956 tiny-warning: 1.0.3 7972 tiny-warning: 1.0.3
7957 dev: false 7973 dev: false
@@ -7959,7 +7975,7 @@ packages:
7959 /jss-plugin-vendor-prefixer@10.10.0: 7975 /jss-plugin-vendor-prefixer@10.10.0:
7960 resolution: {integrity: sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==} 7976 resolution: {integrity: sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==}
7961 dependencies: 7977 dependencies:
7962 '@babel/runtime': 7.20.7 7978 '@babel/runtime': 7.21.5
7963 css-vendor: 2.0.8 7979 css-vendor: 2.0.8
7964 jss: 10.10.0 7980 jss: 10.10.0
7965 dev: false 7981 dev: false
@@ -7967,7 +7983,7 @@ packages:
7967 /jss-preset-default@10.10.0: 7983 /jss-preset-default@10.10.0:
7968 resolution: {integrity: sha512-GL175Wt2FGhjE+f+Y3aWh+JioL06/QWFgZp53CbNNq6ZkVU0TDplD8Bxm9KnkotAYn3FlplNqoW5CjyLXcoJ7Q==} 7984 resolution: {integrity: sha512-GL175Wt2FGhjE+f+Y3aWh+JioL06/QWFgZp53CbNNq6ZkVU0TDplD8Bxm9KnkotAYn3FlplNqoW5CjyLXcoJ7Q==}
7969 dependencies: 7985 dependencies:
7970 '@babel/runtime': 7.20.7 7986 '@babel/runtime': 7.21.5
7971 jss: 10.10.0 7987 jss: 10.10.0
7972 jss-plugin-camel-case: 10.10.0 7988 jss-plugin-camel-case: 10.10.0
7973 jss-plugin-compose: 10.10.0 7989 jss-plugin-compose: 10.10.0
@@ -10068,26 +10084,26 @@ packages:
10068 warning: 4.0.3 10084 warning: 4.0.3
10069 dev: false 10085 dev: false
10070 10086
10071 /react-router-dom@6.4.2(react-dom@18.2.0)(react@18.2.0): 10087 /react-router-dom@6.11.2(react-dom@18.2.0)(react@18.2.0):
10072 resolution: {integrity: sha512-yM1kjoTkpfjgczPrcyWrp+OuQMyB1WleICiiGfstnQYo/S8hPEEnVjr/RdmlH6yKK4Tnj1UGXFSa7uwAtmDoLQ==} 10088 resolution: {integrity: sha512-JNbKtAeh1VSJQnH6RvBDNhxNwemRj7KxCzc5jb7zvDSKRnPWIFj9pO+eXqjM69gQJ0r46hSz1x4l9y0651DKWw==}
10073 engines: {node: '>=14'} 10089 engines: {node: '>=14'}
10074 peerDependencies: 10090 peerDependencies:
10075 react: '>=16.8' 10091 react: '>=16.8'
10076 react-dom: '>=16.8' 10092 react-dom: '>=16.8'
10077 dependencies: 10093 dependencies:
10078 '@remix-run/router': 1.0.2 10094 '@remix-run/router': 1.6.2
10079 react: 18.2.0 10095 react: 18.2.0
10080 react-dom: 18.2.0(react@18.2.0) 10096 react-dom: 18.2.0(react@18.2.0)
10081 react-router: 6.4.2(react@18.2.0) 10097 react-router: 6.11.2(react@18.2.0)
10082 dev: false 10098 dev: false
10083 10099
10084 /react-router@6.4.2(react@18.2.0): 10100 /react-router@6.11.2(react@18.2.0):
10085 resolution: {integrity: sha512-Rb0BAX9KHhVzT1OKhMvCDMw776aTYM0DtkxqUBP8dNBom3mPXlfNs76JNGK8wKJ1IZEY1+WGj+cvZxHVk/GiKw==} 10101 resolution: {integrity: sha512-74z9xUSaSX07t3LM+pS6Un0T55ibUE/79CzfZpy5wsPDZaea1F8QkrsiyRnA2YQ7LwE/umaydzXZV80iDCPkMg==}
10086 engines: {node: '>=14'} 10102 engines: {node: '>=14'}
10087 peerDependencies: 10103 peerDependencies:
10088 react: '>=16.8' 10104 react: '>=16.8'
10089 dependencies: 10105 dependencies:
10090 '@remix-run/router': 1.0.2 10106 '@remix-run/router': 1.6.2
10091 react: 18.2.0 10107 react: 18.2.0
10092 dev: false 10108 dev: false
10093 10109
@@ -10105,17 +10121,16 @@ packages:
10105 react-dom: 18.2.0(react@18.2.0) 10121 react-dom: 18.2.0(react@18.2.0)
10106 dev: false 10122 dev: false
10107 10123
10108 /react-tooltip@4.5.1(react-dom@18.2.0)(react@18.2.0): 10124 /react-tooltip@5.13.1(react-dom@18.2.0)(react@18.2.0):
10109 resolution: {integrity: sha512-Zo+CSFUGXar1uV+bgXFFDe7VeS2iByeIp5rTgTcc2HqtuOS5D76QapejNNfx320MCY91TlhTQat36KGFTqgcvw==} 10125 resolution: {integrity: sha512-9NstDFdjyy6cIH9zjeT70zXTHlW/TIGCOWQmhkAyqLFeQioLg1FXvb9ec7AxSpn0zyFUkFSLdFYxZRuewti3Aw==}
10110 engines: {npm: '>=6.13'}
10111 peerDependencies: 10126 peerDependencies:
10112 react: '>=16.0.0' 10127 react: '>=16.14.0'
10113 react-dom: '>=16.0.0' 10128 react-dom: '>=16.14.0'
10114 dependencies: 10129 dependencies:
10115 prop-types: 15.8.1 10130 '@floating-ui/dom': 1.2.8
10131 classnames: 2.3.2
10116 react: 18.2.0 10132 react: 18.2.0
10117 react-dom: 18.2.0(react@18.2.0) 10133 react-dom: 18.2.0(react@18.2.0)
10118 uuid: 7.0.3
10119 dev: false 10134 dev: false
10120 10135
10121 /react-topbar-progress-indicator@4.1.1(react@18.2.0): 10136 /react-topbar-progress-indicator@4.1.1(react@18.2.0):
@@ -10127,19 +10142,18 @@ packages:
10127 topbar: 0.1.4 10142 topbar: 0.1.4
10128 dev: false 10143 dev: false
10129 10144
10130 /react-transition-group@1.2.1(react-dom@18.2.0)(react@18.2.0): 10145 /react-transition-group@4.4.5(react-dom@18.2.0)(react@18.2.0):
10131 resolution: {integrity: sha512-CWaL3laCmgAFdxdKbhhps+c0HRGF4c+hdM4H23+FI1QBNUyx/AMeIJGWorehPNSaKnQNOAxL7PQmqMu78CDj3Q==} 10146 resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==}
10132 peerDependencies: 10147 peerDependencies:
10133 react: ^15.0.0 || ^16.0.0 10148 react: '>=16.6.0'
10134 react-dom: ^15.0.0 || ^16.0.0 10149 react-dom: '>=16.6.0'
10135 dependencies: 10150 dependencies:
10136 chain-function: 1.0.1 10151 '@babel/runtime': 7.21.5
10137 dom-helpers: 3.4.0 10152 dom-helpers: 5.2.1
10138 loose-envify: 1.4.0 10153 loose-envify: 1.4.0
10139 prop-types: 15.8.1 10154 prop-types: 15.8.1
10140 react: 18.2.0 10155 react: 18.2.0
10141 react-dom: 18.2.0(react@18.2.0) 10156 react-dom: 18.2.0(react@18.2.0)
10142 warning: 3.0.0
10143 dev: false 10157 dev: false
10144 10158
10145 /react-window@1.8.8(react-dom@18.2.0)(react@18.2.0): 10159 /react-window@1.8.8(react-dom@18.2.0)(react@18.2.0):
@@ -11937,11 +11951,6 @@ packages:
11937 hasBin: true 11951 hasBin: true
11938 dev: false 11952 dev: false
11939 11953
11940 /uuid@7.0.3:
11941 resolution: {integrity: sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==}
11942 hasBin: true
11943 dev: false
11944
11945 /uuid@8.3.2: 11954 /uuid@8.3.2:
11946 resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} 11955 resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
11947 hasBin: true 11956 hasBin: true
@@ -12046,12 +12055,6 @@ packages:
12046 engines: {node: '>=0.10.0'} 12055 engines: {node: '>=0.10.0'}
12047 dev: false 12056 dev: false
12048 12057
12049 /warning@3.0.0:
12050 resolution: {integrity: sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==}
12051 dependencies:
12052 loose-envify: 1.4.0
12053 dev: false
12054
12055 /warning@4.0.3: 12058 /warning@4.0.3:
12056 resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} 12059 resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==}
12057 dependencies: 12060 dependencies:
diff --git a/src/components/layout/Sidebar.tsx b/src/components/layout/Sidebar.tsx
index fac424477..2b1e87023 100644
--- a/src/components/layout/Sidebar.tsx
+++ b/src/components/layout/Sidebar.tsx
@@ -1,5 +1,5 @@
1import { Component } from 'react'; 1import { Component } from 'react';
2import ReactTooltip from 'react-tooltip'; 2import { Tooltip as ReactTooltip } from 'react-tooltip';
3import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; 3import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl';
4import { inject, observer } from 'mobx-react'; 4import { inject, observer } from 'mobx-react';
5import { 5import {
@@ -123,10 +123,6 @@ class Sidebar extends Component<IProps, IState> {
123 }; 123 };
124 } 124 }
125 125
126 componentDidUpdate() {
127 ReactTooltip.rebuild();
128 }
129
130 enableToolTip() { 126 enableToolTip() {
131 this.setState({ tooltipEnabled: true }); 127 this.setState({ tooltipEnabled: true });
132 } 128 }
@@ -232,7 +228,8 @@ class Sidebar extends Component<IProps, IState> {
232 type="button" 228 type="button"
233 onClick={() => openSettings({ path: 'recipes' })} 229 onClick={() => openSettings({ path: 'recipes' })}
234 className="sidebar__button sidebar__button--new-service" 230 className="sidebar__button sidebar__button--new-service"
235 data-tip={`${intl.formatMessage( 231 data-tooltip-id="tooltip-sidebar-button"
232 data-tooltip-content={`${intl.formatMessage(
236 messages.addNewService, 233 messages.addNewService,
237 )} (${addNewServiceShortcutKey(false)})`} 234 )} (${addNewServiceShortcutKey(false)})`}
238 > 235 >
@@ -251,7 +248,8 @@ class Sidebar extends Component<IProps, IState> {
251 }); 248 });
252 }} 249 }}
253 className="sidebar__button sidebar__button--split-mode-toggle" 250 className="sidebar__button sidebar__button--split-mode-toggle"
254 data-tip={`${intl.formatMessage( 251 data-tooltip-id="tooltip-sidebar-button"
252 data-tooltip-content={`${intl.formatMessage(
255 messages.splitModeToggle, 253 messages.splitModeToggle,
256 )} (${splitModeToggleShortcutKey(false)})`} 254 )} (${splitModeToggleShortcutKey(false)})`}
257 > 255 >
@@ -268,7 +266,8 @@ class Sidebar extends Component<IProps, IState> {
268 className={`sidebar__button sidebar__button--workspaces ${ 266 className={`sidebar__button sidebar__button--workspaces ${
269 isWorkspaceDrawerOpen ? 'is-active' : '' 267 isWorkspaceDrawerOpen ? 'is-active' : ''
270 }`} 268 }`}
271 data-tip={`${intl.formatMessage( 269 data-tooltip-id="tooltip-sidebar-button"
270 data-tooltip-content={`${intl.formatMessage(
272 workspaceToggleMessage, 271 workspaceToggleMessage,
273 )} (${workspaceToggleShortcutKey(false)})`} 272 )} (${workspaceToggleShortcutKey(false)})`}
274 > 273 >
@@ -285,7 +284,8 @@ class Sidebar extends Component<IProps, IState> {
285 className={`sidebar__button sidebar__button--audio ${ 284 className={`sidebar__button sidebar__button--audio ${
286 isAppMuted ? 'is-muted' : '' 285 isAppMuted ? 'is-muted' : ''
287 }`} 286 }`}
288 data-tip={`${intl.formatMessage( 287 data-tooltip-id="tooltip-sidebar-button"
288 data-tooltip-content={`${intl.formatMessage(
289 isAppMuted ? messages.unmute : messages.mute, 289 isAppMuted ? messages.unmute : messages.mute,
290 )} (${muteFerdiumShortcutKey(false)})`} 290 )} (${muteFerdiumShortcutKey(false)})`}
291 > 291 >
@@ -303,7 +303,8 @@ class Sidebar extends Component<IProps, IState> {
303 className={`sidebar__button sidebar__button--todos ${ 303 className={`sidebar__button sidebar__button--todos ${
304 todosStore.isTodosPanelVisible ? 'is-active' : '' 304 todosStore.isTodosPanelVisible ? 'is-active' : ''
305 }`} 305 }`}
306 data-tip={`${intl.formatMessage( 306 data-tooltip-id="tooltip-sidebar-button"
307 data-tooltip-content={`${intl.formatMessage(
307 todosToggleMessage, 308 todosToggleMessage,
308 )} (${todosToggleShortcutKey(false)})`} 309 )} (${todosToggleShortcutKey(false)})`}
309 > 310 >
@@ -322,7 +323,8 @@ class Sidebar extends Component<IProps, IState> {
322 }, 323 },
323 }); 324 });
324 }} 325 }}
325 data-tip={`${intl.formatMessage( 326 data-tooltip-id="tooltip-sidebar-button"
327 data-tooltip-content={`${intl.formatMessage(
326 messages.lockFerdium, 328 messages.lockFerdium,
327 )} (${lockFerdiumShortcutKey(false)})`} 329 )} (${lockFerdiumShortcutKey(false)})`}
328 > 330 >
@@ -331,14 +333,20 @@ class Sidebar extends Component<IProps, IState> {
331 ) : null} 333 ) : null}
332 </> 334 </>
333 {this.state.tooltipEnabled && ( 335 {this.state.tooltipEnabled && (
334 <ReactTooltip place="right" type="dark" effect="solid" /> 336 <ReactTooltip
337 id="tooltip-sidebar-button"
338 place="right"
339 variant="dark"
340 style={{ height: 'auto', overflowY: 'unset' }}
341 />
335 )} 342 )}
336 {!hideSettingsButton && !isMenuCollapsed ? ( 343 {!hideSettingsButton && !isMenuCollapsed ? (
337 <button 344 <button
338 type="button" 345 type="button"
339 onClick={() => openSettings({ path: 'app' })} 346 onClick={() => openSettings({ path: 'app' })}
340 className="sidebar__button sidebar__button--settings" 347 className="sidebar__button sidebar__button--settings"
341 data-tip={`${intl.formatMessage( 348 data-tooltip-id="tooltip-sidebar-button"
349 data-tooltip-content={`${intl.formatMessage(
342 globalMessages.settings, 350 globalMessages.settings,
343 )} (${settingsShortcutKey(false)})`} 351 )} (${settingsShortcutKey(false)})`}
344 > 352 >
diff --git a/src/components/services/tabs/TabItem.tsx b/src/components/services/tabs/TabItem.tsx
index c883066ce..c25af4427 100644
--- a/src/components/services/tabs/TabItem.tsx
+++ b/src/components/services/tabs/TabItem.tsx
@@ -359,7 +359,8 @@ class TabItem extends Component<IProps, IState> {
359 onKeyDown={noop} 359 onKeyDown={noop}
360 role="presentation" 360 role="presentation"
361 onContextMenu={() => menu.popup()} 361 onContextMenu={() => menu.popup()}
362 data-tip={`${service.name} ${acceleratorString( 362 data-tooltip-id="tooltip-sidebar-button"
363 data-tooltip-content={`${service.name} ${acceleratorString(
363 shortcutIndex, 364 shortcutIndex,
364 cmdOrCtrlShortcutKey(false), 365 cmdOrCtrlShortcutKey(false),
365 )}`} 366 )}`}
diff --git a/src/components/settings/account/AccountDashboard.tsx b/src/components/settings/account/AccountDashboard.tsx
index 163b0a160..de323c06e 100644
--- a/src/components/settings/account/AccountDashboard.tsx
+++ b/src/components/settings/account/AccountDashboard.tsx
@@ -1,7 +1,7 @@
1import { Component } from 'react'; 1import { Component } from 'react';
2import { observer } from 'mobx-react'; 2import { observer } from 'mobx-react';
3import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; 3import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl';
4import ReactTooltip from 'react-tooltip'; 4import { Tooltip as ReactTooltip } from 'react-tooltip';
5import { H1, H2 } from '../../ui/headline'; 5import { H1, H2 } from '../../ui/headline';
6 6
7import Loader from '../../ui/Loader'; 7import Loader from '../../ui/Loader';
@@ -215,7 +215,12 @@ class AccountDashboard extends Component<IProp> {
215 </> 215 </>
216 )} 216 )}
217 </div> 217 </div>
218 <ReactTooltip place="right" type="dark" effect="solid" /> 218 <ReactTooltip
219 place="right"
220 variant="dark"
221 float
222 style={{ height: 'auto' }}
223 />
219 </div> 224 </div>
220 ); 225 );
221 } 226 }
diff --git a/src/components/settings/services/ServiceItem.tsx b/src/components/settings/services/ServiceItem.tsx
index bf2dfa9da..babe06b5a 100644
--- a/src/components/settings/services/ServiceItem.tsx
+++ b/src/components/settings/services/ServiceItem.tsx
@@ -1,6 +1,6 @@
1import { Component, ReactElement } from 'react'; 1import { Component, ReactElement } from 'react';
2import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; 2import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl';
3import ReactTooltip from 'react-tooltip'; 3import { Tooltip as ReactTooltip } from 'react-tooltip';
4import { observer } from 'mobx-react'; 4import { observer } from 'mobx-react';
5import classnames from 'classnames'; 5import classnames from 'classnames';
6import { mdiBellOff, mdiMessageBulletedOff, mdiPower } from '@mdi/js'; 6import { mdiBellOff, mdiMessageBulletedOff, mdiPower } from '@mdi/js';
@@ -73,7 +73,8 @@ class ServiceItem extends Component<IProps> {
73 {service.isMuted && ( 73 {service.isMuted && (
74 <Icon 74 <Icon
75 icon={mdiBellOff} 75 icon={mdiBellOff}
76 data-tip={intl.formatMessage(messages.tooltipIsMuted)} 76 data-tooltip-id="tooltip-service-item"
77 data-tooltip-content={intl.formatMessage(messages.tooltipIsMuted)}
77 /> 78 />
78 )} 79 )}
79 </td> 80 </td>
@@ -85,7 +86,10 @@ class ServiceItem extends Component<IProps> {
85 {!service.isEnabled && ( 86 {!service.isEnabled && (
86 <Icon 87 <Icon
87 icon={mdiPower} 88 icon={mdiPower}
88 data-tip={intl.formatMessage(messages.tooltipIsDisabled)} 89 data-tooltip-id="tooltip-service-item"
90 data-tooltip-content={intl.formatMessage(
91 messages.tooltipIsDisabled,
92 )}
89 /> 93 />
90 )} 94 )}
91 </td> 95 </td>
@@ -97,12 +101,18 @@ class ServiceItem extends Component<IProps> {
97 {!service.isNotificationEnabled && ( 101 {!service.isNotificationEnabled && (
98 <Icon 102 <Icon
99 icon={mdiMessageBulletedOff} 103 icon={mdiMessageBulletedOff}
100 data-tip={intl.formatMessage( 104 data-tooltip-id="tooltip-service-item"
105 data-tooltip-content={intl.formatMessage(
101 messages.tooltipNotificationsDisabled, 106 messages.tooltipNotificationsDisabled,
102 )} 107 )}
103 /> 108 />
104 )} 109 )}
105 <ReactTooltip place="top" type="dark" effect="solid" /> 110 <ReactTooltip
111 id="tooltip-service-item"
112 place="right"
113 variant="dark"
114 style={{ height: 'auto' }}
115 />
106 </td> 116 </td>
107 </tr> 117 </tr>
108 ); 118 );
diff --git a/src/components/settings/team/TeamDashboard.tsx b/src/components/settings/team/TeamDashboard.tsx
index 6fd2d4426..77bccb8c3 100644
--- a/src/components/settings/team/TeamDashboard.tsx
+++ b/src/components/settings/team/TeamDashboard.tsx
@@ -3,7 +3,7 @@
3import { Component, ReactElement } from 'react'; 3import { Component, ReactElement } from 'react';
4import { observer } from 'mobx-react'; 4import { observer } from 'mobx-react';
5import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; 5import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl';
6import ReactTooltip from 'react-tooltip'; 6import { Tooltip as ReactTooltip } from 'react-tooltip';
7import withStyles, { WithStylesProps } from 'react-jss'; 7import withStyles, { WithStylesProps } from 'react-jss';
8import classnames from 'classnames'; 8import classnames from 'classnames';
9import Loader from '../../ui/Loader'; 9import Loader from '../../ui/Loader';
@@ -173,7 +173,12 @@ class TeamDashboard extends Component<IProps> {
173 </> 173 </>
174 )} 174 )}
175 </div> 175 </div>
176 <ReactTooltip place="right" type="dark" effect="solid" /> 176 <ReactTooltip
177 place="right"
178 variant="dark"
179 float
180 style={{ height: 'auto' }}
181 />
177 </div> 182 </div>
178 ) : ( 183 ) : (
179 <div className="settings__main"> 184 <div className="settings__main">
diff --git a/src/components/ui/effects/Appear.tsx b/src/components/ui/effects/Appear.tsx
index 2076f6ba6..0868271f3 100644
--- a/src/components/ui/effects/Appear.tsx
+++ b/src/components/ui/effects/Appear.tsx
@@ -1,5 +1,5 @@
1import { ReactElement, ReactNode, useEffect, useState } from 'react'; 1import { ReactElement, ReactNode, useEffect, useState } from 'react';
2import { CSSTransitionGroup } from 'react-transition-group'; 2import { TransitionGroup, CSSTransition } from 'react-transition-group';
3 3
4interface IProps { 4interface IProps {
5 children: ReactNode; 5 children: ReactNode;
@@ -7,7 +7,6 @@ interface IProps {
7 className?: string; 7 className?: string;
8 transitionAppear?: boolean; 8 transitionAppear?: boolean;
9 transitionLeave?: boolean; 9 transitionLeave?: boolean;
10 transitionAppearTimeout?: number;
11 transitionEnterTimeout?: number; 10 transitionEnterTimeout?: number;
12 transitionLeaveTimeout?: number; 11 transitionLeaveTimeout?: number;
13} 12}
@@ -18,7 +17,6 @@ const Appear = ({
18 className = '', 17 className = '',
19 transitionAppear = true, 18 transitionAppear = true,
20 transitionLeave = true, 19 transitionLeave = true,
21 transitionAppearTimeout = 1500,
22 transitionEnterTimeout = 1500, 20 transitionEnterTimeout = 1500,
23 transitionLeaveTimeout = 1500, 21 transitionLeaveTimeout = 1500,
24}: IProps): ReactElement | null => { 22}: IProps): ReactElement | null => {
@@ -33,17 +31,21 @@ const Appear = ({
33 } 31 }
34 32
35 return ( 33 return (
36 <CSSTransitionGroup 34 <TransitionGroup
37 transitionName={transitionName} 35 appear={transitionAppear}
38 transitionAppear={transitionAppear} 36 exit={transitionLeave}
39 transitionLeave={transitionLeave}
40 transitionAppearTimeout={transitionAppearTimeout}
41 transitionEnterTimeout={transitionEnterTimeout}
42 transitionLeaveTimeout={transitionLeaveTimeout}
43 className={className} 37 className={className}
44 > 38 >
45 {children} 39 <CSSTransition
46 </CSSTransitionGroup> 40 classNames={transitionName}
41 timeout={{
42 enter: transitionEnterTimeout,
43 exit: transitionLeaveTimeout,
44 }}
45 >
46 {children}
47 </CSSTransition>
48 </TransitionGroup>
47 ); 49 );
48}; 50};
49 51
diff --git a/src/features/webControls/components/WebControls.tsx b/src/features/webControls/components/WebControls.tsx
index e76fca6a2..54f45c843 100644
--- a/src/features/webControls/components/WebControls.tsx
+++ b/src/features/webControls/components/WebControls.tsx
@@ -9,6 +9,7 @@ import {
9 mdiHomeOutline, 9 mdiHomeOutline,
10 mdiEarth, 10 mdiEarth,
11} from '@mdi/js'; 11} from '@mdi/js';
12import { Tooltip as ReactTooltip } from 'react-tooltip';
12import Icon from '../../../components/ui/icon'; 13import Icon from '../../../components/ui/icon';
13 14
14const messages = defineMessages({ 15const messages = defineMessages({
@@ -151,7 +152,8 @@ class WebControls extends Component<IProps, IState> {
151 onClick={goHome} 152 onClick={goHome}
152 type="button" 153 type="button"
153 className={classes.button} 154 className={classes.button}
154 data-tip={intl.formatMessage(messages.goHome)} 155 data-tooltip-id="tooltip-web-controls"
156 data-tooltip-content={intl.formatMessage(messages.goHome)}
155 data-place="bottom" 157 data-place="bottom"
156 > 158 >
157 <Icon icon={mdiHomeOutline} className={classes.icon} /> 159 <Icon icon={mdiHomeOutline} className={classes.icon} />
@@ -161,7 +163,8 @@ class WebControls extends Component<IProps, IState> {
161 type="button" 163 type="button"
162 className={classes.button} 164 className={classes.button}
163 disabled={!canGoBack} 165 disabled={!canGoBack}
164 data-tip={intl.formatMessage(messages.back)} 166 data-tooltip-id="tooltip-web-controls"
167 data-tooltip-content={intl.formatMessage(messages.back)}
165 data-place="bottom" 168 data-place="bottom"
166 > 169 >
167 <Icon icon={mdiArrowLeft} className={classes.icon} /> 170 <Icon icon={mdiArrowLeft} className={classes.icon} />
@@ -171,7 +174,8 @@ class WebControls extends Component<IProps, IState> {
171 type="button" 174 type="button"
172 className={classes.button} 175 className={classes.button}
173 disabled={!canGoForward} 176 disabled={!canGoForward}
174 data-tip={intl.formatMessage(messages.forward)} 177 data-tooltip-id="tooltip-web-controls"
178 data-tooltip-content={intl.formatMessage(messages.forward)}
175 data-place="bottom" 179 data-place="bottom"
176 > 180 >
177 <Icon icon={mdiArrowRight} className={classes.icon} /> 181 <Icon icon={mdiArrowRight} className={classes.icon} />
@@ -180,7 +184,8 @@ class WebControls extends Component<IProps, IState> {
180 onClick={reload} 184 onClick={reload}
181 type="button" 185 type="button"
182 className={classes.button} 186 className={classes.button}
183 data-tip={intl.formatMessage(messages.reload)} 187 data-tooltip-id="tooltip-web-controls"
188 data-tooltip-content={intl.formatMessage(messages.reload)}
184 data-place="bottom" 189 data-place="bottom"
185 > 190 >
186 <Icon icon={mdiReload} className={classes.icon} /> 191 <Icon icon={mdiReload} className={classes.icon} />
@@ -232,11 +237,18 @@ class WebControls extends Component<IProps, IState> {
232 onClick={openInBrowser} 237 onClick={openInBrowser}
233 type="button" 238 type="button"
234 className={classes.button} 239 className={classes.button}
235 data-tip={intl.formatMessage(messages.openInBrowser)} 240 data-tooltip-id="tooltip-web-controls"
241 data-tooltip-content={intl.formatMessage(messages.openInBrowser)}
236 data-place="bottom" 242 data-place="bottom"
237 > 243 >
238 <Icon icon={mdiEarth} className={classes.icon} /> 244 <Icon icon={mdiEarth} className={classes.icon} />
239 </button> 245 </button>
246 <ReactTooltip
247 id="tooltip-web-controls"
248 place="bottom"
249 variant="dark"
250 style={{ height: 'auto' }}
251 />
240 </div> 252 </div>
241 ); 253 );
242 } 254 }
diff --git a/src/features/workspaces/components/WorkspaceDrawer.tsx b/src/features/workspaces/components/WorkspaceDrawer.tsx
index 61284d81a..1c827e9dd 100644
--- a/src/features/workspaces/components/WorkspaceDrawer.tsx
+++ b/src/features/workspaces/components/WorkspaceDrawer.tsx
@@ -2,7 +2,7 @@ import { Component, ReactElement } from 'react';
2import { observer } from 'mobx-react'; 2import { observer } from 'mobx-react';
3import withStyles, { WithStylesProps } from 'react-jss'; 3import withStyles, { WithStylesProps } from 'react-jss';
4import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; 4import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl';
5import ReactTooltip from 'react-tooltip'; 5import { Tooltip as ReactTooltip } from 'react-tooltip';
6import { mdiPlusBox, mdiCog } from '@mdi/js'; 6import { mdiPlusBox, mdiCog } from '@mdi/js';
7import { noop } from 'lodash'; 7import { noop } from 'lodash';
8import { H1 } from '../../../components/ui/headline'; 8import { H1 } from '../../../components/ui/headline';
@@ -96,7 +96,6 @@ interface IProps extends WithStylesProps<typeof styles>, WrappedComponentProps {
96class WorkspaceDrawer extends Component<IProps> { 96class WorkspaceDrawer extends Component<IProps> {
97 componentDidMount(): void { 97 componentDidMount(): void {
98 try { 98 try {
99 ReactTooltip.rebuild();
100 getUserWorkspacesRequest.execute(); 99 getUserWorkspacesRequest.execute();
101 } catch (error) { 100 } catch (error) {
102 console.log(error); 101 console.log(error);
@@ -121,7 +120,8 @@ class WorkspaceDrawer extends Component<IProps> {
121 onClick={() => { 120 onClick={() => {
122 workspaceActions.openWorkspaceSettings(); 121 workspaceActions.openWorkspaceSettings();
123 }} 122 }}
124 data-tip={`${intl.formatMessage( 123 data-tooltip-id="tooltip-workspaces-drawer"
124 data-tooltip-content={`${intl.formatMessage(
125 messages.workspacesSettingsTooltip, 125 messages.workspacesSettingsTooltip,
126 )}`} 126 )}`}
127 > 127 >
@@ -176,7 +176,12 @@ class WorkspaceDrawer extends Component<IProps> {
176 <span>{intl.formatMessage(messages.addNewWorkspaceLabel)}</span> 176 <span>{intl.formatMessage(messages.addNewWorkspaceLabel)}</span>
177 </div> 177 </div>
178 </div> 178 </div>
179 <ReactTooltip place="right" type="dark" effect="solid" /> 179 <ReactTooltip
180 id="tooltip-workspaces-drawer"
181 place="right"
182 variant="dark"
183 style={{ height: 'auto', zIndex: 210 }}
184 />
180 </div> 185 </div>
181 ); 186 );
182 } 187 }
diff --git a/src/features/workspaces/components/WorkspaceDrawerItem.tsx b/src/features/workspaces/components/WorkspaceDrawerItem.tsx
index cf8c3b2ba..172b4192c 100644
--- a/src/features/workspaces/components/WorkspaceDrawerItem.tsx
+++ b/src/features/workspaces/components/WorkspaceDrawerItem.tsx
@@ -119,7 +119,8 @@ class WorkspaceDrawerItem extends Component<IProps> {
119 } 119 }
120 }} 120 }}
121 onKeyDown={noop} 121 onKeyDown={noop}
122 data-tip={acceleratorString( 122 data-tooltip-id="tooltip-workspaces-drawer"
123 data-tooltip-content={acceleratorString(
123 shortcutIndex, 124 shortcutIndex,
124 `${cmdOrCtrlShortcutKey(false)}+${altKey(false)}`, 125 `${cmdOrCtrlShortcutKey(false)}+${altKey(false)}`,
125 )} 126 )}
diff --git a/src/routes.tsx b/src/routes.tsx
index 04b6fa96f..beada5c96 100644
--- a/src/routes.tsx
+++ b/src/routes.tsx
@@ -51,6 +51,7 @@ class FerdiumRoutes extends Component<IProps> {
51 const errorProps = { error: routeProps.stores.globalError.error || {} }; 51 const errorProps = { error: routeProps.stores.globalError.error || {} };
52 52
53 return ( 53 return (
54 // @ts-expect-error
54 <HistoryRouter history={history}> 55 <HistoryRouter history={history}>
55 <Routes> 56 <Routes>
56 <Route path="/auth" element={<AuthLayoutContainer {...routeProps} />}> 57 <Route path="/auth" element={<AuthLayoutContainer {...routeProps} />}>
diff --git a/src/styles/main.scss b/src/styles/main.scss
index 8369c9298..eb7649bfa 100644
--- a/src/styles/main.scss
+++ b/src/styles/main.scss
@@ -1,5 +1,6 @@
1@import '../../node_modules/electron-react-titlebar/assets/style'; 1@import '../../node_modules/electron-react-titlebar/assets/style';
2 2
3
3// modules 4// modules
4@import './globals.scss'; 5@import './globals.scss';
5@import './reset.scss'; 6@import './reset.scss';