diff --git a/package.json b/package.json index 471b6d2a02..230ec25c38 100644 --- a/package.json +++ b/package.json @@ -110,9 +110,9 @@ "react-modal": "3.16.1", "react-router-dom": "6.4.2", "react-sortable-hoc": "2.0.0", - "react-tooltip": "4.5.1", + "react-tooltip": "5.13.1", "react-topbar-progress-indicator": "4.1.1", - "react-transition-group": "1.2.1", + "react-transition-group": "4.4.5", "route-parser": "0.0.5", "sanitize-filename": "1.6.3", "semver": "7.5.1", @@ -138,6 +138,7 @@ "@types/node": "18.15.3", "@types/react": "18.2.7", "@types/react-dom": "18.2.4", + "@types/react-transition-group": "4.4.6", "@types/route-parser": "0.1.4", "@types/tar": "6.1.5", "@types/uuid": "9.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3727d8b982..4946c04ba9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -206,14 +206,14 @@ dependencies: specifier: 2.0.0 version: 2.0.0(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) react-tooltip: - specifier: 4.5.1 - version: 4.5.1(react-dom@18.2.0)(react@18.2.0) + specifier: 5.13.1 + version: 5.13.1(react-dom@18.2.0)(react@18.2.0) react-topbar-progress-indicator: specifier: 4.1.1 version: 4.1.1(react@18.2.0) react-transition-group: - specifier: 1.2.1 - version: 1.2.1(react-dom@18.2.0)(react@18.2.0) + specifier: 4.4.5 + version: 4.4.5(react-dom@18.2.0)(react@18.2.0) route-parser: specifier: 0.0.5 version: 0.0.5 @@ -293,6 +293,9 @@ devDependencies: '@types/react-dom': specifier: 18.2.4 version: 18.2.4 + '@types/react-transition-group': + specifier: 4.4.6 + version: 4.4.6 '@types/route-parser': specifier: 0.1.4 version: 0.1.4 @@ -1507,6 +1510,16 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /@floating-ui/core@1.2.6: + resolution: {integrity: sha512-EvYTiXet5XqweYGClEmpu3BoxmsQ4hkj3QaYA6qEnigCWffTP3vNRwBReTdrwDwo7OoJ3wM8Uoe9Uk4n+d4hfg==} + dev: false + + /@floating-ui/dom@1.2.8: + resolution: {integrity: sha512-XLwhYV90MxiHDq6S0rzFZj00fnDM+A1R9jhSioZoMsa7G0Q0i+Q4x40ajR8FHSdYDE1bgjG45mIWe6jtv9UPmg==} + dependencies: + '@floating-ui/core': 1.2.6 + dev: false + /@formatjs/cli@6.1.1: resolution: {integrity: sha512-prUblUQRJwFQqfmBtRWXZFKX+QmhXQkBKRl54hWTCwenskorK6+LTlm9TFbUDhfib2Xt3iDsjk7o9LpeU/AQCw==} engines: {node: '>= 16'} @@ -2494,6 +2507,12 @@ packages: '@types/react': 18.2.7 dev: true + /@types/react-transition-group@4.4.6: + resolution: {integrity: sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew==} + dependencies: + '@types/react': 18.2.7 + dev: true + /@types/react@18.2.7: resolution: {integrity: sha512-ojrXpSH2XFCmHm7Jy3q44nXDyN54+EYKP2lBhJ2bqfyPj6cIUW/FZW/Csdia34NQgq7KYcAlHi5184m4X88+yw==} dependencies: @@ -3905,10 +3924,6 @@ packages: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} dev: false - /chain-function@1.0.1: - resolution: {integrity: sha512-SxltgMwL9uCko5/ZCLiyG2B7R9fY4pDZUw7hJ4MhirdjBLosoDqkWABi3XMucddHdLiFJMb7PD2MZifZriuMTg==} - dev: false - /chainsaw@0.1.0: resolution: {integrity: sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==} dependencies: @@ -4461,7 +4476,7 @@ packages: /css-jss@10.10.0: resolution: {integrity: sha512-YyMIS/LsSKEGXEaVJdjonWe18p4vXLo8CMA4FrW/kcaEyqdIGKCFXao31gbJddXEdIxSXFFURWrenBJPlKTgAA==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.5 jss: 10.10.0 jss-preset-default: 10.10.0 dev: false @@ -4469,7 +4484,7 @@ packages: /css-vendor@2.0.8: resolution: {integrity: sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.5 is-in-browser: 1.1.3 dev: false @@ -4792,10 +4807,11 @@ packages: esutils: 2.0.3 dev: true - /dom-helpers@3.4.0: - resolution: {integrity: sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==} + /dom-helpers@5.2.1: + resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dependencies: '@babel/runtime': 7.21.5 + csstype: 3.1.2 dev: false /dot-prop@5.3.0: @@ -7875,7 +7891,7 @@ packages: /jss-plugin-camel-case@10.10.0: resolution: {integrity: sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.5 hyphenate-style-name: 1.0.4 jss: 10.10.0 dev: false @@ -7883,7 +7899,7 @@ packages: /jss-plugin-compose@10.10.0: resolution: {integrity: sha512-F5kgtWpI2XfZ3Z8eP78tZEYFdgTIbpA/TMuX3a8vwrNolYtN1N4qJR/Ob0LAsqIwCMLojtxN7c7Oo/+Vz6THow==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.5 jss: 10.10.0 tiny-warning: 1.0.3 dev: false @@ -7891,21 +7907,21 @@ packages: /jss-plugin-default-unit@10.10.0: resolution: {integrity: sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.5 jss: 10.10.0 dev: false /jss-plugin-expand@10.10.0: resolution: {integrity: sha512-ymT62W2OyDxBxr7A6JR87vVX9vTq2ep5jZLIdUSusfBIEENLdkkc0lL/Xaq8W9s3opUq7R0sZQpzRWELrfVYzA==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.5 jss: 10.10.0 dev: false /jss-plugin-extend@10.10.0: resolution: {integrity: sha512-sKYrcMfr4xxigmIwqTjxNcHwXJIfvhvjTNxF+Tbc1NmNdyspGW47Ey6sGH8BcQ4FFQhLXctpWCQSpDwdNmXSwg==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.5 jss: 10.10.0 tiny-warning: 1.0.3 dev: false @@ -7913,14 +7929,14 @@ packages: /jss-plugin-global@10.10.0: resolution: {integrity: sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.5 jss: 10.10.0 dev: false /jss-plugin-nested@10.10.0: resolution: {integrity: sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.5 jss: 10.10.0 tiny-warning: 1.0.3 dev: false @@ -7928,14 +7944,14 @@ packages: /jss-plugin-props-sort@10.10.0: resolution: {integrity: sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.5 jss: 10.10.0 dev: false /jss-plugin-rule-value-function@10.10.0: resolution: {integrity: sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.5 jss: 10.10.0 tiny-warning: 1.0.3 dev: false @@ -7943,7 +7959,7 @@ packages: /jss-plugin-rule-value-observable@10.10.0: resolution: {integrity: sha512-ZLMaYrR3QE+vD7nl3oNXuj79VZl9Kp8/u6A1IbTPDcuOu8b56cFdWRZNZ0vNr8jHewooEeq2doy8Oxtymr2ZPA==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.5 jss: 10.10.0 symbol-observable: 1.2.0 dev: false @@ -7951,7 +7967,7 @@ packages: /jss-plugin-template@10.10.0: resolution: {integrity: sha512-ocXZBIOJOA+jISPdsgkTs8wwpK6UbsvtZK5JI7VUggTD6LWKbtoxUzadd2TpfF+lEtlhUmMsCkTRNkITdPKa6w==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.5 jss: 10.10.0 tiny-warning: 1.0.3 dev: false @@ -7959,7 +7975,7 @@ packages: /jss-plugin-vendor-prefixer@10.10.0: resolution: {integrity: sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.5 css-vendor: 2.0.8 jss: 10.10.0 dev: false @@ -7967,7 +7983,7 @@ packages: /jss-preset-default@10.10.0: resolution: {integrity: sha512-GL175Wt2FGhjE+f+Y3aWh+JioL06/QWFgZp53CbNNq6ZkVU0TDplD8Bxm9KnkotAYn3FlplNqoW5CjyLXcoJ7Q==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.5 jss: 10.10.0 jss-plugin-camel-case: 10.10.0 jss-plugin-compose: 10.10.0 @@ -10105,17 +10121,16 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /react-tooltip@4.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Zo+CSFUGXar1uV+bgXFFDe7VeS2iByeIp5rTgTcc2HqtuOS5D76QapejNNfx320MCY91TlhTQat36KGFTqgcvw==} - engines: {npm: '>=6.13'} + /react-tooltip@5.13.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-9NstDFdjyy6cIH9zjeT70zXTHlW/TIGCOWQmhkAyqLFeQioLg1FXvb9ec7AxSpn0zyFUkFSLdFYxZRuewti3Aw==} peerDependencies: - react: '>=16.0.0' - react-dom: '>=16.0.0' + react: '>=16.14.0' + react-dom: '>=16.14.0' dependencies: - prop-types: 15.8.1 + '@floating-ui/dom': 1.2.8 + classnames: 2.3.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - uuid: 7.0.3 dev: false /react-topbar-progress-indicator@4.1.1(react@18.2.0): @@ -10127,19 +10142,18 @@ packages: topbar: 0.1.4 dev: false - /react-transition-group@1.2.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-CWaL3laCmgAFdxdKbhhps+c0HRGF4c+hdM4H23+FI1QBNUyx/AMeIJGWorehPNSaKnQNOAxL7PQmqMu78CDj3Q==} + /react-transition-group@4.4.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==} peerDependencies: - react: ^15.0.0 || ^16.0.0 - react-dom: ^15.0.0 || ^16.0.0 + react: '>=16.6.0' + react-dom: '>=16.6.0' dependencies: - chain-function: 1.0.1 - dom-helpers: 3.4.0 + '@babel/runtime': 7.21.5 + dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - warning: 3.0.0 dev: false /react-window@1.8.8(react-dom@18.2.0)(react@18.2.0): @@ -11937,11 +11951,6 @@ packages: hasBin: true dev: false - /uuid@7.0.3: - resolution: {integrity: sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==} - hasBin: true - dev: false - /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true @@ -12046,12 +12055,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /warning@3.0.0: - resolution: {integrity: sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==} - dependencies: - loose-envify: 1.4.0 - dev: false - /warning@4.0.3: resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} dependencies: diff --git a/src/components/layout/Sidebar.tsx b/src/components/layout/Sidebar.tsx index fac424477a..70482956e3 100644 --- a/src/components/layout/Sidebar.tsx +++ b/src/components/layout/Sidebar.tsx @@ -1,5 +1,5 @@ import { Component } from 'react'; -import ReactTooltip from 'react-tooltip'; +import { Tooltip as ReactTooltip } from 'react-tooltip'; import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; import { inject, observer } from 'mobx-react'; import { @@ -123,10 +123,6 @@ class Sidebar extends Component { }; } - componentDidUpdate() { - ReactTooltip.rebuild(); - } - enableToolTip() { this.setState({ tooltipEnabled: true }); } @@ -232,7 +228,7 @@ class Sidebar extends Component { type="button" onClick={() => openSettings({ path: 'recipes' })} className="sidebar__button sidebar__button--new-service" - data-tip={`${intl.formatMessage( + data-tooltip-content={`${intl.formatMessage( messages.addNewService, )} (${addNewServiceShortcutKey(false)})`} > @@ -251,7 +247,7 @@ class Sidebar extends Component { }); }} className="sidebar__button sidebar__button--split-mode-toggle" - data-tip={`${intl.formatMessage( + data-tooltip-content={`${intl.formatMessage( messages.splitModeToggle, )} (${splitModeToggleShortcutKey(false)})`} > @@ -268,7 +264,7 @@ class Sidebar extends Component { className={`sidebar__button sidebar__button--workspaces ${ isWorkspaceDrawerOpen ? 'is-active' : '' }`} - data-tip={`${intl.formatMessage( + data-tooltip-content={`${intl.formatMessage( workspaceToggleMessage, )} (${workspaceToggleShortcutKey(false)})`} > @@ -285,7 +281,7 @@ class Sidebar extends Component { className={`sidebar__button sidebar__button--audio ${ isAppMuted ? 'is-muted' : '' }`} - data-tip={`${intl.formatMessage( + data-tooltip-content={`${intl.formatMessage( isAppMuted ? messages.unmute : messages.mute, )} (${muteFerdiumShortcutKey(false)})`} > @@ -303,7 +299,7 @@ class Sidebar extends Component { className={`sidebar__button sidebar__button--todos ${ todosStore.isTodosPanelVisible ? 'is-active' : '' }`} - data-tip={`${intl.formatMessage( + data-tooltip-content={`${intl.formatMessage( todosToggleMessage, )} (${todosToggleShortcutKey(false)})`} > @@ -322,7 +318,7 @@ class Sidebar extends Component { }, }); }} - data-tip={`${intl.formatMessage( + data-tooltip-content={`${intl.formatMessage( messages.lockFerdium, )} (${lockFerdiumShortcutKey(false)})`} > @@ -331,14 +327,14 @@ class Sidebar extends Component { ) : null} {this.state.tooltipEnabled && ( - + )} {!hideSettingsButton && !isMenuCollapsed ? (