From 904b37d2d68d21d5ea1a26a7636e859c66f0f544 Mon Sep 17 00:00:00 2001 From: itschip Date: Mon, 15 Jan 2024 12:16:39 +0100 Subject: [PATCH] feat(phone/twitter): update modal --- apps/phone/package.json | 1 + .../apps/twitter/components/AddTweetModal.tsx | 35 ++- .../apps/twitter/components/TwitterApp.tsx | 6 +- .../components/buttons/ControlButtons.tsx | 29 +- .../twitter/components/buttons/LikeButton.tsx | 18 +- .../components/buttons/TweetButton.tsx | 26 +- .../twitter/components/tweet/TweetMessage.tsx | 12 +- .../phone/src/apps/twitter/utils/constants.ts | 3 +- apps/phone/src/ui/components/Modal.tsx | 16 +- pnpm-lock.yaml | 287 +++++++++++++++++- 10 files changed, 370 insertions(+), 63 deletions(-) diff --git a/apps/phone/package.json b/apps/phone/package.json index ac0eb371e..6b43c25c0 100644 --- a/apps/phone/package.json +++ b/apps/phone/package.json @@ -15,6 +15,7 @@ "@mui/material": "^5.13.2", "@mui/styles": "^5.13.2", "@npwd/keyos": "workspace:^1.0.0", + "@radix-ui/react-dialog": "^1.0.5", "class-variance-authority": "^0.4.0", "clsx": "^2.0.0", "dayjs": "^1.11.7", diff --git a/apps/phone/src/apps/twitter/components/AddTweetModal.tsx b/apps/phone/src/apps/twitter/components/AddTweetModal.tsx index 13fd6e5e7..c530479a3 100644 --- a/apps/phone/src/apps/twitter/components/AddTweetModal.tsx +++ b/apps/phone/src/apps/twitter/components/AddTweetModal.tsx @@ -1,6 +1,6 @@ import { memo, useCallback, useState } from 'react'; import { v4 as uuidv4 } from 'uuid'; -import Modal from '../../../ui/components/Modal'; +import Modal, { Modal2 } from '../../../ui/components/Modal'; import { IMAGE_DELIMITER } from '../utils/images'; import { isImageValid } from '@common/utils/isImageValid'; import { useModal } from '../hooks/useModal'; @@ -21,6 +21,7 @@ import { useSnackbar } from '@os/snackbar/hooks/useSnackbar'; import { toggleKeys } from '@ui/components'; import { Box, styled } from '@mui/material'; import { useWordFilter } from '@os/wordfilter/hooks/useWordFilter'; +import { NPWDButton } from '@npwd/keyos'; const ButtonsContainer = styled(Box)({ paddingBottom: '8px', @@ -156,6 +157,38 @@ const AddTweetModal = () => { if (!ResourceConfig) return null; + return ( + + + + + 0} + images={images} + removeImage={removeImage} + /> + + + + + + ); + return ( { const setModalVisible = useSetRecoilState(twitterState.showCreateTweetModal); @@ -44,7 +43,6 @@ const TwitterApp = () => { - {promptProfileName ? ( diff --git a/apps/phone/src/apps/twitter/components/buttons/ControlButtons.tsx b/apps/phone/src/apps/twitter/components/buttons/ControlButtons.tsx index d42316816..8916adec0 100644 --- a/apps/phone/src/apps/twitter/components/buttons/ControlButtons.tsx +++ b/apps/phone/src/apps/twitter/components/buttons/ControlButtons.tsx @@ -1,15 +1,5 @@ -import React from 'react'; import { useTranslation } from 'react-i18next'; -import { Box, Button, styled } from '@mui/material'; -import { StatusButton } from '@ui/components/StatusButton'; - -const ButtonsContainer = styled(Box)({ - display: 'flex', - flexFlow: 'row nowrap', - justifyContent: 'flex-end', - alignItems: 'justify-content', - marginRight: '15px', -}); +import { NPWDButton } from '@npwd/keyos'; export const ControlButtons = ({ showImagePrompt, showEmoji, onCloseClick, onPrimaryClick }) => { const [t] = useTranslation(); @@ -19,21 +9,16 @@ export const ControlButtons = ({ showImagePrompt, showEmoji, onCloseClick, onPri const showCloseButton = showImagePrompt || showEmoji; return ( - - + {showCloseButton && ( - + {t('GENERIC.CLOSE')} - + )} - + ); }; diff --git a/apps/phone/src/apps/twitter/components/buttons/LikeButton.tsx b/apps/phone/src/apps/twitter/components/buttons/LikeButton.tsx index 619668739..ccc668694 100644 --- a/apps/phone/src/apps/twitter/components/buttons/LikeButton.tsx +++ b/apps/phone/src/apps/twitter/components/buttons/LikeButton.tsx @@ -1,7 +1,5 @@ -import React, { useState } from 'react'; -import { Button, CircularProgress, Icon, Typography } from '@mui/material'; -import FavoriteBorderIcon from '@mui/icons-material/FavoriteBorder'; -import FavoriteIcon from '@mui/icons-material/Favorite'; +import { useState } from 'react'; +import { CircularProgress } from '@mui/material'; import { TwitterEvents } from '@typings/twitter'; import fetchNui from '../../../../utils/fetchNui'; import { ServerPromiseResp } from '@typings/common'; @@ -36,15 +34,15 @@ function LikeButton({ tweetId, isLiked, likes }) { if (loading) { return ( - + ); } return ( - - + + {liked ? ( ) : ( - + )} -

{likes}

+ {likes > 0 &&

{likes}

}
); } diff --git a/apps/phone/src/apps/twitter/components/buttons/TweetButton.tsx b/apps/phone/src/apps/twitter/components/buttons/TweetButton.tsx index ebc2d5735..e512c9c88 100644 --- a/apps/phone/src/apps/twitter/components/buttons/TweetButton.tsx +++ b/apps/phone/src/apps/twitter/components/buttons/TweetButton.tsx @@ -1,32 +1,22 @@ -import React from 'react'; -import makeStyles from '@mui/styles/makeStyles'; -import { Fab } from '@mui/material'; import CreateIcon from '@mui/icons-material/Create'; import { toggleKeys } from '@ui/components'; -import { styled } from '@mui/styles'; - -const useStyles = makeStyles(() => ({ - root: { - position: 'absolute', - bottom: '75px', - right: '10px', - }, -})); +import { cn } from '@utils/css'; export function TweetButton({ openModal }) { - const classes = useStyles(); - return ( -
- +
); } diff --git a/apps/phone/src/apps/twitter/components/tweet/TweetMessage.tsx b/apps/phone/src/apps/twitter/components/tweet/TweetMessage.tsx index 776b2d673..5f0185a7e 100644 --- a/apps/phone/src/apps/twitter/components/tweet/TweetMessage.tsx +++ b/apps/phone/src/apps/twitter/components/tweet/TweetMessage.tsx @@ -2,7 +2,7 @@ import React, { memo, useRef, useEffect } from 'react'; import { useTranslation } from 'react-i18next'; import { usePhone } from '@os/phone/hooks/usePhone'; import { getNewLineCount } from '../../utils/message'; -import { TextField } from '@ui/components/Input'; +import { NPWDTextarea, TextField } from '@ui/components/Input'; import { styled } from '@mui/material'; const MessageInput = styled(TextField)({ @@ -47,6 +47,15 @@ export const TweetMessage = ({ modalVisible, message, handleChange, onEnter }) = onEnter(); } }; + + return ( + handleChange(e.currentTarget.value)} + className="min-h-20 w-full resize-none rounded-md border border-neutral-600 bg-neutral-700 p-2 text-base text-white outline-none focus:ring-2 focus:ring-sky-400" + /> + ); + return ( handleChange(e.currentTarget.value)} onKeyPress={handleOnEnter} + fullWidth multiline placeholder={t('TWITTER.TWEET_MESSAGE_PLACEHOLDER')} inputRef={textFieldInputRef} diff --git a/apps/phone/src/apps/twitter/utils/constants.ts b/apps/phone/src/apps/twitter/utils/constants.ts index 7cea932ac..3953968a4 100644 --- a/apps/phone/src/apps/twitter/utils/constants.ts +++ b/apps/phone/src/apps/twitter/utils/constants.ts @@ -59,7 +59,8 @@ export const MockTweets: Tweet[] = [ avatar_url: '', id: 112, images: 'https://i.projecterror.dev/K45dbT6vsaKtxVMW4F66VZ.webp', - message: "Exploring the wonders of our world 🌍 and beyond 🚀! From the depths of the ocean to the mysteries of space, there's so much to discover. Let's cherish our planet, promote science and education, and work together for a sustainable future. #DiscoverEarth #ScienceForAll 🌱🔭", + message: + "Exploring the wonders of our world 🌍 and beyond 🚀! From the depths of the ocean to the mysteries of space, there's so much to discover. Let's cherish our planet, promote science and education, and work together for a sustainable future. #DiscoverEarth #ScienceForAll 🌱🔭", createdAt: '2021-12-01 00:42:03', updatedAt: '2021-12-01 00:42:03', identifier: 'sdfjsadfafjadfjas', diff --git a/apps/phone/src/ui/components/Modal.tsx b/apps/phone/src/ui/components/Modal.tsx index 73519d1a9..29c3aff45 100644 --- a/apps/phone/src/ui/components/Modal.tsx +++ b/apps/phone/src/ui/components/Modal.tsx @@ -1,7 +1,8 @@ import React from 'react'; import CloseIcon from '@mui/icons-material/Close'; import makeStyles from '@mui/styles/makeStyles'; -import { Button, Paper, useTheme } from '@mui/material'; +import { Button, Dialog, DialogContent, Paper, useTheme } from '@mui/material'; +import * as DialogRadix from '@radix-ui/react-dialog'; const useStyles = makeStyles((theme) => ({ root: { @@ -58,4 +59,17 @@ export const Modal: React.FC = ({ children, visible, handleClose }) ); }; +export const Modal2 = ({ children, visible, handleClose }) => { + return ( + + + + + {children} + + + + ); +}; + export default Modal; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 74dde25f1..e31f24e71 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -240,6 +240,9 @@ importers: '@npwd/keyos': specifier: workspace:^1.0.0 version: link:../../packages/ui + '@radix-ui/react-dialog': + specifier: ^1.0.5 + version: 1.0.5(@types/react-dom@16.9.8)(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2) class-variance-authority: specifier: ^0.4.0 version: 0.4.0(typescript@4.9.5) @@ -4856,7 +4859,7 @@ packages: '@babel/runtime': 7.21.5 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.6)(react@17.0.2) '@radix-ui/react-context': 1.0.1(@types/react@18.2.6)(react@17.0.2) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@16.9.8)(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2) '@radix-ui/react-slot': 1.0.2(@types/react@18.2.6)(react@17.0.2) '@types/react': 18.2.6 react: 17.0.2 @@ -4891,6 +4894,40 @@ packages: react: 17.0.2 dev: false + /@radix-ui/react-dialog@1.0.5(@types/react-dom@16.9.8)(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.21.5 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.6)(react@17.0.2) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.6)(react@17.0.2) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@16.9.8)(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.6)(react@17.0.2) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@16.9.8)(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.6)(react@17.0.2) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@16.9.8)(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@16.9.8)(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@16.9.8)(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.6)(react@17.0.2) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.6)(react@17.0.2) + '@types/react': 18.2.6 + '@types/react-dom': 16.9.8 + aria-hidden: 1.2.3 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-remove-scroll: 2.5.5(@types/react@18.2.6)(react@17.0.2) + dev: false + /@radix-ui/react-direction@1.0.1(@types/react@18.2.6)(react@17.0.2): resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} peerDependencies: @@ -4905,7 +4942,127 @@ packages: react: 17.0.2 dev: false - /@radix-ui/react-primitive@1.0.3(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2): + /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@16.9.8)(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.21.5 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.6)(react@17.0.2) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@16.9.8)(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.6)(react@17.0.2) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.6)(react@17.0.2) + '@types/react': 18.2.6 + '@types/react-dom': 16.9.8 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + dev: false + + /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.6)(react@17.0.2): + resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.21.5 + '@types/react': 18.2.6 + react: 17.0.2 + dev: false + + /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@16.9.8)(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.21.5 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.6)(react@17.0.2) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@16.9.8)(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.6)(react@17.0.2) + '@types/react': 18.2.6 + '@types/react-dom': 16.9.8 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + dev: false + + /@radix-ui/react-id@1.0.1(@types/react@18.2.6)(react@17.0.2): + resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.21.5 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.6)(react@17.0.2) + '@types/react': 18.2.6 + react: 17.0.2 + dev: false + + /@radix-ui/react-portal@1.0.4(@types/react-dom@16.9.8)(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.21.5 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@16.9.8)(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2) + '@types/react': 18.2.6 + '@types/react-dom': 16.9.8 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + dev: false + + /@radix-ui/react-presence@1.0.1(@types/react-dom@16.9.8)(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.21.5 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.6)(react@17.0.2) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.6)(react@17.0.2) + '@types/react': 18.2.6 + '@types/react-dom': 16.9.8 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + dev: false + + /@radix-ui/react-primitive@1.0.3(@types/react-dom@16.9.8)(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} peerDependencies: '@types/react': '*' @@ -4921,6 +5078,7 @@ packages: '@babel/runtime': 7.21.5 '@radix-ui/react-slot': 1.0.2(@types/react@18.2.6)(react@17.0.2) '@types/react': 18.2.6 + '@types/react-dom': 16.9.8 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false @@ -4945,7 +5103,7 @@ packages: '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.6)(react@17.0.2) '@radix-ui/react-context': 1.0.1(@types/react@18.2.6)(react@17.0.2) '@radix-ui/react-direction': 1.0.1(@types/react@18.2.6)(react@17.0.2) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@16.9.8)(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.6)(react@17.0.2) '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.6)(react@17.0.2) '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.6)(react@17.0.2) @@ -4987,7 +5145,7 @@ packages: '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.6)(react@17.0.2) '@radix-ui/react-context': 1.0.1(@types/react@18.2.6)(react@17.0.2) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@16.9.8)(@types/react@18.2.6)(react-dom@17.0.2)(react@17.0.2) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.6)(react@17.0.2) '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.6)(react@17.0.2) '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.6)(react@17.0.2) @@ -5025,6 +5183,21 @@ packages: react: 17.0.2 dev: false + /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.6)(react@17.0.2): + resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.21.5 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.6)(react@17.0.2) + '@types/react': 18.2.6 + react: 17.0.2 + dev: false + /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.6)(react@17.0.2): resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} peerDependencies: @@ -5936,7 +6109,6 @@ packages: resolution: {integrity: sha512-ykkPQ+5nFknnlU6lDd947WbQ6TE3NNzbQAkInC2EKY1qeYdTKp7onFusmYZb+ityzx2YviqT6BXSu+LyWWJwcA==} dependencies: '@types/react': 18.2.6 - dev: true /@types/react-is@18.2.0: resolution: {integrity: sha512-1vz2yObaQkLL7YFe/pme2cpvDsCwI1WXIfL+5eLz0MI9gFG24Re16RzUsI8t9XZn9ZWvgLNDrJBmrqXJO7GNQQ==} @@ -6861,6 +7033,13 @@ packages: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: false + /aria-hidden@1.2.3: + resolution: {integrity: sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==} + engines: {node: '>=10'} + dependencies: + tslib: 2.5.2 + dev: false + /aria-query@5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} dependencies: @@ -8894,6 +9073,10 @@ packages: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} + /detect-node-es@1.1.0: + resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} + dev: false + /detect-node@2.1.0: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} @@ -10656,6 +10839,11 @@ packages: has-proto: 1.0.1 has-symbols: 1.0.3 + /get-nonce@1.0.1: + resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} + engines: {node: '>=6'} + dev: false + /get-own-enumerable-property-symbols@3.0.2: resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} dev: false @@ -11332,6 +11520,12 @@ packages: resolution: {integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==} engines: {node: '>= 0.10'} + /invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + dependencies: + loose-envify: 1.4.0 + dev: false + /ip@1.1.8: resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==} @@ -15586,6 +15780,41 @@ packages: engines: {node: '>=0.10.0'} dev: true + /react-remove-scroll-bar@2.3.4(@types/react@18.2.6)(react@17.0.2): + resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.6 + react: 17.0.2 + react-style-singleton: 2.2.1(@types/react@18.2.6)(react@17.0.2) + tslib: 2.5.2 + dev: false + + /react-remove-scroll@2.5.5(@types/react@18.2.6)(react@17.0.2): + resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.6 + react: 17.0.2 + react-remove-scroll-bar: 2.3.4(@types/react@18.2.6)(react@17.0.2) + react-style-singleton: 2.2.1(@types/react@18.2.6)(react@17.0.2) + tslib: 2.5.2 + use-callback-ref: 1.3.1(@types/react@18.2.6)(react@17.0.2) + use-sidecar: 1.1.2(@types/react@18.2.6)(react@17.0.2) + dev: false + /react-router-dom@5.3.0(react@17.0.2): resolution: {integrity: sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ==} peerDependencies: @@ -15716,6 +15945,23 @@ packages: - webpack-plugin-serve dev: false + /react-style-singleton@2.2.1(@types/react@18.2.6)(react@17.0.2): + resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.6 + get-nonce: 1.0.1 + invariant: 2.2.4 + react: 17.0.2 + tslib: 2.5.2 + dev: false + /react-transition-group@4.4.5(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==} peerDependencies: @@ -17827,6 +18073,37 @@ packages: querystring: 0.2.0 dev: true + /use-callback-ref@1.3.1(@types/react@18.2.6)(react@17.0.2): + resolution: {integrity: sha512-Lg4Vx1XZQauB42Hw3kK7JM6yjVjgFmFC5/Ab797s79aARomD2nEErc4mCgM8EZrARLmmbWpi5DGCadmK50DcAQ==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.6 + react: 17.0.2 + tslib: 2.5.2 + dev: false + + /use-sidecar@1.1.2(@types/react@18.2.6)(react@17.0.2): + resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.6 + detect-node-es: 1.1.0 + react: 17.0.2 + tslib: 2.5.2 + dev: false + /use@3.1.1: resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} engines: {node: '>=0.10.0'}