From cf81885b3e0925ccfe6379926b9db3b2ac075e83 Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Wed, 29 May 2024 13:27:56 +0800 Subject: [PATCH] refactor: add styled-component --- package.json | 7 + src/main/index.ts | 4 + src/main/store.ts | 11 + src/preload/index.d.ts | 2 +- src/renderer/index.html | 3 +- src/renderer/src/App.tsx | 3 + src/renderer/src/assets/css/base.css | 8 +- .../src/assets/images/sidebar_app_active.png | Bin 1085 -> 0 bytes .../assets/images/sidebar_message_active.png | Bin 638 -> 0 bytes src/renderer/src/components/app/Navbar.tsx | 22 +- src/renderer/src/components/app/Sidebar.tsx | 69 +++-- src/renderer/src/pages/home/HomePage.tsx | 21 +- .../src/pages/settings/SettingsPage.tsx | 38 +++ yarn.lock | 255 +++++++++++++++++- 14 files changed, 400 insertions(+), 43 deletions(-) create mode 100644 src/main/store.ts delete mode 100644 src/renderer/src/assets/images/sidebar_app_active.png delete mode 100644 src/renderer/src/assets/images/sidebar_message_active.png create mode 100644 src/renderer/src/pages/settings/SettingsPage.tsx diff --git a/package.json b/package.json index c9fd20fd..3faa758e 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,9 @@ "dependencies": { "@electron-toolkit/preload": "^3.0.0", "@electron-toolkit/utils": "^3.0.0", + "@emotion/react": "^11.11.4", + "@emotion/styled": "^11.11.5", + "@fontsource/inter": "^5.0.18", "electron-updater": "^6.1.7", "electron-window-state": "^5.0.3", "react-router": "6", @@ -48,5 +51,9 @@ "sass": "^1.77.2", "typescript": "^5.3.3", "vite": "^5.0.12" + }, + "peerDependencies": { + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" } } diff --git a/src/main/index.ts b/src/main/index.ts index 4c671b16..1f951bbc 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -3,6 +3,7 @@ import { join } from 'path' import { electronApp, optimizer, is } from '@electron-toolkit/utils' import icon from '../../resources/icon.png?asset' import windowStateKeeper from 'electron-window-state' +import { initStore } from './store' function createWindow(): void { // Load the previous state with fallback to defaults @@ -20,6 +21,7 @@ function createWindow(): void { show: false, autoHideMenuBar: true, titleBarStyle: 'hiddenInset', + trafficLightPosition: { x: 10, y: 16 }, ...(process.platform === 'linux' ? { icon } : {}), webPreferences: { preload: join(__dirname, '../preload/index.js'), @@ -64,6 +66,8 @@ app.whenReady().then(() => { // IPC test ipcMain.on('ping', () => console.log('pong')) + initStore() + createWindow() app.on('activate', function () { diff --git a/src/main/store.ts b/src/main/store.ts new file mode 100644 index 00000000..35a39a2d --- /dev/null +++ b/src/main/store.ts @@ -0,0 +1,11 @@ +import { app, ipcMain } from 'electron' +import path from 'path' + +const defaultPath = path.join(app.getPath('home'), '.cherry-ai') + +export function initStore() { + ipcMain.on('storage.set', (_, args) => {}) + ipcMain.on('storage.get', (_, args) => {}) + ipcMain.on('storage.delete', (_, args) => {}) + ipcMain.on('storage.clear', (_, args) => {}) +} diff --git a/src/preload/index.d.ts b/src/preload/index.d.ts index a1536695..d9a3019a 100644 --- a/src/preload/index.d.ts +++ b/src/preload/index.d.ts @@ -3,6 +3,6 @@ import { ElectronAPI } from '@electron-toolkit/preload' declare global { interface Window { electron: ElectronAPI - api: unknown + api: any } } diff --git a/src/renderer/index.html b/src/renderer/index.html index 6933cdbe..09012d8d 100644 --- a/src/renderer/index.html +++ b/src/renderer/index.html @@ -3,10 +3,11 @@ Cherry AI + + content="default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline' https://at.alicdn.com; font-src 'self' https://at.alicdn.com; img-src 'self' data:" /> diff --git a/src/renderer/src/App.tsx b/src/renderer/src/App.tsx index 7f30f5a2..9dd53f38 100644 --- a/src/renderer/src/App.tsx +++ b/src/renderer/src/App.tsx @@ -4,6 +4,8 @@ import Statusbar from './components/app/Statusbar' import HomePage from './pages/home/HomePage' import { BrowserRouter, Routes, Route } from 'react-router-dom' import AppsPage from './pages/apps/AppsPage' +import SettingsPage from './pages/settings/SettingsPage' +import '@fontsource/inter' function App(): JSX.Element { return ( @@ -13,6 +15,7 @@ function App(): JSX.Element { } /> } /> + } /> diff --git a/src/renderer/src/assets/css/base.css b/src/renderer/src/assets/css/base.css index a2abf0ec..480fe7b3 100644 --- a/src/renderer/src/assets/css/base.css +++ b/src/renderer/src/assets/css/base.css @@ -1,3 +1,5 @@ +@import 'https://at.alicdn.com/t/c/font_4563475_m52ypmvg0jc.css'; + :root { --ev-c-white: #ffffff; --ev-c-white-soft: #f8f8f8; @@ -30,12 +32,14 @@ } :root { - --color-background: var(--ev-c-black); - --color-background-soft: var(--ev-c-black-soft); + --color-background: #1b1b1f; + --color-background-soft: #222222; --color-background-mute: var(--ev-c-black-mute); --color-text: var(--ev-c-text-1); --color-text-2: var(--ev-c-text-2); + --color-icon: #ffffff99; + --color-icon-white: #ffffff; } *, diff --git a/src/renderer/src/assets/images/sidebar_app_active.png b/src/renderer/src/assets/images/sidebar_app_active.png deleted file mode 100644 index 57749e6005790ee5b76e1fd47eaef73fed16d965..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1085 zcmV-D1j74?P)Px&_en%SRCr$Pn`>?xF${#0leIlr+mkgpS!)_ruw8gHGbC4{7s{U&up*B>4XGFN z{O%I3QO&Td8{xXXt?t(ICAp+`{ca*+Z9w7qhl1E!L1&1rrspLf?kB1TF)O{e+`e++|5@7Q_8vsEmpglP z-aE0H9x9xX=xAP4w=C84P!O#VI-aptSI;)yp3_G)J#e#a4Uk*B2_3<>)Y;iUBF88o z+4qp>Ee>-hX=BUK11}&LH?~kkITE@0Rr{eJGP!Y^^URsvn{DQ1shl2mn}SwGbYsJQ z&Ms7?^so?>ux5en+o5!@Z_lQO)AcA2&jhIgWG*ng@a*>_Ju1YuqGdgws_!$;z+{HD zOOFR)mJ6iWCTtZAZ?~QZL=Viia-Url#ui$o=*fV%HOUsvwnni%r?Stggz=~*L-b@r zq(*kNMhjxXj4p`9AP%dMCdWNYPlgkf8tIhP5I`KRCjxQWzU%>V5#b@zJ2 z$ku1N9u;DAwvWJiPYWgVC=kyQ+`y`iETe~on0d(Wg*gkdlpYo$dS}^!iQH_n?=_|L zFc8_WL3!<}{ZMZ#Xx7y`IP_d@Z0A>1oBev&d7yKI`G^^ubORg zmyKM$YPLy`t7e-7)oZ5I11hD-UTKP+ukY{{d7|wMI|v1gtBREs@@S{%p&+_uariX%P zjnMIoy}Ej~-t=5}lrF02xsMBlByx*4HzF99Iy)O^bbeMqvhN|$Tbxz1eVe&n!4ry( zmO4<*&gut-a}$KZFY9KTNij^W9;yfB#3lxmD0mPv{AG6_X0)Xx9_)% z9tGl=AXx{F0x9WHA=)4^LrHy~dFJxzdOQ%@K%(KKhA&DJ)AU3jdSH&K3R^YX$a2Ex zt7cn(HMMC*I8Plwg)d(a6J}vSTo4loBy_Qym;mt~3Q&|`>29E600000NkvXXu0mjf Dxb+By diff --git a/src/renderer/src/assets/images/sidebar_message_active.png b/src/renderer/src/assets/images/sidebar_message_active.png deleted file mode 100644 index b18b881324c0105b55268c24bd526179cfcd095d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 638 zcmeAS@N?(olHy`uVBq!ia0vp^fgsGm1|(PYdzk?##^NA%Cx&(BWL`2bFj;uIIEGZj zy}c9Y*J2>j`taPTD^pi$2Zt}amojSt=a+la<}cK3KcfCY#E$QZ;mbRdw%ujgewUNW z!->U9!9|gY$)ROdh0-H!gR=F4_qVEtT|Ux3tiVfdEyYX8TkUkS_lL)Pm&s(id2H>+DmIfVXWeg> zxe1))u94|Kqc(f{nWF24ZUVXn`=5MYci{ZvuNH-C?y`s*+&Yq4k#bDOQ98-{_p1Gh zDek&&xlKOR2y}It8H$wIcf_of&vH6@QnoN>eaAH$=9)C-*|pU!GK*@xKh6_qKYV(^ zUIjkx8%Ead_oPjQPhY4=H!ob#c{ux=WdCQ8x7OK7Gx^@%?Ek!_;rxt{bxyNC zqt2KA=)*U8!;LrW721C6c=picyL_XBZ1t?iEgW~eP=lI7;UA+^gTe~DWM4fn1upJ diff --git a/src/renderer/src/components/app/Navbar.tsx b/src/renderer/src/components/app/Navbar.tsx index ff83105b..28365a58 100644 --- a/src/renderer/src/components/app/Navbar.tsx +++ b/src/renderer/src/components/app/Navbar.tsx @@ -1,22 +1,22 @@ import { FC, PropsWithChildren } from 'react' import styled from 'styled-components' -interface Props extends PropsWithChildren {} +type Props = PropsWithChildren & JSX.IntrinsicElements['div'] -export const Navbar: FC = ({ children }) => { - return {children} +export const Navbar: FC = ({ children, ...props }) => { + return {children} } -export const NavbarLeft: FC = ({ children }) => { - return {children} +export const NavbarLeft: FC = ({ children, ...props }) => { + return {children} } -export const NavbarCenter: FC = ({ children }) => { - return {children} +export const NavbarCenter: FC = ({ children, ...props }) => { + return {children} } -export const NavbarRight: FC = ({ children }) => { - return {children} +export const NavbarRight: FC = ({ children, ...props }) => { + return {children} } const NavbarContainer = styled.div` @@ -31,6 +31,10 @@ const NavbarContainer = styled.div` const NavbarLeftContainer = styled.div` min-width: var(--conversations-width); border-right: 1px solid #ffffff20; + padding: 0 16px; + display: flex; + flex-direction: row; + align-items: center; ` const NavbarCenterContainer = styled.div` diff --git a/src/renderer/src/components/app/Sidebar.tsx b/src/renderer/src/components/app/Sidebar.tsx index e34389dd..62f26288 100644 --- a/src/renderer/src/components/app/Sidebar.tsx +++ b/src/renderer/src/components/app/Sidebar.tsx @@ -1,7 +1,5 @@ import { FC } from 'react' -import Logo from '@renderer/assets/images/electron.svg' -import AppIcon from '@renderer/assets/images/sidebar_app_active.png' -import MessageIcon from '@renderer/assets/images/sidebar_message_active.png' +import Logo from '@renderer/assets/images/logo.png' import styled from 'styled-components' import { Link, useLocation } from 'react-router-dom' @@ -15,17 +13,26 @@ const Sidebar: FC = () => { + + + + + + + + + + + + + + - - - + + + - - - - - - + ) @@ -41,16 +48,23 @@ const Container = styled.div` border-top: 1px solid #ffffff20; border-right: 1px solid #ffffff20; margin-top: 47px; + padding-bottom: 52px; ` const Avatar = styled.div`` + const AvatarImg = styled.img` border-radius: 50%; - width: 36px; - height: 36px; + width: 32px; + height: 32px; background-color: var(--color-background-soft); margin: 5px 0; ` +const MainMenus = styled.div` + display: flex; + flex: 1; +` + const Menus = styled.div` display: flex; flex-direction: column; @@ -58,34 +72,37 @@ const Menus = styled.div` ` const Icon = styled.div` - width: 40px; - height: 40px; + width: 36px; + height: 36px; display: flex; justify-content: center; align-items: center; - border-radius: 4px; + border-radius: 6px; margin-bottom: 5px; transition: background-color 0.2s ease; + .iconfont { + color: var(--color-icon); + font-size: 22px; + transition: color 0.2s ease; + text-decoration: none; + } &:hover { background-color: #ffffff30; cursor: pointer; - .icon-img { - filter: invert(1); + .iconfont { + color: var(--color-icon-white); } } &.active { background-color: #ffffff20; - .icon-img { - filter: invert(1); + .iconfont { + color: var(--color-icon-white); } } ` -const IconImage = styled.img` - width: 20px; - height: 20px; - filter: invert(0.6); - transition: filter 0.2s ease; +const StyledLink = styled(Link)` + text-decoration: none; ` export default Sidebar diff --git a/src/renderer/src/pages/home/HomePage.tsx b/src/renderer/src/pages/home/HomePage.tsx index bcb6d702..707e834a 100644 --- a/src/renderer/src/pages/home/HomePage.tsx +++ b/src/renderer/src/pages/home/HomePage.tsx @@ -3,10 +3,17 @@ import { FC } from 'react' import styled from 'styled-components' const HomePage: FC = () => { + const onCreateConversation = () => { + window.electron.ipcRenderer.send('storage.set', { key: 'conversations', value: [] }) + } + return ( - + + new + new + Cherry AI @@ -25,6 +32,18 @@ const MainContainer = styled.div` flex-direction: column; ` +const NewButton = styled.button` + -webkit-app-region: none; + border-radius: 4px; + color: var(--color-text-1); + background-color: var(--color-background-soft); + border: 1px solid var(--color-background-soft); + &:hover { + background-color: var(--color-background-soft-hover); + cursor: pointer; + } +` + const ContentContainer = styled.div` display: flex; flex: 1; diff --git a/src/renderer/src/pages/settings/SettingsPage.tsx b/src/renderer/src/pages/settings/SettingsPage.tsx new file mode 100644 index 00000000..d6a23667 --- /dev/null +++ b/src/renderer/src/pages/settings/SettingsPage.tsx @@ -0,0 +1,38 @@ +import { Navbar, NavbarCenter } from '@renderer/components/app/Navbar' +import { FC } from 'react' +import styled from 'styled-components' + +const SettingsPage: FC = () => { + return ( + + + Settings + + + + + + ) +} + +const Container = styled.div` + display: flex; + flex-direction: column; + flex: 1; +` + +const ContentContainer = styled.div` + display: flex; + flex: 1; + flex-direction: row; +` + +const SettingMenus = styled.div` + display: flex; + min-width: var(--conversations-width); + border-right: 1px solid #ffffff20; + height: 100%; + padding: 10px; +` + +export default SettingsPage diff --git a/yarn.lock b/yarn.lock index 36086806..e218b2c1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15,6 +15,14 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" +"@babel/code-frame@^7.0.0": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.6.tgz#ab88da19344445c3d8889af2216606d3329f3ef2" + integrity sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA== + dependencies: + "@babel/highlight" "^7.24.6" + picocolors "^1.0.0" + "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.2": version "7.24.2" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" @@ -90,6 +98,13 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-module-imports@^7.16.7": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.6.tgz#65e54ffceed6a268dc4ce11f0433b82cfff57852" + integrity sha512-a26dmxFJBF62rRO9mmpgrfTLsAuyHk4e1hKTUkD/fcMfynt8gvEKwQPQDVxWhca8dHoDck+55DFt42zV0QMw5g== + dependencies: + "@babel/types" "^7.24.6" + "@babel/helper-module-imports@^7.24.3": version "7.24.3" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" @@ -132,11 +147,21 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== +"@babel/helper-string-parser@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.6.tgz#28583c28b15f2a3339cfafafeaad42f9a0e828df" + integrity sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q== + "@babel/helper-validator-identifier@^7.24.5": version "7.24.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz#918b1a7fa23056603506370089bd990d8720db62" integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== +"@babel/helper-validator-identifier@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz#08bb6612b11bdec78f3feed3db196da682454a5e" + integrity sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw== + "@babel/helper-validator-option@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" @@ -161,6 +186,16 @@ js-tokens "^4.0.0" picocolors "^1.0.0" +"@babel/highlight@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.6.tgz#6d610c1ebd2c6e061cade0153bf69b0590b7b3df" + integrity sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ== + dependencies: + "@babel/helper-validator-identifier" "^7.24.6" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + "@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.24.0", "@babel/parser@^7.24.5": version "7.24.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.5.tgz#4a4d5ab4315579e5398a82dcf636ca80c3392790" @@ -187,6 +222,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.0" +"@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.6.tgz#5b76eb89ad45e2e4a0a8db54c456251469a3358e" + integrity sha512-Ja18XcETdEl5mzzACGd+DKgaGJzPTCow7EglgwTmHdwokzDFYh/MHua6lU6DV/hjF2IaOJ4oX2nqnjG7RElKOw== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/template@^7.22.15", "@babel/template@^7.24.0": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" @@ -221,6 +263,15 @@ "@babel/helper-validator-identifier" "^7.24.5" to-fast-properties "^2.0.0" +"@babel/types@^7.24.6": + version "7.24.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.6.tgz#ba4e1f59870c10dc2fa95a274ac4feec23b21912" + integrity sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ== + dependencies: + "@babel/helper-string-parser" "^7.24.6" + "@babel/helper-validator-identifier" "^7.24.6" + to-fast-properties "^2.0.0" + "@develar/schema-utils@~2.6.5": version "2.6.5" resolved "https://registry.yarnpkg.com/@develar/schema-utils/-/schema-utils-2.6.5.tgz#3ece22c5838402419a6e0425f85742b961d9b6c6" @@ -318,7 +369,40 @@ minimatch "^3.0.4" plist "^3.0.4" -"@emotion/is-prop-valid@1.2.2": +"@emotion/babel-plugin@^11.11.0": + version "11.11.0" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz#c2d872b6a7767a9d176d007f5b31f7d504bb5d6c" + integrity sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/runtime" "^7.18.3" + "@emotion/hash" "^0.9.1" + "@emotion/memoize" "^0.8.1" + "@emotion/serialize" "^1.1.2" + babel-plugin-macros "^3.1.0" + convert-source-map "^1.5.0" + escape-string-regexp "^4.0.0" + find-root "^1.1.0" + source-map "^0.5.7" + stylis "4.2.0" + +"@emotion/cache@^11.11.0": + version "11.11.0" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" + integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== + dependencies: + "@emotion/memoize" "^0.8.1" + "@emotion/sheet" "^1.2.2" + "@emotion/utils" "^1.2.1" + "@emotion/weak-memoize" "^0.3.1" + stylis "4.2.0" + +"@emotion/hash@^0.9.1": + version "0.9.1" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43" + integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== + +"@emotion/is-prop-valid@1.2.2", "@emotion/is-prop-valid@^1.2.2": version "1.2.2" resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz#d4175076679c6a26faa92b03bb786f9e52612337" integrity sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw== @@ -330,11 +414,68 @@ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== -"@emotion/unitless@0.8.1": +"@emotion/react@^11.11.4": + version "11.11.4" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.4.tgz#3a829cac25c1f00e126408fab7f891f00ecc3c1d" + integrity sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.11.0" + "@emotion/cache" "^11.11.0" + "@emotion/serialize" "^1.1.3" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" + "@emotion/utils" "^1.2.1" + "@emotion/weak-memoize" "^0.3.1" + hoist-non-react-statics "^3.3.1" + +"@emotion/serialize@^1.1.2", "@emotion/serialize@^1.1.3", "@emotion/serialize@^1.1.4": + version "1.1.4" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.4.tgz#fc8f6d80c492cfa08801d544a05331d1cc7cd451" + integrity sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ== + dependencies: + "@emotion/hash" "^0.9.1" + "@emotion/memoize" "^0.8.1" + "@emotion/unitless" "^0.8.1" + "@emotion/utils" "^1.2.1" + csstype "^3.0.2" + +"@emotion/sheet@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" + integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== + +"@emotion/styled@^11.11.5": + version "11.11.5" + resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.11.5.tgz#0c5c8febef9d86e8a926e663b2e5488705545dfb" + integrity sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.11.0" + "@emotion/is-prop-valid" "^1.2.2" + "@emotion/serialize" "^1.1.4" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" + "@emotion/utils" "^1.2.1" + +"@emotion/unitless@0.8.1", "@emotion/unitless@^0.8.1": version "0.8.1" resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== +"@emotion/use-insertion-effect-with-fallbacks@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" + integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== + +"@emotion/utils@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" + integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== + +"@emotion/weak-memoize@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" + integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== + "@esbuild/aix-ppc64@0.19.12": version "0.19.12" resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz#d1bc06aedb6936b3b6d313bf809a5a40387d2b7f" @@ -597,6 +738,11 @@ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== +"@fontsource/inter@^5.0.18": + version "5.0.18" + resolved "https://registry.yarnpkg.com/@fontsource/inter/-/inter-5.0.18.tgz#eaddac790ee74b70932030f37ebaa9fc76decbd8" + integrity sha512-YCsoYPTcs713sI7tLtxaPrIhXAXvEetGg5Ry02ivA8qUOb3fQHojbK/X9HLD5OOKvFUNR2Ynkwb1kR1hVKQHpw== + "@humanwhocodes/config-array@^0.11.14": version "0.11.14" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" @@ -908,6 +1054,11 @@ dependencies: undici-types "~5.26.4" +"@types/parse-json@^4.0.0": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== + "@types/plist@^3.0.1": version "3.0.5" resolved "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.5.tgz#9a0c49c0f9886c8c8696a7904dd703f6284036e0" @@ -1313,6 +1464,15 @@ available-typed-arrays@^1.0.7: dependencies: possible-typed-array-names "^1.0.0" +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== + dependencies: + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -1612,6 +1772,11 @@ config-file-ts@^0.2.4: glob "^10.3.10" typescript "^5.3.3" +convert-source-map@^1.5.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + convert-source-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" @@ -1622,6 +1787,17 @@ core-util-is@1.0.2: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== +cosmiconfig@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + crc@^3.8.0: version "3.8.0" resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" @@ -1920,6 +2096,13 @@ err-code@^2.0.2: resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2, es-abstract@^1.23.3: version "1.23.3" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" @@ -2323,6 +2506,11 @@ fill-range@^7.1.1: dependencies: to-regex-range "^5.0.1" +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + find-up@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" @@ -2632,6 +2820,13 @@ hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: dependencies: function-bind "^1.1.2" +hoist-non-react-statics@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + hosted-git-info@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" @@ -2742,6 +2937,11 @@ is-array-buffer@^3.0.4: call-bind "^1.0.2" get-intrinsic "^1.2.1" +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + is-async-function@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" @@ -2995,6 +3195,11 @@ json-buffer@3.0.1: resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -3061,6 +3266,11 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + locate-path@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" @@ -3385,6 +3595,16 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" @@ -3536,7 +3756,7 @@ react-dom@^18.2.0: loose-envify "^1.1.0" scheduler "^0.23.2" -react-is@^16.13.1: +react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== @@ -3600,6 +3820,11 @@ reflect.getprototypeof@^1.0.4: globalthis "^1.0.3" which-builtin-type "^1.1.3" +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + regexp.prototype.flags@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" @@ -3625,6 +3850,15 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== +resolve@^1.19.0: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + resolve@^2.0.0-next.5: version "2.0.0-next.5" resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" @@ -3869,6 +4103,11 @@ source-map-support@^0.5.19: buffer-from "^1.0.0" source-map "^0.6.0" +source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + source-map@^0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" @@ -3982,6 +4221,11 @@ styled-components@^6.1.11: stylis "4.3.2" tslib "2.6.2" +stylis@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" + integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== + stylis@4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.2.tgz#8f76b70777dd53eb669c6f58c997bf0a9972e444" @@ -4328,6 +4572,11 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"