From 81e46f6573153e989123c0945159a72674d1e557 Mon Sep 17 00:00:00 2001 From: Maxime Lalo Date: Tue, 23 Jul 2024 18:05:35 +0200 Subject: [PATCH] :sparkles: MEP-PPD --- package-lock.json | 998 ++++++++++++------ package.json | 2 + src/front/Assets/logo.svg | 34 - .../BlockList/classes.module.scss | 6 +- .../DesignSystem/BlockList/index.tsx | 4 +- .../DesignSystem/Button/classes.module.scss | 715 +++++++++++-- .../Components/DesignSystem/Button/index.tsx | 61 +- .../DesignSystem/CheckBox/classes.module.scss | 4 +- .../DesignSystem/CheckBox/index.tsx | 4 +- .../DepositDocument/classes.module.scss | 16 +- .../DesignSystem/DepositDocument/index.tsx | 47 +- .../DepositOtherDocument/classes.module.scss | 12 +- .../DepositOtherDocument/index.tsx | 36 +- .../DepositRib/classes.module.scss | 16 +- .../DesignSystem/DepositRib/index.tsx | 21 +- .../DocumentNotary/classes.module.scss | 16 +- .../Document/DocumentNotary/index.tsx | 6 +- .../DesignSystem/FilePreview/index.tsx | 4 +- .../classes.module.scss | 2 +- .../FolderBoxInformation/classes.module.scss | 2 +- .../FolderBoxInformation/index.tsx | 44 +- .../FolderContainer/classes.module.scss | 4 +- .../DesignSystem/FolderContainer/index.tsx | 4 +- .../FolderList/classes.module.scss | 6 +- .../FolderListContainer/classes.module.scss | 2 +- .../DesignSystem/Form/BaseField.tsx | 5 +- .../Form/DateField/classes.module.scss | 10 +- .../DesignSystem/Form/DateField/index.tsx | 4 +- .../Form/SelectField/classes.module.scss | 22 +- .../DesignSystem/Form/SelectField/index.tsx | 10 +- .../Form/TextField/classes.module.scss | 168 +-- .../DesignSystem/Form/TextField/index.tsx | 60 +- .../Form/TextareaField/classes.module.scss | 123 ++- .../DesignSystem/Form/TextareaField/index.tsx | 50 +- .../BurgerModal/BurgerModalSubmenu/index.tsx | 8 +- .../BurgerModal/classes.module.scss | 4 +- .../Header/HeaderLink/classes.module.scss | 4 +- .../DesignSystem/Header/HeaderLink/index.tsx | 12 +- .../HeaderSubmenu/HeaderSubmenuLink/index.tsx | 8 +- .../Header/HeaderSubmenu/classes.module.scss | 4 +- .../Header/HeaderSubmenu/index.tsx | 8 +- .../DesignSystem/Header/Navigation/index.tsx | 1 + .../Header/NavigationLink/index.tsx | 8 +- .../NotificationModal/classes.module.scss | 16 +- .../Notifications/NotificationModal/index.tsx | 12 +- .../Profile/ProfileModal/classes.module.scss | 4 +- .../DesignSystem/Header/classes.module.scss | 6 +- .../Components/DesignSystem/Header/index.tsx | 8 +- .../DesignSystem/Loader/classes.module.scss | 4 +- .../DesignSystem/LogOutButton/index.tsx | 8 +- .../Modal/Alert/classes.module.scss | 22 - .../DesignSystem/Modal/Alert/index.tsx | 54 - .../Modal/Confirm/classes.module.scss | 22 - .../DesignSystem/Modal/Confirm/index.tsx | 69 -- .../Modal/Elements/Footer/classes.module.scss | 5 - .../Modal/Elements/Footer/index.tsx | 12 - .../Modal/Elements/Header/classes.module.scss | 12 - .../Modal/Elements/Header/index.tsx | 17 - .../Modal/Elements/Loader/classes.module.scss | 13 - .../Modal/Elements/Loader/index.tsx | 20 - .../DesignSystem/Modal/classes.module.scss | 157 +-- .../Components/DesignSystem/Modal/index.tsx | 148 +-- .../MultiSelect/classes.module.scss | 10 +- .../DesignSystem/MultiSelect/index.tsx | 11 +- .../DesignSystem/MultiSelect/styles.tsx | 4 +- .../DesignSystem/Newsletter/index.tsx | 14 +- .../ProgressBar/classes.module.scss | 4 +- .../QuantityProgressBar/ProgressBar/index.tsx | 4 +- .../QuantityProgressBar/index.tsx | 4 +- .../DesignSystem/RadioBox/classes.module.scss | 4 +- .../DesignSystem/RadioBox/index.tsx | 4 +- .../SearchBar/classes.module.scss | 8 +- .../DesignSystem/SearchBar/index.tsx | 4 +- .../DesignSystem/Switch/classes.module.scss | 6 +- .../Components/DesignSystem/Switch/index.tsx | 4 +- .../ToastElement/classes.module.scss | 27 +- .../ToastsContainer/ToastElement/index.tsx | 23 +- .../ToastsContainer/classes.module.scss | 1 + .../ToolTip/Content/classes.module.scss | 4 +- .../Components/DesignSystem/ToolTip/index.tsx | 8 +- .../Typography/classes.module.scss | 303 ++++-- .../DesignSystem/Typography/index.tsx | 196 +++- .../UserFolder/DocumentList/index.tsx | 6 +- .../UserFolderHeader/classes.module.scss | 2 +- .../UserFolder/UserFolderHeader/index.tsx | 26 +- .../UserFolder/classes.module.scss | 2 +- .../DesignSystem/UserFolder/index.tsx | 6 +- .../Components/DesignSystem/Version/index.tsx | 4 +- .../WarningBadge/classes.module.scss | 2 +- .../Components/Elements/BackArrow/index.tsx | 12 +- .../Components/Elements/Icons/Check/index.tsx | 4 +- .../Elements/MessageBox/classes.module.scss | 4 +- .../Components/Elements/MessageBox/index.tsx | 4 +- .../Components/Elements/NavTab/index.tsx | 4 +- .../Elements/NumberPicker/classes.module.scss | 32 +- .../Elements/NumberPicker/index.tsx | 4 +- .../classes.module.scss | 2 +- .../CollaboratorListContainer/index.tsx | 2 +- .../classes.module.scss | 8 +- .../DefaultCollaboratorDashboard/index.tsx | 10 +- .../DeedTypeListContainer/classes.module.scss | 2 +- .../classes.module.scss | 8 +- .../DefaultDeedTypeDashboard/index.tsx | 10 +- .../classes.module.scss | 2 +- .../classes.module.scss | 8 +- .../DefaultDocumentTypesDashboard/index.tsx | 10 +- .../DefaultDoubleSidePage/classes.module.scss | 80 +- .../DefaultDoubleSidePage/index.tsx | 70 +- .../classes.module.scss | 34 +- .../DefaultNotaryDashboard/index.tsx | 20 +- .../OfficeListContainer/classes.module.scss | 2 +- .../classes.module.scss | 8 +- .../DefaultOfficeDashboard/index.tsx | 10 +- .../RoleListContainer/classes.module.scss | 2 +- .../DefaultRoleDashboard/classes.module.scss | 8 +- .../DefaultRoleDashboard/index.tsx | 10 +- .../DefaultTemplate/classes.module.scss | 10 +- .../UserListContainer/classes.module.scss | 2 +- .../DefaultUserDashboard/classes.module.scss | 8 +- .../DefaultUserDashboard/index.tsx | 10 +- .../ClientDashboard/classes.module.scss | 4 +- .../Layouts/ClientDashboard/index.tsx | 34 +- .../Layouts/ClientDashboard/index2.tsx | 26 +- .../classes.module.scss | 6 +- .../CollaboratorInformations/index.tsx | 42 +- .../Layouts/Collaborators/index.tsx | 6 +- .../DeedTypes/DeedTypesCreate/index.tsx | 12 +- .../Layouts/DeedTypes/DeedTypesEdit/index.tsx | 12 +- .../DeedTypesInformations/classes.module.scss | 4 +- .../DeedTypes/DeedTypesInformations/index.tsx | 27 +- .../Components/Layouts/DeedTypes/index.tsx | 6 +- .../DocumentTypesCreate/index.tsx | 10 +- .../DocumentTypes/DocumentTypesEdit/index.tsx | 10 +- .../classes.module.scss | 5 +- .../DocumentTypesInformations/index.tsx | 20 +- .../Layouts/DocumentTypes/index.tsx | 6 +- .../Folder/AddClientToFolder/index.tsx | 18 +- .../AskDocuments/ParameterDocuments/index.tsx | 10 +- .../Layouts/Folder/AskDocuments/index.tsx | 17 +- .../Folder/CreateCustomerNote/index.tsx | 10 +- .../Folder/CreateFolder/classes.module.scss | 52 +- .../Layouts/Folder/CreateFolder/index.tsx | 416 +++----- .../ClientSection/classes.module.scss | 25 - .../FolderInformation/ClientSection/index.tsx | 98 -- .../FolderInformation/classes.module.scss | 88 +- .../Folder/FolderInformation/index.tsx | 598 +++-------- .../Layouts/Folder/UpdateClient/index.tsx | 22 +- .../Folder/UpdateCustomerNote/index.tsx | 10 +- .../classes.module.scss | 57 +- .../UpdateFolderCollaborators/index.tsx | 279 +++-- .../classes.module.scss | 56 - .../Folder/UpdateFolderDescription/index.tsx | 88 -- .../UpdateFolderMetadata/classes.module.scss | 48 +- .../Folder/UpdateFolderMetadata/index.tsx | 188 ++-- .../OcrResult/classes.module.scss | 58 +- .../Folder/ViewDocuments/OcrResult/index.tsx | 22 +- .../Layouts/Folder/ViewDocuments/index.tsx | 35 +- .../Layouts/Folder/classes.module.scss | 99 +- src/front/Components/Layouts/Folder/index.tsx | 155 ++- .../ClientSection/classes.module.scss | 25 - .../FolderInformation/ClientSection/index.tsx | 74 -- .../FolderInformation/index.tsx | 304 +----- .../UpdateFolderMetadata/index.tsx | 10 +- .../Layouts/FolderArchived/index.tsx | 6 +- src/front/Components/Layouts/Home/index.tsx | 4 +- .../Layouts/Login/classes.module.scss | 21 - src/front/Components/Layouts/Login/index.tsx | 337 +++--- .../Layouts/LoginCallback/index.tsx | 12 +- .../Layouts/LoginCallbackCustomer/index.tsx | 12 +- .../PasswordForgotten/classes.module.scss | 29 - .../LoginCustomer/PasswordForgotten/index.tsx | 43 - .../StepEmail/classes.module.scss | 49 - .../Layouts/LoginCustomer/StepEmail/index.tsx | 62 -- .../StepNewPassword/classes.module.scss | 29 - .../LoginCustomer/StepNewPassword/index.tsx | 43 - .../StepPassword/classes.module.scss | 30 - .../LoginCustomer/StepPassword/index.tsx | 70 -- .../StepTotp/classes.module.scss | 43 - .../Layouts/LoginCustomer/StepTotp/index.tsx | 76 -- .../Layouts/LoginCustomer/classes.module.scss | 4 - .../Layouts/LoginCustomer/france-connect.svg | 9 - .../Layouts/LoginCustomer/index.tsx | 252 ----- .../LoginCustomer/landing-connect.jpeg | Bin 2638565 -> 0 bytes .../Layouts/LoginHome/classes.module.scss | 23 - .../Components/Layouts/LoginHome/index.tsx | 47 - .../Components/Layouts/MyAccount/index.tsx | 8 +- .../OfficeInformations/classes.module.scss | 12 +- .../Offices/OfficeInformations/index.tsx | 74 +- .../Components/Layouts/Offices/index.tsx | 6 +- .../Components/Layouts/PageNotFound/index.tsx | 6 +- src/front/Components/Layouts/Rib/index.tsx | 16 +- .../Layouts/Roles/RolesCreate/index.tsx | 12 +- .../Layouts/Roles/RolesInformations/index.tsx | 12 +- src/front/Components/Layouts/Roles/index.tsx | 6 +- .../Components/Layouts/SelectFolder/index.tsx | 4 +- .../SubscribeCheckoutTicket/index.tsx | 41 +- .../SubscribeIllimityComponent/index.tsx | 34 +- .../SubscribeStandardComponent/index.tsx | 30 +- .../SubscriptionClientInfos/index.tsx | 10 +- .../SubscriptionManageCollaborators/index.tsx | 17 +- .../SubscriptionError/classes.module.scss | 2 +- .../Subscription/SubscriptionError/index.tsx | 4 +- .../SubscriptionFacturation/index.tsx | 62 +- .../Subscription/SubscriptionInvite/index.tsx | 16 +- .../Subscription/SubscriptionNew/index.tsx | 32 +- .../SubscriptionSuccess/classes.module.scss | 2 +- .../SubscriptionSuccess/index.tsx | 4 +- .../UserInformations/classes.module.scss | 6 +- .../Layouts/Users/UserInformations/index.tsx | 36 +- src/front/Components/Layouts/Users/index.tsx | 6 +- .../Components/Materials/Header/index.tsx | 5 +- src/front/Config/Module/development.json | 9 +- src/front/Config/Module/preprod.json | 9 +- src/front/Config/Module/production.json | 9 +- src/front/Config/Module/staging.json | 9 +- src/front/Hooks/useOpenable.ts | 34 +- src/front/Stores/Toasts.tsx | 2 + src/front/Themes/constants.scss | 164 ++- src/front/Themes/fonts.scss | 1 + src/front/Themes/modes.scss | 4 +- src/front/Themes/variables.scss | 620 ++++++++++- src/pages/customer-login.tsx | 4 +- src/pages/customers/login.tsx | 4 +- .../folders/[folderUid]/edit/description.tsx | 13 - src/pages/index.tsx | 4 +- 225 files changed, 4779 insertions(+), 5138 deletions(-) delete mode 100644 src/front/Assets/logo.svg delete mode 100644 src/front/Components/DesignSystem/Modal/Alert/classes.module.scss delete mode 100644 src/front/Components/DesignSystem/Modal/Alert/index.tsx delete mode 100644 src/front/Components/DesignSystem/Modal/Confirm/classes.module.scss delete mode 100644 src/front/Components/DesignSystem/Modal/Confirm/index.tsx delete mode 100644 src/front/Components/DesignSystem/Modal/Elements/Footer/classes.module.scss delete mode 100644 src/front/Components/DesignSystem/Modal/Elements/Footer/index.tsx delete mode 100644 src/front/Components/DesignSystem/Modal/Elements/Header/classes.module.scss delete mode 100644 src/front/Components/DesignSystem/Modal/Elements/Header/index.tsx delete mode 100644 src/front/Components/DesignSystem/Modal/Elements/Loader/classes.module.scss delete mode 100644 src/front/Components/DesignSystem/Modal/Elements/Loader/index.tsx delete mode 100644 src/front/Components/Layouts/Folder/FolderInformation/ClientSection/classes.module.scss delete mode 100644 src/front/Components/Layouts/Folder/FolderInformation/ClientSection/index.tsx delete mode 100644 src/front/Components/Layouts/Folder/UpdateFolderDescription/classes.module.scss delete mode 100644 src/front/Components/Layouts/Folder/UpdateFolderDescription/index.tsx delete mode 100644 src/front/Components/Layouts/FolderArchived/FolderInformation/ClientSection/classes.module.scss delete mode 100644 src/front/Components/Layouts/FolderArchived/FolderInformation/ClientSection/index.tsx delete mode 100644 src/front/Components/Layouts/LoginCustomer/PasswordForgotten/classes.module.scss delete mode 100644 src/front/Components/Layouts/LoginCustomer/PasswordForgotten/index.tsx delete mode 100644 src/front/Components/Layouts/LoginCustomer/StepEmail/classes.module.scss delete mode 100644 src/front/Components/Layouts/LoginCustomer/StepEmail/index.tsx delete mode 100644 src/front/Components/Layouts/LoginCustomer/StepNewPassword/classes.module.scss delete mode 100644 src/front/Components/Layouts/LoginCustomer/StepNewPassword/index.tsx delete mode 100644 src/front/Components/Layouts/LoginCustomer/StepPassword/classes.module.scss delete mode 100644 src/front/Components/Layouts/LoginCustomer/StepPassword/index.tsx delete mode 100644 src/front/Components/Layouts/LoginCustomer/StepTotp/classes.module.scss delete mode 100644 src/front/Components/Layouts/LoginCustomer/StepTotp/index.tsx delete mode 100644 src/front/Components/Layouts/LoginCustomer/classes.module.scss delete mode 100644 src/front/Components/Layouts/LoginCustomer/france-connect.svg delete mode 100644 src/front/Components/Layouts/LoginCustomer/index.tsx delete mode 100644 src/front/Components/Layouts/LoginCustomer/landing-connect.jpeg delete mode 100644 src/front/Components/Layouts/LoginHome/classes.module.scss delete mode 100644 src/front/Components/Layouts/LoginHome/index.tsx delete mode 100644 src/pages/folders/[folderUid]/edit/description.tsx diff --git a/package-lock.json b/package-lock.json index 9f6985c4..cbaf67ac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "@types/node": "18.15.1", "@types/react": "18.0.28", "@types/react-dom": "18.0.11", + "@uidotdev/usehooks": "^2.4.1", "class-validator": "^0.14.0", "classnames": "^2.3.2", "crypto-random-string": "^5.0.0", @@ -23,6 +24,7 @@ "eslint": "8.36.0", "eslint-config-next": "13.2.4", "form-data": "^4.0.0", + "heroicons": "^2.1.5", "jwt-decode": "^3.1.2", "le-coffre-resources": "git@github.com:smart-chain-fr/leCoffre-resources.git#v2.151", "next": "^14.2.3", @@ -43,50 +45,110 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.6.tgz", - "integrity": "sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", "dependencies": { - "@babel/highlight": "^7.24.6", + "@babel/highlight": "^7.24.7", "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.6.tgz", - "integrity": "sha512-a26dmxFJBF62rRO9mmpgrfTLsAuyHk4e1hKTUkD/fcMfynt8gvEKwQPQDVxWhca8dHoDck+55DFt42zV0QMw5g==", + "node_modules/@babel/generator": { + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.9.tgz", + "integrity": "sha512-G8v3jRg+z8IwY1jHFxvCNhOPYPterE4XljNgdGTYfSTtzzwjIswIzIaSPSLs3R7yFuqnqNeay5rjICfqVr+/6A==", "dependencies": { - "@babel/types": "^7.24.6" + "@babel/types": "^7.24.9", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", + "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", + "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "dependencies": { + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.6.tgz", - "integrity": "sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz", - "integrity": "sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.6.tgz", - "integrity": "sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dependencies": { - "@babel/helper-validator-identifier": "^7.24.6", + "@babel/helper-validator-identifier": "^7.24.7", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" @@ -95,74 +157,21 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" + "node_modules/@babel/parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz", + "integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==", + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, "node_modules/@babel/runtime": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.6.tgz", - "integrity": "sha512-Ja18XcETdEl5mzzACGd+DKgaGJzPTCow7EglgwTmHdwokzDFYh/MHua6lU6DV/hjF2IaOJ4oX2nqnjG7RElKOw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.8.tgz", + "integrity": "sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -170,13 +179,46 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/types": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.6.tgz", - "integrity": "sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==", + "node_modules/@babel/template": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", + "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", "dependencies": { - "@babel/helper-string-parser": "^7.24.6", - "@babel/helper-validator-identifier": "^7.24.6", + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.8.tgz", + "integrity": "sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.8", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/parser": "^7.24.8", + "@babel/types": "^7.24.8", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.9.tgz", + "integrity": "sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ==", + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -331,9 +373,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", - "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } @@ -360,6 +402,31 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@eslint/js": { "version": "8.36.0", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.36.0.tgz", @@ -369,26 +436,26 @@ } }, "node_modules/@floating-ui/core": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.2.tgz", - "integrity": "sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==", + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.4.tgz", + "integrity": "sha512-a4IowK4QkXl4SCWTGUR0INAfEOX3wtsYw3rKK5InQEHMGObkR8Xk44qYQD9P4r6HHw0iIfK6GUKECmY8sTkqRA==", "dependencies": { - "@floating-ui/utils": "^0.2.0" + "@floating-ui/utils": "^0.2.4" } }, "node_modules/@floating-ui/dom": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.5.tgz", - "integrity": "sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==", + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.7.tgz", + "integrity": "sha512-wmVfPG5o2xnKDU4jx/m4w5qva9FWHcnZ8BvzEe90D/RpwsJaTAVYPEPdQ8sbr/N8zZTAHlZUTQdqg8ZUbzHmng==", "dependencies": { - "@floating-ui/core": "^1.0.0", - "@floating-ui/utils": "^0.2.0" + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.4" } }, "node_modules/@floating-ui/react-dom": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.0.tgz", - "integrity": "sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.1.tgz", + "integrity": "sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==", "dependencies": { "@floating-ui/dom": "^1.0.0" }, @@ -398,14 +465,14 @@ } }, "node_modules/@floating-ui/utils": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.2.tgz", - "integrity": "sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==" + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.4.tgz", + "integrity": "sha512-dWO2pw8hhi+WrXq1YJy2yCuWoL20PddgGaqTgVe4cOS9Q6qklXCiA1tJEqX6BEwRNSCP84/afac9hd4MS+zEUA==" }, "node_modules/@heroicons/react": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.1.3.tgz", - "integrity": "sha512-fEcPfo4oN345SoqdlCDdSa4ivjaKbk0jTd+oubcgNxnNgAfzysfwWfQUr+51wigiWHQQRiZNd1Ao0M5Y3M2EGg==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.1.5.tgz", + "integrity": "sha512-FuzFN+BsHa+7OxbvAERtgBTNeZpUjgM/MIizfVkSCL2/edriN0Hx/DWRCR//aPYwO5QX/YlgLGXk+E3PcfZwjA==", "peerDependencies": { "react": ">= 16" } @@ -414,6 +481,7 @@ "version": "0.11.14", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", "dependencies": { "@humanwhocodes/object-schema": "^2.0.2", "debug": "^4.3.1", @@ -438,7 +506,51 @@ "node_modules/@humanwhocodes/object-schema": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==" + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead" + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } }, "node_modules/@mui/base": { "version": "5.0.0-beta.40", @@ -472,30 +584,30 @@ } }, "node_modules/@mui/core-downloads-tracker": { - "version": "5.15.19", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.19.tgz", - "integrity": "sha512-tCHSi/Tomez9ERynFhZRvFO6n9ATyrPs+2N80DMDzp6xDVirbBjEwhPcE+x7Lj+nwYw0SqFkOxyvMP0irnm55w==", + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.1.tgz", + "integrity": "sha512-62Jq7ACYi/55Kjkh/nVfEL3F3ytTYTsdB8MGJ9iI+eRQv+Aoem5CPUAzQihUo25qqh1VkVu9/jQn3dFbyrXHgw==", "funding": { "type": "opencollective", "url": "https://opencollective.com/mui-org" } }, "node_modules/@mui/material": { - "version": "5.15.19", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.15.19.tgz", - "integrity": "sha512-lp5xQBbcRuxNtjpWU0BWZgIrv2XLUz4RJ0RqFXBdESIsKoGCQZ6P3wwU5ZPuj5TjssNiKv9AlM+vHopRxZhvVQ==", + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.16.1.tgz", + "integrity": "sha512-BGTgJRb0d/hX9tus5CEb6N/Fo8pE4tYA+s9r4/S0PCrtZ3urCLXlTH4qrAvggQbiF1cYRAbHCkVHoQ+4Pdxl+w==", "dependencies": { "@babel/runtime": "^7.23.9", "@mui/base": "5.0.0-beta.40", - "@mui/core-downloads-tracker": "^5.15.19", - "@mui/system": "^5.15.15", - "@mui/types": "^7.2.14", - "@mui/utils": "^5.15.14", + "@mui/core-downloads-tracker": "^5.16.1", + "@mui/system": "^5.16.1", + "@mui/types": "^7.2.15", + "@mui/utils": "^5.16.1", "@types/react-transition-group": "^4.4.10", "clsx": "^2.1.0", "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" }, "engines": { @@ -525,12 +637,12 @@ } }, "node_modules/@mui/private-theming": { - "version": "5.15.14", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.15.14.tgz", - "integrity": "sha512-UH0EiZckOWcxiXLX3Jbb0K7rC8mxTr9L9l6QhOZxYc4r8FHUkefltV9VDGLrzCaWh30SQiJvAEd7djX3XXY6Xw==", + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.16.1.tgz", + "integrity": "sha512-2EGCKnAlq9vRIFj61jNWNXlKAxXp56577OVvsts7fAqRx+G1y6F+N7Q198SBaz8jYQeGKSz8ZMXK/M3FqjdEyw==", "dependencies": { "@babel/runtime": "^7.23.9", - "@mui/utils": "^5.15.14", + "@mui/utils": "^5.16.1", "prop-types": "^15.8.1" }, "engines": { @@ -551,9 +663,9 @@ } }, "node_modules/@mui/styled-engine": { - "version": "5.15.14", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.15.14.tgz", - "integrity": "sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw==", + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.16.1.tgz", + "integrity": "sha512-JwWUBaYR8HHCFefSeos0z6JoTbu0MnjAuNHu4QoDgPxl2EE70XH38CsKay66Iy0QkNWmGTRXVU2sVFgUOPL/Dw==", "dependencies": { "@babel/runtime": "^7.23.9", "@emotion/cache": "^11.11.0", @@ -582,15 +694,15 @@ } }, "node_modules/@mui/system": { - "version": "5.15.15", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.15.15.tgz", - "integrity": "sha512-aulox6N1dnu5PABsfxVGOZffDVmlxPOVgj56HrUnJE8MCSh8lOvvkd47cebIVQQYAjpwieXQXiDPj5pwM40jTQ==", + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.16.1.tgz", + "integrity": "sha512-VaFcClC+uhvIEzhzcNmh9FRBvrG9IPjsOokhj6U1HPZsFnLzHV7AD7dJcT6LxWoiIZj9Ej0GK+MGh/b8+BtSlQ==", "dependencies": { "@babel/runtime": "^7.23.9", - "@mui/private-theming": "^5.15.14", - "@mui/styled-engine": "^5.15.14", - "@mui/types": "^7.2.14", - "@mui/utils": "^5.15.14", + "@mui/private-theming": "^5.16.1", + "@mui/styled-engine": "^5.16.1", + "@mui/types": "^7.2.15", + "@mui/utils": "^5.16.1", "clsx": "^2.1.0", "csstype": "^3.1.3", "prop-types": "^15.8.1" @@ -621,9 +733,9 @@ } }, "node_modules/@mui/types": { - "version": "7.2.14", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.14.tgz", - "integrity": "sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ==", + "version": "7.2.15", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.15.tgz", + "integrity": "sha512-nbo7yPhtKJkdf9kcVOF8JZHPZTmqXjJ/tI0bdWgHg5tp9AnIN4Y7f7wm9T+0SyGYJk76+GYZ8Q5XaTYAsUHN0Q==", "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0" }, @@ -634,14 +746,14 @@ } }, "node_modules/@mui/utils": { - "version": "5.15.14", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.15.14.tgz", - "integrity": "sha512-0lF/7Hh/ezDv5X7Pry6enMsbYyGKjADzvHyo3Qrc/SSlTsQ1VkbDMbH0m2t3OR5iIVLwMoxwM7yGd+6FCMtTFA==", + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.16.1.tgz", + "integrity": "sha512-4UQzK46tAEYs2xZv79hRiIc3GxZScd00kGPDadNrGztAEZlmSaUY8cb9ITd2xCiTfzsx5AN6DH8aaQ8QEKJQeQ==", "dependencies": { "@babel/runtime": "^7.23.9", - "@types/prop-types": "^15.7.11", + "@types/prop-types": "^15.7.12", "prop-types": "^15.8.1", - "react-is": "^18.2.0" + "react-is": "^18.3.1" }, "engines": { "node": ">=12.0.0" @@ -661,9 +773,9 @@ } }, "node_modules/@next/env": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.3.tgz", - "integrity": "sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==" + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.5.tgz", + "integrity": "sha512-/zZGkrTOsraVfYjGP8uM0p6r0BDT6xWpkjdVbcz66PJVSpwXX3yNiRycxAuDfBKGWBrZBXRuK/YVlkNgxHGwmA==" }, "node_modules/@next/eslint-plugin-next": { "version": "13.2.4", @@ -674,9 +786,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.3.tgz", - "integrity": "sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.5.tgz", + "integrity": "sha512-/9zVxJ+K9lrzSGli1///ujyRfon/ZneeZ+v4ptpiPoOU+GKZnm8Wj8ELWU1Pm7GHltYRBklmXMTUqM/DqQ99FQ==", "cpu": [ "arm64" ], @@ -689,9 +801,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.3.tgz", - "integrity": "sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.5.tgz", + "integrity": "sha512-vXHOPCwfDe9qLDuq7U1OYM2wUY+KQ4Ex6ozwsKxp26BlJ6XXbHleOUldenM67JRyBfVjv371oneEvYd3H2gNSA==", "cpu": [ "x64" ], @@ -704,9 +816,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.3.tgz", - "integrity": "sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.5.tgz", + "integrity": "sha512-vlhB8wI+lj8q1ExFW8lbWutA4M2ZazQNvMWuEDqZcuJJc78iUnLdPPunBPX8rC4IgT6lIx/adB+Cwrl99MzNaA==", "cpu": [ "arm64" ], @@ -719,9 +831,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.3.tgz", - "integrity": "sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.5.tgz", + "integrity": "sha512-NpDB9NUR2t0hXzJJwQSGu1IAOYybsfeB+LxpGsXrRIb7QOrYmidJz3shzY8cM6+rO4Aojuef0N/PEaX18pi9OA==", "cpu": [ "arm64" ], @@ -734,9 +846,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.3.tgz", - "integrity": "sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.5.tgz", + "integrity": "sha512-8XFikMSxWleYNryWIjiCX+gU201YS+erTUidKdyOVYi5qUQo/gRxv/3N1oZFCgqpesN6FPeqGM72Zve+nReVXQ==", "cpu": [ "x64" ], @@ -749,9 +861,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.3.tgz", - "integrity": "sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.5.tgz", + "integrity": "sha512-6QLwi7RaYiQDcRDSU/os40r5o06b5ue7Jsk5JgdRBGGp8l37RZEh9JsLSM8QF0YDsgcosSeHjglgqi25+m04IQ==", "cpu": [ "x64" ], @@ -764,9 +876,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.3.tgz", - "integrity": "sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.5.tgz", + "integrity": "sha512-1GpG2VhbspO+aYoMOQPQiqc/tG3LzmsdBH0LhnDS3JrtDx2QmzXe0B6mSZZiN3Bq7IOMXxv1nlsjzoS1+9mzZw==", "cpu": [ "arm64" ], @@ -779,9 +891,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.3.tgz", - "integrity": "sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.5.tgz", + "integrity": "sha512-Igh9ZlxwvCDsu6438FXlQTHlRno4gFpJzqPjSIBZooD22tKeI4fE/YMRoHVJHmrQ2P5YL1DoZ0qaOKkbeFWeMg==", "cpu": [ "ia32" ], @@ -794,9 +906,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.3.tgz", - "integrity": "sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.5.tgz", + "integrity": "sha512-tEQ7oinq1/CjSG9uSTerca3v4AZ+dFa+4Yu6ihaG8Ud8ddqLQgFGcnwYls13H5X5CPDPZJdYxyeMui6muOLd4g==", "cpu": [ "x64" ], @@ -809,9 +921,9 @@ } }, "node_modules/@next/third-parties": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/third-parties/-/third-parties-14.2.3.tgz", - "integrity": "sha512-j4E2xBSsEZq4VX2pVm3LpGltSwCxETic6glJWfHyYQvpoMdplCAYrQKpF+E9Gg3jfsrfmRAIdTE11m+biBCx1Q==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/third-parties/-/third-parties-14.2.5.tgz", + "integrity": "sha512-PDRJm8RZ3rnGNporHKjcdCeZqoW8iJ5uP0clo1Z08TqJiQzuntJ66zrGYCJyqTakx62UJNOp73YsQCFo6kbYYg==", "dependencies": { "third-party-capital": "1.0.20" }, @@ -943,9 +1055,9 @@ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==" }, "node_modules/@types/validator": { - "version": "13.11.10", - "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.11.10.tgz", - "integrity": "sha512-e2PNXoXLr6Z+dbfx5zSh9TRlXJrELycxiaXznp4S5+D2M3b9bqJEitNHA5923jhnB2zzFiZHa2f0SI1HoIahpg==" + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.12.0.tgz", + "integrity": "sha512-nH45Lk7oPIJ1RVOF6JgFI6Dy0QpHEzq4QecZhvguxYPDwT8c93prCMqAtiIttm39voZ+DDR+qkNnMpJmMBRqag==" }, "node_modules/@typescript-eslint/parser": { "version": "5.62.0", @@ -1043,10 +1155,22 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@uidotdev/usehooks": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@uidotdev/usehooks/-/usehooks-2.4.1.tgz", + "integrity": "sha512-1I+RwWyS+kdv3Mv0Vmc+p0dPYH0DTRAo04HLyXReYBL9AeseDWUJyi4THuksBJcu9F0Pih69Ak150VDnqbVnXg==", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "bin": { "acorn": "bin/acorn" }, @@ -1086,17 +1210,14 @@ } }, "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dependencies": { - "color-convert": "^2.0.1" + "color-convert": "^1.9.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=4" } }, "node_modules/anymatch": { @@ -1117,11 +1238,11 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "dependencies": { - "dequal": "^2.0.3" + "deep-equal": "^2.0.5" } }, "node_modules/array-buffer-byte-length": { @@ -1310,19 +1431,19 @@ } }, "node_modules/axe-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", - "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.9.1.tgz", + "integrity": "sha512-QbUdXJVTpvUTHU7871ppZkdOLBeGUKBQWHkHrvN2V9IQWGMt61zf3B45BtzjxEJzYuj0JBjBZP/hmYS/R9pmAw==", "engines": { "node": ">=4" } }, "node_modules/axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", + "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", "dependencies": { - "dequal": "^2.0.3" + "deep-equal": "^2.0.5" } }, "node_modules/b4a": { @@ -1350,9 +1471,9 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/bare-events": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.3.1.tgz", - "integrity": "sha512-sJnSOTVESURZ61XgEleqmP255T6zTYwHPwE4r6SssIh0U9/uDvfpdoJYpVUerJJZH2fueO+CdT8ZT+OC/7aZDA==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.4.2.tgz", + "integrity": "sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==", "optional": true }, "node_modules/bare-fs": { @@ -1367,9 +1488,9 @@ } }, "node_modules/bare-os": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.3.0.tgz", - "integrity": "sha512-oPb8oMM1xZbhRQBngTgpcQ5gXw6kjOaRsSWsIeNyRxGed2w/ARyP7ScBYpWR1qfX2E5rS3gBw6OWcSQo+s+kUg==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.4.0.tgz", + "integrity": "sha512-v8DTT08AS/G0F9xrhyLtepoo9EJBJ85FRSMbu1pQUlAf6A8T0tEEQGMVObWeqpjhSPXsE0VGlluFBJu2fdoTNg==", "optional": true }, "node_modules/bare-path": { @@ -1382,9 +1503,9 @@ } }, "node_modules/bare-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.0.1.tgz", - "integrity": "sha512-ubLyoDqPnUf5o0kSFp709HC0WRZuxVuh4pbte5eY95Xvx5bdvz07c2JFmXBfqqe60q+9PJ8S4X5GRvmcNSKMxg==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.1.3.tgz", + "integrity": "sha512-tiDAH9H/kP+tvNO5sczyn9ZAA7utrSMobyDchsnyyXBuUe2FSQWbxhtuHB8jwpHYYevVo2UJpcmvvjrbHboUUQ==", "optional": true, "dependencies": { "streamx": "^2.18.0" @@ -1511,9 +1632,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001628", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001628.tgz", - "integrity": "sha512-S3BnR4Kh26TBxbi5t5kpbcUlLJb9lhtDXISDPwOfI+JoC+ik0QksvkZtUVyikw3hjnkgkMPSJ8oIM9yMm9vflA==", + "version": "1.0.30001642", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001642.tgz", + "integrity": "sha512-3XQ0DoRgLijXJErLSl+bLnJ+Et4KqV1PY6JJBGAFlsNsz31zeAIncyeZfLCabHK/jtSh+671RM9YMldxjUPZtA==", "funding": [ { "type": "opencollective", @@ -1530,18 +1651,24 @@ ] }, "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=4" + } + }, + "node_modules/chalk/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" } }, "node_modules/chokidar": { @@ -1629,6 +1756,28 @@ } }, "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -1639,20 +1788,11 @@ "node": ">=7.0.0" } }, - "node_modules/color-name": { + "node_modules/color/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -1804,6 +1944,37 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/deep-equal": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -1857,14 +2028,6 @@ "node": ">=0.4.0" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "engines": { - "node": ">=6" - } - }, "node_modules/detect-libc": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", @@ -2026,6 +2189,25 @@ "node": ">= 0.4" } }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/es-iterator-helpers": { "version": "1.0.19", "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", @@ -2314,26 +2496,26 @@ } }, "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", - "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.9.0.tgz", + "integrity": "sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==", "dependencies": { - "@babel/runtime": "^7.23.2", - "aria-query": "^5.3.0", - "array-includes": "^3.1.7", + "aria-query": "~5.1.3", + "array-includes": "^3.1.8", "array.prototype.flatmap": "^1.3.2", "ast-types-flow": "^0.0.8", - "axe-core": "=4.7.0", - "axobject-query": "^3.2.1", + "axe-core": "^4.9.1", + "axobject-query": "~3.1.1", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.15", - "hasown": "^2.0.0", + "es-iterator-helpers": "^1.0.19", + "hasown": "^2.0.2", "jsx-ast-utils": "^3.3.5", "language-tags": "^1.0.9", "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7" + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.0" }, "engines": { "node": ">=4.0" @@ -2343,28 +2525,29 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.34.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.2.tgz", - "integrity": "sha512-2HCmrU+/JNigDN6tg55cRDKCQWicYAPB38JGSFDQt95jDm8rrvSUo7YPkOIm5l6ts1j1zCvysNcasvfTMQzUOw==", + "version": "7.34.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.4.tgz", + "integrity": "sha512-Np+jo9bUwJNxCsT12pXtrGhJgT3T44T1sHhn1Ssr42XFn8TES0267wPGo5nNrMHi8qkyimDAX2BUmkf9pSaVzA==", "dependencies": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", "array.prototype.flatmap": "^1.3.2", "array.prototype.toreversed": "^1.1.2", - "array.prototype.tosorted": "^1.1.3", + "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", "es-iterator-helpers": "^1.0.19", "estraverse": "^5.3.0", + "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", "object.entries": "^1.1.8", "object.fromentries": "^2.0.8", - "object.hasown": "^1.1.4", "object.values": "^1.2.0", "prop-types": "^15.8.1", "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.11" + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" }, "engines": { "node": ">=4" @@ -2445,6 +2628,95 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/espree": { "version": "9.6.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", @@ -2462,9 +2734,9 @@ } }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dependencies": { "estraverse": "^5.1.0" }, @@ -2780,28 +3052,11 @@ } }, "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dependencies": { - "type-fest": "^0.20.2" - }, + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globals/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, "node_modules/globalthis": { @@ -2868,11 +3123,11 @@ } }, "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/has-property-descriptors": { @@ -2933,6 +3188,11 @@ "node": ">= 0.4" } }, + "node_modules/heroicons": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/heroicons/-/heroicons-2.1.5.tgz", + "integrity": "sha512-XLq3m45bJphmWdR6im52alaYajp0/fluJa2+7xh3x7CgItumbLsjhKYe+mCf0lErXLy7ZyiEgKIty2gFNxhoyA==" + }, "node_modules/hoist-non-react-statics": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", @@ -3034,6 +3294,21 @@ "node": ">= 0.4" } }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-array-buffer": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", @@ -3117,11 +3392,14 @@ } }, "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", + "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3417,6 +3695,17 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -3513,9 +3802,9 @@ } }, "node_modules/libphonenumber-js": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.11.2.tgz", - "integrity": "sha512-V9mGLlaXN1WETzqQvSu6qf6XVAr3nFuJvWsHcuzCCCo6xUKawwSxOPTpan5CGOSKTn5w/bQuCZcLPJkyysgC3w==" + "version": "1.11.4", + "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.11.4.tgz", + "integrity": "sha512-F/R50HQuWWYcmU/esP5jrH5LiWYaN7DpN0a/99U8+mnGGtnx8kmRE+649dQh3v+CowXXZc8vpkf5AmYkO0AQ7Q==" }, "node_modules/lines-and-columns": { "version": "1.2.4", @@ -3664,11 +3953,11 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, "node_modules/next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.3.tgz", - "integrity": "sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.5.tgz", + "integrity": "sha512-0f8aRfBVL+mpzfBjYfQuLWh2WyAwtJXCRfkPF4UJ5qd2YwrHczsrSzXU4tRMV0OAxR8ZJZWPFn6uhSC56UTsLA==", "dependencies": { - "@next/env": "14.2.3", + "@next/env": "14.2.5", "@swc/helpers": "0.5.5", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", @@ -3683,15 +3972,15 @@ "node": ">=18.17.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.3", - "@next/swc-darwin-x64": "14.2.3", - "@next/swc-linux-arm64-gnu": "14.2.3", - "@next/swc-linux-arm64-musl": "14.2.3", - "@next/swc-linux-x64-gnu": "14.2.3", - "@next/swc-linux-x64-musl": "14.2.3", - "@next/swc-win32-arm64-msvc": "14.2.3", - "@next/swc-win32-ia32-msvc": "14.2.3", - "@next/swc-win32-x64-msvc": "14.2.3" + "@next/swc-darwin-arm64": "14.2.5", + "@next/swc-darwin-x64": "14.2.5", + "@next/swc-linux-arm64-gnu": "14.2.5", + "@next/swc-linux-arm64-musl": "14.2.5", + "@next/swc-linux-x64-gnu": "14.2.5", + "@next/swc-linux-x64-musl": "14.2.5", + "@next/swc-win32-arm64-msvc": "14.2.5", + "@next/swc-win32-ia32-msvc": "14.2.5", + "@next/swc-win32-x64-msvc": "14.2.5" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -3713,9 +4002,9 @@ } }, "node_modules/node-abi": { - "version": "3.63.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.63.0.tgz", - "integrity": "sha512-vAszCsOUrUxjGAmdnM/pq7gUgie0IRteCQMX6d4A534fQCR93EJU5qgzBvU6EkFfK27s0T3HEV3BOyJIr7OMYw==", + "version": "3.65.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.65.0.tgz", + "integrity": "sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA==", "dependencies": { "semver": "^7.3.5" }, @@ -3745,9 +4034,27 @@ } }, "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -3820,22 +4127,6 @@ "node": ">= 0.4" } }, - "node_modules/object.hasown": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", - "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", - "dependencies": { - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object.values": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", @@ -4466,9 +4757,9 @@ } }, "node_modules/sass": { - "version": "1.77.4", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.4.tgz", - "integrity": "sha512-vcF3Ckow6g939GMA4PeU7b2K/9FALXk2KF9J87txdHzXbUF9XRQRwSxcAs/fGaTnJeBFd7UoV22j3lzMLdM0Pw==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz", + "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==", "dependencies": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -4668,6 +4959,17 @@ "node": ">=0.10.0" } }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/streamsearch": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", @@ -4697,6 +4999,15 @@ "safe-buffer": "~5.2.0" } }, + "node_modules/string.prototype.includes": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz", + "integrity": "sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, "node_modules/string.prototype.matchall": { "version": "4.0.11", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", @@ -4722,6 +5033,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, "node_modules/string.prototype.trim": { "version": "1.2.9", "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", @@ -4826,14 +5146,14 @@ "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" }, "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dependencies": { - "has-flag": "^4.0.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/supports-preserve-symlinks-flag": { @@ -4879,9 +5199,9 @@ } }, "node_modules/text-decoder": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.1.0.tgz", - "integrity": "sha512-TmLJNj6UgX8xcUZo4UDStGQtDiTzF7BzWlzn9g7UWrjkpHr5uJTK1ld16wZ3LXb2vb6jH8qU89dW5whuMdXYdw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.1.1.tgz", + "integrity": "sha512-8zll7REEv4GDD3x4/0pW+ppIxSNs7H1J10IKFZsuOMscumCdM2a+toDGLPA3T+1+fLBql4zbt5z83GEQGGV5VA==", "dependencies": { "b4a": "^1.6.4" } diff --git a/package.json b/package.json index dac22059..76f7e6ba 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "@types/node": "18.15.1", "@types/react": "18.0.28", "@types/react-dom": "18.0.11", + "@uidotdev/usehooks": "^2.4.1", "class-validator": "^0.14.0", "classnames": "^2.3.2", "crypto-random-string": "^5.0.0", @@ -25,6 +26,7 @@ "eslint": "8.36.0", "eslint-config-next": "13.2.4", "form-data": "^4.0.0", + "heroicons": "^2.1.5", "jwt-decode": "^3.1.2", "le-coffre-resources": "git@github.com:smart-chain-fr/leCoffre-resources.git#v2.151", "next": "^14.2.3", diff --git a/src/front/Assets/logo.svg b/src/front/Assets/logo.svg deleted file mode 100644 index 8269f65f..00000000 --- a/src/front/Assets/logo.svg +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/front/Components/DesignSystem/BlockList/classes.module.scss b/src/front/Components/DesignSystem/BlockList/classes.module.scss index 879ad55d..fcf2657b 100644 --- a/src/front/Components/DesignSystem/BlockList/classes.module.scss +++ b/src/front/Components/DesignSystem/BlockList/classes.module.scss @@ -6,15 +6,15 @@ align-items: center; width: 100%; padding: 24px; - border: 1px solid $grey-medium; + border: 1px solid var(--color-neutral-200); cursor: pointer; &:hover { - background-color: $grey-medium; + background-color: var(--color-neutral-200); } &[data-selected="true"] { - background-color: $grey-medium; + background-color: var(--color-neutral-200); } .left-side { diff --git a/src/front/Components/DesignSystem/BlockList/index.tsx b/src/front/Components/DesignSystem/BlockList/index.tsx index ddf1cbb9..e733a3ac 100644 --- a/src/front/Components/DesignSystem/BlockList/index.tsx +++ b/src/front/Components/DesignSystem/BlockList/index.tsx @@ -1,6 +1,6 @@ import React, { useCallback } from "react"; import classes from "./classes.module.scss"; -import Typography, { ITypo } from "../Typography"; +import Typography, { ETypo } from "../Typography"; import ChevronIcon from "@Assets/Icons/chevron.svg"; import Image from "next/image"; import WarningBadge from "../WarningBadge"; @@ -32,7 +32,7 @@ export default function BlockList({ blocks, onSelectedBlock }: IProps) {
- {folder.name} + {folder.name}
{folder.hasFlag && } diff --git a/src/front/Components/DesignSystem/Button/classes.module.scss b/src/front/Components/DesignSystem/Button/classes.module.scss index bc86a437..d367db76 100644 --- a/src/front/Components/DesignSystem/Button/classes.module.scss +++ b/src/front/Components/DesignSystem/Button/classes.module.scss @@ -4,120 +4,666 @@ display: inline-flex; justify-content: center; border: 1px solid; - gap: 12px; box-sizing: border-box; height: fit-content; align-items: center; - gap: 6px; background: transparent; font-style: normal; - font-weight: 500; + font-weight: var(--font-text-weight-regular, 400); white-space: nowrap; user-select: none; cursor: pointer; - font-family: var(--font-primary); + font-family: var(--font-text-family); + border: 1px solid var(--button-contained-primary-default-border, rgba(0, 0, 0, 0)); svg { width: 18px; height: 18px; } - &[variant="primary"] { - color: $white; - background-color: $purple-flash; - border-color: $purple-flash; - padding: 24px 48px; - font-weight: 400; - font-size: 18px; - line-height: 22px; + /** + * Every possible variants + */ - &:hover { - border-color: $purple-hover; - background-color: $purple-hover; + &[variant="primary"] { + color: var(--button-contained-primary-hovered-contrast); + border: 1px solid var(--button-contained-primary-default-border); + background: var(--button-contained-primary-default-background); + + svg { + stroke: var(--button-contained-primary-default-contrast); } - &:disabled { - border-color: $purple-soft; - background-color: $purple-soft; - pointer-events: none; + &:hover { + border: 1px solid var(--button-contained-primary-hovered-border); + background: var(--button-contained-primary-hovered-background); + + svg { + stroke: var(--button-contained-primary-hovered-contrast); + } + } + + &:focus, + &:active { + color: var(--button-contained-primary-default-contrast); + border: 1px solid var(--button-contained-primary-pressed-border); + background: var(--button-contained-primary-pressed-background); + + svg { + stroke: var(--button-contained-primary-pressed-contrast); + } + } + + &[styletype="outlined"] { + color: var(--button-outlined-primary-default-contrast); + border: 1px solid var(--button-outlined-primary-default-border); + background: var(--button-outlined-primary-default-background); + + svg { + stroke: var(--button-outlined-primary-default-contrast); + } + + &:hover { + border: 1px solid var(--button-outlined-primary-hovered-border); + background: var(--button-outlined-primary-hovered-background); + + svg { + stroke: var(--button-outlined-primary-hovered-contrast); + } + } + + &:focus, + &:active { + color: var(--button-outlined-primary-pressed-contrast); + border: 1px solid var(--button-outlined-primary-pressed-border); + background: var(--button-outlined-primary-pressed-background); + + svg { + stroke: var(--button-outlined-primary-pressed-contrast); + } + } + } + + &[styletype="text"] { + color: var(--button-text-primary-default-contrast); + border-bottom: 1px solid var(--button-text-primary-default-border); + background: var(--button-text-primary-default-background); + + svg { + stroke: var(--button-text-primary-default-contrast); + } + + &:hover { + border-bottom: 1px solid var(--button-outlined-primary-hovered-border); + background: var(--button-outlined-primary-default-background); + + svg { + stroke: var(--button-text-primary-hovered-contrast); + } + } + + &:focus, + &:active { + color: var(--color-primary-800); + background: var(--button-outlined-primary-default-background); + border-bottom: 1px solid var(--color-primary-800); + + svg { + stroke: var(--button-text-primary-pressed-contrast); + } + } } } &[variant="secondary"] { - color: $white; - background-color: $red-flash; - border-color: $red-flash; - padding: 24px 48px; - font-weight: 400; - font-size: 18px; - line-height: 22px; - - &:hover { - border-color: $re-hover; - background-color: $re-hover; - } - - &:disabled { - border-color: $red-soft; - background-color: $red-soft; - pointer-events: none; - } - } - - &[variant="ghost"] { - color: $pink-flash; - background-color: transparent; - border-color: $pink-flash; - padding: 24px 48px; - font-weight: 400; - font-size: 18px; - line-height: 22px; + color: var(--button-contained-secondary-default-contrast); + background: var(--button-contained-secondary-default-background); + border-color: var(--button-contained-secondary-default-border); svg { - path { - stroke: $white; + stroke: var(--button-contained-secondary-default-contrast); + } + + &:hover { + color: var(--button-contained-secondary-hovered-contrast); + background: var(--button-contained-secondary-hovered-background); + border-color: var(--button-contained-secondary-hovered-border); + + svg { + stroke: var(--button-contained-secondary-hovered-contrast); } } - &:hover { - border-color: $pink-hover; - color: $pink-hover; - } + &:focus, + &:active { + color: var(--button-contained-secondary-pressed-contrast); + background: var(--button-contained-secondary-pressed-background); + border-color: var(--button-contained-secondary-pressed-border); - &:disabled { - border-color: $pink-soft; - background-color: $pink-soft; - pointer-events: none; - } - } - - &[variant="white"] { - color: $pink-flash; - background-color: white; - border-color: $pink-flash; - padding: 24px 48px; - font-weight: 400; - font-size: 18px; - line-height: 22px; - - svg { - path { - stroke: $white; + svg { + stroke: var(--button-contained-secondary-pressed-contrast); } } - &:hover { - border-color: $pink-hover; - color: $pink-hover; + &[styletype="outlined"] { + color: var(--button-outlined-secondary-default-contrast); + border: 1px solid var(--button-outlined-secondary-default-border); + background: var(--button-outlined-secondary-default-background); + + svg { + stroke: var(--button-outlined-secondary-default-contrast); + } + &:hover { + border: 1px solid var(--button-outlined-secondary-hovered-border); + background: var(--button-outlined-secondary-hovered-background); + + svg { + stroke: var(--button-outlined-secondary-hovered-contrast); + } + } + + &:focus, + &:active { + color: var(--button-outlined-secondary-pressed-contrast); + border: 1px solid var(--button-outlined-secondary-pressed-border); + background: var(--button-outlined-secondary-pressed-background); + + svg { + stroke: var(--button-outlined-secondary-pressed-contrast); + } + } } - &:disabled { - border-color: $pink-soft; - background-color: $pink-soft; - pointer-events: none; + &[styletype="text"] { + color: var(--button-text-secondary-default-contrast); + border-bottom: 1px solid var(--button-text-secondary-default-border); + background: var(--button-text-secondary-default-background); + + svg { + stroke: var(--button-text-secondary-default-contrast); + } + &:hover { + border-bottom: 1px solid var(--button-outlined-secondary-hovered-border); + background: var(--button-outlined-secondary-default-background); + + svg { + stroke: var(--button-text-secondary-hovered-contrast); + } + } + + &:focus, + &:active { + color: var(--button-outlined-secondary-pressed-contrast); + border-bottom: 1px solid var(--button-outlined-secondary-pressed-border); + background: var(--button-outlined-secondary-pressed-background); + + svg { + stroke: var(--button-text-secondary-pressed-contrast); + } + } } } + &[variant="neutral"] { + color: var(--button-contained-neutral-hovered-contrast); + border: 1px solid var(--button-contained-neutral-default-border); + background: var(--button-contained-neutral-default-background); + + svg { + stroke: var(--button-contained-neutral-default-contrast); + } + + &:hover { + border: 1px solid var(--button-contained-neutral-hovered-border); + background: var(--button-contained-neutral-hovered-background); + + svg { + stroke: var(--button-contained-neutral-hovered-contrast); + } + } + + &:focus, + &:active { + color: var(--button-contained-neutral-default-contrast); + border: 1px solid var(--button-contained-neutral-pressed-border); + background: var(--button-contained-neutral-pressed-background); + + svg { + stroke: var(--button-contained-neutral-pressed-contrast); + } + } + + &[styletype="outlined"] { + color: var(--button-outlined-neutral-default-contrast); + border: 1px solid var(--button-outlined-neutral-default-border); + background: var(--button-outlined-neutral-default-background); + + svg { + stroke: var(--button-outlined-neutral-default-contrast); + } + &:hover { + border: 1px solid var(--button-outlined-neutral-hovered-border); + background: var(--button-outlined-neutral-hovered-background); + svg { + stroke: var(--button-outlined-neutral-hovered-contrast); + } + } + + &:focus, + &:active { + color: var(--button-outlined-neutral-pressed-contrast); + border: 1px solid var(--button-outlined-neutral-pressed-border); + background: var(--button-outlined-neutral-pressed-background); + + svg { + stroke: var(--button-outlined-neutral-pressed-contrast); + } + } + } + + &[styletype="text"] { + color: var(--button-text-neutral-default-contrast); + border-bottom: 1px solid var(--button-text-neutral-default-border); + background: var(--button-text-neutral-default-background); + svg { + stroke: var(--button-text-neutral-default-contrast); + } + + &:hover { + border-bottom: 1px solid var(--button-outlined-neutral-hovered-border); + background: var(--button-outlined-neutral-default-background); + + svg { + stroke: var(--button-text-neutral-hovered-contrast); + } + } + + &:focus, + &:active { + color: var(--color-primary-800); + background: var(--button-outlined-neutral-default-background); + border-bottom: 1px solid var(--color-primary-800); + + svg { + stroke: var(--button-text-neutral-pressed-contrast); + } + } + } + } + + &[variant="error"] { + color: var(--color-error-600); + background: var(--color-error-600); + border-color: var(--color-error-600); + + svg { + stroke: var(--button-contained-error-default-contrast); + } + + &:hover { + background: var(--color-error-800); + border-color: var(--color-error-800); + + svg { + stroke: var(--button-contained-error-hovered-contrast); + } + } + + &:focus, + &:active { + background: var(--color-error-900); + border-color: var(--color-error-900); + + svg { + stroke: var(--button-contained-error-pressed-contrast); + } + } + + &[styletype="outlined"] { + svg { + stroke: var(--button-outlined-error-default-contrast); + } + + &:hover { + background-color: var(--color-error-50); + border-color: var(--color-secondary-700); + + svg { + stroke: var(--button-outlined-error-hovered-contrast); + } + } + + &:focus, + &:active { + background-color: var(--color-error-100); + color: var(--color-secondary-700); + border-color: var(--color-secondary-700); + + svg { + stroke: var(--button-outlined-error-pressed-contrast); + } + } + } + + &[styletype="text"] { + svg { + stroke: var(--button-text-error-default-contrast); + } + + &:hover { + background-color: transparent; + color: var(--color-error-800); + border-color: var(--color-error-800); + + svg { + stroke: var(--button-text-error-hovered-contrast); + } + } + + &:focus, + &:active { + background-color: transparent; + color: var(--color-error-900); + border-color: var(--color-error-900); + + svg { + stroke: var(--button-text-error-pressed-contrast); + } + } + } + } + + &[variant="warning"] { + color: var(--color-warning-600); + background: var(--color-warning-600); + border-color: var(--color-warning-600); + + svg { + stroke: var(--button-contained-warning-default-contrast); + } + + &:hover { + background: var(--color-warning-800); + border-color: var(--color-warning-800); + + svg { + stroke: var(--button-contained-warning-hovered-contrast); + } + } + + &:focus, + &:active { + background: var(--color-warning-900); + border-color: var(--color-warning-900); + + svg { + stroke: var(--button-contained-warning-pressed-contrast); + } + } + + &[styletype="outlined"] { + svg { + stroke: var(--button-outlined-warning-default-contrast); + } + + &:hover { + background-color: var(--color-warning-50); + border-color: var(--color-warning-700); + color: var(--color-warning-700); + + svg { + stroke: var(--button-outlined-warning-hovered-contrast); + } + } + + &:focus, + &:active { + background-color: var(--color-warning-100); + color: var(--color-warning-700); + border-color: var(--color-warning-700); + + svg { + stroke: var(--button-outlined-warning-pressed-contrast); + } + } + } + + &[styletype="text"] { + svg { + stroke: var(--button-text-warning-default-contrast); + } + + &:hover { + background-color: transparent; + color: var(--color-warning-800); + border-color: var(--color-warning-800); + + svg { + stroke: var(--button-text-warning-hovered-contrast); + } + } + + &:focus, + &:active { + background-color: transparent; + color: var(--color-warning-900); + border-color: var(--color-warning-900); + + svg { + stroke: var(--button-text-warning-pressed-contrast); + } + } + } + } + + &[variant="success"] { + color: var(--color-success-600); + background: var(--color-success-600); + border-color: var(--color-success-600); + + svg { + stroke: var(--button-contained-success-default-contrast); + } + + &:hover { + background: var(--color-success-800); + border-color: var(--color-success-800); + + svg { + stroke: var(--button-contained-success-hovered-contrast); + } + } + + &:focus, + &:active { + background: var(--color-success-900); + border-color: var(--color-success-900); + + svg { + stroke: var(--button-contained-success-pressed-contrast); + } + } + + &[styletype="outlined"] { + svg { + stroke: var(--button-outlined-success-default-contrast); + } + + &:hover { + background-color: var(--color-success-50); + border-color: var(--color-success-700); + color: var(--color-success-700); + + svg { + stroke: var(--button-outlined-success-hovered-contrast); + } + } + + &:focus, + &:active { + background-color: var(--color-success-100); + color: var(--color-success-700); + border-color: var(--color-success-700); + + svg { + stroke: var(--button-outlined-success-pressed-contrast); + } + } + } + + &[styletype="text"] { + svg { + stroke: var(--button-text-success-default-contrast); + } + + &:hover { + background-color: transparent; + color: var(--color-success-800); + border-color: var(--color-success-800); + + svg { + stroke: var(--button-text-success-hovered-contrast); + } + } + + &:focus, + &:active { + background-color: transparent; + color: var(--color-success-900); + border-color: var(--color-success-900); + + svg { + stroke: var(--button-text-success-pressed-contrast); + } + } + } + } + + &[variant="info"] { + color: var(--color-info-700); + background: var(--color-info-700); + border-color: var(--color-info-700); + + svg { + stroke: var(--button-contained-info-default-contrast); + } + + &:hover { + background: var(--color-info-900); + border-color: var(--color-info-900); + + svg { + stroke: var(--button-contained-info-hovered-contrast); + } + } + + &:focus, + &:active { + background: var(--color-info-950); + border-color: var(--color-info-950); + + svg { + stroke: var(--button-contained-info-pressed-contrast); + } + } + + &[styletype="outlined"] { + svg { + stroke: var(--button-outlined-info-default-contrast); + } + &:hover { + background-color: var(--color-info-50); + border-color: var(--color-info-700); + color: var(--color-info-700); + + svg { + stroke: var(--button-outlined-info-hovered-contrast); + } + } + + &:focus, + &:active { + background-color: var(--color-info-100); + color: var(--color-info-700); + border-color: var(--color-info-700); + + svg { + stroke: var(--button-outlined-info-pressed-contrast); + } + } + } + + &[styletype="text"] { + svg { + stroke: var(--button-text-info-default-contrast); + } + + &:hover { + background-color: transparent; + color: var(--color-info-900); + border-color: var(--color-info-900); + + svg { + stroke: var(--button-text-info-hovered-contrast); + } + } + + &:focus, + &:active { + background-color: transparent; + color: var(--color-info-950); + border-color: var(--color-info-950); + + svg { + stroke: var(--button-text-info-pressed-contrast); + } + } + } + } + + /** + * Every possible sizes + */ + + &[sizing="sm"] { + padding: var(--spacing-0-5) var(--spacing-1-5); + gap: var(--spacing-0-75); + font-size: 14px; + height: 32px; + } + + &[sizing="md"] { + padding: var(--spacing-1) var(--spacing-2); + gap: var(--spacing-0-75); + font-size: 16px; + } + + &[sizing="lg"] { + padding: var(--spacing-2) var(--spacing-3); + gap: var(--spacing-1-5); + font-size: 16px; + } + + /** + * Every possible style types + */ + &[styletype="contained"] { + color: var(--color-generic-white); + } + + &[styletype="outlined"] { + background: transparent; + } + + &[styletype="text"] { + background: transparent; + border: none; + border-bottom: 1px solid; + } + + /** + * Every possible states + */ &[fullwidthattr="true"] { width: 100%; flex: 1; @@ -131,14 +677,7 @@ text-transform: inherit; } - &[variant="line"] { - color: $pink-flash; - background-color: transparent; - border-color: transparent; - padding: 0; - font-weight: 400; - font-size: 18px; - line-height: 22px; - text-decoration-line: underline; + &[disabled="true"] { + opacity: var(--opacity-disabled, 0.3); } } diff --git a/src/front/Components/DesignSystem/Button/index.tsx b/src/front/Components/DesignSystem/Button/index.tsx index 258a3d63..0bdb4974 100644 --- a/src/front/Components/DesignSystem/Button/index.tsx +++ b/src/front/Components/DesignSystem/Button/index.tsx @@ -1,59 +1,74 @@ -import Image from "next/image"; -import React, { CSSProperties } from "react"; +import classNames from "classnames"; +import React from "react"; import classes from "./classes.module.scss"; -import classNames from "classnames"; export enum EButtonVariant { PRIMARY = "primary", SECONDARY = "secondary", - GHOST = "ghost", - LINE = "line", - WHITE = "white", + NEUTRAL = "neutral", + ERROR = "error", + WARNING = "warning", + SUCCESS = "success", + INFO = "info", } -type IProps = { +export enum EButtonSize { + LG = "lg", + MD = "md", + SM = "sm", +} + +export enum EButtonstyletype { + CONTAINED = "contained", + OUTLINED = "outlined", + TEXT = "text", +} + +export type IButtonProps = { onClick?: React.MouseEventHandler | undefined; children?: React.ReactNode; variant?: EButtonVariant; + size?: EButtonSize; + styletype?: EButtonstyletype; fullwidth?: boolean; - icon?: string; - iconstyle?: CSSProperties; + leftIcon?: React.ReactNode; + rightIcon?: React.ReactNode; disabled?: boolean; + isLoading?: boolean; type?: "button" | "submit"; - isloading?: string; - iconposition?: "left" | "right"; className?: string; }; -export default function Button(props: IProps) { +export default function Button(props: IButtonProps) { let { variant = EButtonVariant.PRIMARY, + size = EButtonSize.LG, + styletype = EButtonstyletype.CONTAINED, disabled = false, type = "button", - isloading = "false", + isLoading = false, fullwidth = false, - iconposition = "right", onClick, children, - icon, - iconstyle, className = "", + leftIcon, + rightIcon, } = props; const fullwidthattr = fullwidth.toString(); - const isloadingattr = isloading.toString(); + const isloadingattr = isLoading.toString(); - const attributes = { ...props, variant, disabled, type, isloadingattr, fullwidthattr }; + const attributes = { ...props, variant, disabled, type, isloadingattr, fullwidthattr, sizing: size, styletype }; delete attributes.fullwidth; - delete attributes.icon; - delete attributes.iconstyle; - delete attributes.iconposition; + delete attributes.leftIcon; + delete attributes.rightIcon; + return ( ); } diff --git a/src/front/Components/DesignSystem/CheckBox/classes.module.scss b/src/front/Components/DesignSystem/CheckBox/classes.module.scss index 42530455..5f943fd1 100644 --- a/src/front/Components/DesignSystem/CheckBox/classes.module.scss +++ b/src/front/Components/DesignSystem/CheckBox/classes.module.scss @@ -13,7 +13,7 @@ background-color: transparent; width: 16px; height: 16px; - border: 1px solid $turquoise-flash; + border: 1px solid var(--color-secondary-500); border-radius: 2px; margin-right: 16px; display: grid; @@ -30,7 +30,7 @@ display: grid; width: 16px; height: 16px; - background-color: $turquoise-flash; + background-color: var(--color-secondary-500); border-radius: 2px; transform: scale(0); } diff --git a/src/front/Components/DesignSystem/CheckBox/index.tsx b/src/front/Components/DesignSystem/CheckBox/index.tsx index 3e7b30d6..70f2c91a 100644 --- a/src/front/Components/DesignSystem/CheckBox/index.tsx +++ b/src/front/Components/DesignSystem/CheckBox/index.tsx @@ -2,7 +2,7 @@ import React from "react"; import { IOption } from "../Form/SelectField"; import Tooltip from "../ToolTip"; -import Typography, { ITypo, ITypoColor } from "../Typography"; +import Typography, { ETypo, ETypoColor } from "../Typography"; import classes from "./classes.module.scss"; import classNames from "classnames"; @@ -37,7 +37,7 @@ export default class CheckBox extends React.Component { public override render(): JSX.Element { return ( - +
- +
{ )} {this.props.document.document_status !== EDocumentStatus.VALIDATED && ( - + Sélectionnez des documents .jpg, .pdf ou .png )} @@ -157,7 +157,10 @@ export default class DepositDocument extends React.Component {
Document check - + {this.shortName(file.fileName || fileObj.name)}
@@ -177,7 +180,7 @@ export default class DepositDocument extends React.Component {
- + Chargement...
@@ -187,8 +190,15 @@ export default class DepositDocument extends React.Component {
{this.props.document.document_status !== EDocumentStatus.VALIDATED && (
- @@ -203,7 +213,7 @@ export default class DepositDocument extends React.Component { header={"Motif du refus"} confirmText={"J'ai compris"}>
- + Votre document a été refusé pour la raison suivante : @@ -211,14 +221,14 @@ export default class DepositDocument extends React.Component {
{this.props.document.document_status === EDocumentStatus.REFUSED && ( - + Ce document n'est pas conforme. Veuillez le déposer à nouveau. )} {this.state.showFailedUploaded && (
- + {this.state.showFailedUploaded}
@@ -262,30 +272,31 @@ export default class DepositDocument extends React.Component { switch (history.document_status) { case EDocumentStatus.ASKED: return ( - + Demandé par votre notaire le {this.formatDate(history.created_at!)} ); case EDocumentStatus.VALIDATED: return ( - + Validé par votre notaire le {this.formatDate(history.created_at!)} ); case EDocumentStatus.DEPOSITED: return ( - + Déposé le {this.formatDate(history.created_at!)} ); case EDocumentStatus.REFUSED: return ( - + Document non conforme {history.refused_reason && history.refused_reason.length > 0 && ( @@ -167,7 +177,7 @@ export default class DepositOtherDocument extends React.Component
- + {this.state.showFailedDocument}
@@ -176,7 +186,7 @@ export default class DepositOtherDocument extends React.Component
- + {this.state.showFailedUploaded}
diff --git a/src/front/Components/DesignSystem/DepositRib/classes.module.scss b/src/front/Components/DesignSystem/DepositRib/classes.module.scss index 9bba001b..dbbcbd00 100644 --- a/src/front/Components/DesignSystem/DepositRib/classes.module.scss +++ b/src/front/Components/DesignSystem/DepositRib/classes.module.scss @@ -1,19 +1,17 @@ .container { - - .root { padding: 24px; - background-color: var(--white); + background-color: var(--color-generic-white); border: 1px dashed #e7e7e7; height: fit-content; &[data-drag-over="true"] { - border: 1px dashed var(--grey); + border: 1px dashed var(--color-neutral-500); } &.validated { - border: 1px dashed var(--green-flash); + border: 1px dashed var(--color-success-600); } .top-container { @@ -34,12 +32,12 @@ margin-left: 18px; .validated { - color: var(--green-flash); + color: var(--color-success-600); } .refused-button { font-size: 14px; - color: var(--re-hover); + color: var(--color-error-800); margin-left: 8px; } @@ -102,7 +100,7 @@ } .error-message { - color: var(--red-flash); + color: var(--color-error-600); margin-top: 8px; } -} \ No newline at end of file +} diff --git a/src/front/Components/DesignSystem/DepositRib/index.tsx b/src/front/Components/DesignSystem/DepositRib/index.tsx index 99e147b9..10ba7dbb 100644 --- a/src/front/Components/DesignSystem/DepositRib/index.tsx +++ b/src/front/Components/DesignSystem/DepositRib/index.tsx @@ -6,8 +6,8 @@ import CrossIcon from "@Assets/Icons/cross.svg"; import DocumentCheckIcon from "@Assets/Icons/document-check.svg"; import Image from "next/image"; -import Button, { EButtonVariant } from "../Button"; -import Typography, { ITypo, ITypoColor } from "../Typography"; +import Button, { EButtonstyletype, EButtonVariant } from "../Button"; +import Typography, { ETypo, ETypoColor } from "../Typography"; type IProps = { onChange: (documentList: File[]) => void; @@ -129,10 +129,10 @@ export default class DepositRib extends React.Component {
- +
Déposer un RIB
- + Sélectionnez des documents .jpg, .pdf ou .png
@@ -144,7 +144,7 @@ export default class DepositRib extends React.Component {
Document check - + {this.shortName(file.name)}
@@ -160,8 +160,15 @@ export default class DepositRib extends React.Component {
- diff --git a/src/front/Components/DesignSystem/Document/DocumentNotary/classes.module.scss b/src/front/Components/DesignSystem/Document/DocumentNotary/classes.module.scss index 3785a54e..68d7d77a 100644 --- a/src/front/Components/DesignSystem/Document/DocumentNotary/classes.module.scss +++ b/src/front/Components/DesignSystem/Document/DocumentNotary/classes.module.scss @@ -1,30 +1,30 @@ @import "@Themes/constants.scss"; .root { - border: 1px solid $grey-medium; + border: 1px solid var(--color-neutral-200); padding: 16px; display: flex; justify-content: space-between; align-items: center; &.DEPOSITED { cursor: pointer; - border: 1px solid $orange-soft; + border: 1px solid var(--color-warning-500-soft); &:hover { - border: 1px solid $orange-soft; - outline: 1px solid $orange-soft; + border: 1px solid var(--color-warning-500-soft); + outline: 1px solid var(--color-warning-500-soft); } } &.VALIDATED { cursor: pointer; - border: 1px solid $green-soft; + border: 1px solid var(--color-success-600-soft); &:hover { - border: 1px solid $green-soft; - outline: 1px solid $green-soft; + border: 1px solid var(--color-success-600-soft); + outline: 1px solid var(--color-success-600-soft); } } .valid-radius { - background-color: $green-flash; + background-color: color-success-600; padding: 6px; border-radius: 20px; } diff --git a/src/front/Components/DesignSystem/Document/DocumentNotary/index.tsx b/src/front/Components/DesignSystem/Document/DocumentNotary/index.tsx index 4e6e7c70..4c6bad06 100644 --- a/src/front/Components/DesignSystem/Document/DocumentNotary/index.tsx +++ b/src/front/Components/DesignSystem/Document/DocumentNotary/index.tsx @@ -6,7 +6,7 @@ import Image from "next/image"; import { NextRouter, useRouter } from "next/router"; import React from "react"; -import Typography, { ITypo } from "../../Typography"; +import Typography, { ETypo } from "../../Typography"; import WarningBadge from "../../WarningBadge"; import classes from "./classes.module.scss"; import { EDocumentStatus } from "le-coffre-resources/dist/Customer/Document"; @@ -41,8 +41,8 @@ class DocumentNotaryClass extends React.Component { return (
- {this.props.document?.document_type?.name} - {this.getDocumentsTitle()} + {this.props.document?.document_type?.name} + {this.getDocumentsTitle()}
{this.renderIcon()}
diff --git a/src/front/Components/DesignSystem/FilePreview/index.tsx b/src/front/Components/DesignSystem/FilePreview/index.tsx index 81046eff..258ecdf1 100644 --- a/src/front/Components/DesignSystem/FilePreview/index.tsx +++ b/src/front/Components/DesignSystem/FilePreview/index.tsx @@ -1,7 +1,7 @@ /* eslint-disable @next/next/no-img-element */ import React from "react"; -import Typography, { ITypo, ITypoColor } from "../Typography"; +import Typography, { ETypo, ETypoColor } from "../Typography"; import classes from "./classes.module.scss"; import Loader from "../Loader"; @@ -26,7 +26,7 @@ export default class FilePreview extends React.Component { {this.props.href && ( <> {!type && ( - + Erreur lors du chargement du fichier )} diff --git a/src/front/Components/DesignSystem/FolderArchivedListContainer/classes.module.scss b/src/front/Components/DesignSystem/FolderArchivedListContainer/classes.module.scss index 98e9d101..4ba15488 100644 --- a/src/front/Components/DesignSystem/FolderArchivedListContainer/classes.module.scss +++ b/src/front/Components/DesignSystem/FolderArchivedListContainer/classes.module.scss @@ -18,6 +18,6 @@ max-height: calc(100vh - 215px); height: calc(100vh - 215px); overflow: auto; - border-right: 1px solid var(--grey-medium); + border-right: 1px solid var(--color-neutral-200); } } diff --git a/src/front/Components/DesignSystem/FolderBoxInformation/classes.module.scss b/src/front/Components/DesignSystem/FolderBoxInformation/classes.module.scss index 0d828c7d..4e1fcd0a 100644 --- a/src/front/Components/DesignSystem/FolderBoxInformation/classes.module.scss +++ b/src/front/Components/DesignSystem/FolderBoxInformation/classes.module.scss @@ -1,7 +1,7 @@ @import "@Themes/constants.scss"; .root { - background-color: var(--grey-soft); + background-color: var(--color-neutral-50); padding: 24px; width: 100%; display: flex; diff --git a/src/front/Components/DesignSystem/FolderBoxInformation/index.tsx b/src/front/Components/DesignSystem/FolderBoxInformation/index.tsx index 7048b425..610cd8c6 100644 --- a/src/front/Components/DesignSystem/FolderBoxInformation/index.tsx +++ b/src/front/Components/DesignSystem/FolderBoxInformation/index.tsx @@ -6,7 +6,7 @@ import Image from "next/image"; import Link from "next/link"; import React from "react"; -import Typography, { ITypo } from "../Typography"; +import Typography, { ETypo, ETypoColor } from "../Typography"; import classes from "./classes.module.scss"; import { AnchorStatus } from "@Front/Components/Layouts/Folder/FolderInformation"; import Note from "le-coffre-resources/dist/Customer/Note"; @@ -70,42 +70,56 @@ export default function FolderBoxInformation(props: IProps) { case EFolderBoxInformationType.DESCRIPTION: return (
- Note dossier - {folder.description ?? ""} + + Note dossier + + {folder.description ?? ""}
); case EFolderBoxInformationType.NOTE: return (
- Note client - {note?.content ?? ""} + + Note client + + {note?.content ?? ""}
); case EFolderBoxInformationType.ARCHIVED_DESCRIPTION: return (
- Note archive - {folder.archived_description ?? ""} + + Note archive + + {folder.archived_description ?? ""}
); case EFolderBoxInformationType.INFORMATIONS: return ( <>
- Intitulé du dossier - {folder.name ?? ""} + + Intitulé du dossier + + {folder.name ?? ""}
- Numéro de dossier - {folder.folder_number ?? ""} + + Numéro de dossier + + {folder.folder_number ?? ""}
- Type d'acte - {folder.deed?.deed_type?.name ?? ""} + + Type d'acte + + {folder.deed?.deed_type?.name ?? ""}
- Ouverture du dossier - {formatDate(folder.created_at)} + + Ouverture du dossier + + {formatDate(folder.created_at)}
); diff --git a/src/front/Components/DesignSystem/FolderContainer/classes.module.scss b/src/front/Components/DesignSystem/FolderContainer/classes.module.scss index 989c0eca..92155d09 100644 --- a/src/front/Components/DesignSystem/FolderContainer/classes.module.scss +++ b/src/front/Components/DesignSystem/FolderContainer/classes.module.scss @@ -6,11 +6,11 @@ align-items: center; width: 100%; padding: 24px; - border: 1px solid $grey-medium; + border: 1px solid var(--color-neutral-200); cursor: pointer; &:hover { - background-color: $grey-medium; + background-color: var(--color-neutral-200); } .left-side { diff --git a/src/front/Components/DesignSystem/FolderContainer/index.tsx b/src/front/Components/DesignSystem/FolderContainer/index.tsx index b35a87d9..cc2894d2 100644 --- a/src/front/Components/DesignSystem/FolderContainer/index.tsx +++ b/src/front/Components/DesignSystem/FolderContainer/index.tsx @@ -4,7 +4,7 @@ import { EDocumentStatus } from "le-coffre-resources/dist/Notary/Document"; import Image from "next/image"; import React from "react"; -import Typography, { ITypo } from "../Typography"; +import Typography, { ETypo } from "../Typography"; import WarningBadge from "../WarningBadge"; import classes from "./classes.module.scss"; @@ -24,7 +24,7 @@ export default class FolderContainer extends React.Component { return (
- + {this.props.folder.folder_number.concat(" - ").concat(this.props.folder.name)} {this.countPendingDocuments() > 0 && ( diff --git a/src/front/Components/DesignSystem/FolderList/classes.module.scss b/src/front/Components/DesignSystem/FolderList/classes.module.scss index d8013f29..b1bf1c69 100644 --- a/src/front/Components/DesignSystem/FolderList/classes.module.scss +++ b/src/front/Components/DesignSystem/FolderList/classes.module.scss @@ -4,11 +4,11 @@ height: calc(100vh - 290px); overflow-y: scroll; - &.archived{ + &.archived { height: calc(100vh - 220px); } .active { - background-color: var(--grey-medium); + background-color: var(--color-neutral-200); } -} \ No newline at end of file +} diff --git a/src/front/Components/DesignSystem/FolderListContainer/classes.module.scss b/src/front/Components/DesignSystem/FolderListContainer/classes.module.scss index d787f90f..deb6e813 100644 --- a/src/front/Components/DesignSystem/FolderListContainer/classes.module.scss +++ b/src/front/Components/DesignSystem/FolderListContainer/classes.module.scss @@ -18,6 +18,6 @@ max-height: calc(100vh - 290px); height: calc(100vh - 290px); overflow: auto; - border-right: 1px solid var(--grey-medium); + border-right: 1px solid var(--color-neutral-200); } } diff --git a/src/front/Components/DesignSystem/Form/BaseField.tsx b/src/front/Components/DesignSystem/Form/BaseField.tsx index 05afdf38..3fe14388 100644 --- a/src/front/Components/DesignSystem/Form/BaseField.tsx +++ b/src/front/Components/DesignSystem/Form/BaseField.tsx @@ -1,7 +1,7 @@ import React from "react"; import { FormContext, IFormContext } from "."; import { ValidationError } from "class-validator"; -import Typography, { ITypo, ITypoColor } from "../Typography"; +import Typography, { ETypo, ETypoColor } from "../Typography"; export type IProps = { value?: string; @@ -15,6 +15,7 @@ export type IProps = { disableValidation?: boolean; validationError?: ValidationError; disabled?: boolean; + label?: string; }; type IState = { @@ -107,7 +108,7 @@ export default abstract class BaseField

{ errors.push( - + {value} , ); diff --git a/src/front/Components/DesignSystem/Form/DateField/classes.module.scss b/src/front/Components/DesignSystem/Form/DateField/classes.module.scss index 0fda11ae..8fad4077 100644 --- a/src/front/Components/DesignSystem/Form/DateField/classes.module.scss +++ b/src/front/Components/DesignSystem/Form/DateField/classes.module.scss @@ -12,8 +12,8 @@ gap: 10px; width: 100%; height: 70px; - border: 1px solid var(--grey-medium); - + border: 1px solid var(--color-neutral-200); + font-family: var(--font-text-family); &:disabled { cursor: not-allowed; } @@ -76,16 +76,16 @@ padding: 0 16px; pointer-events: none; position: absolute; - background: $white; + background: var(--color-generic-white); transition: transform 0.3s ease-in-out; } } &[data-is-errored="true"] { .input { - border: 1px solid var(--red-flash); + border: 1px solid var(--color-error-600); ~ .fake-placeholder { - color: var(--red-flash); + color: var(--color-error-600); } } } diff --git a/src/front/Components/DesignSystem/Form/DateField/index.tsx b/src/front/Components/DesignSystem/Form/DateField/index.tsx index 0c0e892a..d1085887 100644 --- a/src/front/Components/DesignSystem/Form/DateField/index.tsx +++ b/src/front/Components/DesignSystem/Form/DateField/index.tsx @@ -1,5 +1,5 @@ import React from "react"; -import Typography, { ITypo, ITypoColor } from "@Front/Components/DesignSystem/Typography"; +import Typography, { ETypo, ETypoColor } from "@Front/Components/DesignSystem/Typography"; import { ReactNode } from "react"; import CopyIcon from "@Assets/Icons/copy.svg"; import BaseField, { IProps as IBaseFieldProps } from "../BaseField"; @@ -20,7 +20,7 @@ export default class DateField extends BaseField { public override render(): ReactNode { const value = this.state.value ?? ""; return ( - +

{ {selectedOption && ( <> {selectedOption?.icon} - + {selectedOption?.label} )} {!selectedOption && (
- + {this.props.placeholder ?? ""}
@@ -110,7 +110,7 @@ class SelectFieldClass extends React.Component { className={classes["container-li"]} onClick={(e) => this.onSelect(option, e)}>
{option.icon}
- {option.label} + {option.label} ))} @@ -199,7 +199,7 @@ class SelectFieldClass extends React.Component { private renderErrors(): JSX.Element | null { if (!this.state.errors) return null; return ( - + {this.props.placeholder} ne peut pas être vide ); diff --git a/src/front/Components/DesignSystem/Form/TextField/classes.module.scss b/src/front/Components/DesignSystem/Form/TextField/classes.module.scss index 0fda11ae..8b25310c 100644 --- a/src/front/Components/DesignSystem/Form/TextField/classes.module.scss +++ b/src/front/Components/DesignSystem/Form/TextField/classes.module.scss @@ -3,89 +3,103 @@ .root { position: relative; - .input { - z-index: 1; - display: flex; - flex-direction: row; - align-items: center; - padding: 24px; - gap: 10px; - width: 100%; - height: 70px; - border: 1px solid var(--grey-medium); - - &:disabled { + &[data-is-disabled="true"] { + opacity: var(--opacity-disabled, 0.3); + .input-container { cursor: not-allowed; - } - - &:focus { - ~ .fake-placeholder { - transform: translateY(-35px); - } - } - - &:not([data-value=""]) { - ~ .fake-placeholder { - transform: translateY(-35px); - } - } - - &[type="number"] { - &:focus { - ~ .fake-placeholder { - transform: translateY(-35px); - } + border: 1px solid var(--input-main-border-default, #d7dce0); + &::placeholder { + background: var(--input-background, #fff); } - &:not([data-value=""]) { - ~ .fake-placeholder { - transform: translateY(-35px); - } + &:hover { + border: 1px solid var(--input-main-border-default, #d7dce0); } - &::-webkit-inner-spin-button, - &::-webkit-outer-spin-button { - -webkit-appearance: none; - margin: 0; + .input { + cursor: not-allowed; } - - /* For Chrome, Safari, and Opera */ - &::-webkit-inner-spin-button, - &::-webkit-outer-spin-button { - -webkit-appearance: none; - margin: 0; - } - - /* For IE 10+ */ - &::-ms-inner-spin-button, - &::-ms-outer-spin-button { - display: none; - } - } - - &:not([data-value=""]) { - ~ .fake-placeholder { - transform: translateY(-35px); - } - } - - ~ .fake-placeholder { - z-index: 2; - top: 35%; - margin-left: 8px; - padding: 0 16px; - pointer-events: none; - position: absolute; - background: $white; - transition: transform 0.3s ease-in-out; } } - &[data-is-errored="true"] { + .label { + padding: 0px var(--spacing-2, 16px); + } + + .input-container { + display: flex; + padding: var(--spacing-2, 16px) var(--spacing-sm, 8px); + align-items: center; + gap: var(--spacing-2, 16px); + + border-radius: var(--input-radius, 0px); + border: 1px solid var(--input-main-border-default, #d7dce0); + background: var(--input-background, #fff); + + &:hover { + border: 1px solid var(--input-main-border-hovered, #b4bec5); + } + + &:not([data-value=""]) { + border: 1px solid var(--input-main-border-filled, #6d7e8a); + .input { + font-weight: var(--font-text-weight-semibold, 600); + } + } + + &[data-is-errored="true"] { + border: 1px solid var(--input-error, #dc2625); + } + + &:focus, + &:focus-within, + &:focus-visible { + border: 1px solid var(--input-main-border-focused, #005bcb); + .input { + font-weight: var(--font-text-weight-semibold, 600); + } + } + .input { - border: 1px solid var(--red-flash); - ~ .fake-placeholder { - color: var(--red-flash); + display: flex; + padding: 0px var(--spacing-2, 16px); + + align-items: center; + gap: 8px; + + flex: 1 0 0; + border: none; + + &::placeholder { + color: var(--input-placeholder-empty, #6d7e8a); + /* text/md/regular */ + font-family: var(--font-text-family, Poppins); + font-size: 16px; + font-style: normal; + font-weight: var(--font-text-weight-regular, 400); + line-height: normal; + letter-spacing: 0.08px; + } + + &[type="number"] { + &::-webkit-inner-spin-button, + &::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0; + } + + /* For Chrome, Safari, and Opera */ + &::-webkit-inner-spin-button, + &::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0; + } + + /* For IE 10+ */ + &::-ms-inner-spin-button, + &::-ms-outer-spin-button { + display: none; + } } } } @@ -94,9 +108,9 @@ cursor: pointer; height: 24px; width: 24px; - position: absolute; - top: 50%; - right: 24px; - transform: translate(0, -50%); + } + + .errors-container { + margin-top: 8px; } } diff --git a/src/front/Components/DesignSystem/Form/TextField/index.tsx b/src/front/Components/DesignSystem/Form/TextField/index.tsx index bb83fbf2..915cc7c0 100644 --- a/src/front/Components/DesignSystem/Form/TextField/index.tsx +++ b/src/front/Components/DesignSystem/Form/TextField/index.tsx @@ -1,12 +1,10 @@ import React from "react"; -import Typography, { ITypo, ITypoColor } from "@Front/Components/DesignSystem/Typography"; +import Typography, { ETypo, ETypoColor } from "@Front/Components/DesignSystem/Typography"; import { ReactNode } from "react"; -import CopyIcon from "@Assets/Icons/copy.svg"; import BaseField, { IProps as IBaseFieldProps } from "../BaseField"; import classes from "./classes.module.scss"; import classnames from "classnames"; -import Image from "next/image"; - +import { XMarkIcon, Square2StackIcon } from "@heroicons/react/24/outline"; export type IProps = IBaseFieldProps & { canCopy?: boolean; password?: boolean; @@ -21,31 +19,39 @@ export default class TextField extends BaseField { public override render(): ReactNode { const value = this.state.value ?? ""; return ( - -
- -
- {this.props.placeholder} {!this.props.required && " (Facultatif)"} -
- {this.props.canCopy && ( -
- Copy icon -
+
+
+
+ + {this.props.canCopy && !this.hasError() && ( +
+ +
+ )} + {this.hasError() && ( +
+ +
+ )} +
+ {this.hasError() &&
{this.renderErrors()}
} - +
); } diff --git a/src/front/Components/DesignSystem/Form/TextareaField/classes.module.scss b/src/front/Components/DesignSystem/Form/TextareaField/classes.module.scss index 7f4eb680..0a699277 100644 --- a/src/front/Components/DesignSystem/Form/TextareaField/classes.module.scss +++ b/src/front/Components/DesignSystem/Form/TextareaField/classes.module.scss @@ -3,61 +3,92 @@ .root { position: relative; - .textarea { - resize: none; - height: auto; - box-sizing: border-box; - font-family: "Inter", sans-serif; - font-style: normal; - font-weight: 400; - font-size: 18px; - line-height: 22px; - - &:read-only { + &[data-is-disabled="true"] { + opacity: var(--opacity-disabled, 0.3); + .input-container { cursor: not-allowed; - } - z-index: 1; - display: flex; - flex-direction: row; - align-items: center; - padding: 24px; - gap: 10px; - - width: 100%; - height: 100px; - border: 1px solid var(--grey-medium); - - ~ .fake-placeholder { - z-index: 2; - top: -12px; - margin-left: 8px; - padding: 0 16px; - pointer-events: none; - position: absolute; - background: $white; - transform: translateY(35px); - transition: transform 0.3s ease-in-out; - } - - &:focus { - ~ .fake-placeholder { - transform: translateY(0px); + border: 1px solid var(--input-main-border-default, #d7dce0); + &::placeholder { + background: var(--input-background, #fff); } + + &:hover { + border: 1px solid var(--input-main-border-default, #d7dce0); + } + + .input { + cursor: not-allowed; + } + } + } + + .label { + padding: 0px var(--spacing-2, 16px); + } + + .input-container { + display: flex; + padding: var(--spacing-2, 16px) var(--spacing-sm, 8px); + align-items: center; + gap: var(--spacing-2, 16px); + + border-radius: var(--input-radius, 0px); + border: 1px solid var(--input-main-border-default, #d7dce0); + background: var(--input-background, #fff); + + &:hover { + border: 1px solid var(--input-main-border-hovered, #b4bec5); } &:not([data-value=""]) { - ~ .fake-placeholder { - transform: translateY(0px); + border: 1px solid var(--input-main-border-filled, #6d7e8a); + .input { + font-weight: var(--font-text-weight-semibold, 600); } } - } - &[data-is-errored="true"] { - .textarea { - border: 1px solid var(--red-flash); - ~ .fake-placeholder { - color: var(--red-flash); + &[data-is-errored="true"] { + border: 1px solid var(--input-error, #dc2625); + } + + &:focus, + &:focus-within, + &:focus-visible { + border: 1px solid var(--input-main-border-focused, #005bcb); + .input { + font-weight: var(--font-text-weight-semibold, 600); } } + + .input { + display: flex; + padding: 0px var(--spacing-2, 16px); + + align-items: center; + gap: 8px; + + flex: 1 0 0; + border: none; + height: 94px; + &::placeholder { + color: var(--input-placeholder-empty, #6d7e8a); + /* text/md/regular */ + font-family: var(--font-text-family, Poppins); + font-size: 16px; + font-style: normal; + font-weight: var(--font-text-weight-regular, 400); + line-height: normal; + letter-spacing: 0.08px; + } + + color: var(--input-placeholder-filled, #24282e); + /* text/md/semibold */ + font-family: var(--font-text-family, Poppins); + font-size: 16px; + font-style: normal; + font-weight: var(--font-text-weight-semibold, 600); + line-height: normal; + letter-spacing: 0.08px; + } } } diff --git a/src/front/Components/DesignSystem/Form/TextareaField/index.tsx b/src/front/Components/DesignSystem/Form/TextareaField/index.tsx index 43dd9c75..ce4da58a 100644 --- a/src/front/Components/DesignSystem/Form/TextareaField/index.tsx +++ b/src/front/Components/DesignSystem/Form/TextareaField/index.tsx @@ -1,8 +1,7 @@ -import BaseField, { IProps as IBaseFieldProps } from "../BaseField"; -import Typography, { ITypo, ITypoColor } from "@Front/Components/DesignSystem/Typography"; import React from "react"; +import Typography, { ETypo, ETypoColor } from "@Front/Components/DesignSystem/Typography"; import { ReactNode } from "react"; - +import BaseField, { IProps as IBaseFieldProps } from "../BaseField"; import classes from "./classes.module.scss"; import classnames from "classnames"; @@ -17,31 +16,30 @@ export default class TextAreaField extends BaseField { public override render(): ReactNode { const value = this.state.value ?? ""; return ( - -
-