From 423fb4da993812551fc880c6652f5e556c9a2017 Mon Sep 17 00:00:00 2001 From: Luis Doebbel Date: Fri, 6 Sep 2024 18:08:26 -0400 Subject: [PATCH 1/2] Updates MUI to v6 with Pigment CSS --- frontend/package.json | 8 +- .../app/components/accordion/Accordion.tsx | 7 +- .../accordionSummary/AccordionSummary.tsx | 2 +- frontend/src/app/components/button/Button.tsx | 3 +- frontend/src/app/components/dialog/Dialog.tsx | 3 +- frontend/src/app/components/link/Link.tsx | 3 +- frontend/src/app/components/switch/Switch.tsx | 3 +- .../src/app/components/tableRow/TableRow.tsx | 2 +- .../app/components/textField/TextField.tsx | 7 +- .../uikit/uikitColor/UikitColor.tsx | 7 +- frontend/src/app/pages/uikit/UiKit.tsx | 3 +- .../src/app/shared/{theme.tsx => theme.ts} | 13 +- frontend/src/main.tsx | 8 +- frontend/src/material-ui-pigment-css.d.ts | 19 + frontend/tsconfig.node.json | 2 +- frontend/vite.config.ts | 9 +- frontend/yarn.lock | 814 ++++++++++++++---- 17 files changed, 695 insertions(+), 218 deletions(-) rename frontend/src/app/shared/{theme.tsx => theme.ts} (79%) create mode 100644 frontend/src/material-ui-pigment-css.d.ts diff --git a/frontend/package.json b/frontend/package.json index 55fb82e..6a582b5 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -14,10 +14,9 @@ "preview": "vite preview" }, "dependencies": { - "@emotion/react": "^11.11.4", - "@emotion/styled": "^11.11.5", - "@mui/icons-material": "5.15.21", - "@mui/material": "^5.15.21", + "@mui/icons-material": "^6.0.2", + "@mui/material": "^6.0.2", + "@mui/material-pigment-css": "^6.0.2", "axios": "^1.7.4", "classnames": "^2.5.1", "dayjs": "^1.11.11", @@ -37,6 +36,7 @@ "zustand": "^4.5.4" }, "devDependencies": { + "@pigment-css/vite-plugin": "^0.0.22", "@types/classnames": "^2.3.1", "@types/node": "^20.14.9", "@types/qs": "^6.9.15", diff --git a/frontend/src/app/components/accordion/Accordion.tsx b/frontend/src/app/components/accordion/Accordion.tsx index 0e779e0..d2ac8b4 100644 --- a/frontend/src/app/components/accordion/Accordion.tsx +++ b/frontend/src/app/components/accordion/Accordion.tsx @@ -1,8 +1,5 @@ -import { - AccordionProps, - Accordion as MuiAccordion, - styled, -} from "@mui/material"; +import { AccordionProps, Accordion as MuiAccordion } from "@mui/material"; +import { styled } from "@mui/material-pigment-css"; import style from "@styles/style.module.scss"; const StyledMuiAccordion = styled(MuiAccordion)({ diff --git a/frontend/src/app/components/accordionSummary/AccordionSummary.tsx b/frontend/src/app/components/accordionSummary/AccordionSummary.tsx index fd0615e..8bfa5ec 100644 --- a/frontend/src/app/components/accordionSummary/AccordionSummary.tsx +++ b/frontend/src/app/components/accordionSummary/AccordionSummary.tsx @@ -2,8 +2,8 @@ import CaretIcon from "@icons/CaretIcon"; import { AccordionSummaryProps, AccordionSummary as MuiAccordionSummary, - styled, } from "@mui/material"; +import { styled } from "@mui/material-pigment-css"; import style from "@styles/style.module.scss"; const StyledMuiAccordionSummary = styled(MuiAccordionSummary)({ diff --git a/frontend/src/app/components/button/Button.tsx b/frontend/src/app/components/button/Button.tsx index c34c9ef..7a10754 100644 --- a/frontend/src/app/components/button/Button.tsx +++ b/frontend/src/app/components/button/Button.tsx @@ -1,4 +1,5 @@ -import { ButtonProps, Button as MuiButton, styled } from "@mui/material"; +import { ButtonProps, Button as MuiButton } from "@mui/material"; +import { styled } from "@mui/material-pigment-css"; import style from "@styles/style.module.scss"; const StyledMuiButton = styled(MuiButton)({ diff --git a/frontend/src/app/components/dialog/Dialog.tsx b/frontend/src/app/components/dialog/Dialog.tsx index 80da253..8815a0d 100644 --- a/frontend/src/app/components/dialog/Dialog.tsx +++ b/frontend/src/app/components/dialog/Dialog.tsx @@ -1,5 +1,6 @@ import Slide from "@components/slide/Slide"; -import { DialogProps, Dialog as MuiDialog, styled } from "@mui/material"; +import { DialogProps, Dialog as MuiDialog } from "@mui/material"; +import { styled } from "@mui/material-pigment-css"; import style from "@styles/style.module.scss"; const StyledMuiDialog = styled(MuiDialog)({ diff --git a/frontend/src/app/components/link/Link.tsx b/frontend/src/app/components/link/Link.tsx index 5ea65fd..f367974 100644 --- a/frontend/src/app/components/link/Link.tsx +++ b/frontend/src/app/components/link/Link.tsx @@ -1,5 +1,6 @@ import ExternalLinkOutlined from "@icons/ExternalLinkOutlined"; -import { LinkProps, Link as MuiLink, styled } from "@mui/material"; +import { LinkProps, Link as MuiLink } from "@mui/material"; +import { styled } from "@mui/material-pigment-css"; import style from "@styles/style.module.scss"; const StyledMuiLink = styled(MuiLink)({ diff --git a/frontend/src/app/components/switch/Switch.tsx b/frontend/src/app/components/switch/Switch.tsx index ede7422..3cda796 100644 --- a/frontend/src/app/components/switch/Switch.tsx +++ b/frontend/src/app/components/switch/Switch.tsx @@ -1,4 +1,5 @@ -import { Switch as MuiSwitch, styled, SwitchProps } from "@mui/material"; +import { Switch as MuiSwitch, SwitchProps } from "@mui/material"; +import { styled } from "@mui/material-pigment-css"; import style from "@styles/style.module.scss"; const StyledMuiSwitch = styled(MuiSwitch)({ diff --git a/frontend/src/app/components/tableRow/TableRow.tsx b/frontend/src/app/components/tableRow/TableRow.tsx index 1325809..fc5fc47 100644 --- a/frontend/src/app/components/tableRow/TableRow.tsx +++ b/frontend/src/app/components/tableRow/TableRow.tsx @@ -1,9 +1,9 @@ import { TableRow as MuiTableRow, - styled, TableCell, TableRowProps, } from "@mui/material"; +import { styled } from "@mui/material-pigment-css"; import style from "@styles/style.module.scss"; interface ITableRow extends TableRowProps { diff --git a/frontend/src/app/components/textField/TextField.tsx b/frontend/src/app/components/textField/TextField.tsx index a6a5118..401cc7c 100644 --- a/frontend/src/app/components/textField/TextField.tsx +++ b/frontend/src/app/components/textField/TextField.tsx @@ -1,8 +1,5 @@ -import { - TextField as MuiTextField, - TextFieldProps, - styled, -} from "@mui/material"; +import { TextField as MuiTextField, TextFieldProps } from "@mui/material"; +import { styled } from "@mui/material-pigment-css"; import style from "@styles/style.module.scss"; import { ChangeEvent } from "react"; diff --git a/frontend/src/app/components/uikit/uikitColor/UikitColor.tsx b/frontend/src/app/components/uikit/uikitColor/UikitColor.tsx index 7162ce1..1a99fc1 100644 --- a/frontend/src/app/components/uikit/uikitColor/UikitColor.tsx +++ b/frontend/src/app/components/uikit/uikitColor/UikitColor.tsx @@ -1,4 +1,6 @@ -import { Grid, Palette, PaletteColor, useTheme } from "@mui/material"; +import { Palette, PaletteColor } from "@mui/material"; +import Grid from "@mui/material/Grid2"; +import { useTheme } from "@mui/material-pigment-css"; import { useCallback, useMemo } from "react"; interface IUikitColor { @@ -15,9 +17,8 @@ export default function UikitColor({ color }: IUikitColor) { const colorItem = useCallback((bgColor: string, label: string) => { return ( diff --git a/frontend/src/app/pages/uikit/UiKit.tsx b/frontend/src/app/pages/uikit/UiKit.tsx index 0ba1c4c..88371d6 100644 --- a/frontend/src/app/pages/uikit/UiKit.tsx +++ b/frontend/src/app/pages/uikit/UiKit.tsx @@ -8,7 +8,8 @@ import Typography from "@components/typography/Typography"; import UikitBlock from "@components/uikit/uikitBlock/UikitBlock"; import UikitColor from "@components/uikit/uikitColor/UikitColor"; import UikitNav, { INavItem } from "@components/uikit/uikitNav/UikitNav"; -import { Grid, TextField } from "@mui/material"; +import Grid from "@mui/material/Grid2"; +import { TextField } from "@mui/material"; import { useCallback, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { ValidationError } from "yup"; diff --git a/frontend/src/app/shared/theme.tsx b/frontend/src/app/shared/theme.ts similarity index 79% rename from frontend/src/app/shared/theme.tsx rename to frontend/src/app/shared/theme.ts index e4cc021..8a1b5db 100644 --- a/frontend/src/app/shared/theme.tsx +++ b/frontend/src/app/shared/theme.ts @@ -1,9 +1,13 @@ import { createTheme } from "@mui/material"; -import style from "@styles/style.module.scss"; +// import style from "@/styles/style.module.scss"; -const parseMedia = (media: string) => parseInt(media.replace("px", "")); +// const parseMedia = (media: string) => parseInt(media.replace("px", "")); -const theme = createTheme({ +const theme = createTheme( + { + cssVariables: true, + }, + /* { breakpoints: { values: { xs: parseMedia(style["media-xs"]), @@ -31,6 +35,7 @@ const theme = createTheme({ contrastText: style["basic-brightest"], }, }, -}); +} */ +); export default theme; diff --git a/frontend/src/main.tsx b/frontend/src/main.tsx index b686aef..c337e85 100644 --- a/frontend/src/main.tsx +++ b/frontend/src/main.tsx @@ -1,18 +1,16 @@ -import { ThemeProvider } from "@emotion/react"; import { StrictMode } from "react"; import * as ReactDOM from "react-dom/client"; import { HelmetProvider } from "react-helmet-async"; import App from "./App"; -import theme from "./app/shared/theme"; + +import "@mui/material-pigment-css/styles.css"; ReactDOM.createRoot( document.getElementById("root") as ReactDOM.Container, ).render( - - - + , ); diff --git a/frontend/src/material-ui-pigment-css.d.ts b/frontend/src/material-ui-pigment-css.d.ts new file mode 100644 index 0000000..36b36a9 --- /dev/null +++ b/frontend/src/material-ui-pigment-css.d.ts @@ -0,0 +1,19 @@ +import { Theme, SxProps } from "@mui/material/styles"; +import {} from "@mui/material/themeCssVarsAugmentation"; + +declare module "@mui/material-pigment-css" { + interface ThemeArgs { + theme: Theme; + } +} + +declare global { + namespace React { + interface HTMLAttributes { + sx?: SxProps; + } + interface SVGProps { + sx?: SxProps; + } + } +} diff --git a/frontend/tsconfig.node.json b/frontend/tsconfig.node.json index 3afdd6e..c305bad 100644 --- a/frontend/tsconfig.node.json +++ b/frontend/tsconfig.node.json @@ -9,5 +9,5 @@ "strict": true, "noEmit": true }, - "include": ["vite.config.ts"] + "include": ["vite.config.ts", "src/app/shared/theme.ts"] } diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 8bead37..e9c05bb 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -1,12 +1,19 @@ import { defineConfig, loadEnv } from "vite"; import react from "@vitejs/plugin-react"; +import { pigment } from "@pigment-css/vite-plugin"; +import theme from "./src/app/shared/theme"; import path from "path"; +const pigmentConfig = { + theme, + transformLibraries: ["@mui/material"], +}; + export default ({ mode }: { mode: string }) => { process.env = { ...process.env, ...loadEnv(mode, process.cwd()) }; return defineConfig({ - plugins: [react()], + plugins: [react(), pigment(pigmentConfig)], build: { sourcemap: process.env.VITE_GENERATE_SOURCEMAP === "true", }, diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 39f6972..9161d86 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -23,6 +23,32 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.7.tgz#d23bbea508c3883ba8251fb4164982c36ea577ed" integrity sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw== +"@babel/compat-data@^7.25.2": + version "7.25.4" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.4.tgz#7d2a80ce229890edcf4cc259d4d696cb4dae2fcb" + integrity sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ== + +"@babel/core@^7.23.5", "@babel/core@^7.24.4": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.2.tgz#ed8eec275118d7613e77a352894cd12ded8eba77" + integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.24.7" + "@babel/generator" "^7.25.0" + "@babel/helper-compilation-targets" "^7.25.2" + "@babel/helper-module-transforms" "^7.25.2" + "@babel/helpers" "^7.25.0" + "@babel/parser" "^7.25.0" + "@babel/template" "^7.25.0" + "@babel/traverse" "^7.25.2" + "@babel/types" "^7.25.2" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + "@babel/core@^7.24.5": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.7.tgz#b676450141e0b52a3d43bc91da86aa608f950ac4" @@ -44,6 +70,16 @@ json5 "^2.2.3" semver "^6.3.1" +"@babel/generator@^7.23.5", "@babel/generator@^7.25.0", "@babel/generator@^7.25.6": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.6.tgz#0df1ad8cb32fe4d2b01d8bf437f153d19342a87c" + integrity sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw== + dependencies: + "@babel/types" "^7.25.6" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^2.5.1" + "@babel/generator@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.7.tgz#1654d01de20ad66b4b4d99c135471bc654c55e6d" @@ -54,6 +90,13 @@ "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" +"@babel/helper-annotate-as-pure@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz#5373c7bc8366b12a033b4be1ac13a206c6656aab" + integrity sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg== + dependencies: + "@babel/types" "^7.24.7" + "@babel/helper-compilation-targets@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz#4eb6c4a80d6ffeac25ab8cd9a21b5dfa48d503a9" @@ -65,6 +108,30 @@ lru-cache "^5.1.1" semver "^6.3.1" +"@babel/helper-compilation-targets@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz#e1d9410a90974a3a5a66e84ff55ef62e3c02d06c" + integrity sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw== + dependencies: + "@babel/compat-data" "^7.25.2" + "@babel/helper-validator-option" "^7.24.8" + browserslist "^4.23.1" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.25.0": + version "7.25.4" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz#57eaf1af38be4224a9d9dd01ddde05b741f50e14" + integrity sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.24.7" + "@babel/helper-member-expression-to-functions" "^7.24.8" + "@babel/helper-optimise-call-expression" "^7.24.7" + "@babel/helper-replace-supers" "^7.25.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" + "@babel/traverse" "^7.25.4" + semver "^6.3.1" + "@babel/helper-environment-visitor@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz#4b31ba9551d1f90781ba83491dd59cf9b269f7d9" @@ -87,7 +154,15 @@ dependencies: "@babel/types" "^7.24.7" -"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.24.7": +"@babel/helper-member-expression-to-functions@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz#6155e079c913357d24a4c20480db7c712a5c3fb6" + integrity sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA== + dependencies: + "@babel/traverse" "^7.24.8" + "@babel/types" "^7.24.8" + +"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.24.3", "@babel/helper-module-imports@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b" integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== @@ -106,11 +181,42 @@ "@babel/helper-split-export-declaration" "^7.24.7" "@babel/helper-validator-identifier" "^7.24.7" +"@babel/helper-module-transforms@^7.24.8", "@babel/helper-module-transforms@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz#ee713c29768100f2776edf04d4eb23b8d27a66e6" + integrity sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ== + dependencies: + "@babel/helper-module-imports" "^7.24.7" + "@babel/helper-simple-access" "^7.24.7" + "@babel/helper-validator-identifier" "^7.24.7" + "@babel/traverse" "^7.25.2" + +"@babel/helper-optimise-call-expression@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz#8b0a0456c92f6b323d27cfd00d1d664e76692a0f" + integrity sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A== + dependencies: + "@babel/types" "^7.24.7" + +"@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz#94ee67e8ec0e5d44ea7baeb51e571bd26af07878" + integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== + "@babel/helper-plugin-utils@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz#98c84fe6fe3d0d3ae7bfc3a5e166a46844feb2a0" integrity sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg== +"@babel/helper-replace-supers@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz#ff44deac1c9f619523fe2ca1fd650773792000a9" + integrity sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.24.8" + "@babel/helper-optimise-call-expression" "^7.24.7" + "@babel/traverse" "^7.25.0" + "@babel/helper-simple-access@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz#bcade8da3aec8ed16b9c4953b74e506b51b5edb3" @@ -119,6 +225,14 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" +"@babel/helper-skip-transparent-expression-wrappers@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz#5f8fa83b69ed5c27adc56044f8be2b3ea96669d9" + integrity sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ== + dependencies: + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" + "@babel/helper-split-export-declaration@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz#83949436890e07fa3d6873c61a96e3bbf692d856" @@ -131,6 +245,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz#4d2d0f14820ede3b9807ea5fc36dfc8cd7da07f2" integrity sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg== +"@babel/helper-string-parser@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" + integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== + "@babel/helper-validator-identifier@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" @@ -141,6 +260,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz#24c3bb77c7a425d1742eec8fb433b5a1b38e62f6" integrity sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw== +"@babel/helper-validator-option@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d" + integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== + "@babel/helpers@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.7.tgz#aa2ccda29f62185acb5d42fb4a3a1b1082107416" @@ -149,6 +273,14 @@ "@babel/template" "^7.24.7" "@babel/types" "^7.24.7" +"@babel/helpers@^7.25.0": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.6.tgz#57ee60141829ba2e102f30711ffe3afab357cc60" + integrity sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q== + dependencies: + "@babel/template" "^7.25.0" + "@babel/types" "^7.25.6" + "@babel/highlight@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" @@ -164,6 +296,36 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.7.tgz#9a5226f92f0c5c8ead550b750f5608e766c8ce85" integrity sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw== +"@babel/parser@^7.24.4", "@babel/parser@^7.25.0", "@babel/parser@^7.25.6": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.6.tgz#85660c5ef388cbbf6e3d2a694ee97a38f18afe2f" + integrity sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q== + dependencies: + "@babel/types" "^7.25.6" + +"@babel/plugin-syntax-jsx@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz#39a1fa4a7e3d3d7f34e2acc6be585b718d30e02d" + integrity sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + +"@babel/plugin-syntax-typescript@^7.24.7": + version "7.25.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz#04db9ce5a9043d9c635e75ae7969a2cd50ca97ff" + integrity sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.8" + +"@babel/plugin-transform-modules-commonjs@^7.23.3", "@babel/plugin-transform-modules-commonjs@^7.24.7": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz#ab6421e564b717cb475d6fff70ae7f103536ea3c" + integrity sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA== + dependencies: + "@babel/helper-module-transforms" "^7.24.8" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-simple-access" "^7.24.7" + "@babel/plugin-transform-react-jsx-self@^7.24.5": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.7.tgz#66bff0248ea0b549972e733516ffad577477bdab" @@ -178,6 +340,28 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.7" +"@babel/plugin-transform-typescript@^7.24.7": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz#237c5d10de6d493be31637c6b9fa30b6c5461add" + integrity sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.24.7" + "@babel/helper-create-class-features-plugin" "^7.25.0" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" + "@babel/plugin-syntax-typescript" "^7.24.7" + +"@babel/preset-typescript@^7.24.1": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz#66cd86ea8f8c014855671d5ea9a737139cbbfef1" + integrity sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-validator-option" "^7.24.7" + "@babel/plugin-syntax-jsx" "^7.24.7" + "@babel/plugin-transform-modules-commonjs" "^7.24.7" + "@babel/plugin-transform-typescript" "^7.24.7" + "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.9", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.7.tgz#f4f0d5530e8dbdf59b3451b9b3e594b6ba082e12" @@ -185,6 +369,22 @@ dependencies: regenerator-runtime "^0.14.0" +"@babel/runtime@^7.25.0": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.6.tgz#9afc3289f7184d8d7f98b099884c26317b9264d2" + integrity sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.22.15", "@babel/template@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a" + integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== + dependencies: + "@babel/code-frame" "^7.24.7" + "@babel/parser" "^7.25.0" + "@babel/types" "^7.25.0" + "@babel/template@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.7.tgz#02efcee317d0609d2c07117cb70ef8fb17ab7315" @@ -194,6 +394,19 @@ "@babel/parser" "^7.24.7" "@babel/types" "^7.24.7" +"@babel/traverse@^7.23.5", "@babel/traverse@^7.24.8", "@babel/traverse@^7.25.0", "@babel/traverse@^7.25.2", "@babel/traverse@^7.25.4": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.6.tgz#04fad980e444f182ecf1520504941940a90fea41" + integrity sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ== + dependencies: + "@babel/code-frame" "^7.24.7" + "@babel/generator" "^7.25.6" + "@babel/parser" "^7.25.6" + "@babel/template" "^7.25.0" + "@babel/types" "^7.25.6" + debug "^4.3.1" + globals "^11.1.0" + "@babel/traverse@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.7.tgz#de2b900163fa741721ba382163fe46a936c40cf5" @@ -219,6 +432,15 @@ "@babel/helper-validator-identifier" "^7.24.7" to-fast-properties "^2.0.0" +"@babel/types@^7.23.5", "@babel/types@^7.24.0", "@babel/types@^7.24.8", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.6": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.6.tgz#893942ddb858f32ae7a004ec9d3a76b3463ef8e6" + integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw== + dependencies: + "@babel/helper-string-parser" "^7.24.8" + "@babel/helper-validator-identifier" "^7.24.7" + to-fast-properties "^2.0.0" + "@csstools/css-parser-algorithms@^2.6.3": version "2.7.1" resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.7.1.tgz#6d93a8f7d8aeb7cd9ed0868f946e46f021b6aa70" @@ -244,16 +466,16 @@ resolved "https://registry.yarnpkg.com/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz#519c1549b0e147759e7825701ecffd25e5819f7b" integrity sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg== -"@emotion/babel-plugin@^11.11.0": - version "11.11.0" - resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz#c2d872b6a7767a9d176d007f5b31f7d504bb5d6c" - integrity sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ== +"@emotion/babel-plugin@^11.12.0": + version "11.12.0" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.12.0.tgz#7b43debb250c313101b3f885eba634f1d723fcc2" + integrity sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw== dependencies: "@babel/helper-module-imports" "^7.16.7" "@babel/runtime" "^7.18.3" - "@emotion/hash" "^0.9.1" - "@emotion/memoize" "^0.8.1" - "@emotion/serialize" "^1.1.2" + "@emotion/hash" "^0.9.2" + "@emotion/memoize" "^0.9.0" + "@emotion/serialize" "^1.2.0" babel-plugin-macros "^3.1.0" convert-source-map "^1.5.0" escape-string-regexp "^4.0.0" @@ -261,95 +483,106 @@ source-map "^0.5.7" stylis "4.2.0" -"@emotion/cache@^11.11.0": - version "11.11.0" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" - integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== +"@emotion/cache@^11.13.0", "@emotion/cache@^11.13.1": + version "11.13.1" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.13.1.tgz#fecfc54d51810beebf05bf2a161271a1a91895d7" + integrity sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw== dependencies: - "@emotion/memoize" "^0.8.1" - "@emotion/sheet" "^1.2.2" - "@emotion/utils" "^1.2.1" - "@emotion/weak-memoize" "^0.3.1" + "@emotion/memoize" "^0.9.0" + "@emotion/sheet" "^1.4.0" + "@emotion/utils" "^1.4.0" + "@emotion/weak-memoize" "^0.4.0" stylis "4.2.0" -"@emotion/hash@^0.9.1": - version "0.9.1" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43" - integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== +"@emotion/css@^11.11.2": + version "11.13.0" + resolved "https://registry.yarnpkg.com/@emotion/css/-/css-11.13.0.tgz#3b44f008ce782dafa7cecff75b263af174d0c702" + integrity sha512-BUk99ylT+YHl+W/HN7nv1RCTkDYmKKqa1qbvM/qLSQEg61gipuBF5Hptk/2/ERmX2DCv0ccuFGhz9i0KSZOqPg== + dependencies: + "@emotion/babel-plugin" "^11.12.0" + "@emotion/cache" "^11.13.0" + "@emotion/serialize" "^1.3.0" + "@emotion/sheet" "^1.4.0" + "@emotion/utils" "^1.4.0" + +"@emotion/hash@^0.9.2": + version "0.9.2" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.2.tgz#ff9221b9f58b4dfe61e619a7788734bd63f6898b" + integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g== -"@emotion/is-prop-valid@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz#d4175076679c6a26faa92b03bb786f9e52612337" - integrity sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw== +"@emotion/is-prop-valid@^1.2.2", "@emotion/is-prop-valid@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.3.0.tgz#bd84ba972195e8a2d42462387581560ef780e4e2" + integrity sha512-SHetuSLvJDzuNbOdtPVbq6yMMMlLoW5Q94uDqJZqy50gcmAjxFkVqmzqSGEFq9gT2iMuIeKV1PXVWmvUhuZLlQ== dependencies: - "@emotion/memoize" "^0.8.1" + "@emotion/memoize" "^0.9.0" -"@emotion/memoize@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" - integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== +"@emotion/memoize@^0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.9.0.tgz#745969d649977776b43fc7648c556aaa462b4102" + integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ== "@emotion/react@^11.11.4": - version "11.11.4" - resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.4.tgz#3a829cac25c1f00e126408fab7f891f00ecc3c1d" - integrity sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw== + version "11.13.3" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.13.3.tgz#a69d0de2a23f5b48e0acf210416638010e4bd2e4" + integrity sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg== dependencies: "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.11.0" - "@emotion/cache" "^11.11.0" - "@emotion/serialize" "^1.1.3" - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" - "@emotion/utils" "^1.2.1" - "@emotion/weak-memoize" "^0.3.1" + "@emotion/babel-plugin" "^11.12.0" + "@emotion/cache" "^11.13.0" + "@emotion/serialize" "^1.3.1" + "@emotion/use-insertion-effect-with-fallbacks" "^1.1.0" + "@emotion/utils" "^1.4.0" + "@emotion/weak-memoize" "^0.4.0" hoist-non-react-statics "^3.3.1" -"@emotion/serialize@^1.1.2", "@emotion/serialize@^1.1.3", "@emotion/serialize@^1.1.4": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.4.tgz#fc8f6d80c492cfa08801d544a05331d1cc7cd451" - integrity sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ== +"@emotion/serialize@^1.1.4", "@emotion/serialize@^1.2.0", "@emotion/serialize@^1.3.0", "@emotion/serialize@^1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.3.1.tgz#490b660178f43d2de8e92b278b51079d726c05c3" + integrity sha512-dEPNKzBPU+vFPGa+z3axPRn8XVDetYORmDC0wAiej+TNcOZE70ZMJa0X7JdeoM6q/nWTMZeLpN/fTnD9o8MQBA== dependencies: - "@emotion/hash" "^0.9.1" - "@emotion/memoize" "^0.8.1" - "@emotion/unitless" "^0.8.1" - "@emotion/utils" "^1.2.1" + "@emotion/hash" "^0.9.2" + "@emotion/memoize" "^0.9.0" + "@emotion/unitless" "^0.10.0" + "@emotion/utils" "^1.4.0" csstype "^3.0.2" -"@emotion/sheet@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" - integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== +"@emotion/sheet@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.4.0.tgz#c9299c34d248bc26e82563735f78953d2efca83c" + integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg== "@emotion/styled@^11.11.5": - version "11.11.5" - resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.11.5.tgz#0c5c8febef9d86e8a926e663b2e5488705545dfb" - integrity sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ== + version "11.13.0" + resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.13.0.tgz#633fd700db701472c7a5dbef54d6f9834e9fb190" + integrity sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA== dependencies: "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.11.0" - "@emotion/is-prop-valid" "^1.2.2" - "@emotion/serialize" "^1.1.4" - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" - "@emotion/utils" "^1.2.1" - -"@emotion/unitless@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" - integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== - -"@emotion/use-insertion-effect-with-fallbacks@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" - integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== + "@emotion/babel-plugin" "^11.12.0" + "@emotion/is-prop-valid" "^1.3.0" + "@emotion/serialize" "^1.3.0" + "@emotion/use-insertion-effect-with-fallbacks" "^1.1.0" + "@emotion/utils" "^1.4.0" + +"@emotion/unitless@^0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.10.0.tgz#2af2f7c7e5150f497bdabd848ce7b218a27cf745" + integrity sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg== + +"@emotion/use-insertion-effect-with-fallbacks@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.1.0.tgz#1a818a0b2c481efba0cf34e5ab1e0cb2dcb9dfaf" + integrity sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw== -"@emotion/utils@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" - integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== +"@emotion/utils@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.4.0.tgz#262f1d02aaedb2ec91c83a0955dd47822ad5fbdd" + integrity sha512-spEnrA1b6hDR/C68lC2M7m6ALPUHZC0lIY7jAS/B/9DuuO1ZP04eov8SMv/6fwRd8pzmsn2AuJEznRREWlQrlQ== -"@emotion/weak-memoize@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" - integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== +"@emotion/weak-memoize@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz#5e13fac887f08c44f76b0ccaf3370eb00fec9bb6" + integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg== "@esbuild/aix-ppc64@0.21.5": version "0.21.5" @@ -498,33 +731,6 @@ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== -"@floating-ui/core@^1.6.0": - version "1.6.4" - resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.4.tgz#0140cf5091c8dee602bff9da5ab330840ff91df6" - integrity sha512-a4IowK4QkXl4SCWTGUR0INAfEOX3wtsYw3rKK5InQEHMGObkR8Xk44qYQD9P4r6HHw0iIfK6GUKECmY8sTkqRA== - dependencies: - "@floating-ui/utils" "^0.2.4" - -"@floating-ui/dom@^1.0.0": - version "1.6.7" - resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.7.tgz#85d22f731fcc5b209db504478fb1df5116a83015" - integrity sha512-wmVfPG5o2xnKDU4jx/m4w5qva9FWHcnZ8BvzEe90D/RpwsJaTAVYPEPdQ8sbr/N8zZTAHlZUTQdqg8ZUbzHmng== - dependencies: - "@floating-ui/core" "^1.6.0" - "@floating-ui/utils" "^0.2.4" - -"@floating-ui/react-dom@^2.0.8": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.1.1.tgz#cca58b6b04fc92b4c39288252e285e0422291fb0" - integrity sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg== - dependencies: - "@floating-ui/dom" "^1.0.0" - -"@floating-ui/utils@^0.2.4": - version "0.2.4" - resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.4.tgz#1d459cee5031893a08a0e064c406ad2130cced7c" - integrity sha512-dWO2pw8hhi+WrXq1YJy2yCuWoL20PddgGaqTgVe4cOS9Q6qklXCiA1tJEqX6BEwRNSCP84/afac9hd4MS+zEUA== - "@humanwhocodes/config-array@^0.11.14": version "0.11.14" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" @@ -576,96 +782,94 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@mui/base@5.0.0-beta.40": - version "5.0.0-beta.40" - resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.40.tgz#1f8a782f1fbf3f84a961e954c8176b187de3dae2" - integrity sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ== - dependencies: - "@babel/runtime" "^7.23.9" - "@floating-ui/react-dom" "^2.0.8" - "@mui/types" "^7.2.14" - "@mui/utils" "^5.15.14" - "@popperjs/core" "^2.11.8" - clsx "^2.1.0" - prop-types "^15.8.1" - -"@mui/core-downloads-tracker@^5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.0.tgz#50153c698e321793c83a0283d8d7a9dc5d43858a" - integrity sha512-8SLffXYPRVpcZx5QzxNE8fytTqzp+IuU3deZbQWg/vSaTlDpR5YVrQ4qQtXTi5cRdhOufV5INylmwlKK+//nPw== +"@mui/core-downloads-tracker@^6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-6.0.2.tgz#edaec4015e440b55d535a805bd9dcec7e421d6ce" + integrity sha512-Cg68oOlAfbJgMgvbCwcX3Y3HdygCl6X1nREYTdEWcEKUQhNarrC45Cc35mP+zA7p3ZXE/7FLiaTCCgwuSoef/Q== -"@mui/icons-material@5.15.21": - version "5.15.21" - resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.15.21.tgz#1e29e1bdb90916be5b66c95c45951f441821f34a" - integrity sha512-yqkq1MbdkmX5ZHyvZTBuAaA6RkvoqkoAgwBSx9Oh0L0jAfj9T/Ih/NhMNjkl8PWVSonjfDUkKroBnjRyo/1M9Q== +"@mui/icons-material@^6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-6.0.2.tgz#fc0fba40421eb6d44f1266b53f9d5e51b67df42b" + integrity sha512-WaTPSvKcx8X7NdWAHzJWDZv+YXvK0MUY8+JI/r4/q2GgIa5RW+n4+08CGX6jB7sWhU1R3zy28NfsDUwwQjOThw== dependencies: - "@babel/runtime" "^7.23.9" + "@babel/runtime" "^7.25.0" -"@mui/material@^5.15.21": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.16.0.tgz#2ef4f52ae773574fc0a681f25705f376f5cd13f7" - integrity sha512-DbR1NckTLpjt9Zut9EGQ70th86HfN0BYQgyYro6aXQrNfjzSwe3BJS1AyBQ5mJ7TdL6YVRqohfukxj9JlqZZUg== +"@mui/material-pigment-css@^6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@mui/material-pigment-css/-/material-pigment-css-6.0.2.tgz#5efd43ca1ba47d36a9941d8c14a110d0bab4f526" + integrity sha512-zV4DDpAB7ym+GJT1yj6H5NpPqJZdE5ZYfMkMHEtogLURWkjmunyf1EV0cJNhkw/G6Xwq+GUTnxz4rRGxUGmhXQ== dependencies: - "@babel/runtime" "^7.23.9" - "@mui/base" "5.0.0-beta.40" - "@mui/core-downloads-tracker" "^5.16.0" - "@mui/system" "^5.16.0" - "@mui/types" "^7.2.14" - "@mui/utils" "^5.16.0" - "@types/react-transition-group" "^4.4.10" - clsx "^2.1.0" + "@babel/runtime" "^7.25.0" + "@mui/system" "6.0.2" + "@pigment-css/react" "0.0.21" + +"@mui/material@^6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-6.0.2.tgz#58a3a58d126b1b4ceb842aac401e20542ab0c17e" + integrity sha512-KrnkJFSyhsAh8V30DNUbWyRyxMi4ZHjFg1ikQGx+mUAIffFTYIEx9Q+Kxd3vCT0FUFGOmbsuh6F6yRhpybsjkg== + dependencies: + "@babel/runtime" "^7.25.0" + "@mui/core-downloads-tracker" "^6.0.2" + "@mui/system" "^6.0.2" + "@mui/types" "^7.2.16" + "@mui/utils" "^6.0.2" + "@popperjs/core" "^2.11.8" + "@types/react-transition-group" "^4.4.11" + clsx "^2.1.1" csstype "^3.1.3" prop-types "^15.8.1" - react-is "^18.2.0" + react-is "^18.3.1" react-transition-group "^4.4.5" -"@mui/private-theming@^5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.16.0.tgz#c1abfd3e0d9c95459048240ef4209dc7f25dc949" - integrity sha512-sYpubkO1MZOnxNyVOClrPNOTs0MfuRVVnAvCeMaOaXt6GimgQbnUcshYv2pSr6PFj+Mqzdff/FYOBceK8u5QgA== +"@mui/private-theming@^6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-6.0.2.tgz#498cf18040cdb196d1280f1d829d996d2a07e004" + integrity sha512-emddFcRhA0hPGVIwIbW5g0V8vtCgw2g/H/A7jTdGe7dpCWEPpp6jPIXRRKcEUWgmg91R6rBNfV+LFHxBxmZXOQ== dependencies: - "@babel/runtime" "^7.23.9" - "@mui/utils" "^5.16.0" + "@babel/runtime" "^7.25.0" + "@mui/utils" "^6.0.2" prop-types "^15.8.1" -"@mui/styled-engine@^5.15.14": - version "5.15.14" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.15.14.tgz#168b154c4327fa4ccc1933a498331d53f61c0de2" - integrity sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw== +"@mui/styled-engine@^6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-6.0.2.tgz#7eac59f5e9e1a7efba24d245d62de91752a67cc3" + integrity sha512-qd3Vlhted0SYVGotnCfVNcxff7vW2WN0fclbAexff60NeNS1qs/H/CImHEHUBiUGeNWMPRochbN6VF1arQ7/jA== dependencies: - "@babel/runtime" "^7.23.9" - "@emotion/cache" "^11.11.0" + "@babel/runtime" "^7.25.0" + "@emotion/cache" "^11.13.1" csstype "^3.1.3" prop-types "^15.8.1" -"@mui/system@^5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.16.0.tgz#e5b4cfbdfbc0ee9859f6b168e8b07d750303b7a0" - integrity sha512-9YbkC2m3+pNumAvubYv+ijLtog6puJ0fJ6rYfzfLCM47pWrw3m+30nXNM8zMgDaKL6vpfWJcCXm+LPaWBpy7sw== - dependencies: - "@babel/runtime" "^7.23.9" - "@mui/private-theming" "^5.16.0" - "@mui/styled-engine" "^5.15.14" - "@mui/types" "^7.2.14" - "@mui/utils" "^5.16.0" - clsx "^2.1.0" +"@mui/system@6.0.2", "@mui/system@^6.0.0-alpha.6", "@mui/system@^6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-6.0.2.tgz#9dce511047f63a5d819914cc978b719f439ebbc3" + integrity sha512-AZv1/C4PuHgWFTA8YraIzl3FTVLdRz0RIMRwEADWZBdIhnuTHS/4+r8qE9+3CcpTHg1WsEu8btaO3AhQahSM9A== + dependencies: + "@babel/runtime" "^7.25.0" + "@mui/private-theming" "^6.0.2" + "@mui/styled-engine" "^6.0.2" + "@mui/types" "^7.2.16" + "@mui/utils" "^6.0.2" + clsx "^2.1.1" csstype "^3.1.3" prop-types "^15.8.1" -"@mui/types@^7.2.14": - version "7.2.14" - resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.14.tgz#8a02ac129b70f3d82f2f9b76ded2c8d48e3fc8c9" - integrity sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ== +"@mui/types@^7.2.16": + version "7.2.16" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.16.tgz#66710c691b51cd4fca95322100cd74ec230cfe30" + integrity sha512-qI8TV3M7ShITEEc8Ih15A2vLzZGLhD+/UPNwck/hcls2gwg7dyRjNGXcQYHKLB5Q7PuTRfrTkAoPa2VV1s67Ag== -"@mui/utils@^5.15.14", "@mui/utils@^5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.16.0.tgz#3963127d9a619c251e5be1aef9adab0e89d3e7df" - integrity sha512-kLLi5J1xY+mwtUlMb8Ubdxf4qFAA1+U7WPBvjM/qQ4CIwLCohNb0sHo1oYPufjSIH/Z9+dhVxD7dJlfGjd1AVA== +"@mui/utils@^6.0.0-alpha.6", "@mui/utils@^6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-6.0.2.tgz#be3c7e79af074bce57559b7ea4c693d3a4c3c2ca" + integrity sha512-TeFrYsxcmeoDSlkoPhX+LjIuuqC5Pyj+xz2kRceKCkUpwMNTEeVOfowXDPe+mboZwmpJ5ZxP4eiAgQMdeEasjg== dependencies: - "@babel/runtime" "^7.23.9" - "@types/prop-types" "^15.7.11" + "@babel/runtime" "^7.25.0" + "@mui/types" "^7.2.16" + "@types/prop-types" "^15.7.12" + clsx "^2.1.1" prop-types "^15.8.1" - react-is "^18.2.0" + react-is "^18.3.1" "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -688,6 +892,72 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@pigment-css/react@0.0.21": + version "0.0.21" + resolved "https://registry.yarnpkg.com/@pigment-css/react/-/react-0.0.21.tgz#3516888f31588cf302c3131156694cde12e61996" + integrity sha512-AxX5P59/wheAGIfqdxFQ8t9Qpw+Dc88icbqiCZMm5CusGXE1Kue7Etx74vIiAanD9Vg112hM5CNkI2DHsO80fQ== + dependencies: + "@babel/core" "^7.24.4" + "@babel/helper-module-imports" "^7.24.3" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/parser" "^7.24.4" + "@babel/types" "^7.24.0" + "@emotion/css" "^11.11.2" + "@emotion/is-prop-valid" "^1.2.2" + "@emotion/react" "^11.11.4" + "@emotion/serialize" "^1.1.4" + "@emotion/styled" "^11.11.5" + "@mui/system" "^6.0.0-alpha.6" + "@mui/utils" "^6.0.0-alpha.6" + "@wyw-in-js/processor-utils" "^0.5.4" + "@wyw-in-js/shared" "^0.5.4" + "@wyw-in-js/transform" "^0.5.4" + clsx "^2.1.0" + cssesc "^3.0.0" + csstype "^3.1.3" + lodash "^4.17.21" + stylis "^4.3.1" + stylis-plugin-rtl "^2.1.1" + +"@pigment-css/react@^0.0.22": + version "0.0.22" + resolved "https://registry.yarnpkg.com/@pigment-css/react/-/react-0.0.22.tgz#8bca5cb5ff82f4bf488222b664cb25fd963e9054" + integrity sha512-LFEWfBmI+gA1nQ9htDLSTuKhMbmQW+A/18wLZmx8kHqOTtGN6sSggBsduA0hrJO4ghdU6T/5QkwC3OlHccQ2Iw== + dependencies: + "@babel/core" "^7.24.4" + "@babel/helper-module-imports" "^7.24.3" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/parser" "^7.24.4" + "@babel/types" "^7.24.0" + "@emotion/css" "^11.11.2" + "@emotion/is-prop-valid" "^1.2.2" + "@emotion/react" "^11.11.4" + "@emotion/serialize" "^1.1.4" + "@emotion/styled" "^11.11.5" + "@mui/system" "^6.0.0-alpha.6" + "@mui/utils" "^6.0.0-alpha.6" + "@wyw-in-js/processor-utils" "^0.5.4" + "@wyw-in-js/shared" "^0.5.4" + "@wyw-in-js/transform" "^0.5.4" + clsx "^2.1.0" + cssesc "^3.0.0" + csstype "^3.1.3" + lodash "^4.17.21" + stylis "^4.3.1" + stylis-plugin-rtl "^2.1.1" + +"@pigment-css/vite-plugin@^0.0.22": + version "0.0.22" + resolved "https://registry.yarnpkg.com/@pigment-css/vite-plugin/-/vite-plugin-0.0.22.tgz#5ff8828b48bc8b8c416f77b9529ca6dc2828929d" + integrity sha512-sNQRuOnSgF7VDmTW99hlGhbAUipayxVr2HCj4S2lP9zyzQaI4dNi5IWvXc483cRRT6wG0Hvkv/VUDQ/Q37zyYw== + dependencies: + "@babel/core" "^7.24.4" + "@babel/preset-typescript" "^7.24.1" + "@pigment-css/react" "^0.0.22" + "@wyw-in-js/shared" "^0.5.4" + "@wyw-in-js/transform" "^0.5.4" + babel-plugin-define-var "^0.1.0" + "@pkgr/core@^0.1.0": version "0.1.1" resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.1.1.tgz#1ec17e2edbec25c8306d424ecfbf13c7de1aaa31" @@ -850,7 +1120,7 @@ resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.26.4.tgz#1a9e1074619ce1d7322669e5b46fbe823925103a" integrity sha512-rlAnzkW2sZOjbqZ743IHUhFcvzaGbqijwOu8QZnZCjfQzBqFE3s4lOTJEsxikImav9uzz/42I+O7YUs1mWgMlg== -"@types/prop-types@*", "@types/prop-types@^15.7.11": +"@types/prop-types@*", "@types/prop-types@^15.7.12": version "15.7.12" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== @@ -891,10 +1161,10 @@ "@types/history" "^4.7.11" "@types/react" "*" -"@types/react-transition-group@^4.4.10": - version "4.4.10" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.10.tgz#6ee71127bdab1f18f11ad8fb3322c6da27c327ac" - integrity sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q== +"@types/react-transition-group@^4.4.11": + version "4.4.11" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.11.tgz#d963253a611d757de01ebb241143b1017d5d63d5" + integrity sha512-RM05tAniPZ5DZPzzNFP+DmrcOdD0efDUxMy3145oljWSl3x9ZV5vhme98gTxFrj2lhXvmGNnUiuDyJgY9IKkNA== dependencies: "@types/react" "*" @@ -1010,6 +1280,44 @@ "@types/babel__core" "^7.20.5" react-refresh "^0.14.2" +"@wyw-in-js/processor-utils@0.5.4", "@wyw-in-js/processor-utils@^0.5.4": + version "0.5.4" + resolved "https://registry.yarnpkg.com/@wyw-in-js/processor-utils/-/processor-utils-0.5.4.tgz#84e5dd5ca03b09fca3c913623e3fedc40ce3a882" + integrity sha512-EVyLoZf2N48bQ/KcCytZzx6Jxgfl2txR9agbb9GYVTDCcVt2JXtlexd0lq4bgEpnvLE3GtpzY5rOTSqDyYExfg== + dependencies: + "@babel/generator" "^7.23.5" + "@wyw-in-js/shared" "0.5.4" + +"@wyw-in-js/shared@0.5.4", "@wyw-in-js/shared@^0.5.4": + version "0.5.4" + resolved "https://registry.yarnpkg.com/@wyw-in-js/shared/-/shared-0.5.4.tgz#cd9774085cb0633556443e2945ecca602b06050b" + integrity sha512-LIu2Aq/m9rN3UzU7ARAc17wRlpNjMumzwjXhbtweR9PMiSSnLpBztIA8GZ5vlUnzppaoKuiiDPTza2yVTFReFg== + dependencies: + debug "^4.3.4" + find-up "^5.0.0" + minimatch "^9.0.3" + +"@wyw-in-js/transform@^0.5.4": + version "0.5.4" + resolved "https://registry.yarnpkg.com/@wyw-in-js/transform/-/transform-0.5.4.tgz#e65b2197ecfaeaa5b32c48b55a9089bdfb2ceacd" + integrity sha512-qwbEqO/7IYFPruRH3vscmejUgNvimEhpiI8Hgf9N0pT/fjhBp539QGPVhLQHI8885fWW/LBzbbyL/v9Q72kmoQ== + dependencies: + "@babel/core" "^7.23.5" + "@babel/generator" "^7.23.5" + "@babel/helper-module-imports" "^7.22.15" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.5" + "@babel/types" "^7.23.5" + "@wyw-in-js/processor-utils" "0.5.4" + "@wyw-in-js/shared" "0.5.4" + babel-merge "^3.0.0" + cosmiconfig "^8.0.0" + happy-dom "^12.5.0" + source-map "^0.7.4" + stylis "^4.3.0" + ts-invariant "^0.10.3" + acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" @@ -1330,6 +1638,19 @@ axios@^1.7.4: form-data "^4.0.0" proxy-from-env "^1.1.0" +babel-merge@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/babel-merge/-/babel-merge-3.0.0.tgz#9bd368d48116dab18b8f3e8022835479d80f3b50" + integrity sha512-eBOBtHnzt9xvnjpYNI5HmaPp/b2vMveE5XggzqHnQeHJ8mFIBrBv6WZEVIj5jJ2uwTItkqKo9gWzEEcBxEq0yw== + dependencies: + deepmerge "^2.2.1" + object.omit "^3.0.0" + +babel-plugin-define-var@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-define-var/-/babel-plugin-define-var-0.1.0.tgz#f78cf529e34f01639b94a8c7d4d9637d844559b1" + integrity sha512-WcK43U4uz+9G35Wvdnyri4Tcg8Ux9/hSbQC4ckpfrHFQp8Cuz1BIQK5NswuGxT3T8cc3d4e55wDeSO4dViOugg== + babel-plugin-macros@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" @@ -1391,6 +1712,16 @@ browserslist@^4.22.2: node-releases "^2.0.14" update-browserslist-db "^1.1.0" +browserslist@^4.23.1: + version "4.23.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800" + integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== + dependencies: + caniuse-lite "^1.0.30001646" + electron-to-chromium "^1.5.4" + node-releases "^2.0.18" + update-browserslist-db "^1.1.0" + buffer-equal@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.1.tgz#2f7651be5b1b3f057fcd6e7ee16cf34767077d90" @@ -1441,6 +1772,11 @@ caniuse-lite@^1.0.30001640: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001641.tgz#3572862cd18befae3f637f2a1101cc033c6782ac" integrity sha512-Phv5thgl67bHYo1TtMY/MurjkHhV4EDaCosezRXgZ8jzA/Ub+wjxAvbGvjoFENStinwi5kCyOYV3mi5tOGykwA== +caniuse-lite@^1.0.30001646: + version "1.0.30001658" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001658.tgz#b5f7be8ac748a049ab06aa1cf7a1408d83f074ec" + integrity sha512-N2YVqWbJELVdrnsW5p+apoQyYt51aBMSsBZki1XZEfeBCexcM/sf4xiAHcXQBkuOwJBXtWF7aW1sYX6tKebPHw== + chalk@^2.4.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -1531,7 +1867,7 @@ cloneable-readable@^1.0.0: process-nextick-args "^2.0.0" readable-stream "^2.3.5" -clsx@^2.0.0, clsx@^2.1.0: +clsx@^2.0.0, clsx@^2.1.0, clsx@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== @@ -1618,6 +1954,16 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" +cosmiconfig@^8.0.0: + version "8.3.6" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" + integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== + dependencies: + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" + path-type "^4.0.0" + cosmiconfig@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-9.0.0.tgz#34c3fc58287b915f3ae905ab6dc3de258b55ad9d" @@ -1678,11 +2024,21 @@ css-tree@^2.3.1: mdn-data "2.0.30" source-map-js "^1.0.1" +css.escape@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" + integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== + cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== +cssjanus@^2.0.1: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssjanus/-/cssjanus-2.3.0.tgz#af91e639a34d8b241e5032824f3f1b7f8dd91557" + integrity sha512-ZZXXn51SnxRxAZ6fdY7mBDPmA4OZd83q/J9Gdqz3YmE9TUq+9tZl+tdOnCi7PpNygI6PEkehj9rgifv5+W8a5A== + csstype@^3.0.2, csstype@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" @@ -1754,6 +2110,11 @@ deep-is@^0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== +deepmerge@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.2.1.tgz#5d3ff22a01c00f645405a2fbc17d0778a1801170" + integrity sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA== + define-data-property@^1.0.1, define-data-property@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" @@ -1852,6 +2213,11 @@ electron-to-chromium@^1.4.820: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.823.tgz#38587f7aa55bed14930f04091dfc65c39a3d8bd7" integrity sha512-4h+oPeAiGQOHFyUJOqpoEcPj/xxlicxBzOErVeYVMMmAiXUXsGpsFd0QXBMaUUbnD8hhSfLf9uw+MlsoIA7j5w== +electron-to-chromium@^1.5.4: + version "1.5.17" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.17.tgz#292da718d3d96961d022e49bb843e0c4ea10be70" + integrity sha512-Q6Q+04tjC2KJ8qsSOSgovvhWcv5t+SmpH6/YfAWmhpE5/r+zw6KQy1/yWVFFNyEBvy68twTTXr2d5eLfCq7QIw== + emoji-regex@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" @@ -1878,6 +2244,11 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" +entities@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + env-paths@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" @@ -2677,6 +3048,18 @@ gulp-tap@^1.0.1: dependencies: through2 "^2.0.3" +happy-dom@^12.5.0: + version "12.10.3" + resolved "https://registry.yarnpkg.com/happy-dom/-/happy-dom-12.10.3.tgz#e61985eff163b822c110458be7f81aa4f94ad588" + integrity sha512-JzUXOh0wdNGY54oKng5hliuBkq/+aT1V3YpTM+lrN/GoLQTANZsMaIvmHiHe612rauHvPJnDZkZ+5GZR++1Abg== + dependencies: + css.escape "^1.5.1" + entities "^4.5.0" + iconv-lite "^0.6.3" + webidl-conversions "^7.0.0" + whatwg-encoding "^2.0.0" + whatwg-mimetype "^3.0.0" + has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" @@ -2761,6 +3144,13 @@ i18next@^23.11.5: dependencies: "@babel/runtime" "^7.23.2" +iconv-lite@0.6.3, iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + iconv-lite@^0.4.15: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -2925,7 +3315,7 @@ is-date-object@^1.0.1, is-date-object@^1.0.5: dependencies: has-tostringtag "^1.0.0" -is-extendable@^1.0.1: +is-extendable@^1.0.0, is-extendable@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== @@ -3338,7 +3728,7 @@ lodash.truncate@^4.4.2: resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== -lodash@^4.17.11, lodash@^4.17.15: +lodash@^4.17.11, lodash@^4.17.15, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -3454,7 +3844,7 @@ minimatch@^3.0.0, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.0.5, minimatc dependencies: brace-expansion "^1.1.7" -minimatch@^9.0.4: +minimatch@^9.0.3, minimatch@^9.0.4: version "9.0.5" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== @@ -3513,6 +3903,11 @@ node-releases@^2.0.14: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== +node-releases@^2.0.18: + version "2.0.18" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" + integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== + normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" @@ -3597,6 +3992,13 @@ object.hasown@^1.1.4: es-abstract "^1.23.2" es-object-atoms "^1.0.0" +object.omit@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-3.0.0.tgz#0e3edc2fce2ba54df5577ff529f6d97bd8a522af" + integrity sha512-EO+BCv6LJfu+gBIF3ggLicFebFLN5zqzz/WWJlMFfkMyGth+oBkhxzDl0wx2W4GkLzuQs/FsSkXZb2IMWQqmBQ== + dependencies: + is-extendable "^1.0.0" + object.values@^1.1.6, object.values@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" @@ -3970,7 +4372,7 @@ react-is@^16.13.1, react-is@^16.7.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-is@^18.2.0: +react-is@^18.3.1: version "18.3.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== @@ -4226,7 +4628,7 @@ safe-regex-test@^1.0.3: es-errors "^1.3.0" is-regex "^1.1.4" -"safer-buffer@>= 2.1.2 < 3": +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -4381,6 +4783,11 @@ source-map@^0.5.7: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== +source-map@^0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -4635,11 +5042,23 @@ stylelint@^16.6.1: table "^6.8.2" write-file-atomic "^5.0.1" +stylis-plugin-rtl@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/stylis-plugin-rtl/-/stylis-plugin-rtl-2.1.1.tgz#16707809c878494835f77e5d4aadaae3db639b5e" + integrity sha512-q6xIkri6fBufIO/sV55md2CbgS5c6gg9EhSVATtHHCdOnbN/jcI0u3lYhNVeuI65c4lQPo67g8xmq5jrREvzlg== + dependencies: + cssjanus "^2.0.1" + stylis@4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== +stylis@^4.3.0, stylis@^4.3.1: + version "4.3.4" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.4.tgz#ca5c6c4a35c4784e4e93a2a24dc4e9fa075250a4" + integrity sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now== + supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -4787,6 +5206,18 @@ ts-api-utils@^1.3.0: resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== +ts-invariant@^0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.10.3.tgz#3e048ff96e91459ffca01304dbc7f61c1f642f6c" + integrity sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ== + dependencies: + tslib "^2.1.0" + +tslib@^2.1.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" + integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== + tslib@^2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" @@ -4985,6 +5416,23 @@ void-elements@3.1.0: resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== +webidl-conversions@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" + integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== + +whatwg-encoding@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" + integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== + dependencies: + iconv-lite "0.6.3" + +whatwg-mimetype@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" + integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== + which-boxed-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" From 72413736f24ebc7a2d6fcbd09ebac0a0813fd231 Mon Sep 17 00:00:00 2001 From: Luis Doebbel Date: Thu, 19 Sep 2024 00:28:45 -0400 Subject: [PATCH 2/2] Completes most of the project's to MUI v6.1 and pigment CSS. --- frontend/.eslintrc.cjs | 4 +- frontend/package.json | 8 +- .../app/components/accordion/Accordion.tsx | 7 +- .../accordionSummary/AccordionSummary.tsx | 7 +- frontend/src/app/components/button/Button.tsx | 8 +- frontend/src/app/components/dialog/Dialog.tsx | 7 +- .../errorHelperText/ErrorHelperText.tsx | 23 ++- .../error-helper-text.module.css | 21 +++ .../errorHelperText/error-helper-text.scss | 27 --- .../fieldHelperText/FieldHelperText.tsx | 6 +- frontend/src/app/components/layout/Layout.tsx | 65 ++++++- .../src/app/components/layout/layout.scss | 55 ------ frontend/src/app/components/link/Link.tsx | 7 +- .../src/app/components/loading/Loading.tsx | 21 ++- .../app/components/loading/loading.module.css | 30 ++++ .../src/app/components/loading/loading.scss | 34 ---- .../src/app/components/spinner/Spinner.tsx | 14 +- .../{spinner.scss => spinner.module.css} | 9 - frontend/src/app/components/switch/Switch.tsx | 9 +- .../src/app/components/tableRow/TableRow.tsx | 7 +- .../app/components/textField/TextField.tsx | 7 +- .../app/components/typography/Typography.tsx | 161 ------------------ .../app/components/typography/typography.scss | 110 ------------ .../uikit/uikitBlock/UikitBlock.tsx | 33 +++- .../uikit/uikitBlock/uikit-block.scss | 19 --- .../uikit/uikitColor/UikitColor.tsx | 6 +- .../components/uikit/uikitNav/UikitNav.tsx | 21 ++- .../components/uikit/uikitNav/uikit-nav.scss | 18 -- .../cookieBanner/CookieBanner.tsx | 99 +++++++++-- .../cookieBanner/cookie-banner.module.css | 24 +++ .../cookieBanner/cookie-banner.scss | 75 -------- .../cookieConsent/cookieModal/CookieModal.tsx | 34 ++-- .../containers/debugBanner/DebugBanner.tsx | 21 ++- .../debugBanner/debug-banner.module.css | 31 ++++ .../containers/debugBanner/debug-banner.scss | 36 ---- frontend/src/app/enums/EPermission.ts | 1 + frontend/src/app/icons/AddRounded.tsx | 6 +- frontend/src/app/icons/CaretIcon.tsx | 9 +- frontend/src/app/icons/CloseIcon.tsx | 6 +- frontend/src/app/icons/CookieIcon.tsx | 6 +- .../src/app/icons/ExternalLinkOutlined.tsx | 6 +- frontend/src/app/icons/LogoutRounded.tsx | 10 +- .../src/app/pages/dashbaord/Dashboard.tsx | 7 + .../app/pages/dashbaord/dashboard.route.tsx | 15 ++ .../app/pages/dashbaord/withAuthDashboard.tsx | 7 + frontend/src/app/pages/home/Home.tsx | 23 +-- frontend/src/app/pages/login/Login.tsx | 26 +-- frontend/src/app/pages/notFound/NotFound.tsx | 25 +-- .../app/pages/notFound/not-found.module.css | 15 ++ .../src/app/pages/notFound/not-found.scss | 18 -- frontend/src/app/pages/uikit/UiKit.tsx | 46 ++--- frontend/src/app/routes/routes.ts | 3 +- frontend/src/app/shared/theme.ts | 41 ----- frontend/src/assets/locales/en.json | 4 +- frontend/src/assets/locales/fr.json | 4 +- frontend/src/material-ui-pigment-css.d.ts | 41 +++++ frontend/src/styles/_colors.scss | 41 ----- frontend/src/styles/_export.scss | 19 --- frontend/src/styles/_fonts.scss | 24 --- frontend/src/styles/_globals.scss | 2 +- frontend/src/styles/_variables.scss | 110 +----------- frontend/src/styles/index.scss | 2 - frontend/src/styles/mixins/_fonts.scss | 77 --------- frontend/src/styles/style.module.scss | 46 ----- frontend/src/themes/palette.ts | 66 +++++++ frontend/src/themes/theme.ts | 35 ++++ frontend/tsconfig.node.json | 6 +- frontend/vite.config.ts | 15 +- frontend/yarn.lock | 124 +++++++++----- 69 files changed, 781 insertions(+), 1169 deletions(-) create mode 100644 frontend/src/app/components/errorHelperText/error-helper-text.module.css delete mode 100644 frontend/src/app/components/errorHelperText/error-helper-text.scss delete mode 100644 frontend/src/app/components/layout/layout.scss create mode 100644 frontend/src/app/components/loading/loading.module.css delete mode 100644 frontend/src/app/components/loading/loading.scss rename frontend/src/app/components/spinner/{spinner.scss => spinner.module.css} (60%) delete mode 100644 frontend/src/app/components/typography/Typography.tsx delete mode 100644 frontend/src/app/components/typography/typography.scss delete mode 100644 frontend/src/app/components/uikit/uikitBlock/uikit-block.scss delete mode 100644 frontend/src/app/components/uikit/uikitNav/uikit-nav.scss create mode 100644 frontend/src/app/containers/cookieConsent/cookieBanner/cookie-banner.module.css delete mode 100644 frontend/src/app/containers/cookieConsent/cookieBanner/cookie-banner.scss create mode 100644 frontend/src/app/containers/debugBanner/debug-banner.module.css delete mode 100644 frontend/src/app/containers/debugBanner/debug-banner.scss create mode 100644 frontend/src/app/pages/dashbaord/Dashboard.tsx create mode 100755 frontend/src/app/pages/dashbaord/dashboard.route.tsx create mode 100644 frontend/src/app/pages/dashbaord/withAuthDashboard.tsx create mode 100644 frontend/src/app/pages/notFound/not-found.module.css delete mode 100644 frontend/src/app/pages/notFound/not-found.scss delete mode 100644 frontend/src/app/shared/theme.ts delete mode 100644 frontend/src/styles/_colors.scss delete mode 100755 frontend/src/styles/_fonts.scss delete mode 100755 frontend/src/styles/mixins/_fonts.scss delete mode 100755 frontend/src/styles/style.module.scss create mode 100644 frontend/src/themes/palette.ts create mode 100644 frontend/src/themes/theme.ts diff --git a/frontend/.eslintrc.cjs b/frontend/.eslintrc.cjs index dd4fa2d..4b3bed6 100644 --- a/frontend/.eslintrc.cjs +++ b/frontend/.eslintrc.cjs @@ -33,6 +33,8 @@ module.exports = { "react-hooks/rules-of-hooks": ERROR, eqeqeq: ERROR, "@typescript-eslint/array-type": [WARNING, { default: "array-simple" }], + // With Pigment CSS, the SX property is now available on html elements + "react/no-unknown-property": ["error", { ignore: ["sx"] }], // "sort-keys": WARNING, }, settings: { @@ -43,7 +45,7 @@ module.exports = { parserOptions: { ecmaVersion: "latest", sourceType: "module", - project: ["./tsconfig.eslint.json"], + project: ["./tsconfig.eslint.json", "./src/material-ui-pigment-css.d.ts"], tsconfigRootDir: __dirname, }, }; diff --git a/frontend/package.json b/frontend/package.json index 6a582b5..108a408 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -14,9 +14,9 @@ "preview": "vite preview" }, "dependencies": { - "@mui/icons-material": "^6.0.2", - "@mui/material": "^6.0.2", - "@mui/material-pigment-css": "^6.0.2", + "@mui/icons-material": "^6.1.0", + "@mui/material": "^6.1.0", + "@mui/material-pigment-css": "^6.1.0", "axios": "^1.7.4", "classnames": "^2.5.1", "dayjs": "^1.11.11", @@ -36,7 +36,7 @@ "zustand": "^4.5.4" }, "devDependencies": { - "@pigment-css/vite-plugin": "^0.0.22", + "@pigment-css/vite-plugin": "^0.0.23", "@types/classnames": "^2.3.1", "@types/node": "^20.14.9", "@types/qs": "^6.9.15", diff --git a/frontend/src/app/components/accordion/Accordion.tsx b/frontend/src/app/components/accordion/Accordion.tsx index d2ac8b4..c357953 100644 --- a/frontend/src/app/components/accordion/Accordion.tsx +++ b/frontend/src/app/components/accordion/Accordion.tsx @@ -1,16 +1,15 @@ import { AccordionProps, Accordion as MuiAccordion } from "@mui/material"; import { styled } from "@mui/material-pigment-css"; -import style from "@styles/style.module.scss"; -const StyledMuiAccordion = styled(MuiAccordion)({ - border: `1px solid ${style["stone-veryLight"]}`, +const StyledMuiAccordion = styled(MuiAccordion)(({ theme }) => ({ + border: `1px solid ${theme.palette.grey[300]}`, "&:not(:last-child)": { borderBottom: 0, }, "&::before": { display: "none", }, -}); +})); export default function Accordion({ children, ...props }: AccordionProps) { return ( diff --git a/frontend/src/app/components/accordionSummary/AccordionSummary.tsx b/frontend/src/app/components/accordionSummary/AccordionSummary.tsx index 8bfa5ec..4e91204 100644 --- a/frontend/src/app/components/accordionSummary/AccordionSummary.tsx +++ b/frontend/src/app/components/accordionSummary/AccordionSummary.tsx @@ -4,18 +4,17 @@ import { AccordionSummary as MuiAccordionSummary, } from "@mui/material"; import { styled } from "@mui/material-pigment-css"; -import style from "@styles/style.module.scss"; -const StyledMuiAccordionSummary = styled(MuiAccordionSummary)({ +const StyledMuiAccordionSummary = styled(MuiAccordionSummary)(({ theme }) => ({ flexDirection: "row-reverse", "& .MuiAccordionSummary-expandIconWrapper.Mui-expanded": { transform: "rotate(90deg)", }, "& .MuiAccordionSummary-content": { - marginLeft: style["spacing-md"], + marginLeft: theme.spacing(1), alignItems: "center", }, -}); +})); export default function AccordionSummary({ children, diff --git a/frontend/src/app/components/button/Button.tsx b/frontend/src/app/components/button/Button.tsx index 7a10754..d7abae9 100644 --- a/frontend/src/app/components/button/Button.tsx +++ b/frontend/src/app/components/button/Button.tsx @@ -1,11 +1,9 @@ import { ButtonProps, Button as MuiButton } from "@mui/material"; import { styled } from "@mui/material-pigment-css"; -import style from "@styles/style.module.scss"; - -const StyledMuiButton = styled(MuiButton)({ - borderRadius: style["border-radius-xs"], -}); +const StyledMuiButton = styled(MuiButton)(({ theme }) => ({ + borderRadius: theme.customProperties.borderRadius.xs, +})); interface IButton extends ButtonProps { target?: string; } diff --git a/frontend/src/app/components/dialog/Dialog.tsx b/frontend/src/app/components/dialog/Dialog.tsx index 8815a0d..0a20a88 100644 --- a/frontend/src/app/components/dialog/Dialog.tsx +++ b/frontend/src/app/components/dialog/Dialog.tsx @@ -1,13 +1,12 @@ import Slide from "@components/slide/Slide"; import { DialogProps, Dialog as MuiDialog } from "@mui/material"; import { styled } from "@mui/material-pigment-css"; -import style from "@styles/style.module.scss"; -const StyledMuiDialog = styled(MuiDialog)({ +const StyledMuiDialog = styled(MuiDialog)(({ theme }) => ({ "& .MuiDialog-paper": { - margin: style["spacing-md"], + margin: theme.spacing(2), }, -}); +})); export default function Dialog({ ...props }: DialogProps) { return ( diff --git a/frontend/src/app/components/errorHelperText/ErrorHelperText.tsx b/frontend/src/app/components/errorHelperText/ErrorHelperText.tsx index c05348a..b312da2 100644 --- a/frontend/src/app/components/errorHelperText/ErrorHelperText.tsx +++ b/frontend/src/app/components/errorHelperText/ErrorHelperText.tsx @@ -1,7 +1,7 @@ -import Typography from "@components/typography/Typography"; +import Typography from "@mui/material/Typography"; import { RefObject, useEffect, useRef, useState } from "react"; import { CSSTransition, TransitionGroup } from "react-transition-group"; -import "./error-helper-text.scss"; +import classes from "./error-helper-text.module.css"; interface IErrorBox { message: string; @@ -21,16 +21,23 @@ export default function ErrorHelperText({ message }: IErrorBox) { {activeMessage && ( -
- {activeMessage} +
({ + marginTop: theme.spacing(0), + marginLeft: theme.spacing(1), + color: theme.palette.error.main, + })} + > + {activeMessage}
)} diff --git a/frontend/src/app/components/errorHelperText/error-helper-text.module.css b/frontend/src/app/components/errorHelperText/error-helper-text.module.css new file mode 100644 index 0000000..b1531b0 --- /dev/null +++ b/frontend/src/app/components/errorHelperText/error-helper-text.module.css @@ -0,0 +1,21 @@ +.enter { + opacity: 0; +} + +.enter-active { + opacity: 1; + /* + The time here is found in the theme.customProperties.time property. + Ideally we should be getting this value dynamically, from the theme. + */ + transition: opacity 0.35s ease-in; +} + +.exit { + opacity: 1; +} + +.exit-active { + opacity: 0; + transition: opacity 0.35s ease-out; +} diff --git a/frontend/src/app/components/errorHelperText/error-helper-text.scss b/frontend/src/app/components/errorHelperText/error-helper-text.scss deleted file mode 100644 index 4003650..0000000 --- a/frontend/src/app/components/errorHelperText/error-helper-text.scss +++ /dev/null @@ -1,27 +0,0 @@ -@use "../../../styles/variables" as v; - -.error-helper-text { - &__container { - color: v.get-color(basic, error); - margin-top: v.get-spacing(xxs); - margin-left: v.get-spacing(md); - } - - &__enter { - opacity: 0; - - &-active { - opacity: 1; - transition: opacity v.get-time(normal) ease-in; - } - } - - &__exit { - opacity: 1; - - &-active { - opacity: 0; - transition: opacity v.get-time(normal) ease-out; - } - } -} diff --git a/frontend/src/app/components/fieldHelperText/FieldHelperText.tsx b/frontend/src/app/components/fieldHelperText/FieldHelperText.tsx index c4e8190..73d2762 100644 --- a/frontend/src/app/components/fieldHelperText/FieldHelperText.tsx +++ b/frontend/src/app/components/fieldHelperText/FieldHelperText.tsx @@ -1,5 +1,5 @@ import ErrorHelperText from "@components/errorHelperText/ErrorHelperText"; -import Typography from "@components/typography/Typography"; +import Typography from "@mui/material/Typography"; import { useTranslation } from "react-i18next"; import { ValidationError } from "yup"; @@ -44,8 +44,8 @@ export default function FieldHelperText({ } return ( - + {helperText} - + ); } diff --git a/frontend/src/app/components/layout/Layout.tsx b/frontend/src/app/components/layout/Layout.tsx index 2fa1a4d..377555e 100644 --- a/frontend/src/app/components/layout/Layout.tsx +++ b/frontend/src/app/components/layout/Layout.tsx @@ -1,25 +1,74 @@ -import classnames from "classnames"; import { ReactNode } from "react"; -import "./layout.scss"; +import { styled } from "@mui/material-pigment-css"; interface ILayout { children: ReactNode; className?: string; } +const LayoutContainer = styled("main")(({ theme }) => ({ + width: "100%", + display: "flex", + flexDirection: "column", + flexGrow: 1, + padding: theme.spacing(2), + alignItems: "center", + backgroundColor: "#fafafb", // TODO: get this from theme + + [theme.breakpoints.up("md")]: { + padding: theme.spacing(4), + }, + + [theme.breakpoints.up("lg")]: { + padding: theme.spacing(6), + }, + + [theme.breakpoints.up("xl")]: { + padding: theme.spacing(8), + }, + + "> .content": { + maxWidth: "82.5rem", + width: "100%", + }, +})); + function Container({ children, className }: ILayout) { return ( -
-
{children}
-
+ +
{children}
+
); } +const LayoutAuth = styled("main")(({ theme }) => ({ + width: "100%", + display: "flex", + flexDirection: "column", + justifyContent: "center", + alignItems: "center", + backgroundColor: "#fafafb", // TODO: get this from theme + + [theme.breakpoints.up("xs")]: { + flex: "1 1 auto", + }, + + "> .content": { + maxWidth: "82.5rem", + width: "100%", + + [theme.breakpoints.up("xs")]: { + maxWidth: 442, + padding: theme.spacing(2), + }, + }, +})); + function Auth({ children, className }: ILayout) { return ( -
-
{children}
-
+ +
{children}
+
); } diff --git a/frontend/src/app/components/layout/layout.scss b/frontend/src/app/components/layout/layout.scss deleted file mode 100644 index 5cb85c8..0000000 --- a/frontend/src/app/components/layout/layout.scss +++ /dev/null @@ -1,55 +0,0 @@ -@use "../../../styles/variables" as v; - -.layout { - &__container { - width: 100%; - display: flex; - flex-direction: column; - flex-grow: 1; - padding: v.get-spacing(md); - align-items: center; - background-color: v.get-color(basic, background); - - @media (min-width: v.get-media(md)) { - padding: v.get-spacing(lg); - } - - @media (min-width: v.get-media(lg)) { - padding: v.get-spacing(lg) 4rem; - } - - @media (min-width: v.get-media(xl)) { - padding: v.get-spacing(lg) 6rem; - } - - &-content { - max-width: 82.5rem; - width: 100%; - } - } - - &__auth { - width: 100%; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - background-color: v.get-color(basic, background); - - @media (min-width: v.get-media(xs)) { - flex: 1 1 auto; - } - - &-content { - width: 100%; - padding: v.get-spacing(md); - background-color: v.get-color(basic, brightest); - - @media (min-width: v.get-media(xs)) { - max-width: 442px; - border-radius: v.get-border-radius(md); - padding: v.get-spacing(xl); - } - } - } -} diff --git a/frontend/src/app/components/link/Link.tsx b/frontend/src/app/components/link/Link.tsx index f367974..f60faa7 100644 --- a/frontend/src/app/components/link/Link.tsx +++ b/frontend/src/app/components/link/Link.tsx @@ -1,14 +1,13 @@ import ExternalLinkOutlined from "@icons/ExternalLinkOutlined"; import { LinkProps, Link as MuiLink } from "@mui/material"; import { styled } from "@mui/material-pigment-css"; -import style from "@styles/style.module.scss"; -const StyledMuiLink = styled(MuiLink)({ +const StyledMuiLink = styled(MuiLink)(({ theme }) => ({ display: "flex", - color: style["primary-main"], + color: theme.palette.primary.main, textDecorationColor: "unset", cursor: "pointer", -}); +})); interface ILink extends LinkProps { external?: boolean; diff --git a/frontend/src/app/components/loading/Loading.tsx b/frontend/src/app/components/loading/Loading.tsx index 006d97d..1491c64 100755 --- a/frontend/src/app/components/loading/Loading.tsx +++ b/frontend/src/app/components/loading/Loading.tsx @@ -1,7 +1,7 @@ import Spinner from "@components/spinner/Spinner"; import { RefObject, useRef } from "react"; import { CSSTransition, TransitionGroup } from "react-transition-group"; -import "./loading.scss"; +import classes from "./loading.module.css"; interface ILoading { isLoading?: boolean; @@ -15,16 +15,23 @@ export default function Loading({ isLoading = true }: ILoading) { {isLoading && ( -
-
+
({ + backgroundColor: theme.palette.common.white, + zIndex: theme.zIndex.loading, + })} + > +
diff --git a/frontend/src/app/components/loading/loading.module.css b/frontend/src/app/components/loading/loading.module.css new file mode 100644 index 0000000..66af09c --- /dev/null +++ b/frontend/src/app/components/loading/loading.module.css @@ -0,0 +1,30 @@ +.loading { + display: flex; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.spinner { + margin: auto; +} + +.enter { + opacity: 0; +} + +.enter-active { + opacity: 1; + transition: opacity 0.5s ease-in; +} + +.exit { + opacity: 1; +} + +.enter-active { + opacity: 0; + transition: opacity 0.5s ease-out; +} diff --git a/frontend/src/app/components/loading/loading.scss b/frontend/src/app/components/loading/loading.scss deleted file mode 100644 index 50ceeec..0000000 --- a/frontend/src/app/components/loading/loading.scss +++ /dev/null @@ -1,34 +0,0 @@ -@use "../../../styles/variables" as v; - -.loading { - display: flex; - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: v.get-color(basic, brightest); - z-index: v.get-z(1000); - - &__enter { - opacity: 0; - - &-active { - opacity: 1; - transition: opacity v.get-time(slow) ease-in; - } - } - - &__exit { - opacity: 1; - - &-active { - opacity: 0; - transition: opacity v.get-time(slow) ease-out; - } - } - - &__spinner { - margin: auto; - } -} diff --git a/frontend/src/app/components/spinner/Spinner.tsx b/frontend/src/app/components/spinner/Spinner.tsx index 5c46a8e..229ac66 100755 --- a/frontend/src/app/components/spinner/Spinner.tsx +++ b/frontend/src/app/components/spinner/Spinner.tsx @@ -1,5 +1,15 @@ -import "./spinner.scss"; +import classes from "./spinner.module.css"; export default function Spinner() { - return ; + return ( + ({ + backgroundImage: `linear-gradient(${theme.palette.primary.main} 16px,transparent 0), + linear-gradient(${theme.palette.primary.main} 16px, transparent 0), + linear-gradient(${theme.palette.primary.main} 16px, transparent 0), + linear-gradient(${theme.palette.primary.dark} 16px, transparent 0)`, + })} + className={classes["spinner"]} + /> + ); } diff --git a/frontend/src/app/components/spinner/spinner.scss b/frontend/src/app/components/spinner/spinner.module.css similarity index 60% rename from frontend/src/app/components/spinner/spinner.scss rename to frontend/src/app/components/spinner/spinner.module.css index ced2148..d74fb71 100644 --- a/frontend/src/app/components/spinner/spinner.scss +++ b/frontend/src/app/components/spinner/spinner.module.css @@ -1,5 +1,3 @@ -@use "../../../styles/variables" as v; - @keyframes spinner-rotate { 0% { width: 64px; @@ -25,13 +23,6 @@ height: 64px; display: block; position: relative; - background-image: linear-gradient( - v.get-color(primary, dark) 16px, - transparent 0 - ), - linear-gradient(v.get-color(primary, main) 16px, transparent 0), - linear-gradient(v.get-color(primary, main) 16px, transparent 0), - linear-gradient(v.get-color(primary, dark) 16px, transparent 0); background-repeat: no-repeat; background-size: 16px 16px; background-position: diff --git a/frontend/src/app/components/switch/Switch.tsx b/frontend/src/app/components/switch/Switch.tsx index 3cda796..0b66d26 100644 --- a/frontend/src/app/components/switch/Switch.tsx +++ b/frontend/src/app/components/switch/Switch.tsx @@ -1,13 +1,12 @@ import { Switch as MuiSwitch, SwitchProps } from "@mui/material"; import { styled } from "@mui/material-pigment-css"; -import style from "@styles/style.module.scss"; -const StyledMuiSwitch = styled(MuiSwitch)({ - padding: style["spacing-xs"], +const StyledMuiSwitch = styled(MuiSwitch)(({ theme }) => ({ transform: "scale(1.125)", + padding: theme.spacing("xs"), "& .MuiSwitch-track": { - borderRadius: style["border-radius-md"], + borderRadius: theme.customProperties.borderRadius.md, "&::before, &::after": { content: '""', @@ -33,7 +32,7 @@ const StyledMuiSwitch = styled(MuiSwitch)({ height: 16, margin: 2, }, -}); +})); export default function Switch({ ...props }: SwitchProps) { return ; diff --git a/frontend/src/app/components/tableRow/TableRow.tsx b/frontend/src/app/components/tableRow/TableRow.tsx index fc5fc47..b1efec8 100644 --- a/frontend/src/app/components/tableRow/TableRow.tsx +++ b/frontend/src/app/components/tableRow/TableRow.tsx @@ -4,18 +4,17 @@ import { TableRowProps, } from "@mui/material"; import { styled } from "@mui/material-pigment-css"; -import style from "@styles/style.module.scss"; interface ITableRow extends TableRowProps { columns: string[]; } -const StyledMuiTableRow = styled(MuiTableRow)({ +const StyledMuiTableRow = styled(MuiTableRow)(({ theme }) => ({ "&:last-child td, &:last-child th": { border: 0 }, "&:nth-of-type(odd)": { - backgroundColor: style["basic-background"], + backgroundColor: theme.palette.background.default, }, -}); +})); export default function TableRow({ columns, ...props }: ITableRow) { return ( diff --git a/frontend/src/app/components/textField/TextField.tsx b/frontend/src/app/components/textField/TextField.tsx index 401cc7c..a71e29f 100644 --- a/frontend/src/app/components/textField/TextField.tsx +++ b/frontend/src/app/components/textField/TextField.tsx @@ -1,15 +1,14 @@ import { TextField as MuiTextField, TextFieldProps } from "@mui/material"; import { styled } from "@mui/material-pigment-css"; -import style from "@styles/style.module.scss"; import { ChangeEvent } from "react"; interface ITextField extends Omit { onChange: (value: string) => void; } -const StyledMuiTextField = styled(MuiTextField)({ - borderRadius: style["border-radius-sm"], -}); +const StyledMuiTextField = styled(MuiTextField)(({ theme }) => ({ + borderRadius: theme.customProperties.borderRadius.md, +})); export default function TextField({ onChange, value, ...props }: ITextField) { return ( diff --git a/frontend/src/app/components/typography/Typography.tsx b/frontend/src/app/components/typography/Typography.tsx deleted file mode 100644 index 5d2da7f..0000000 --- a/frontend/src/app/components/typography/Typography.tsx +++ /dev/null @@ -1,161 +0,0 @@ -import classnames from "classnames"; -import { ReactNode } from "react"; -import "./typography.scss"; - -interface ITypography { - children: ReactNode; - className?: string; - as?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "span"; -} - -function Heading1({ children, className, as: Component = "h1" }: ITypography) { - return ( - - {children} - - ); -} - -function Heading2({ children, className, as: Component = "h2" }: ITypography) { - return ( - - {children} - - ); -} - -function Heading3({ children, className, as: Component = "h3" }: ITypography) { - return ( - - {children} - - ); -} - -function Heading4({ children, className, as: Component = "h4" }: ITypography) { - return ( - - {children} - - ); -} - -function Heading5({ children, className, as: Component = "h5" }: ITypography) { - return ( - - {children} - - ); -} - -function Heading6({ children, className, as: Component = "h6" }: ITypography) { - return ( - - {children} - - ); -} - -function Caption({ children, className, as: Component = "p" }: ITypography) { - return ( - - {children} - - ); -} - -function Overline({ children, className, as: Component = "p" }: ITypography) { - return ( - - {children} - - ); -} - -function Subtitle1({ children, className, as: Component = "p" }: ITypography) { - return ( - - {children} - - ); -} - -function Subtitle2({ children, className, as: Component = "p" }: ITypography) { - return ( - - {children} - - ); -} - -function Body1({ children, className, as: Component = "p" }: ITypography) { - return ( - - {children} - - ); -} - -function Body2({ children, className, as: Component = "p" }: ITypography) { - return ( - - {children} - - ); -} - -function ButtonSmall({ - children, - className, - as: Component = "span", -}: ITypography) { - return ( - - {children} - - ); -} - -function ButtonMedium({ - children, - className, - as: Component = "span", -}: ITypography) { - return ( - - {children} - - ); -} - -function ButtonLarge({ - children, - className, - as: Component = "span", -}: ITypography) { - return ( - - {children} - - ); -} - -const Typography = { - Heading1, - Heading2, - Heading3, - Heading4, - Heading5, - Heading6, - Caption, - Overline, - Subtitle1, - Subtitle2, - Body1, - Body2, - ButtonSmall, - ButtonMedium, - ButtonLarge, -}; - -export default Typography; diff --git a/frontend/src/app/components/typography/typography.scss b/frontend/src/app/components/typography/typography.scss deleted file mode 100644 index f7c3eb3..0000000 --- a/frontend/src/app/components/typography/typography.scss +++ /dev/null @@ -1,110 +0,0 @@ -@use "../../../styles/variables" as v; - -.typography { - &__heading1 { - font-size: v.get-font-size(xtl); - line-height: v.get-line-height(xxl); - font-weight: v.get-font-weight(semi-bold); - letter-spacing: v.get-letter-spacing(xs); - color: v.get-color(basic, text); - } - - &__heading2 { - font-size: v.get-font-size(xxl); - line-height: v.get-line-height(xl); - font-weight: v.get-font-weight(bold); - letter-spacing: v.get-letter-spacing(sm); - color: v.get-color(basic, text); - } - - &__heading3 { - font-size: v.get-font-size(xl); - line-height: v.get-line-height(lg); - font-weight: v.get-font-weight(bold); - color: v.get-color(basic, text); - } - - &__heading4 { - font-size: v.get-font-size(lg); - line-height: v.get-line-height(md); - font-weight: v.get-font-weight(bold); - letter-spacing: v.get-letter-spacing(lg); - color: v.get-color(basic, text); - } - - &__heading5 { - font-size: v.get-font-size(md); - line-height: v.get-line-height(sm); - font-weight: v.get-font-weight(semi-bold); - color: v.get-color(basic, text); - } - - &__heading6 { - font-size: v.get-font-size(sm); - line-height: v.get-line-height(xs); - font-weight: v.get-font-weight(medium); - letter-spacing: v.get-letter-spacing(md); - color: v.get-color(basic, text); - } - - &__subtitle1 { - font-size: v.get-font-size(xs); - line-height: v.get-line-height(xs); - font-weight: v.get-font-weight(medium); - letter-spacing: v.get-letter-spacing(lg); - } - - &__subtitle2 { - font-size: v.get-font-size(xxs); - line-height: v.get-line-height(xxs); - font-weight: v.get-font-weight(medium); - letter-spacing: v.get-letter-spacing(md); - } - - &__body1 { - font-size: v.get-font-size(xs); - line-height: v.get-line-height(xs); - font-weight: v.get-font-weight(regular); - letter-spacing: v.get-letter-spacing(lg); - } - - &__body2 { - font-size: v.get-font-size(xxs); - line-height: v.get-line-height(xxs); - font-weight: v.get-font-weight(regular); - letter-spacing: v.get-letter-spacing(md); - } - - &__caption { - font-size: v.get-font-size(xts); - line-height: v.get-line-height(xxs); - font-weight: v.get-font-weight(regular); - letter-spacing: v.get-letter-spacing(xl); - } - - &__overline { - font-size: v.get-font-size(xts); - line-height: v.get-line-height(xxs); - font-weight: v.get-font-weight(regular); - letter-spacing: v.get-letter-spacing(xxl); - text-transform: uppercase; - } - - &__button-small { - font-size: v.get-font-size(xts); - line-height: v.get-line-height(xs); - font-weight: v.get-font-weight(semi-bold); - } - - &__button-medium { - font-size: v.get-font-size(xxs); - line-height: v.get-line-height(xs); - font-weight: v.get-font-weight(semi-bold); - } - - &__button-large { - font-size: v.get-font-size(xs); - line-height: v.get-line-height(xs); - font-weight: v.get-font-weight(semi-bold); - } -} diff --git a/frontend/src/app/components/uikit/uikitBlock/UikitBlock.tsx b/frontend/src/app/components/uikit/uikitBlock/UikitBlock.tsx index b8feda2..aabe4e4 100644 --- a/frontend/src/app/components/uikit/uikitBlock/UikitBlock.tsx +++ b/frontend/src/app/components/uikit/uikitBlock/UikitBlock.tsx @@ -1,7 +1,6 @@ import { ReactNode } from "react"; import { Highlight, themes } from "prism-react-renderer"; -import "./uikit-block.scss"; -import Typography from "@components/typography/Typography"; +import Typography from "@mui/material/Typography"; import Button from "@components/button/Button"; import { toast } from "react-toastify"; import { useTranslation } from "react-i18next"; @@ -27,13 +26,29 @@ export default function UikitBlock({ }; return ( -
- {title} +
({ + display: "flex", + flexDirection: "column", + gap: theme.spacing(1), + })} + > + {title} {children} {codeBlock && ( {({ style, tokens, getLineProps, getTokenProps }) => ( -
+            
 ({
+                borderRadius: theme.customProperties.borderRadius.sm,
+                padding: theme.spacing(2),
+                position: "relative",
+              })}
+            >
               {tokens.map((line, i) => (
                 
{line.map((token, key) => ( @@ -42,7 +57,13 @@ export default function UikitBlock({
))} -
+
({ + top: theme.spacing(1), + right: theme.spacing(1), + position: "absolute", + })} + > -
+
-
+
); diff --git a/frontend/src/app/containers/cookieConsent/cookieBanner/cookie-banner.module.css b/frontend/src/app/containers/cookieConsent/cookieBanner/cookie-banner.module.css new file mode 100644 index 0000000..5390453 --- /dev/null +++ b/frontend/src/app/containers/cookieConsent/cookieBanner/cookie-banner.module.css @@ -0,0 +1,24 @@ +.cookie-banner { + width: 100%; + position: fixed; +} + +.container { + position: relative; + left: 50%; + width: 80%; + transform: translateX(-50%); + display: flex; + justify-content: space-between; +} + +.actions { + display: flex; + align-items: center; +} + +.link { + display: flex; + justify-content: center; + white-space: nowrap; +} diff --git a/frontend/src/app/containers/cookieConsent/cookieBanner/cookie-banner.scss b/frontend/src/app/containers/cookieConsent/cookieBanner/cookie-banner.scss deleted file mode 100644 index bd2c254..0000000 --- a/frontend/src/app/containers/cookieConsent/cookieBanner/cookie-banner.scss +++ /dev/null @@ -1,75 +0,0 @@ -@use "../../../../styles/variables" as v; - -.cookie-banner { - width: 100%; - position: fixed; - bottom: v.get-spacing(md); - - &__container { - position: relative; - left: 50%; - width: 80%; - transform: translateX(-50%); - z-index: v.get-z(100); - padding: v.get-spacing(md); - gap: v.get-spacing(xxl); - display: flex; - justify-content: space-between; - background-color: v.get-color(basic, brightest); - border: 1px solid v.get-color(stone, light); - box-shadow: 0 0 10px -6px v.get-color(basic, darkest); - - @media (max-width: (v.get-media(xxs) - 1)) { - width: 90%; - } - - @media (max-width: (v.get-media(md) - 1)) { - flex-direction: column; - gap: v.get-spacing(lg); - padding: v.get-spacing(lg) v.get-spacing(md); - } - } - - &__description { - display: flex; - align-items: center; - } - - &__actions { - display: flex; - align-items: center; - gap: v.get-spacing(sm); - - @media (max-width: (v.get-media(lg) - 1)) { - flex-direction: column; - } - - &-link { - display: flex; - justify-content: center; - white-space: nowrap; - margin-top: v.get-spacing(xxs); - - @media (min-width: v.get-media(lg)) { - margin-top: 0; - margin-right: v.get-spacing(md); - } - } - - &-buttons { - display: flex; - white-space: nowrap; - gap: v.get-spacing(md); - - @media (max-width: (v.get-media(xs) - 1)) { - width: 100%; - flex-direction: column; - gap: v.get-spacing(xs); - } - - > * { - flex: 1; - } - } - } -} diff --git a/frontend/src/app/containers/cookieConsent/cookieModal/CookieModal.tsx b/frontend/src/app/containers/cookieConsent/cookieModal/CookieModal.tsx index 201c5d6..89a3dd6 100644 --- a/frontend/src/app/containers/cookieConsent/cookieModal/CookieModal.tsx +++ b/frontend/src/app/containers/cookieConsent/cookieModal/CookieModal.tsx @@ -7,7 +7,7 @@ import Link from "@components/link/Link"; import Switch from "@components/switch/Switch"; import Table from "@components/table/Table"; import TableRow from "@components/tableRow/TableRow"; -import Typography from "@components/typography/Typography"; +import Typography from "@mui/material/Typography"; import ICookieSection from "@containers/cookieConsent/interfaces/ICookieSection"; import CloseIcon from "@icons/CloseIcon"; import { @@ -68,34 +68,32 @@ export default function CookieModal({
- - {t("cookie_modal__title")} - + {t("cookie_modal__title")}
- + {t("cookie_modal__description_1")} - - + + {t("cookie_modal__description_2")} - + - + {t("cookie_consent__learn_more")} - +
- + {t("cookie_modal__description_3")} - +
{cookieTypes.map((cookieType, index) => ( @@ -105,9 +103,9 @@ export default function CookieModal({ onChange={handleExpand(index)} > - + {t(cookieType.title)} - + {cookieType.description.map((description, index) => ( - + {t(description)} - + ))} {cookieType.cookies && (
diff --git a/frontend/src/app/containers/debugBanner/DebugBanner.tsx b/frontend/src/app/containers/debugBanner/DebugBanner.tsx index 88f378e..6598590 100644 --- a/frontend/src/app/containers/debugBanner/DebugBanner.tsx +++ b/frontend/src/app/containers/debugBanner/DebugBanner.tsx @@ -5,7 +5,7 @@ import classNames from "classnames"; import { useState } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; -import "./debug-banner.scss"; +import classes from "./debug-banner.module.css"; const HIDE_BANNER_UNTIL_KEY = "hideBannerUntil"; const FOUR_HOURS = 4 * 60 * 60 * 1000; @@ -42,17 +42,20 @@ export default function DebugBanner() { } return ( -
+
({ + zIndex: theme.zIndex.debugBanner, + })} + className={classNames(classes["content"], { + [classes["local"]]: __ENV__ === "local", + [classes["dev"]]: __ENV__ === "dev", + [classes["qa"]]: __ENV__ === "qa", + [classes["uat"]]: __ENV__ === "uat", + [classes["staging"]]: __ENV__ === "staging", })} > -
+
{pages.map((page, i) => ( diff --git a/frontend/src/app/containers/debugBanner/debug-banner.module.css b/frontend/src/app/containers/debugBanner/debug-banner.module.css new file mode 100644 index 0000000..df5427b --- /dev/null +++ b/frontend/src/app/containers/debugBanner/debug-banner.module.css @@ -0,0 +1,31 @@ +.container { + position: fixed; + width: 100%; + bottom: 0; +} + +.content { + width: 100%; + display: flex; + justify-content: space-between; +} + +.local { + background-color: #d4e157; +} + +.dev { + background-color: #42a5f5; +} + +.qa { + background-color: #ffca28; +} + +.uat { + background-color: #7e57c2; +} + +.staging { + background-color: #8d6e63; +} diff --git a/frontend/src/app/containers/debugBanner/debug-banner.scss b/frontend/src/app/containers/debugBanner/debug-banner.scss deleted file mode 100644 index 23cbc7c..0000000 --- a/frontend/src/app/containers/debugBanner/debug-banner.scss +++ /dev/null @@ -1,36 +0,0 @@ -@use "../../../styles/variables" as v; - -/* stylelint-disable color-no-hex */ -.debug-banner { - width: 100%; - display: flex; - justify-content: space-between; - gap: v.get-spacing(xs); - - &__container { - position: fixed; - width: 100%; - bottom: 0; - z-index: v.get-z(100); - } - - &__local { - background-color: #d4e157; - } - - &__dev { - background-color: #42a5f5; - } - - &__qa { - background-color: #ffca28; - } - - &__uat { - background-color: #7e57c2; - } - - &__staging { - background-color: #8d6e63; - } -} diff --git a/frontend/src/app/enums/EPermission.ts b/frontend/src/app/enums/EPermission.ts index 69e1f46..8e07d48 100644 --- a/frontend/src/app/enums/EPermission.ts +++ b/frontend/src/app/enums/EPermission.ts @@ -1,5 +1,6 @@ const enum EPermission { HomeRead = "HomeRead", + DashboardRead = "DashboardRead", UikitRead = "UikitRead", } diff --git a/frontend/src/app/icons/AddRounded.tsx b/frontend/src/app/icons/AddRounded.tsx index ea5395c..75454b2 100644 --- a/frontend/src/app/icons/AddRounded.tsx +++ b/frontend/src/app/icons/AddRounded.tsx @@ -1,9 +1,7 @@ -import style from "@styles/style.module.scss"; import IIcon from "./IIcon"; export default function AddRounded({ className, - color = style["basic-brightest"], width = 24, height = 24, alt = "Add Rounded", @@ -20,7 +18,9 @@ export default function AddRounded({ {alt} ({ + fill: theme.palette.common.white, + })} /> ); diff --git a/frontend/src/app/icons/CaretIcon.tsx b/frontend/src/app/icons/CaretIcon.tsx index 482297f..2abf125 100644 --- a/frontend/src/app/icons/CaretIcon.tsx +++ b/frontend/src/app/icons/CaretIcon.tsx @@ -1,9 +1,7 @@ -import style from "@styles/style.module.scss"; import IIcon from "./IIcon"; export default function CaretIcon({ className, - color = style["stone-dark"], width = 24, height = 24, alt = "Caret Icon", @@ -18,7 +16,12 @@ export default function CaretIcon({ xmlns="http://www.w3.org/2000/svg" > {alt} - + ({ + fill: theme.palette.grey[800], + })} + /> ); } diff --git a/frontend/src/app/icons/CloseIcon.tsx b/frontend/src/app/icons/CloseIcon.tsx index 73ec147..f6fd101 100644 --- a/frontend/src/app/icons/CloseIcon.tsx +++ b/frontend/src/app/icons/CloseIcon.tsx @@ -1,9 +1,7 @@ -import style from "@styles/style.module.scss"; import IIcon from "./IIcon"; export default function CloseIcon({ className, - color = style["stone-dark"], width = 24, height = 24, alt = "Close Icon", @@ -20,7 +18,9 @@ export default function CloseIcon({ {alt} ({ + fill: theme.palette.grey[800], + })} /> ); diff --git a/frontend/src/app/icons/CookieIcon.tsx b/frontend/src/app/icons/CookieIcon.tsx index 1ce77c5..e5258ca 100644 --- a/frontend/src/app/icons/CookieIcon.tsx +++ b/frontend/src/app/icons/CookieIcon.tsx @@ -1,9 +1,7 @@ -import style from "@styles/style.module.scss"; import IIcon from "./IIcon"; export default function CookieIcon({ className, - color = style["primary-main"], width = 24, height = 25, alt = "Cookie Icon", @@ -14,7 +12,9 @@ export default function CookieIcon({ width={width} height={height} viewBox="0 0 24 25" - fill={color} + sx={(theme) => ({ + fill: theme.palette.primary.main, + })} xmlns="http://www.w3.org/2000/svg" > {alt} diff --git a/frontend/src/app/icons/ExternalLinkOutlined.tsx b/frontend/src/app/icons/ExternalLinkOutlined.tsx index b916d10..1f9076a 100644 --- a/frontend/src/app/icons/ExternalLinkOutlined.tsx +++ b/frontend/src/app/icons/ExternalLinkOutlined.tsx @@ -1,9 +1,7 @@ -import style from "@styles/style.module.scss"; import IIcon from "./IIcon"; export default function ExternalLinkOutlined({ className, - color = style["primary-main"], width = 16, height = 16, alt = "External Link Outlined", @@ -20,7 +18,9 @@ export default function ExternalLinkOutlined({ {alt} ({ + fill: theme.palette.primary.main, + })} /> ); diff --git a/frontend/src/app/icons/LogoutRounded.tsx b/frontend/src/app/icons/LogoutRounded.tsx index 156d04c..796094b 100644 --- a/frontend/src/app/icons/LogoutRounded.tsx +++ b/frontend/src/app/icons/LogoutRounded.tsx @@ -1,9 +1,7 @@ -import style from "@styles/style.module.scss"; import IIcon from "./IIcon"; export default function LogoutRounded({ className, - color = style["basic-brightest"], width = 24, height = 24, alt = "Logout Rounded", @@ -20,11 +18,15 @@ export default function LogoutRounded({ {alt} ({ + fill: theme.palette.common.white, + })} /> ({ + fill: theme.palette.common.white, + })} /> ); diff --git a/frontend/src/app/pages/dashbaord/Dashboard.tsx b/frontend/src/app/pages/dashbaord/Dashboard.tsx new file mode 100644 index 0000000..a968fe7 --- /dev/null +++ b/frontend/src/app/pages/dashbaord/Dashboard.tsx @@ -0,0 +1,7 @@ +import Layout from "@components/layout/Layout"; + +function Home() { + return DASHBOARD; +} + +export default Home; diff --git a/frontend/src/app/pages/dashbaord/dashboard.route.tsx b/frontend/src/app/pages/dashbaord/dashboard.route.tsx new file mode 100755 index 0000000..5bb90e7 --- /dev/null +++ b/frontend/src/app/pages/dashbaord/dashboard.route.tsx @@ -0,0 +1,15 @@ +import en from "@assets/locales/en.json"; +import fr from "@assets/locales/fr.json"; +import { IRoute } from "@routes/interfaces/IRoute"; +import { lazy } from "react"; + +const dashboardRoute: IRoute = { + name: "dashboard__page_title", + component: lazy(() => import("./withAuthDashboard")), + paths: { + en: `/${en.locale__key}/${en.routes__dashboard}`, + fr: `/${fr.locale__key}/${fr.routes__dashboard}`, + }, +}; + +export default dashboardRoute; diff --git a/frontend/src/app/pages/dashbaord/withAuthDashboard.tsx b/frontend/src/app/pages/dashbaord/withAuthDashboard.tsx new file mode 100644 index 0000000..4cdd944 --- /dev/null +++ b/frontend/src/app/pages/dashbaord/withAuthDashboard.tsx @@ -0,0 +1,7 @@ +import EPermission from "@enums/EPermission"; +import withAuth from "@hocs/withAuth"; +import Dashboard from "@pages/dashbaord/Dashboard"; + +const withAuthDashboard = withAuth(Dashboard, EPermission.DashboardRead); + +export default withAuthDashboard; diff --git a/frontend/src/app/pages/home/Home.tsx b/frontend/src/app/pages/home/Home.tsx index eade898..a968ac9 100644 --- a/frontend/src/app/pages/home/Home.tsx +++ b/frontend/src/app/pages/home/Home.tsx @@ -2,7 +2,7 @@ import logo from "@assets/images/logo.png"; import reactLogo from "@assets/react.svg"; import Button from "@components/button/Button"; import Layout from "@components/layout/Layout"; -import Typography from "@components/typography/Typography"; +import Typography from "@mui/material/Typography"; import AddRounded from "@icons/AddRounded"; import LogoutRounded from "@icons/LogoutRounded"; import loginRoute from "@pages/login/login.route"; @@ -56,14 +56,17 @@ function Home() {
- {`${t("home__welcome")} ${user?.firstName} ${user?.lastName}`} + {`${t("home__welcome")} ${user?.firstName} ${user?.lastName}`} - + VERSION: {__VERSION_NUMBER__} - - + + API_URL: {__API_URL__} - +
diff --git a/frontend/src/app/pages/login/Login.tsx b/frontend/src/app/pages/login/Login.tsx index c9921fc..0837d47 100644 --- a/frontend/src/app/pages/login/Login.tsx +++ b/frontend/src/app/pages/login/Login.tsx @@ -1,13 +1,14 @@ -import Layout from "@components/layout/Layout"; import Link from "@components/link/Link"; import Loading from "@components/loading/Loading"; -import Typography from "@components/typography/Typography"; +import Typography from "@mui/material/Typography"; import LoginForm from "@forms/auth/loginForm/LoginForm"; import findRoute from "@routes/findRoute"; import i18n from "@shared/i18n"; import { useCallback, useState } from "react"; import { useTranslation } from "react-i18next"; import { useNavigate } from "react-router-dom"; +import Layout from "@components/layout/Layout"; +// import Container from "@mui/material-pigment-css/Container"; export default function Login() { const { t } = useTranslation(); @@ -22,29 +23,30 @@ export default function Login() { return ( <> +
- + {t("login__page_title")} - - + + User: oliviaw - - + + Password: oliviawpass - + - {t("login__more_user")} + {t("login__more_user")}
- {t("locale__switch")} + {t("locale__switch")} - + {`${t("global__version")}: ${__VERSION_NUMBER__}`} - +
diff --git a/frontend/src/app/pages/notFound/NotFound.tsx b/frontend/src/app/pages/notFound/NotFound.tsx index 1ba40f0..0da0742 100644 --- a/frontend/src/app/pages/notFound/NotFound.tsx +++ b/frontend/src/app/pages/notFound/NotFound.tsx @@ -1,26 +1,31 @@ import Button from "@components/button/Button"; -import Typography from "@components/typography/Typography"; +import Typography from "@mui/material/Typography"; import homeRoute from "@pages/home/home.route"; import { useTranslation } from "react-i18next"; import { useNavigate } from "react-router-dom"; -import "./not-found.scss"; +import classes from "./not-found.module.css"; export default function NotFound() { const [t] = useTranslation(); const navigate = useNavigate(); return ( -
-
- +
({ + padding: theme.spacing(4), + })} + className={classes["not-found"]} + > +
+ {t("not_found__title")} - - + + {t("not_found__description")} - - + + {t("not_found__description_secondary")} - +