diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index 6cb2ddce..803a64d1 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -1,14 +1,17 @@
module.exports = {
+ plugins: ['unused-imports'],
extends: [
'eslint:recommended',
'plugin:react/recommended',
'plugin:react/jsx-runtime',
+ 'plugin:react-hooks/recommended',
'@electron-toolkit/eslint-config-ts/recommended',
'@electron-toolkit/eslint-config-prettier'
],
rules: {
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/no-explicit-any': 'off',
+ 'unused-imports/no-unused-imports': 'error',
'sort-imports': [
'error',
{
diff --git a/package.json b/package.json
index 889e82c0..8ac046f1 100644
--- a/package.json
+++ b/package.json
@@ -21,18 +21,21 @@
"build:linux": "electron-vite build && electron-builder --linux"
},
"dependencies": {
- "@douyinfe/semi-ui": "^2.60.0",
"@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",
"@reduxjs/toolkit": "^2.2.5",
+ "antd": "^5.18.3",
"electron-updater": "^6.1.7",
"electron-window-state": "^5.0.3",
"emittery": "^1.0.3",
+ "highlight.js": "^11.9.0",
"localforage": "^1.10.0",
"lodash": "^4.17.21",
+ "marked": "^13.0.1",
+ "openai": "^4.52.1",
"react-redux": "^9.1.2",
"react-router": "6",
"react-router-dom": "6",
@@ -54,7 +57,9 @@
"electron-devtools-installer": "^3.2.0",
"electron-vite": "^2.0.0",
"eslint": "^8.56.0",
- "eslint-plugin-react": "^7.33.2",
+ "eslint-plugin-react": "^7.34.3",
+ "eslint-plugin-react-hooks": "^4.6.2",
+ "eslint-plugin-unused-imports": "^4.0.0",
"prettier": "^3.2.4",
"react": "^18.2.0",
"react-dom": "^18.2.0",
diff --git a/src/main/index.ts b/src/main/index.ts
index a1601d70..5c62ed03 100644
--- a/src/main/index.ts
+++ b/src/main/index.ts
@@ -23,6 +23,7 @@ function createWindow(): void {
show: false,
autoHideMenuBar: true,
titleBarStyle: 'hiddenInset',
+ transparent: true,
trafficLightPosition: { x: 8, y: 8 },
...(process.platform === 'linux' ? { icon } : {}),
webPreferences: {
diff --git a/src/renderer/index.html b/src/renderer/index.html
index 0e82c7bc..f0f81e5b 100644
--- a/src/renderer/index.html
+++ b/src/renderer/index.html
@@ -7,7 +7,7 @@
+ content="default-src 'self'; connect-src *; script-src 'self'; style-src 'self' 'unsafe-inline' *; font-src 'self' *; img-src 'self' data:" />
diff --git a/src/renderer/src/App.css b/src/renderer/src/App.css
deleted file mode 100644
index b8e15e2d..00000000
--- a/src/renderer/src/App.css
+++ /dev/null
@@ -1,129 +0,0 @@
-@import 'https://at.alicdn.com/t/c/font_4563475_yuh5d3ftmm.css';
-
-:root {
- --ev-c-white: #ffffff;
- --ev-c-white-soft: #f8f8f8;
- --ev-c-white-mute: #f2f2f2;
-
- --ev-c-black: #1b1b1f;
- --ev-c-black-soft: #222222;
- --ev-c-black-mute: #282828;
-
- --ev-c-gray-1: #515c67;
- --ev-c-gray-2: #414853;
- --ev-c-gray-3: #32363f;
-
- --ev-c-text-1: rgba(255, 255, 245, 0.86);
- --ev-c-text-2: rgba(235, 235, 245, 0.6);
- --ev-c-text-3: rgba(235, 235, 245, 0.38);
-
- --ev-button-alt-border: transparent;
- --ev-button-alt-text: var(--ev-c-text-1);
- --ev-button-alt-bg: var(--ev-c-gray-3);
- --ev-button-alt-hover-border: transparent;
- --ev-button-alt-hover-text: var(--ev-c-text-1);
- --ev-button-alt-hover-bg: var(--ev-c-gray-2);
-
- --navbar-height: 40px;
- --sidebar-width: 70px;
- --conversations-width: 240px;
- --settings-width: 280px;
- --status-bar-height: 40px;
-
- --color-background: #181818;
- --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;
-}
-
-*,
-*::before,
-*::after {
- box-sizing: border-box;
- margin: 0;
- font-weight: normal;
-}
-
-ul {
- list-style: none;
-}
-
-body {
- display: flex;
- min-height: 100vh;
- color: var(--color-text);
- background: var(--color-background);
- line-height: 1.6;
- overflow: hidden;
- background-size: cover;
- user-select: none;
- font-family:
- Inter,
- -apple-system,
- BlinkMacSystemFont,
- 'Segoe UI',
- Roboto,
- Oxygen,
- Ubuntu,
- Cantarell,
- 'Fira Sans',
- 'Droid Sans',
- 'Helvetica Neue',
- sans-serif;
- text-rendering: optimizeLegibility;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-
-code {
- font-weight: 600;
- padding: 3px 5px;
- border-radius: 2px;
- background-color: var(--color-background-mute);
- font-family:
- ui-monospace,
- SFMono-Regular,
- SF Mono,
- Menlo,
- Consolas,
- Liberation Mono,
- monospace;
- font-size: 85%;
-}
-
-html,
-body,
-#root {
- height: 100%;
- margin: 0;
-}
-
-#root {
- width: 100%;
- height: 100%;
- display: flex;
- flex-direction: row;
- flex: 1;
-}
-
-/*
-::-webkit-scrollbar {
- width: 5px;
- height: 5px;
-}
-
-::-webkit-scrollbar-track {
- background-color: #292f34;
-}
-
-::-webkit-scrollbar-thumb {
- background-color: #444c51;
-}
-
-::-webkit-scrollbar-thumb:hover {
- background-color: #444c51;
-} */
diff --git a/src/renderer/src/App.tsx b/src/renderer/src/App.tsx
index 7473a37b..9cdb9f73 100644
--- a/src/renderer/src/App.tsx
+++ b/src/renderer/src/App.tsx
@@ -7,21 +7,32 @@ import Sidebar from './components/app/Sidebar'
import AppsPage from './pages/apps/AppsPage'
import HomePage from './pages/home/HomePage'
import SettingsPage from './pages/settings/SettingsPage'
+import { ConfigProvider, theme } from 'antd'
function App(): JSX.Element {
return (
-
-
-
-
-
- } />
- } />
- } />
-
-
-
-
+
+
+
+
+
+
+ } />
+ } />
+ } />
+
+
+
+
+
)
}
diff --git a/src/renderer/src/assets/styles/index.scss b/src/renderer/src/assets/styles/index.scss
new file mode 100644
index 00000000..91b74c0e
--- /dev/null
+++ b/src/renderer/src/assets/styles/index.scss
@@ -0,0 +1,87 @@
+@import 'https://at.alicdn.com/t/c/font_4563475_yuh5d3ftmm.css';
+@import './markdown.scss';
+:root {
+ --color-white: #ffffff;
+ --color-white-soft: #f8f8f8;
+ --color-white-mute: #f2f2f2;
+
+ --color-black: #1b1b1f;
+ --color-black-soft: #303030;
+ --color-black-mute: #363636;
+
+ --color-gray-1: #515c67;
+ --color-gray-2: #414853;
+ --color-gray-3: #32363f;
+
+ --color-text-1: rgba(255, 255, 245, 0.86);
+ --color-text-2: rgba(235, 235, 245, 0.6);
+ --color-text-3: rgba(235, 235, 245, 0.38);
+
+ --color-background: #1e1e1e;
+ --color-background-soft: var(--color-black-soft);
+ --color-background-mute: var(--color-black-mute);
+
+ --color-text: var(--color-text-1);
+ --color-icon: #ffffff99;
+ --color-icon-white: #ffffff;
+
+ --navbar-height: 40px;
+ --sidebar-width: 70px;
+ --conversations-width: 240px;
+ --settings-width: 280px;
+ --status-bar-height: 40px;
+}
+
+*,
+*::before,
+*::after {
+ box-sizing: border-box;
+ margin: 0;
+ font-weight: normal;
+}
+
+ul {
+ list-style: none;
+}
+
+body {
+ display: flex;
+ min-height: 100vh;
+ color: var(--color-text);
+ background: var(--color-background);
+ line-height: 1.6;
+ overflow: hidden;
+ background-size: cover;
+ user-select: none;
+ font-family:
+ Inter,
+ -apple-system,
+ BlinkMacSystemFont,
+ 'Segoe UI',
+ Roboto,
+ Oxygen,
+ Ubuntu,
+ Cantarell,
+ 'Fira Sans',
+ 'Droid Sans',
+ 'Helvetica Neue',
+ sans-serif;
+ text-rendering: optimizeLegibility;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+html,
+body,
+#root {
+ height: 100%;
+ margin: 0;
+}
+
+#root {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex-direction: row;
+ flex: 1;
+}
diff --git a/src/renderer/src/assets/styles/markdown.scss b/src/renderer/src/assets/styles/markdown.scss
new file mode 100644
index 00000000..896b3cec
--- /dev/null
+++ b/src/renderer/src/assets/styles/markdown.scss
@@ -0,0 +1,96 @@
+.markdown {
+ width: 100%;
+ max-width: 800px;
+ color: #fff;
+ font-size: 14px;
+ line-height: 1.6;
+ user-select: text;
+
+ .hljs {
+ background-color: transparent;
+ border: 1px solid #333;
+ border-radius: 3px;
+ }
+
+ p:first-of-type {
+ margin-top: 0;
+ }
+
+ h1,
+ h2,
+ h3,
+ h4,
+ h5,
+ h6 {
+ margin: 1.5em 0 0.5em 0;
+ font-weight: 800;
+ }
+
+ h1 {
+ font-size: 2em;
+ color: #fff;
+ }
+
+ h2 {
+ font-size: 1.5em;
+ color: #fff;
+ }
+
+ h3 {
+ font-size: 1.2em;
+ color: #fff;
+ }
+
+ h4 {
+ font-size: 1em;
+ color: #fff;
+ }
+
+ h5 {
+ font-size: 0.9em;
+ color: #fff;
+ }
+
+ h6 {
+ font-size: 0.8em;
+ color: #fff;
+ }
+
+ p {
+ margin: 1em 0;
+ color: #ccc;
+ }
+
+ ul,
+ ol {
+ padding-left: 1.5em;
+ margin: 1em 0;
+ color: #ccc;
+ }
+
+ li {
+ margin-bottom: 0.5em;
+ }
+
+ hr {
+ border: none;
+ border-top: 1px solid #555;
+ margin: 20px 0;
+ background-color: #555;
+ }
+
+ code {
+ font-weight: 600;
+ padding: 3px 5px;
+ border-radius: 2px;
+ font-family:
+ ui-monospace,
+ SFMono-Regular,
+ SF Mono,
+ Menlo,
+ Consolas,
+ Liberation Mono,
+ monospace;
+ font-size: 80%;
+ }
+}
diff --git a/src/renderer/src/components/app/Navbar.tsx b/src/renderer/src/components/app/Navbar.tsx
index 760403a7..3c037473 100644
--- a/src/renderer/src/components/app/Navbar.tsx
+++ b/src/renderer/src/components/app/Navbar.tsx
@@ -25,6 +25,7 @@ const NavbarContainer = styled.div`
flex-direction: row;
min-height: var(--navbar-height);
max-height: var(--navbar-height);
+ background-color: #111;
border-bottom: 1px solid #ffffff20;
-webkit-app-region: drag;
`
diff --git a/src/renderer/src/components/app/Sidebar.tsx b/src/renderer/src/components/app/Sidebar.tsx
index ea79f05c..c9fabdd9 100644
--- a/src/renderer/src/components/app/Sidebar.tsx
+++ b/src/renderer/src/components/app/Sidebar.tsx
@@ -45,8 +45,7 @@ const Container = styled.div`
padding: 16px 0;
min-width: var(--sidebar-width);
min-height: 100%;
- border-top: 1px solid #ffffff20;
- border-right: 1px solid #ffffff20;
+ background: #262626;
padding-top: 40px;
padding-bottom: 10px;
-webkit-app-region: drag !important;
diff --git a/src/renderer/src/hooks/useAgents.ts b/src/renderer/src/hooks/useAgents.ts
index 25178d1b..2f01445e 100644
--- a/src/renderer/src/hooks/useAgents.ts
+++ b/src/renderer/src/hooks/useAgents.ts
@@ -7,17 +7,13 @@ import {
updateAgent
} from '@renderer/store/agents'
import { Agent } from '@renderer/types'
-import { useState } from 'react'
export default function useAgents() {
const { agents } = useAppSelector((state) => state.agents)
- const [agentId, setAgentId] = useState(agents[0]?.id)
const dispatch = useAppDispatch()
return {
agents,
- agent: agents.find((t) => t.id === agentId),
- setAgent: (agent: Agent) => setAgentId(agent.id),
addAgent: (agent: Agent) => dispatch(addAgent(agent)),
removeAgent: (id: string) => dispatch(removeAgent({ id })),
updateAgent: (agent: Agent) => dispatch(updateAgent(agent)),
diff --git a/src/renderer/src/main.tsx b/src/renderer/src/main.tsx
index bac1791f..0f648dfc 100644
--- a/src/renderer/src/main.tsx
+++ b/src/renderer/src/main.tsx
@@ -1,4 +1,4 @@
-import './App.css'
+import './assets/styles/index.scss'
import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App'
diff --git a/src/renderer/src/pages/apps/AppsPage.tsx b/src/renderer/src/pages/apps/AppsPage.tsx
index 9f89935c..ef217a82 100644
--- a/src/renderer/src/pages/apps/AppsPage.tsx
+++ b/src/renderer/src/pages/apps/AppsPage.tsx
@@ -6,7 +6,7 @@ const AppsPage: FC = () => {
return (
- APP
+ Agent Market
)
diff --git a/src/renderer/src/pages/home/HomePage.tsx b/src/renderer/src/pages/home/HomePage.tsx
index 6a67052e..0c884f77 100644
--- a/src/renderer/src/pages/home/HomePage.tsx
+++ b/src/renderer/src/pages/home/HomePage.tsx
@@ -1,17 +1,16 @@
import { Navbar, NavbarCenter, NavbarLeft, NavbarRight } from '@renderer/components/app/Navbar'
import useAgents from '@renderer/hooks/useAgents'
-import { FC, useEffect } from 'react'
+import { FC, useState } from 'react'
import styled from 'styled-components'
import Chat from './components/Chat'
import Agents from './components/Agents'
import { uuid } from '@renderer/utils'
+import { Agent } from '@renderer/types'
+import { last } from 'lodash'
const HomePage: FC = () => {
- const { agents, agent, setAgent, addAgent } = useAgents()
-
- useEffect(() => {
- !agent && agents[0] && setAgent(agents[0])
- }, [agent, agents])
+ const { agents, addAgent } = useAgents()
+ const [activeAgent, setActiveAgent] = useState(agents[0])
const onCreateConversation = () => {
const _agent = {
@@ -23,18 +22,23 @@ const HomePage: FC = () => {
conversations: []
}
addAgent(_agent)
- setAgent(_agent)
+ setActiveAgent(_agent)
+ }
+
+ const onRemoveAgent = (agent: Agent) => {
+ const _agent = last(agents.filter((a) => a.id !== agent.id))
+ _agent && setActiveAgent(_agent)
}
return (
-
+
- {agent?.name}
+ {activeAgent?.name}
@@ -42,8 +46,8 @@ const HomePage: FC = () => {
-
- {agent && }
+
+
)
diff --git a/src/renderer/src/pages/home/components/Agents.tsx b/src/renderer/src/pages/home/components/Agents.tsx
index 99d0ad4f..cd2c2b2b 100644
--- a/src/renderer/src/pages/home/components/Agents.tsx
+++ b/src/renderer/src/pages/home/components/Agents.tsx
@@ -1,25 +1,56 @@
-import { FC } from 'react'
+import { FC, useRef } from 'react'
import styled from 'styled-components'
-import { IconMore } from '@douyinfe/semi-icons'
-import { Dropdown } from '@douyinfe/semi-ui'
import useAgents from '@renderer/hooks/useAgents'
+import { Agent } from '@renderer/types'
+import { Dropdown, MenuProps } from 'antd'
+import { EllipsisOutlined } from '@ant-design/icons'
-const Agents: FC = () => {
- const { agents, setAgent, removeAgent } = useAgents()
+interface Props {
+ activeAgent: Agent
+ onActive: (agent: Agent) => void
+ onRemove: (agent: Agent) => void
+}
+
+const Agents: FC = ({ activeAgent, onActive, onRemove }) => {
+ const { agents, removeAgent } = useAgents()
+ const targetAgent = useRef(null)
+
+ const onDelete = (agent: Agent) => {
+ removeAgent(agent.id)
+ onRemove(agent)
+ }
+
+ const items: MenuProps['items'] = [
+ {
+ label: 'Edit',
+ key: 'edit'
+ },
+ {
+ label: 'Favorite',
+ key: 'favorite'
+ },
+ {
+ label: 'Delete',
+ key: 'delete',
+ onClick: () => targetAgent.current && onDelete(targetAgent.current)
+ }
+ ]
return (
{agents.map((agent) => (
- setAgent(agent)} className={agent.id === agent?.id ? 'active' : ''}>
-
- removeAgent(agent.id)}>Delete
-
- }>
-
+ onActive(agent)}
+ className={agent.id === activeAgent?.id ? 'active' : ''}>
+
+ {
+ e.stopPropagation()
+ targetAgent.current = agent
+ }}
+ />
{agent.name}
{agent.lastMessage}
@@ -35,9 +66,8 @@ const Container = styled.div`
flex-direction: column;
min-width: var(--conversations-width);
max-width: var(--conversations-width);
- border-right: 1px solid #ffffff20;
+ border-right: 0.5px solid #ffffff20;
height: calc(100vh - var(--navbar-height));
- padding: 10px;
overflow-y: scroll;
&::-webkit-scrollbar {
display: none;
@@ -50,12 +80,12 @@ const AgentItem = styled.div`
padding: 10px;
position: relative;
cursor: pointer;
- .semi-icon {
+ .anticon {
display: none;
}
&:hover {
background-color: var(--color-background-soft);
- .semi-icon {
+ .anticon {
display: block;
}
}
@@ -63,8 +93,6 @@ const AgentItem = styled.div`
background-color: var(--color-background-mute);
cursor: pointer;
}
- border-radius: 8px;
- margin-bottom: 10px;
`
const AgentTime = styled.div`
diff --git a/src/renderer/src/pages/home/components/Chat.tsx b/src/renderer/src/pages/home/components/Chat.tsx
index d9b3c126..342080e5 100644
--- a/src/renderer/src/pages/home/components/Chat.tsx
+++ b/src/renderer/src/pages/home/components/Chat.tsx
@@ -1,11 +1,8 @@
-import { Message, Agent } from '@renderer/types'
-import { FC, useState } from 'react'
+import { Agent } from '@renderer/types'
+import { FC, useEffect, useState } from 'react'
import styled from 'styled-components'
import Inputbar from './Inputbar'
import Conversations from './Conversations'
-import useAgents from '@renderer/hooks/useAgents'
-import { isEmpty } from 'lodash'
-import localforage from 'localforage'
import { uuid } from '@renderer/utils'
interface Props {
@@ -13,10 +10,18 @@ interface Props {
}
const Chat: FC = ({ agent }) => {
- const [conversationId] = useState(agent.conversations[0] || uuid())
+ const [conversationId, setConversationId] = useState(agent?.conversations[0] || uuid())
+
+ useEffect(() => {
+ setConversationId(agent?.conversations[0] || uuid())
+ }, [agent])
+
+ if (!agent) {
+ return null
+ }
return (
-
+
@@ -28,7 +33,7 @@ const Container = styled.div`
flex-direction: column;
height: 100%;
flex: 1;
- border-right: 1px solid #ffffff20;
+ justify-content: space-between;
`
export default Chat
diff --git a/src/renderer/src/pages/home/components/Conversations.tsx b/src/renderer/src/pages/home/components/Conversations.tsx
index fe33eb23..e94947b2 100644
--- a/src/renderer/src/pages/home/components/Conversations.tsx
+++ b/src/renderer/src/pages/home/components/Conversations.tsx
@@ -1,12 +1,14 @@
-import { Avatar } from '@douyinfe/semi-ui'
import useAgents from '@renderer/hooks/useAgents'
import { EVENT_NAMES, EventEmitter } from '@renderer/services/event'
-import { Conversation, Message, Agent } from '@renderer/types'
-import { runAsyncFunction } from '@renderer/utils'
+import { openaiProvider } from '@renderer/services/provider'
+import { Agent, Conversation, Message } from '@renderer/types'
+import { runAsyncFunction, uuid } from '@renderer/utils'
+import 'highlight.js/styles/github-dark.css'
import localforage from 'localforage'
-import { isEmpty } from 'lodash'
-import { FC, useEffect, useState } from 'react'
+import { FC, useCallback, useEffect, useState } from 'react'
import styled from 'styled-components'
+import MessageItem from './Message'
+import { reverse } from 'lodash'
interface Props {
agent: Agent
@@ -15,44 +17,81 @@ interface Props {
const Conversations: FC = ({ agent, conversationId }) => {
const [messages, setMessages] = useState([])
+ const [lastMessage, setLastMessage] = useState(null)
const { addConversation } = useAgents()
- const onSendMessage = (message: Message) => {
- setMessages([...messages, message])
-
- if (isEmpty(agent?.conversations)) {
+ const onSendMessage = useCallback(
+ (message: Message) => {
+ const _messages = [...messages, message]
+ setMessages(_messages)
addConversation(agent.id, conversationId)
- }
+ localforage.setItem(`conversation:${conversationId}`, {
+ id: conversationId,
+ messages: _messages
+ })
+ },
+ [addConversation, agent.id, conversationId, messages]
+ )
- localforage.setItem(`conversation:${conversationId}`, {
- id: conversationId,
- messages: [...messages, message]
- })
- }
+ const fetchChatCompletion = useCallback(
+ async (message: Message) => {
+ const stream = await openaiProvider.chat.completions.create({
+ model: 'Qwen/Qwen2-7B-Instruct',
+ messages: [{ role: 'user', content: message.content }],
+ stream: true
+ })
+
+ const _message: Message = {
+ id: uuid(),
+ content: '',
+ agentId: agent.id,
+ conversationId,
+ createdAt: 'now'
+ }
+
+ let content = ''
+
+ for await (const chunk of stream) {
+ content = content + (chunk.choices[0]?.delta?.content || '')
+ setLastMessage({ ..._message, content })
+ }
+
+ _message.content = content
+
+ EventEmitter.emit(EVENT_NAMES.AI_CHAT_COMPLETION, _message)
+
+ return _message
+ },
+ [agent.id, conversationId]
+ )
+
+ useEffect(() => {
+ const unsubscribes = [
+ EventEmitter.on(EVENT_NAMES.SEND_MESSAGE, async (msg: Message) => {
+ onSendMessage(msg)
+ fetchChatCompletion(msg)
+ }),
+ EventEmitter.on(EVENT_NAMES.AI_CHAT_COMPLETION, async (msg: Message) => {
+ setLastMessage(null)
+ onSendMessage(msg)
+ })
+ ]
+ return () => unsubscribes.forEach((unsub) => unsub())
+ }, [fetchChatCompletion, onSendMessage])
useEffect(() => {
runAsyncFunction(async () => {
const conversation = await localforage.getItem(`conversation:${conversationId}`)
- conversation && setMessages(conversation.messages)
+ console.debug('conversation', conversation)
+ setMessages(conversation ? conversation.messages : [])
})
}, [conversationId])
- useEffect(() => {
- const unsubscribe = EventEmitter.on(EVENT_NAMES.SEND_MESSAGE, onSendMessage)
- return () => unsubscribe()
- }, [onSendMessage])
-
return (
-
- {messages.map((message) => (
-
-
-
- Y
-
-
- {message.content}
-
+
+ {lastMessage && }
+ {reverse([...messages]).map((message) => (
+
))}
)
@@ -61,26 +100,11 @@ const Conversations: FC = ({ agent, conversationId }) => {
const Container = styled.div`
display: flex;
flex-direction: column;
- flex: 1;
overflow-y: scroll;
+ flex-direction: column-reverse;
&::-webkit-scrollbar {
display: none;
}
`
-const ConversationItem = styled.div`
- display: flex;
- flex-direction: row;
- padding: 10px 15px;
- position: relative;
- cursor: pointer;
- &:hover {
- background-color: var(--color-background-soft);
- }
-`
-
-const AvatarWrapper = styled.div`
- margin-right: 10px;
-`
-
export default Conversations
diff --git a/src/renderer/src/pages/home/components/Inputbar.tsx b/src/renderer/src/pages/home/components/Inputbar.tsx
index b23cb45d..9d412dce 100644
--- a/src/renderer/src/pages/home/components/Inputbar.tsx
+++ b/src/renderer/src/pages/home/components/Inputbar.tsx
@@ -1,5 +1,5 @@
import { EVENT_NAMES, EventEmitter } from '@renderer/services/event'
-import { Message, Agent } from '@renderer/types'
+import { Agent, Message } from '@renderer/types'
import { uuid } from '@renderer/utils'
import { FC, useState } from 'react'
import styled from 'styled-components'
@@ -44,14 +44,15 @@ const Inputbar: FC = ({ agent }) => {
const Textarea = styled.textarea`
padding: 15px;
width: 100%;
- height: 100px;
+ height: 120px;
+ min-height: 120px;
border: none;
outline: none;
resize: none;
font-size: 14px;
color: var(--color-text);
background-color: transparent;
- border-top: 1px solid #ffffff20;
+ border-top: 0.5px solid #ffffff20;
`
export default Inputbar
diff --git a/src/renderer/src/pages/home/components/Message.tsx b/src/renderer/src/pages/home/components/Message.tsx
new file mode 100644
index 00000000..b670f2ad
--- /dev/null
+++ b/src/renderer/src/pages/home/components/Message.tsx
@@ -0,0 +1,34 @@
+import { Message } from '@renderer/types'
+import { Avatar } from 'antd'
+import hljs from 'highlight.js'
+import { marked } from 'marked'
+import { FC, useEffect } from 'react'
+import styled from 'styled-components'
+
+const MessageItem: FC<{ message: Message }> = ({ message }) => {
+ useEffect(() => {
+ hljs.highlightAll()
+ })
+
+ return (
+
+
+ Y
+
+
+
+ )
+}
+
+const MessageContainer = styled.div`
+ display: flex;
+ flex-direction: row;
+ padding: 10px 15px;
+ position: relative;
+`
+
+const AvatarWrapper = styled.div`
+ margin-right: 10px;
+`
+
+export default MessageItem
diff --git a/src/renderer/src/services/event.ts b/src/renderer/src/services/event.ts
index 1480069e..c375208c 100644
--- a/src/renderer/src/services/event.ts
+++ b/src/renderer/src/services/event.ts
@@ -3,5 +3,6 @@ import Emittery from 'emittery'
export const EventEmitter = new Emittery()
export const EVENT_NAMES = {
- SEND_MESSAGE: 'SEND_MESSAGE'
+ SEND_MESSAGE: 'SEND_MESSAGE',
+ AI_CHAT_COMPLETION: 'AI_CHAT_COMPLETION'
}
diff --git a/src/renderer/src/services/provider.ts b/src/renderer/src/services/provider.ts
new file mode 100644
index 00000000..3126a12d
--- /dev/null
+++ b/src/renderer/src/services/provider.ts
@@ -0,0 +1,7 @@
+import OpenAI from 'openai'
+
+export const openaiProvider = new OpenAI({
+ dangerouslyAllowBrowser: true,
+ apiKey: 'sk-cmxcwkapuoxpddlytqpuxxszyqymqgrcxremulcdlgcgabtq',
+ baseURL: 'https://api.siliconflow.cn/v1'
+})
diff --git a/src/renderer/src/store/index.ts b/src/renderer/src/store/index.ts
index 04ca1d4f..8e19d01e 100644
--- a/src/renderer/src/store/index.ts
+++ b/src/renderer/src/store/index.ts
@@ -4,6 +4,10 @@ import { FLUSH, PAUSE, PERSIST, persistReducer, persistStore, PURGE, REGISTER, R
import storage from 'redux-persist/lib/storage'
import agents from './agents'
+const rootReducer = combineReducers({
+ agents
+})
+
const store = configureStore({
reducer: persistReducer(
{
@@ -11,9 +15,7 @@ const store = configureStore({
storage,
version: 1
},
- combineReducers({
- agents
- })
+ rootReducer
),
middleware: (getDefaultMiddleware) => {
return getDefaultMiddleware({
@@ -25,13 +27,12 @@ const store = configureStore({
devTools: true
})
-export type RootState = ReturnType
+export type RootState = ReturnType
export type AppDispatch = typeof store.dispatch
export const persistor = persistStore(store)
export const useAppDispatch = useDispatch.withTypes()
export const useAppSelector = useSelector.withTypes()
export const useAppStore = useStore.withTypes()
-// export const dispatch: AppDispatch = useDispatch()
export default store
diff --git a/src/renderer/src/types/index.ts b/src/renderer/src/types/index.ts
index ad98994e..8472726f 100644
--- a/src/renderer/src/types/index.ts
+++ b/src/renderer/src/types/index.ts
@@ -26,12 +26,3 @@ export type User = {
avatar: string
email: string
}
-
-export type Agent = {
- id: string
- name: string
- description: string
- avatar: string
- model: string
- default: boolean
-}
diff --git a/yarn.lock b/yarn.lock
index bf1a9c39..bc6168be 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -15,6 +15,53 @@
"@jridgewell/gen-mapping" "^0.3.5"
"@jridgewell/trace-mapping" "^0.3.24"
+"@ant-design/colors@^7.0.0", "@ant-design/colors@^7.0.2":
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-7.0.2.tgz#c5c753a467ce8d86ba7ca4736d2c01f599bb5492"
+ integrity sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg==
+ dependencies:
+ "@ctrl/tinycolor" "^3.6.1"
+
+"@ant-design/cssinjs@^1.21.0":
+ version "1.21.0"
+ resolved "https://registry.yarnpkg.com/@ant-design/cssinjs/-/cssinjs-1.21.0.tgz#de7289bfd71c7a494a28b96569ad88f999619105"
+ integrity sha512-gIilraPl+9EoKdYxnupxjHB/Q6IHNRjEXszKbDxZdsgv4sAZ9pjkCq8yanDWNvyfjp4leir2OVAJm0vxwKK8YA==
+ dependencies:
+ "@babel/runtime" "^7.11.1"
+ "@emotion/hash" "^0.8.0"
+ "@emotion/unitless" "^0.7.5"
+ classnames "^2.3.1"
+ csstype "^3.1.3"
+ rc-util "^5.35.0"
+ stylis "^4.0.13"
+
+"@ant-design/icons-svg@^4.4.0":
+ version "4.4.2"
+ resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz#ed2be7fb4d82ac7e1d45a54a5b06d6cecf8be6f6"
+ integrity sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==
+
+"@ant-design/icons@^5.3.7":
+ version "5.3.7"
+ resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-5.3.7.tgz#d9f3654bf7934ee5faba43f91b5a187f5309ec68"
+ integrity sha512-bCPXTAg66f5bdccM4TT21SQBDO1Ek2gho9h3nO9DAKXJP4sq+5VBjrQMSxMVXSB3HyEz+cUbHQ5+6ogxCOpaew==
+ dependencies:
+ "@ant-design/colors" "^7.0.0"
+ "@ant-design/icons-svg" "^4.4.0"
+ "@babel/runtime" "^7.11.2"
+ classnames "^2.2.6"
+ rc-util "^5.31.1"
+
+"@ant-design/react-slick@~1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@ant-design/react-slick/-/react-slick-1.1.2.tgz#f84ce3e4d0dc941f02b16f1d1d6d7a371ffbb4f1"
+ integrity sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA==
+ dependencies:
+ "@babel/runtime" "^7.10.4"
+ classnames "^2.2.5"
+ json2mq "^0.2.0"
+ resize-observer-polyfill "^1.5.1"
+ throttle-debounce "^5.0.0"
+
"@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"
@@ -222,7 +269,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.24.0"
-"@babel/runtime@^7.0.0", "@babel/runtime@^7.21.0":
+"@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.16.7", "@babel/runtime@^7.18.0", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.5", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.6", "@babel/runtime@^7.23.9", "@babel/runtime@^7.24.4", "@babel/runtime@^7.24.7":
version "7.24.7"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.7.tgz#f4f0d5530e8dbdf59b3451b9b3e594b6ba082e12"
integrity sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==
@@ -279,6 +326,11 @@
"@babel/helper-validator-identifier" "^7.24.6"
to-fast-properties "^2.0.0"
+"@ctrl/tinycolor@^3.6.1":
+ version "3.6.1"
+ resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz#b6c75a56a1947cc916ea058772d666a2c8932f31"
+ integrity sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==
+
"@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"
@@ -287,117 +339,6 @@
ajv "^6.12.0"
ajv-keywords "^3.4.1"
-"@dnd-kit/accessibility@^3.1.0":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/@dnd-kit/accessibility/-/accessibility-3.1.0.tgz#1054e19be276b5f1154ced7947fc0cb5d99192e0"
- integrity sha512-ea7IkhKvlJUv9iSHJOnxinBcoOI3ppGnnL+VDJ75O45Nss6HtZd8IdN8touXPDtASfeI2T2LImb8VOZcL47wjQ==
- dependencies:
- tslib "^2.0.0"
-
-"@dnd-kit/core@^6.0.8":
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/@dnd-kit/core/-/core-6.1.0.tgz#e81a3d10d9eca5d3b01cbf054171273a3fe01def"
- integrity sha512-J3cQBClB4TVxwGo3KEjssGEXNJqGVWx17aRTZ1ob0FliR5IjYgTxl5YJbKTzA6IzrtelotH19v6y7uoIRUZPSg==
- dependencies:
- "@dnd-kit/accessibility" "^3.1.0"
- "@dnd-kit/utilities" "^3.2.2"
- tslib "^2.0.0"
-
-"@dnd-kit/sortable@^7.0.2":
- version "7.0.2"
- resolved "https://registry.yarnpkg.com/@dnd-kit/sortable/-/sortable-7.0.2.tgz#791d550872457f3f3c843e00d159b640f982011c"
- integrity sha512-wDkBHHf9iCi1veM834Gbk1429bd4lHX4RpAwT0y2cHLf246GAvU2sVw/oxWNpPKQNQRQaeGXhAVgrOl1IT+iyA==
- dependencies:
- "@dnd-kit/utilities" "^3.2.0"
- tslib "^2.0.0"
-
-"@dnd-kit/utilities@^3.2.0", "@dnd-kit/utilities@^3.2.1", "@dnd-kit/utilities@^3.2.2":
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/@dnd-kit/utilities/-/utilities-3.2.2.tgz#5a32b6af356dc5f74d61b37d6f7129a4040ced7b"
- integrity sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==
- dependencies:
- tslib "^2.0.0"
-
-"@douyinfe/semi-animation-react@2.60.0":
- version "2.60.0"
- resolved "https://registry.yarnpkg.com/@douyinfe/semi-animation-react/-/semi-animation-react-2.60.0.tgz#bb1c807704c60537465758b2a29ed9bfc029e1bc"
- integrity sha512-x6SpTBQDVSyf2wkMpwk46BNOE7NO8cG13VZDarbxzVtVzY2SANAdTel/rnoabxGf1Kmtok8F55I/OOZsoy5iQg==
- dependencies:
- "@douyinfe/semi-animation" "2.60.0"
- "@douyinfe/semi-animation-styled" "2.60.0"
- classnames "^2.2.6"
-
-"@douyinfe/semi-animation-styled@2.60.0":
- version "2.60.0"
- resolved "https://registry.yarnpkg.com/@douyinfe/semi-animation-styled/-/semi-animation-styled-2.60.0.tgz#0e935b68aaaed55671c59e92029eed5599d6d207"
- integrity sha512-S5Gun0LmDuIDCkGwLADjcWY4eOU64p7OQH30+yCII1GrS0CSGAPlMzJ0p0zOieGUilcvmyCtWRZ8NeH8lVQLdA==
-
-"@douyinfe/semi-animation@2.60.0":
- version "2.60.0"
- resolved "https://registry.yarnpkg.com/@douyinfe/semi-animation/-/semi-animation-2.60.0.tgz#0194eeb5342b092a711a95e5b9ba2a8346fbe0c5"
- integrity sha512-WqLvozsST4hgL8zHRBA3LtopJSIzyb7RdaCe8t0vJHxkH1n5Fe9coYBXEzScNF9xSpm11M7aub4v3x05XQO8bw==
- dependencies:
- bezier-easing "^2.1.0"
-
-"@douyinfe/semi-foundation@2.60.0":
- version "2.60.0"
- resolved "https://registry.yarnpkg.com/@douyinfe/semi-foundation/-/semi-foundation-2.60.0.tgz#7833e566284c8e7ce4169fb4f38bb1dbcb4aee08"
- integrity sha512-R1sBQDo+lsNSfEV53sDOjfDsahwTX9T9kO+KD+8z4lyjHeQBcxhWI3gmWsubXY81yJU/Ve4WXN3MNaPxp/HIWw==
- dependencies:
- "@douyinfe/semi-animation" "2.60.0"
- async-validator "^3.5.0"
- classnames "^2.2.6"
- date-fns "^2.29.3"
- date-fns-tz "^1.3.8"
- fast-copy "^3.0.1 "
- lodash "^4.17.21"
- memoize-one "^5.2.1"
- scroll-into-view-if-needed "^2.2.24"
-
-"@douyinfe/semi-icons@2.60.0":
- version "2.60.0"
- resolved "https://registry.yarnpkg.com/@douyinfe/semi-icons/-/semi-icons-2.60.0.tgz#d3a6864517d835720137c5bd195a80a67746db57"
- integrity sha512-+Rz6o+4k3wO1vRQee/RhPjM04+8fTScLcMYYC5tT+TRgzWO82aOGZKPtJTW45T+iM+oDOnS9/FB2xQj2sPEnIw==
- dependencies:
- classnames "^2.2.6"
-
-"@douyinfe/semi-illustrations@2.60.0":
- version "2.60.0"
- resolved "https://registry.yarnpkg.com/@douyinfe/semi-illustrations/-/semi-illustrations-2.60.0.tgz#9cef572da3c0f8b36e88ba1cbc3a44365e7d82d5"
- integrity sha512-xoXG9LBxXaukWNSxY8l1aRUv0NGYGtfH3O/kwuQgU4lTQtWHHBKYSfieiVvFJBoAVd1gsl29nqq/x+oIn0LizQ==
-
-"@douyinfe/semi-theme-default@2.60.0":
- version "2.60.0"
- resolved "https://registry.yarnpkg.com/@douyinfe/semi-theme-default/-/semi-theme-default-2.60.0.tgz#66cd2d37ce6a3e3daf84b0ccae2566297dee4d9a"
- integrity sha512-qfhagnfWCJq/IguJk7Q9VaVb5pMaHbOVvbqrnwodquZ1k8jF6ApQIJQdiVUT9+l+23IZ7u3cPG87qyprU85+XQ==
-
-"@douyinfe/semi-ui@^2.60.0":
- version "2.60.0"
- resolved "https://registry.yarnpkg.com/@douyinfe/semi-ui/-/semi-ui-2.60.0.tgz#a5dd92e7264c4f9ce6910f365a46f95cfc3816f9"
- integrity sha512-ypczn3EvOYTuceyr+PFLx9ggPOJ5tX6xNk3L3/ZYvxmwB3eapTgZuEw/lX/9wf5vRgWndc2GbwIeGOf7ClWolQ==
- dependencies:
- "@dnd-kit/core" "^6.0.8"
- "@dnd-kit/sortable" "^7.0.2"
- "@dnd-kit/utilities" "^3.2.1"
- "@douyinfe/semi-animation" "2.60.0"
- "@douyinfe/semi-animation-react" "2.60.0"
- "@douyinfe/semi-foundation" "2.60.0"
- "@douyinfe/semi-icons" "2.60.0"
- "@douyinfe/semi-illustrations" "2.60.0"
- "@douyinfe/semi-theme-default" "2.60.0"
- async-validator "^3.5.0"
- classnames "^2.2.6"
- copy-text-to-clipboard "^2.1.1"
- date-fns "^2.29.3"
- date-fns-tz "^1.3.8"
- fast-copy "^3.0.1 "
- lodash "^4.17.21"
- prop-types "^15.7.2"
- react-resizable "^3.0.5"
- react-window "^1.8.2"
- scroll-into-view-if-needed "^2.2.24"
- utility-types "^3.10.0"
-
"@electron-toolkit/eslint-config-prettier@^2.0.0":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@electron-toolkit/eslint-config-prettier/-/eslint-config-prettier-2.0.0.tgz#a258a28fc0a09b7f910fd71e0aa18ea6ee440735"
@@ -515,6 +456,11 @@
"@emotion/weak-memoize" "^0.3.1"
stylis "4.2.0"
+"@emotion/hash@^0.8.0":
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413"
+ integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==
+
"@emotion/hash@^0.9.1":
version "0.9.1"
resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43"
@@ -579,6 +525,11 @@
resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3"
integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==
+"@emotion/unitless@^0.7.5":
+ version "0.7.5"
+ resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed"
+ integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==
+
"@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"
@@ -972,6 +923,79 @@
resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.1.1.tgz#1ec17e2edbec25c8306d424ecfbf13c7de1aaa31"
integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==
+"@rc-component/async-validator@^5.0.3":
+ version "5.0.4"
+ resolved "https://registry.yarnpkg.com/@rc-component/async-validator/-/async-validator-5.0.4.tgz#5291ad92f00a14b6766fc81735c234277f83e948"
+ integrity sha512-qgGdcVIF604M9EqjNF0hbUTz42bz/RDtxWdWuU5EQe3hi7M8ob54B6B35rOsvX5eSvIHIzT9iH1R3n+hk3CGfg==
+ dependencies:
+ "@babel/runtime" "^7.24.4"
+
+"@rc-component/color-picker@~1.5.3":
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/@rc-component/color-picker/-/color-picker-1.5.3.tgz#f3b0e14bb67ec5ee77d1fd5d261f63dd4fd00449"
+ integrity sha512-+tGGH3nLmYXTalVe0L8hSZNs73VTP5ueSHwUlDC77KKRaN7G4DS4wcpG5DTDzdcV/Yas+rzA6UGgIyzd8fS4cw==
+ dependencies:
+ "@babel/runtime" "^7.23.6"
+ "@ctrl/tinycolor" "^3.6.1"
+ classnames "^2.2.6"
+ rc-util "^5.38.1"
+
+"@rc-component/context@^1.4.0":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@rc-component/context/-/context-1.4.0.tgz#dc6fb021d6773546af8f016ae4ce9aea088395e8"
+ integrity sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ rc-util "^5.27.0"
+
+"@rc-component/mini-decimal@^1.0.1":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz#7b7a362b14a0a54cb5bc6fd2b82731f29f11d9b0"
+ integrity sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==
+ dependencies:
+ "@babel/runtime" "^7.18.0"
+
+"@rc-component/mutate-observer@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz#ee53cc88b78aade3cd0653609215a44779386fd8"
+ integrity sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==
+ dependencies:
+ "@babel/runtime" "^7.18.0"
+ classnames "^2.3.2"
+ rc-util "^5.24.4"
+
+"@rc-component/portal@^1.0.0-8", "@rc-component/portal@^1.0.0-9", "@rc-component/portal@^1.0.2", "@rc-component/portal@^1.1.0", "@rc-component/portal@^1.1.1":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@rc-component/portal/-/portal-1.1.2.tgz#55db1e51d784e034442e9700536faaa6ab63fc71"
+ integrity sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==
+ dependencies:
+ "@babel/runtime" "^7.18.0"
+ classnames "^2.3.2"
+ rc-util "^5.24.4"
+
+"@rc-component/tour@~1.15.0":
+ version "1.15.0"
+ resolved "https://registry.yarnpkg.com/@rc-component/tour/-/tour-1.15.0.tgz#37a66ae5af8eefaf0ab0e22ddd8e6fecdbdc14a7"
+ integrity sha512-h6hyILDwL+In9GAgRobwRWihLqqsD7Uft3fZGrJ7L4EiyCoxbnNYwzPXDfz7vNDhWeVyvAWQJj9fJCzpI4+b4g==
+ dependencies:
+ "@babel/runtime" "^7.18.0"
+ "@rc-component/portal" "^1.0.0-9"
+ "@rc-component/trigger" "^2.0.0"
+ classnames "^2.3.2"
+ rc-util "^5.24.4"
+
+"@rc-component/trigger@^2.0.0", "@rc-component/trigger@^2.1.1", "@rc-component/trigger@^2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-2.2.0.tgz#503a48b0895a2cfddee0a5b7b11492c3df2a493d"
+ integrity sha512-QarBCji02YE9aRFhZgRZmOpXBj0IZutRippsVBv85sxvG4FGk/vRxwAlkn3MS9zK5mwbETd86mAVg2tKqTkdJA==
+ dependencies:
+ "@babel/runtime" "^7.23.2"
+ "@rc-component/portal" "^1.1.0"
+ classnames "^2.3.2"
+ rc-motion "^2.0.0"
+ rc-resize-observer "^1.3.1"
+ rc-util "^5.38.0"
+
"@reduxjs/toolkit@^2.2.5":
version "2.2.5"
resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-2.2.5.tgz#c0d2d8482ef80722bebe015ff05b06c34bfb6e0d"
@@ -1173,6 +1197,14 @@
resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433"
integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==
+"@types/node-fetch@^2.6.4":
+ version "2.6.11"
+ resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.11.tgz#9b39b78665dae0e82a08f02f4967d62c66f95d24"
+ integrity sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==
+ dependencies:
+ "@types/node" "*"
+ form-data "^4.0.0"
+
"@types/node@*":
version "20.12.12"
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.12.tgz#7cbecdf902085cec634fdb362172dfe12b8f2050"
@@ -1361,6 +1393,13 @@
resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz#a1337ca426aa61cef9fe15b5b28e340a72f6fa99"
integrity sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==
+abort-controller@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392"
+ integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==
+ dependencies:
+ event-target-shim "^5.0.0"
+
acorn-jsx@^5.3.2:
version "5.3.2"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
@@ -1378,6 +1417,13 @@ agent-base@6:
dependencies:
debug "4"
+agentkeepalive@^4.2.1:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923"
+ integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==
+ dependencies:
+ humanize-ms "^1.2.1"
+
ajv-keywords@^3.4.1:
version "3.5.2"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
@@ -1422,6 +1468,60 @@ ansi-styles@^6.1.0:
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5"
integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
+antd@^5.18.3:
+ version "5.18.3"
+ resolved "https://registry.yarnpkg.com/antd/-/antd-5.18.3.tgz#71455216af07da202bddfa8cd16976e29dcf575c"
+ integrity sha512-Dm3P8HBxoo/DiR/QZLj5Mk+rQZsSXxCCArSZACHGiklkkjW6klzlebAElOUr9NyDeFX7UnQ6LVk7vznXlnjTqQ==
+ dependencies:
+ "@ant-design/colors" "^7.0.2"
+ "@ant-design/cssinjs" "^1.21.0"
+ "@ant-design/icons" "^5.3.7"
+ "@ant-design/react-slick" "~1.1.2"
+ "@babel/runtime" "^7.24.7"
+ "@ctrl/tinycolor" "^3.6.1"
+ "@rc-component/color-picker" "~1.5.3"
+ "@rc-component/mutate-observer" "^1.1.0"
+ "@rc-component/tour" "~1.15.0"
+ "@rc-component/trigger" "^2.2.0"
+ classnames "^2.5.1"
+ copy-to-clipboard "^3.3.3"
+ dayjs "^1.11.11"
+ qrcode.react "^3.1.0"
+ rc-cascader "~3.26.0"
+ rc-checkbox "~3.3.0"
+ rc-collapse "~3.7.3"
+ rc-dialog "~9.5.2"
+ rc-drawer "~7.2.0"
+ rc-dropdown "~4.2.0"
+ rc-field-form "~2.2.1"
+ rc-image "~7.9.0"
+ rc-input "~1.5.1"
+ rc-input-number "~9.1.0"
+ rc-mentions "~2.14.0"
+ rc-menu "~9.14.0"
+ rc-motion "^2.9.2"
+ rc-notification "~5.6.0"
+ rc-pagination "~4.0.4"
+ rc-picker "~4.5.0"
+ rc-progress "~4.0.0"
+ rc-rate "~2.13.0"
+ rc-resize-observer "^1.4.0"
+ rc-segmented "~2.3.0"
+ rc-select "~14.14.0"
+ rc-slider "~10.6.2"
+ rc-steps "~6.0.1"
+ rc-switch "~4.1.0"
+ rc-table "~7.45.7"
+ rc-tabs "~15.1.1"
+ rc-textarea "~1.7.0"
+ rc-tooltip "~6.2.0"
+ rc-tree "~5.8.8"
+ rc-tree-select "~5.21.0"
+ rc-upload "~4.5.2"
+ rc-util "^5.43.0"
+ scroll-into-view-if-needed "^3.1.0"
+ throttle-debounce "^5.0.0"
+
anymatch@~3.1.2:
version "3.1.3"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
@@ -1481,7 +1581,7 @@ array-buffer-byte-length@^1.0.1:
call-bind "^1.0.5"
is-array-buffer "^3.0.4"
-array-includes@^3.1.6, array-includes@^3.1.7:
+array-includes@^3.1.6, array-includes@^3.1.8:
version "3.1.8"
resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d"
integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==
@@ -1493,12 +1593,17 @@ array-includes@^3.1.6, array-includes@^3.1.7:
get-intrinsic "^1.2.4"
is-string "^1.0.7"
+array-tree-filter@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190"
+ integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==
+
array-union@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
-array.prototype.findlast@^1.2.4:
+array.prototype.findlast@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#3e4fbcb30a15a7f5bf64cf2faae22d139c2e4904"
integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==
@@ -1540,15 +1645,15 @@ array.prototype.toreversed@^1.1.2:
es-abstract "^1.22.1"
es-shim-unscopables "^1.0.0"
-array.prototype.tosorted@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz#c8c89348337e51b8a3c48a9227f9ce93ceedcba8"
- integrity sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==
+array.prototype.tosorted@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz#fe954678ff53034e717ea3352a03f0b0b86f7ffc"
+ integrity sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==
dependencies:
- call-bind "^1.0.5"
+ call-bind "^1.0.7"
define-properties "^1.2.1"
- es-abstract "^1.22.3"
- es-errors "^1.1.0"
+ es-abstract "^1.23.3"
+ es-errors "^1.3.0"
es-shim-unscopables "^1.0.2"
arraybuffer.prototype.slice@^1.0.3:
@@ -1580,11 +1685,6 @@ async-exit-hook@^2.0.1:
resolved "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz#8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3"
integrity sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==
-async-validator@^3.5.0:
- version "3.5.2"
- resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-3.5.2.tgz#68e866a96824e8b2694ff7a831c1a25c44d5e500"
- integrity sha512-8eLCg00W9pIRZSB781UUX/H6Oskmm8xloZfr09lz5bikRpBVDlJ3hRVuxxP1SxcwsEYfJ4IU8Q19Y8/893r3rQ==
-
async@^3.2.3:
version "3.2.5"
resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66"
@@ -1626,11 +1726,6 @@ base64-js@^1.3.1, base64-js@^1.5.1:
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
-bezier-easing@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/bezier-easing/-/bezier-easing-2.1.0.tgz#c04dfe8b926d6ecaca1813d69ff179b7c2025d86"
- integrity sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig==
-
binary-extensions@^2.0.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522"
@@ -1842,7 +1937,7 @@ ci-info@^3.2.0:
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4"
integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==
-classnames@^2.2.6:
+classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2, classnames@^2.5.1:
version "2.5.1"
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b"
integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==
@@ -1871,11 +1966,6 @@ clone-response@^1.0.2:
dependencies:
mimic-response "^1.0.0"
-clsx@^1.1.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12"
- integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==
-
color-convert@^1.9.0:
version "1.9.3"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
@@ -1917,10 +2007,10 @@ compare-version@^0.1.2:
resolved "https://registry.yarnpkg.com/compare-version/-/compare-version-0.1.2.tgz#0162ec2d9351f5ddd59a9202cba935366a725080"
integrity sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==
-compute-scroll-into-view@^1.0.20:
- version "1.0.20"
- resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz#1768b5522d1172754f5d0c9b02de3af6be506a43"
- integrity sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==
+compute-scroll-into-view@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz#753f11d972596558d8fe7c6bcbc8497690ab4c87"
+ integrity sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==
concat-map@0.0.1:
version "0.0.1"
@@ -1945,10 +2035,12 @@ convert-source-map@^2.0.0:
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
-copy-text-to-clipboard@^2.1.1:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/copy-text-to-clipboard/-/copy-text-to-clipboard-2.2.0.tgz#329dd6daf8c42034c763ace567418401764579ae"
- integrity sha512-WRvoIdnTs1rgPMkgA2pUOa/M4Enh2uzCwdKsOMYNAJiz/4ZvEJgmbF4OmninPmlFdAWisfeh0tH+Cpf7ni3RqQ==
+copy-to-clipboard@^3.3.3:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0"
+ integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==
+ dependencies:
+ toggle-selection "^1.0.6"
core-util-is@1.0.2:
version "1.0.2"
@@ -2001,7 +2093,7 @@ css-to-react-native@3.2.0:
css-color-keywords "^1.0.0"
postcss-value-parser "^4.0.2"
-csstype@3.1.3, csstype@^3.0.2:
+csstype@3.1.3, csstype@^3.0.2, csstype@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
@@ -2033,17 +2125,10 @@ data-view-byte-offset@^1.0.0:
es-errors "^1.3.0"
is-data-view "^1.0.1"
-date-fns-tz@^1.3.8:
- version "1.3.8"
- resolved "https://registry.yarnpkg.com/date-fns-tz/-/date-fns-tz-1.3.8.tgz#083e3a4e1f19b7857fa0c18deea6c2bc46ded7b9"
- integrity sha512-qwNXUFtMHTTU6CFSFjoJ80W8Fzzp24LntbjFFBgL/faqds4e5mo9mftoRLgr3Vi1trISsg4awSpYVsOQCRnapQ==
-
-date-fns@^2.29.3:
- version "2.30.0"
- resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0"
- integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==
- dependencies:
- "@babel/runtime" "^7.21.0"
+dayjs@^1.11.11:
+ version "1.11.11"
+ resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.11.tgz#dfe0e9d54c5f8b68ccf8ca5f72ac603e7e5ed59e"
+ integrity sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==
debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
version "4.3.4"
@@ -2362,12 +2447,12 @@ es-define-property@^1.0.0:
dependencies:
get-intrinsic "^1.2.4"
-es-errors@^1.1.0, es-errors@^1.2.1, es-errors@^1.3.0:
+es-errors@^1.2.1, es-errors@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
-es-iterator-helpers@^1.0.17:
+es-iterator-helpers@^1.0.19:
version "1.0.19"
resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz#117003d0e5fec237b4b5c08aded722e0c6d50ca8"
integrity sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==
@@ -2510,29 +2595,46 @@ eslint-plugin-prettier@^5.0.1:
prettier-linter-helpers "^1.0.0"
synckit "^0.8.6"
-eslint-plugin-react@^7.33.2:
- version "7.34.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz#6806b70c97796f5bbfb235a5d3379ece5f4da997"
- integrity sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==
+eslint-plugin-react-hooks@^4.6.2:
+ version "4.6.2"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz#c829eb06c0e6f484b3fbb85a97e57784f328c596"
+ integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==
+
+eslint-plugin-react@^7.34.3:
+ version "7.34.3"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.34.3.tgz#9965f27bd1250a787b5d4cfcc765e5a5d58dcb7b"
+ integrity sha512-aoW4MV891jkUulwDApQbPYTVZmeuSyFrudpbTAQuj5Fv8VL+o6df2xIGpw8B0hPjAaih1/Fb0om9grCdyFYemA==
dependencies:
- array-includes "^3.1.7"
- array.prototype.findlast "^1.2.4"
+ 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.17"
+ es-iterator-helpers "^1.0.19"
estraverse "^5.3.0"
jsx-ast-utils "^2.4.1 || ^3.0.0"
minimatch "^3.1.2"
- object.entries "^1.1.7"
- object.fromentries "^2.0.7"
- object.hasown "^1.1.3"
- object.values "^1.1.7"
+ 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.10"
+ string.prototype.matchall "^4.0.11"
+
+eslint-plugin-unused-imports@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-4.0.0.tgz#93f3a7ee6088221e4a1d7127866e05d5917a9f65"
+ integrity sha512-mzM+y2B7XYpQryVa1usT+Y/BdNAtAZiXzwpSyDCboFoJN/LZRN67TNvQxKtuTK/Aplya3sLNQforiubzPPaIcQ==
+ dependencies:
+ eslint-rule-composer "^0.3.0"
+
+eslint-rule-composer@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9"
+ integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==
eslint-scope@^7.2.2:
version "7.2.2"
@@ -2624,6 +2726,11 @@ esutils@^2.0.2:
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+event-target-shim@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
+ integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
+
extract-zip@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a"
@@ -2640,11 +2747,6 @@ extsprintf@^1.2.0:
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07"
integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==
-"fast-copy@^3.0.1 ":
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/fast-copy/-/fast-copy-3.0.2.tgz#59c68f59ccbcac82050ba992e0d5c389097c9d35"
- integrity sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ==
-
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
@@ -2753,6 +2855,11 @@ foreground-child@^3.1.0:
cross-spawn "^7.0.0"
signal-exit "^4.0.1"
+form-data-encoder@1.7.2:
+ version "1.7.2"
+ resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-1.7.2.tgz#1f1ae3dccf58ed4690b86d87e4f57c654fbab040"
+ integrity sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==
+
form-data@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
@@ -2762,6 +2869,14 @@ form-data@^4.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
+formdata-node@^4.3.2:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/formdata-node/-/formdata-node-4.4.1.tgz#23f6a5cb9cb55315912cbec4ff7b0f59bbd191e2"
+ integrity sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==
+ dependencies:
+ node-domexception "1.0.0"
+ web-streams-polyfill "4.0.0-beta.3"
+
fs-extra@^10.0.0, fs-extra@^10.1.0:
version "10.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf"
@@ -3025,6 +3140,11 @@ hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2:
dependencies:
function-bind "^1.1.2"
+highlight.js@^11.9.0:
+ version "11.9.0"
+ resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-11.9.0.tgz#04ab9ee43b52a41a047432c8103e2158a1b8b5b0"
+ integrity sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==
+
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"
@@ -3069,6 +3189,13 @@ https-proxy-agent@^5.0.1:
agent-base "6"
debug "4"
+humanize-ms@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed"
+ integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==
+ dependencies:
+ ms "^2.0.0"
+
iconv-corefoundation@^1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz#31065e6ab2c9272154c8b0821151e2c88f1b002a"
@@ -3435,6 +3562,13 @@ json-stringify-safe@^5.0.1:
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==
+json2mq@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/json2mq/-/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a"
+ integrity sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==
+ dependencies:
+ string-convert "^0.2.0"
+
json5@^2.2.0, json5@^2.2.3:
version "2.2.3"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
@@ -3587,6 +3721,11 @@ magic-string@^0.30.5:
dependencies:
"@jridgewell/sourcemap-codec" "^1.4.15"
+marked@^13.0.1:
+ version "13.0.1"
+ resolved "https://registry.yarnpkg.com/marked/-/marked-13.0.1.tgz#38386e1ebe9c09bb4db72c8ed9759411cb80fd43"
+ integrity sha512-7kBohS6GrZKvCsNXZyVVXSW7/hGBHe49ng99YPkDCckSUrrG7MSFLCexsRxptzOmyW2eT5dySh4Md1V6my52fA==
+
matcher@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca"
@@ -3594,11 +3733,6 @@ matcher@^3.0.0:
dependencies:
escape-string-regexp "^4.0.0"
-"memoize-one@>=3.1.1 <6", memoize-one@^5.2.1:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e"
- integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==
-
merge2@^1.3.0, merge2@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
@@ -3714,6 +3848,11 @@ ms@2.1.2:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+ms@^2.0.0:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
nanoid@^3.3.7:
version "3.3.7"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
@@ -3729,6 +3868,18 @@ node-addon-api@^1.6.3:
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d"
integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==
+node-domexception@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5"
+ integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==
+
+node-fetch@^2.6.7:
+ version "2.7.0"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d"
+ integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==
+ dependencies:
+ whatwg-url "^5.0.0"
+
node-releases@^2.0.14:
version "2.0.14"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b"
@@ -3769,7 +3920,7 @@ object.assign@^4.1.4, object.assign@^4.1.5:
has-symbols "^1.0.3"
object-keys "^1.1.1"
-object.entries@^1.1.7:
+object.entries@^1.1.8:
version "1.1.8"
resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.8.tgz#bffe6f282e01f4d17807204a24f8edd823599c41"
integrity sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==
@@ -3778,7 +3929,7 @@ object.entries@^1.1.7:
define-properties "^1.2.1"
es-object-atoms "^1.0.0"
-object.fromentries@^2.0.7:
+object.fromentries@^2.0.8:
version "2.0.8"
resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65"
integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==
@@ -3788,7 +3939,7 @@ object.fromentries@^2.0.7:
es-abstract "^1.23.2"
es-object-atoms "^1.0.0"
-object.hasown@^1.1.3:
+object.hasown@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.4.tgz#e270ae377e4c120cdcb7656ce66884a6218283dc"
integrity sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==
@@ -3797,7 +3948,7 @@ object.hasown@^1.1.3:
es-abstract "^1.23.2"
es-object-atoms "^1.0.0"
-object.values@^1.1.6, object.values@^1.1.7:
+object.values@^1.1.6, object.values@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b"
integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==
@@ -3813,6 +3964,20 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0:
dependencies:
wrappy "1"
+openai@^4.52.1:
+ version "4.52.1"
+ resolved "https://registry.yarnpkg.com/openai/-/openai-4.52.1.tgz#44acc362a844fa2927b0cfa1fb70fb51e388af65"
+ integrity sha512-kv2hevAWZZ3I/vd2t8znGO2rd8wkowncsfcYpo8i+wU9ML+JEcdqiViANXXjWWGjIhajFNixE6gOY1fEgqILAg==
+ dependencies:
+ "@types/node" "^18.11.18"
+ "@types/node-fetch" "^2.6.4"
+ abort-controller "^3.0.0"
+ agentkeepalive "^4.2.1"
+ form-data-encoder "1.7.2"
+ formdata-node "^4.3.2"
+ node-fetch "^2.6.7"
+ web-streams-polyfill "^3.2.1"
+
optionator@^0.9.3:
version "0.9.4"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734"
@@ -3982,7 +4147,7 @@ promise-retry@^2.0.1:
err-code "^2.0.2"
retry "^0.12.0"
-prop-types@15.x, prop-types@^15.7.2, prop-types@^15.8.1:
+prop-types@^15.8.1:
version "15.8.1"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
@@ -4004,6 +4169,11 @@ punycode@^2.1.0:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
+qrcode.react@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/qrcode.react/-/qrcode.react-3.1.0.tgz#5c91ddc0340f768316fbdb8fff2765134c2aecd8"
+ integrity sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==
+
queue-microtask@^1.2.2:
version "1.2.3"
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
@@ -4014,6 +4184,357 @@ quick-lru@^5.1.1:
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932"
integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
+rc-cascader@~3.26.0:
+ version "3.26.0"
+ resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.26.0.tgz#1bcc9c29451047dc99e28fdd125c94828d7ddf76"
+ integrity sha512-L1dml383TPSJD1I11YwxuVbmqaJY64psZqFp1ETlgl3LEOwDu76Cyl11fw5dmjJhMlUWwM5dECQfqJgfebhUjg==
+ dependencies:
+ "@babel/runtime" "^7.12.5"
+ array-tree-filter "^2.1.0"
+ classnames "^2.3.1"
+ rc-select "~14.14.0"
+ rc-tree "~5.8.1"
+ rc-util "^5.37.0"
+
+rc-checkbox@~3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/rc-checkbox/-/rc-checkbox-3.3.0.tgz#0ffcb65ab78c7d2fcd1a0d6554af36786516bd02"
+ integrity sha512-Ih3ZaAcoAiFKJjifzwsGiT/f/quIkxJoklW4yKGho14Olulwn8gN7hOBve0/WGDg5o/l/5mL0w7ff7/YGvefVw==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "^2.3.2"
+ rc-util "^5.25.2"
+
+rc-collapse@~3.7.3:
+ version "3.7.3"
+ resolved "https://registry.yarnpkg.com/rc-collapse/-/rc-collapse-3.7.3.tgz#68161683d8fd1004bef4eb281fc106f3c8dc16eb"
+ integrity sha512-60FJcdTRn0X5sELF18TANwtVi7FtModq649H11mYF1jh83DniMoM4MqY627sEKRCTm4+WXfGDcB7hY5oW6xhyw==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "2.x"
+ rc-motion "^2.3.4"
+ rc-util "^5.27.0"
+
+rc-dialog@~9.5.2:
+ version "9.5.2"
+ resolved "https://registry.yarnpkg.com/rc-dialog/-/rc-dialog-9.5.2.tgz#4cf7cca23aedb6fd3d9344ea8ffd14daa94ee3a0"
+ integrity sha512-qVUjc8JukG+j/pNaHVSRa2GO2/KbV2thm7yO4hepQ902eGdYK913sGkwg/fh9yhKYV1ql3BKIN2xnud3rEXAPw==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ "@rc-component/portal" "^1.0.0-8"
+ classnames "^2.2.6"
+ rc-motion "^2.3.0"
+ rc-util "^5.21.0"
+
+rc-drawer@~7.2.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-7.2.0.tgz#8d7de2f1fd52f3ac5a25f54afbb8ac14c62e5663"
+ integrity sha512-9lOQ7kBekEJRdEpScHvtmEtXnAsy+NGDXiRWc2ZVC7QXAazNVbeT4EraQKYwCME8BJLa8Bxqxvs5swwyOepRwg==
+ dependencies:
+ "@babel/runtime" "^7.23.9"
+ "@rc-component/portal" "^1.1.1"
+ classnames "^2.2.6"
+ rc-motion "^2.6.1"
+ rc-util "^5.38.1"
+
+rc-dropdown@~4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-4.2.0.tgz#c6052fcfe9c701487b141e411cdc277dc7c6f061"
+ integrity sha512-odM8Ove+gSh0zU27DUj5cG1gNKg7mLWBYzB5E4nNLrLwBmYEgYP43vHKDGOVZcJSVElQBI0+jTQgjnq0NfLjng==
+ dependencies:
+ "@babel/runtime" "^7.18.3"
+ "@rc-component/trigger" "^2.0.0"
+ classnames "^2.2.6"
+ rc-util "^5.17.0"
+
+rc-field-form@~2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-2.2.1.tgz#0a8c76a0103535c229311dac7f91d32ea13cd3bc"
+ integrity sha512-uoNqDoR7A4tn4QTSqoWPAzrR7ZwOK5I+vuZ/qdcHtbKx+ZjEsTg7QXm2wk/jalDiSksAQmATxL0T5LJkRREdIA==
+ dependencies:
+ "@babel/runtime" "^7.18.0"
+ "@rc-component/async-validator" "^5.0.3"
+ rc-util "^5.32.2"
+
+rc-image@~7.9.0:
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/rc-image/-/rc-image-7.9.0.tgz#2d700a5cf891bb3d0d800b7c38348927ebb9f49b"
+ integrity sha512-l4zqO5E0quuLMCtdKfBgj4Suv8tIS011F5k1zBBlK25iMjjiNHxA0VeTzGFtUZERSA45gvpXDg8/P6qNLjR25g==
+ dependencies:
+ "@babel/runtime" "^7.11.2"
+ "@rc-component/portal" "^1.0.2"
+ classnames "^2.2.6"
+ rc-dialog "~9.5.2"
+ rc-motion "^2.6.2"
+ rc-util "^5.34.1"
+
+rc-input-number@~9.1.0:
+ version "9.1.0"
+ resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-9.1.0.tgz#fd577db284b65548c156500322a2feaa04321565"
+ integrity sha512-NqJ6i25Xn/AgYfVxynlevIhX3FuKlMwIFpucGG1h98SlK32wQwDK0zhN9VY32McOmuaqzftduNYWWooWz8pXQA==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ "@rc-component/mini-decimal" "^1.0.1"
+ classnames "^2.2.5"
+ rc-input "~1.5.0"
+ rc-util "^5.40.1"
+
+rc-input@~1.5.0, rc-input@~1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/rc-input/-/rc-input-1.5.1.tgz#36d37eb045f1fa17de7da1a3fab94edfa331ab92"
+ integrity sha512-+nOzQJDeIfIpNP/SgY45LXSKbuMlp4Yap2y8c+ZpU7XbLmNzUd6+d5/S75sA/52jsVE6S/AkhkkDEAOjIu7i6g==
+ dependencies:
+ "@babel/runtime" "^7.11.1"
+ classnames "^2.2.1"
+ rc-util "^5.18.1"
+
+rc-mentions@~2.14.0:
+ version "2.14.0"
+ resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-2.14.0.tgz#7cad133de2e95b7478c0ebb5d2a4315dbe9bda29"
+ integrity sha512-qKR59FMuF8PK4ZqsbWX3UuA5P1M/snzyqV6Yt3y1DCFbCEdqUGIBgQp6vEfLCO6Z0RoRFlzXtCeSlBTcDDpg1A==
+ dependencies:
+ "@babel/runtime" "^7.22.5"
+ "@rc-component/trigger" "^2.0.0"
+ classnames "^2.2.6"
+ rc-input "~1.5.0"
+ rc-menu "~9.14.0"
+ rc-textarea "~1.7.0"
+ rc-util "^5.34.1"
+
+rc-menu@~9.14.0:
+ version "9.14.1"
+ resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.14.1.tgz#5c2aea72bdce421e9d50bf721ad8b76c154ae66f"
+ integrity sha512-5wlRb3M8S4yGlWhSoEYJ7ZVRElyScdcpUHxgiLxkeig1tEdyKrnED3B2fhpN0Rrpdp9jyhnmZR/Lwq2fH5VvDQ==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ "@rc-component/trigger" "^2.0.0"
+ classnames "2.x"
+ rc-motion "^2.4.3"
+ rc-overflow "^1.3.1"
+ rc-util "^5.27.0"
+
+rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.3, rc-motion@^2.4.4, rc-motion@^2.6.1, rc-motion@^2.6.2, rc-motion@^2.9.0, rc-motion@^2.9.2:
+ version "2.9.2"
+ resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.9.2.tgz#f7c6d480250df8a512d0cfdce07ff3da906958cf"
+ integrity sha512-fUAhHKLDdkAXIDLH0GYwof3raS58dtNUmzLF2MeiR8o6n4thNpSDQhOqQzWE4WfFZDCi9VEN8n7tiB7czREcyw==
+ dependencies:
+ "@babel/runtime" "^7.11.1"
+ classnames "^2.2.1"
+ rc-util "^5.43.0"
+
+rc-notification@~5.6.0:
+ version "5.6.0"
+ resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-5.6.0.tgz#1639aa30686d79ee4bb8ace05a698a5a104aaa74"
+ integrity sha512-TGQW5T7waOxLwgJG7fXcw8l7AQiFOjaZ7ISF5PrU526nunHRNcTMuzKihQHaF4E/h/KfOCDk3Mv8eqzbu2e28w==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "2.x"
+ rc-motion "^2.9.0"
+ rc-util "^5.20.1"
+
+rc-overflow@^1.3.1, rc-overflow@^1.3.2:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.3.2.tgz#72ee49e85a1308d8d4e3bd53285dc1f3e0bcce2c"
+ integrity sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==
+ dependencies:
+ "@babel/runtime" "^7.11.1"
+ classnames "^2.2.1"
+ rc-resize-observer "^1.0.0"
+ rc-util "^5.37.0"
+
+rc-pagination@~4.0.4:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-4.0.4.tgz#ea401388ae86eac17ed5b41212d487f12b65b773"
+ integrity sha512-GGrLT4NgG6wgJpT/hHIpL9nELv27A1XbSZzECIuQBQTVSf4xGKxWr6I/jhpRPauYEWEbWVw22ObG6tJQqwJqWQ==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "^2.3.2"
+ rc-util "^5.38.0"
+
+rc-picker@~4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-4.5.0.tgz#ae7a028ed6184e0ef40a2c8aaeb9d5dbef89d4b8"
+ integrity sha512-suqz9bzuhBQlf7u+bZd1bJLPzhXpk12w6AjQ9BTPTiFwexVZgUKViG1KNLyfFvW6tCUZZK0HmCCX7JAyM+JnCg==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ "@rc-component/trigger" "^2.0.0"
+ classnames "^2.2.1"
+ rc-overflow "^1.3.2"
+ rc-resize-observer "^1.4.0"
+ rc-util "^5.38.1"
+
+rc-progress@~4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/rc-progress/-/rc-progress-4.0.0.tgz#5382147d9add33d3a5fbd264001373df6440e126"
+ integrity sha512-oofVMMafOCokIUIBnZLNcOZFsABaUw8PPrf1/y0ZBvKZNpOiu5h4AO9vv11Sw0p4Hb3D0yGWuEattcQGtNJ/aw==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "^2.2.6"
+ rc-util "^5.16.1"
+
+rc-rate@~2.13.0:
+ version "2.13.0"
+ resolved "https://registry.yarnpkg.com/rc-rate/-/rc-rate-2.13.0.tgz#642f591ccf55c3a5d84d8d212caf1f7951d203a8"
+ integrity sha512-oxvx1Q5k5wD30sjN5tqAyWTvJfLNNJn7Oq3IeS4HxWfAiC4BOXMITNAsw7u/fzdtO4MS8Ki8uRLOzcnEuoQiAw==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "^2.2.5"
+ rc-util "^5.0.1"
+
+rc-resize-observer@^1.0.0, rc-resize-observer@^1.1.0, rc-resize-observer@^1.3.1, rc-resize-observer@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz#7bba61e6b3c604834980647cce6451914750d0cc"
+ integrity sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==
+ dependencies:
+ "@babel/runtime" "^7.20.7"
+ classnames "^2.2.1"
+ rc-util "^5.38.0"
+ resize-observer-polyfill "^1.5.1"
+
+rc-segmented@~2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/rc-segmented/-/rc-segmented-2.3.0.tgz#b3fe080fb434a266c02e30bb62a47d2c6e094341"
+ integrity sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg==
+ dependencies:
+ "@babel/runtime" "^7.11.1"
+ classnames "^2.2.1"
+ rc-motion "^2.4.4"
+ rc-util "^5.17.0"
+
+rc-select@~14.14.0:
+ version "14.14.0"
+ resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.14.0.tgz#110771fad72496843b245236bcb0007553b9fe0d"
+ integrity sha512-Uo2wulrjoPPRLCPd7zlK4ZFVJxlTN//yp1xWP/U+TUOQCyXrT+Duvq/Si5OzVcmQyWAUSbsplc2OwNNhvbOeKQ==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ "@rc-component/trigger" "^2.1.1"
+ classnames "2.x"
+ rc-motion "^2.0.1"
+ rc-overflow "^1.3.1"
+ rc-util "^5.16.1"
+ rc-virtual-list "^3.5.2"
+
+rc-slider@~10.6.2:
+ version "10.6.2"
+ resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-10.6.2.tgz#8bd3b63b24f2f3682ea1bf86d021073189cf33eb"
+ integrity sha512-FjkoFjyvUQWcBo1F3RgSglky3ar0+qHLM41PlFVYB4Bj3RD8E/Mv7kqMouLFBU+3aFglMzzctAIWRwajEuueSw==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "^2.2.5"
+ rc-util "^5.36.0"
+
+rc-steps@~6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/rc-steps/-/rc-steps-6.0.1.tgz#c2136cd0087733f6d509209a84a5c80dc29a274d"
+ integrity sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==
+ dependencies:
+ "@babel/runtime" "^7.16.7"
+ classnames "^2.2.3"
+ rc-util "^5.16.1"
+
+rc-switch@~4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/rc-switch/-/rc-switch-4.1.0.tgz#f37d81b4e0c5afd1274fd85367b17306bf25e7d7"
+ integrity sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==
+ dependencies:
+ "@babel/runtime" "^7.21.0"
+ classnames "^2.2.1"
+ rc-util "^5.30.0"
+
+rc-table@~7.45.7:
+ version "7.45.7"
+ resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.45.7.tgz#f7c509e05c677a30ad5b212750122da6f5318004"
+ integrity sha512-wi9LetBL1t1csxyGkMB2p3mCiMt+NDexMlPbXHvQFmBBAsMxrgNSAPwUci2zDLUq9m8QdWc1Nh8suvrpy9mXrg==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ "@rc-component/context" "^1.4.0"
+ classnames "^2.2.5"
+ rc-resize-observer "^1.1.0"
+ rc-util "^5.37.0"
+ rc-virtual-list "^3.14.2"
+
+rc-tabs@~15.1.1:
+ version "15.1.1"
+ resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-15.1.1.tgz#99f4c7647e01d3e22216d94222d717e928ed98d0"
+ integrity sha512-Tc7bJvpEdkWIVCUL7yQrMNBJY3j44NcyWS48jF/UKMXuUlzaXK+Z/pEL5LjGcTadtPvVmNqA40yv7hmr+tCOAw==
+ dependencies:
+ "@babel/runtime" "^7.11.2"
+ classnames "2.x"
+ rc-dropdown "~4.2.0"
+ rc-menu "~9.14.0"
+ rc-motion "^2.6.2"
+ rc-resize-observer "^1.0.0"
+ rc-util "^5.34.1"
+
+rc-textarea@~1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/rc-textarea/-/rc-textarea-1.7.0.tgz#115c421359dddee58c601008ec2209b41cb8f8df"
+ integrity sha512-UxizYJkWkmxP3zofXgc487QiGyDmhhheDLLjIWbFtDmiru1ls30KpO8odDaPyqNUIy9ugj5djxTEuezIn6t3Jg==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "^2.2.1"
+ rc-input "~1.5.0"
+ rc-resize-observer "^1.0.0"
+ rc-util "^5.27.0"
+
+rc-tooltip@~6.2.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-6.2.0.tgz#4dd7575674137a5b14f118a5c16435d3f5e4a9c9"
+ integrity sha512-iS/3iOAvtDh9GIx1ulY7EFUXUtktFccNLsARo3NPgLf0QW9oT0w3dA9cYWlhqAKmD+uriEwdWz1kH0Qs4zk2Aw==
+ dependencies:
+ "@babel/runtime" "^7.11.2"
+ "@rc-component/trigger" "^2.0.0"
+ classnames "^2.3.1"
+
+rc-tree-select@~5.21.0:
+ version "5.21.0"
+ resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-5.21.0.tgz#4ff94d5c28cba9810c4970d1f12ab7248c3b6e55"
+ integrity sha512-w+9qEu6zh0G3wt9N/hzWNSnqYH1i9mH1Nqxo0caxLRRFXF5yZWYmpCDoDTMdQM1Y4z3Q5yj08qyrPH/d4AtumA==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "2.x"
+ rc-select "~14.14.0"
+ rc-tree "~5.8.1"
+ rc-util "^5.16.1"
+
+rc-tree@~5.8.1, rc-tree@~5.8.8:
+ version "5.8.8"
+ resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-5.8.8.tgz#650a13ec825a5a4feec6bbaf6a380465986ee0db"
+ integrity sha512-S+mCMWo91m5AJqjz3PdzKilGgbFm7fFJRFiTDOcoRbD7UfMOPnerXwMworiga0O2XIo383UoWuEfeHs1WOltag==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "2.x"
+ rc-motion "^2.0.1"
+ rc-util "^5.16.1"
+ rc-virtual-list "^3.5.1"
+
+rc-upload@~4.5.2:
+ version "4.5.2"
+ resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-4.5.2.tgz#ea493fbaaf57d9369ee954b20e1d8bc35c818a1a"
+ integrity sha512-QO3ne77DwnAPKFn0bA5qJM81QBjQi0e0NHdkvpFyY73Bea2NfITiotqJqVjHgeYPOJu5lLVR32TNGP084aSoXA==
+ dependencies:
+ "@babel/runtime" "^7.18.3"
+ classnames "^2.2.5"
+ rc-util "^5.2.0"
+
+rc-util@^5.0.1, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.2.0, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.24.4, rc-util@^5.25.2, rc-util@^5.27.0, rc-util@^5.30.0, rc-util@^5.31.1, rc-util@^5.32.2, rc-util@^5.34.1, rc-util@^5.35.0, rc-util@^5.36.0, rc-util@^5.37.0, rc-util@^5.38.0, rc-util@^5.38.1, rc-util@^5.40.1, rc-util@^5.43.0:
+ version "5.43.0"
+ resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.43.0.tgz#bba91fbef2c3e30ea2c236893746f3e9b05ecc4c"
+ integrity sha512-AzC7KKOXFqAdIBqdGWepL9Xn7cm3vnAmjlHqUnoQaTMZYhM4VlXGLkkHHxj/BZ7Td0+SOPKB4RGPboBVKT9htw==
+ dependencies:
+ "@babel/runtime" "^7.18.3"
+ react-is "^18.2.0"
+
+rc-virtual-list@^3.14.2, rc-virtual-list@^3.5.1, rc-virtual-list@^3.5.2:
+ version "3.14.5"
+ resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.14.5.tgz#593cd13fe05eabf4ad098329704a30c77701869e"
+ integrity sha512-ZMOnkCLv2wUN8Jz7yI4XiSLa9THlYvf00LuMhb1JlsQCewuU7ydPuHw1rGVPhe9VZYl/5UqODtNd7QKJ2DMGfg==
+ dependencies:
+ "@babel/runtime" "^7.20.0"
+ classnames "^2.2.6"
+ rc-resize-observer "^1.0.0"
+ rc-util "^5.36.0"
+
react-dom@^18.2.0:
version "18.3.1"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4"
@@ -4022,19 +4543,16 @@ react-dom@^18.2.0:
loose-envify "^1.1.0"
scheduler "^0.23.2"
-react-draggable@^4.0.3:
- version "4.4.6"
- resolved "https://registry.yarnpkg.com/react-draggable/-/react-draggable-4.4.6.tgz#63343ee945770881ca1256a5b6fa5c9f5983fe1e"
- integrity sha512-LtY5Xw1zTPqHkVmtM3X8MUOxNDOUhv/khTgBgrUvwaS064bwVvxT+q5El0uUFNx5IEPKXuRejr7UqLwBIg5pdw==
- dependencies:
- clsx "^1.1.1"
- prop-types "^15.8.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==
+react-is@^18.2.0:
+ version "18.3.1"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e"
+ integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==
+
react-redux@^9.1.2:
version "9.1.2"
resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-9.1.2.tgz#deba38c64c3403e9abd0c3fbeab69ffd9d8a7e4b"
@@ -4048,14 +4566,6 @@ react-refresh@^0.14.0:
resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.2.tgz#3833da01ce32da470f1f936b9d477da5c7028bf9"
integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==
-react-resizable@^3.0.5:
- version "3.0.5"
- resolved "https://registry.yarnpkg.com/react-resizable/-/react-resizable-3.0.5.tgz#362721f2efbd094976f1780ae13f1ad7739786c1"
- integrity sha512-vKpeHhI5OZvYn82kXOs1bC8aOXktGU5AmKAgaZS4F5JPburCtbmDPqE7Pzp+1kN4+Wb81LlF33VpGwWwtXem+w==
- dependencies:
- prop-types "15.x"
- react-draggable "^4.0.3"
-
react-router-dom@6:
version "6.23.1"
resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.23.1.tgz#30cbf266669693e9492aa4fc0dde2541ab02322f"
@@ -4071,14 +4581,6 @@ react-router@6, react-router@6.23.1:
dependencies:
"@remix-run/router" "1.16.1"
-react-window@^1.8.2:
- version "1.8.10"
- resolved "https://registry.yarnpkg.com/react-window/-/react-window-1.8.10.tgz#9e6b08548316814b443f7002b1cf8fd3a1bdde03"
- integrity sha512-Y0Cx+dnU6NLa5/EvoHukUD0BklJ8qITCtVEPY1C/nL8wwoZ0b5aEw8Ff1dOVHw7fCzMt55XfJDd8S8W8LCaUCg==
- dependencies:
- "@babel/runtime" "^7.0.0"
- memoize-one ">=3.1.1 <6"
-
react@^18.2.0:
version "18.3.1"
resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891"
@@ -4171,6 +4673,11 @@ reselect@^5.1.0:
resolved "https://registry.yarnpkg.com/reselect/-/reselect-5.1.0.tgz#c479139ab9dd91be4d9c764a7f3868210ef8cd21"
integrity sha512-aw7jcGLDpSgNDyWBQLv2cedml85qd95/iszJjN988zX1t7AVRJi19d9kto5+W7oCfQ94gyo40dVbT6g2k4/kXg==
+resize-observer-polyfill@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464"
+ integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==
+
resolve-alpn@^1.0.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9"
@@ -4324,12 +4831,12 @@ scheduler@^0.23.2:
dependencies:
loose-envify "^1.1.0"
-scroll-into-view-if-needed@^2.2.24:
- version "2.2.31"
- resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz#d3c482959dc483e37962d1521254e3295d0d1587"
- integrity sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==
+scroll-into-view-if-needed@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz#fa9524518c799b45a2ef6bbffb92bcad0296d01f"
+ integrity sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==
dependencies:
- compute-scroll-into-view "^1.0.20"
+ compute-scroll-into-view "^3.0.2"
semver-compare@^1.0.0:
version "1.0.0"
@@ -4471,6 +4978,11 @@ stat-mode@^1.0.0:
resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-1.0.0.tgz#68b55cb61ea639ff57136f36b216a291800d1465"
integrity sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==
+string-convert@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97"
+ integrity sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==
+
"string-width-cjs@npm:string-width@^4.2.0":
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
@@ -4498,7 +5010,7 @@ string-width@^5.0.1, string-width@^5.1.2:
emoji-regex "^9.2.2"
strip-ansi "^7.0.1"
-string.prototype.matchall@^4.0.10:
+string.prototype.matchall@^4.0.11:
version "4.0.11"
resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz#1092a72c59268d2abaad76582dccc687c0297e0a"
integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==
@@ -4597,7 +5109,7 @@ stylis@4.2.0:
resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51"
integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==
-stylis@4.3.2:
+stylis@4.3.2, stylis@^4.0.13:
version "4.3.2"
resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.2.tgz#8f76b70777dd53eb669c6f58c997bf0a9972e444"
integrity sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==
@@ -4661,6 +5173,11 @@ text-table@^0.2.0:
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
+throttle-debounce@^5.0.0:
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-5.0.2.tgz#ec5549d84e053f043c9fd0f2a6dd892ff84456b1"
+ integrity sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==
+
tiny-typed-emitter@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz#b3b027fdd389ff81a152c8e847ee2f5be9fad7b5"
@@ -4690,6 +5207,16 @@ to-regex-range@^5.0.1:
dependencies:
is-number "^7.0.0"
+toggle-selection@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32"
+ integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==
+
+tr46@~0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
+ integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
+
truncate-utf8-bytes@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b"
@@ -4707,7 +5234,7 @@ tslib@2.6.2, tslib@^2.6.2:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
-tslib@^2.0.0, tslib@^2.1.0:
+tslib@^2.1.0:
version "2.6.3"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0"
integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==
@@ -4842,11 +5369,6 @@ util-deprecate@~1.0.1:
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
-utility-types@^3.10.0:
- version "3.11.0"
- resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.11.0.tgz#607c40edb4f258915e901ea7995607fdf319424c"
- integrity sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==
-
uuid@^10.0.0:
version "10.0.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-10.0.0.tgz#5a95aa454e6e002725c79055fd42aaba30ca6294"
@@ -4872,6 +5394,29 @@ vite@^5.0.12:
optionalDependencies:
fsevents "~2.3.3"
+web-streams-polyfill@4.0.0-beta.3:
+ version "4.0.0-beta.3"
+ resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz#2898486b74f5156095e473efe989dcf185047a38"
+ integrity sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==
+
+web-streams-polyfill@^3.2.1:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b"
+ integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==
+
+webidl-conversions@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
+ integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
+
+whatwg-url@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
+ integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
+ dependencies:
+ tr46 "~0.0.3"
+ webidl-conversions "^3.0.0"
+
which-boxed-primitive@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"