diff --git a/package.json b/package.json
index dfb86f9..383b7d4 100644
--- a/package.json
+++ b/package.json
@@ -7,6 +7,8 @@
"type": "module",
"dependencies": {
"@babel/plugin-proposal-private-property-in-object": "^7.21.11",
+ "@tanstack/react-query": "^5.51.11",
+ "@tanstack/react-query-devtools": "^5.51.11",
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
@@ -14,9 +16,13 @@
"@types/node": "^16.18.103",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
+ "dayjs": "^1.11.12",
"electron-is-dev": "^3.0.1",
+ "jotai": "^2.9.0",
+ "jotai-devtools": "^0.10.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
+ "react-router-dom": "^6.25.1",
"react-scripts": "5.0.1",
"styled-components": "^6.1.12",
"typescript": "^4.9.5",
@@ -50,6 +56,7 @@
]
},
"devDependencies": {
+ "@tanstack/eslint-plugin-query": "^5.51.12",
"concurrently": "^8.2.2",
"cross-env": "^7.0.3",
"electron": "^31.2.1",
diff --git a/public/electron.js b/public/electron.js
index ba9b60a..fa76fbe 100644
--- a/public/electron.js
+++ b/public/electron.js
@@ -10,8 +10,10 @@ let mainWindow
function createWindow() {
mainWindow = new BrowserWindow({
- width: 900,
- height: 680,
+ width: 1440,
+ height: 900,
+ resizable: false,
+ useContentSize: true,
webPreferences: {
nodeIntegration: true,
enableRemoteModule: true,
@@ -24,7 +26,6 @@ function createWindow() {
if (isDev) mainWindow.webContents.openDevTools({ mode: 'detach' })
- mainWindow.setResizable(true)
mainWindow.on('closed', () => {
mainWindow = null
app.quit()
diff --git a/src/App.css b/src/App.css
deleted file mode 100644
index 74b5e05..0000000
--- a/src/App.css
+++ /dev/null
@@ -1,38 +0,0 @@
-.App {
- text-align: center;
-}
-
-.App-logo {
- height: 40vmin;
- pointer-events: none;
-}
-
-@media (prefers-reduced-motion: no-preference) {
- .App-logo {
- animation: App-logo-spin infinite 20s linear;
- }
-}
-
-.App-header {
- background-color: #282c34;
- min-height: 100vh;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- font-size: calc(10px + 2vmin);
- color: white;
-}
-
-.App-link {
- color: #61dafb;
-}
-
-@keyframes App-logo-spin {
- from {
- transform: rotate(0deg);
- }
- to {
- transform: rotate(360deg);
- }
-}
diff --git a/src/App.tsx b/src/App.tsx
index a53698a..09b27d7 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,26 +1,21 @@
-import React from 'react';
-import logo from './logo.svg';
-import './App.css';
+import React from 'react'
+import { Route, Routes } from 'react-router'
+import { ROUTE } from './constants/path'
+import ProcessMain from './pages/process'
+import Layout from './components/layout'
+import Login from './pages/login'
+import HistoryMain from './pages/history'
+import WaitMain from './pages/waiting'
-function App() {
+export default function App() {
return (
-
- );
+
+ } />
+ }>
+ } />
+ } />
+ } />
+
+
+ )
}
-
-export default App;
diff --git a/src/assets/image/down-arrow.svg b/src/assets/image/down-arrow.svg
new file mode 100644
index 0000000..657e28b
--- /dev/null
+++ b/src/assets/image/down-arrow.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/assets/image/eollugage-logo.svg b/src/assets/image/eollugage-logo.svg
new file mode 100644
index 0000000..cc9feb4
--- /dev/null
+++ b/src/assets/image/eollugage-logo.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/assets/image/kakao.png b/src/assets/image/kakao.png
new file mode 100644
index 0000000..84d96c7
Binary files /dev/null and b/src/assets/image/kakao.png differ
diff --git a/src/assets/image/login.png b/src/assets/image/login.png
new file mode 100644
index 0000000..35d7e05
Binary files /dev/null and b/src/assets/image/login.png differ
diff --git a/src/assets/image/up-arrow.svg b/src/assets/image/up-arrow.svg
new file mode 100644
index 0000000..29ff4d7
--- /dev/null
+++ b/src/assets/image/up-arrow.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/components/historyDateFilter.tsx b/src/components/historyDateFilter.tsx
new file mode 100644
index 0000000..34a7f3f
--- /dev/null
+++ b/src/components/historyDateFilter.tsx
@@ -0,0 +1,67 @@
+import dayjs from 'dayjs'
+import React, { SetStateAction, useState } from 'react'
+import styled from 'styled-components'
+
+const buttonText = ['오늘', '1주', '1개월']
+
+interface HistoryDateFilterProps {
+ date: string
+ setDate: React.Dispatch>
+}
+
+export default function HistoryDateFilter({ date, setDate }: HistoryDateFilterProps) {
+ const [selectedIdx, setSelectedIdx] = useState(0)
+
+ const onClickDate = (index: number) => {
+ setSelectedIdx(index)
+ switch (index) {
+ case 0:
+ setDate(dayjs().format('YYYY.MM.DD'))
+ break
+ case 1:
+ setDate(dayjs().subtract(1, 'week').format('YYYY.MM.DD') + ' - ' + dayjs().format('YYYY.MM.DD'))
+ break
+ case 2:
+ setDate(dayjs().subtract(1, 'month').format('YYYY.MM.DD') + ' - ' + dayjs().format('YYYY.MM.DD'))
+ break
+ default:
+ setDate('error')
+ }
+ }
+
+ const onClickDateInput = (event: React.ChangeEvent) => {
+ setDate(dayjs(event.target.value).format('YYYY.MM.DD'))
+ }
+
+ return (
+
+ {buttonText.map((text, i) => (
+ onClickDate(i)}>
+ {text}
+
+ ))}
+
+
+ )
+}
+
+const Container = styled.div`
+ display: flex;
+ gap: 10px;
+ align-items: center;
+ margin-bottom: 45px;
+`
+const DateButton = styled.div<{ selected: boolean }>`
+ background-color: ${props => (props.selected ? '#000000' : 'transparent')};
+ color: ${props => (props.selected ? '#FFFFFF' : '#000000')};
+ border-radius: 1000px;
+ padding: 12px 20px;
+ cursor: pointer;
+ display: flex;
+ align-items: center;
+`
+const DateInput = styled.input`
+ border-radius: 8px;
+ padding: 12px 16px;
+ border: 2px solid #c6c6c6;
+`
diff --git a/src/components/layout.tsx b/src/components/layout.tsx
new file mode 100644
index 0000000..0603a7f
--- /dev/null
+++ b/src/components/layout.tsx
@@ -0,0 +1,56 @@
+import { Outlet, useNavigate } from 'react-router'
+import styled from 'styled-components'
+import NavBar from './navBar'
+import { useAtom } from 'jotai'
+import { currentTabAtom, historyCountAtom, processCountAtom, waitingCountAtom } from 'utils/atom'
+import { ROUTE } from 'constants/path'
+
+export default function Layout() {
+ const navigate = useNavigate()
+ const [, setCurrentTab] = useAtom(currentTabAtom)
+ const [waitingCount] = useAtom(waitingCountAtom)
+ const [processCount] = useAtom(processCountAtom)
+ const [historyCount] = useAtom(historyCountAtom)
+
+ const navBarItem = [
+ {
+ name: '승인 대기',
+ count: waitingCount,
+ onClick: () => onClickTab(ROUTE.WAITING_MAIN),
+ },
+ {
+ name: '진행 중',
+ count: processCount,
+ onClick: () => onClickTab(ROUTE.PROCESS_MAIN),
+ },
+ {
+ name: '히스토리',
+ count: historyCount,
+ onClick: () => onClickTab(ROUTE.HISTORY_MAIN),
+ },
+ ]
+
+ const onClickTab = (pathname: string) => {
+ setCurrentTab(pathname)
+ navigate(pathname)
+ }
+
+ return (
+
+
+
+
+
+
+ )
+}
+
+const Container = styled.div`
+ width: 100%;
+ height: 100%;
+ display: flex;
+`
+const NavWrapper = styled.div`
+ width: 240px;
+ height: 100%;
+`
diff --git a/src/components/navBar.tsx b/src/components/navBar.tsx
new file mode 100644
index 0000000..18b47de
--- /dev/null
+++ b/src/components/navBar.tsx
@@ -0,0 +1,53 @@
+import { useState } from 'react'
+import NavBarItem from './navBarItem'
+import styled from 'styled-components'
+import { useAtom } from 'jotai'
+import { currentTabAtom } from 'utils/atom'
+import { ROUTE } from 'constants/path'
+
+type VerticalNavProps = {
+ items: { name: string; count?: number; onClick: () => void }[]
+}
+
+export default function NavBar({ items }: VerticalNavProps) {
+ const [, setCurrentTab] = useAtom(currentTabAtom)
+ const [focusedIdx, setFocusedIdx] = useState(0)
+
+ const onClickItem = (i: number, onClick: () => void) => {
+ switch (i) {
+ case 0:
+ setCurrentTab(ROUTE.WAITING_MAIN)
+ break
+ case 1:
+ setCurrentTab(ROUTE.PROCESS_MAIN)
+ break
+ case 2:
+ setCurrentTab(ROUTE.HISTORY_MAIN)
+ break
+ default:
+ setCurrentTab('error')
+ }
+ setFocusedIdx(i)
+ onClick()
+ }
+
+ return (
+
+ {items.map((item, i) => (
+ onClickItem(i, item.onClick)}
+ />
+ ))}
+
+ )
+}
+
+const Container = styled.div`
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+`
diff --git a/src/components/navBarItem.tsx b/src/components/navBarItem.tsx
new file mode 100644
index 0000000..1a9dc8a
--- /dev/null
+++ b/src/components/navBarItem.tsx
@@ -0,0 +1,35 @@
+import styled from 'styled-components'
+
+type VerticalNavItemProps = {
+ name: string
+ count?: number
+ isFocused: boolean
+ onClick: () => void
+}
+
+export default function NavBarItem({ name, count, isFocused, onClick }: VerticalNavItemProps) {
+ return (
+
+ {name}
+ {count !== undefined && {count}}
+
+ )
+}
+
+const Container = styled.div<{ isFocused: boolean }>`
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ gap: 16px;
+ align-items: center;
+ justify-content: center;
+ background-color: ${props => (props.isFocused ? '#131313' : '#A8A8A8')};
+ color: ${props => (props.isFocused ? '#E9E9E9' : '#161616')};
+`
+const CountWrapper = styled.div<{ isFocused: boolean }>`
+ border-radius: 1000px;
+ padding: 8px 16px;
+ background-color: ${props => (props.isFocused ? '#0043CE' : 'rgba(22, 22, 22, 0.25)')};
+ color: ${props => (props.isFocused ? '#E9E9E9' : 'rgba(22, 22, 22, 0.25)')};
+`
diff --git a/src/components/orderCard.tsx b/src/components/orderCard.tsx
new file mode 100644
index 0000000..293f632
--- /dev/null
+++ b/src/components/orderCard.tsx
@@ -0,0 +1,133 @@
+import styled from 'styled-components'
+import OrderChip, { statusType } from './orderChip'
+import dayjs from 'dayjs'
+import { returnTotalPrice } from 'utils/cardFunc'
+import PreviousOrder from './prevOrder'
+import OrderDetail from './orderDetail'
+import { useState } from 'react'
+import { ROUTE } from 'constants/path'
+
+export type productType = {
+ name: string
+ price: number
+ count?: number
+}
+
+export type orderType = productType & {
+ options?: productType[]
+}
+
+interface OrderCardProps {
+ tableNumber: number
+ status: statusType
+ orders: orderType[]
+ prevOrders?: orderType[]
+}
+
+export default function OrderCard({ tableNumber, status, orders, prevOrders }: OrderCardProps) {
+ const pathname = window.location.pathname
+
+ const [showDetail, setShowDetail] = useState(false)
+ const toggleShowDetail = () => setShowDetail(!showDetail)
+
+ return (
+
+
+
+ 테이블 번호 {tableNumber.toString().padStart(2, '0')}
+
+
+
+ {pathname === ROUTE.WAITING_MAIN ? '0분 전' : dayjs().locale('ko').format('YYYY년 M월 D일 HH시 mm분 ss초')}
+ {pathname === ROUTE.HISTORY_MAIN && ' 결제 완료'}
+
+
+
+ 메뉴 {orders.length}개 총 {returnTotalPrice(orders).toLocaleString()}원
+
+
+ {!(pathname === ROUTE.HISTORY_MAIN && status === 'single') && }
+ {prevOrders !== undefined && (
+
+ )}
+
+ {pathname === ROUTE.WAITING_MAIN && (
+ <>
+ 주문 거절
+ 주문 승인
+ >
+ )}
+ {pathname === ROUTE.PROCESS_MAIN && 결제 완료}
+ {pathname === ROUTE.HISTORY_MAIN && status === 'multi' && (
+ {showDetail ? '최초 주문만 보기' : '이전 주문 보기'}
+ )}
+
+
+ )
+}
+
+const Container = styled.div`
+ padding: 40px;
+ border-radius: 16px;
+ border: 2px solid #c6c6c6;
+`
+
+const Top = styled.div`
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 32px;
+`
+const TableNumber = styled.div`
+ font-size: 32px;
+ font-weight: 500;
+ color: #161616;
+`
+const TitleContainer = styled.div`
+ display: flex;
+ gap: 32px;
+`
+const TimeText = styled.div`
+ color: #6f6f6f;
+ font-size: 28px;
+ font-weight: 600;
+`
+const OrderSummary = styled.div`
+ color: #131313;
+ font-weight: 500;
+ font-size: 40px;
+ margin-bottom: 24px;
+`
+const Divider = styled.hr`
+ margin: 32px 0;
+`
+const WhiteButton = styled.div`
+ border-radius: 8px;
+ border: 1px solid #a8a8a8;
+ padding: 20px 32px;
+ color: #6f6f6f;
+ font-size: 20px;
+ font-weight: 600;
+`
+const BlackButton = styled.div`
+ border-radius: 8px;
+ border: 1px solid #131313;
+ background-color: #131313;
+ padding: 20px 32px;
+ color: white;
+ font-size: 20px;
+ font-weight: 600;
+ cursor: pointer;
+`
+const ButtonContainer = styled.div`
+ display: flex;
+ justify-content: flex-end;
+ gap: 24px;
+ width: 100%;
+ cursor: pointer;
+`
diff --git a/src/components/orderChip.tsx b/src/components/orderChip.tsx
new file mode 100644
index 0000000..97dbac2
--- /dev/null
+++ b/src/components/orderChip.tsx
@@ -0,0 +1,36 @@
+import styled from 'styled-components'
+
+export type statusType = 'new' | 'extra' | 'multi' | 'single'
+interface OrderChipProps {
+ status: statusType
+}
+
+export default function OrderChip({ status }: OrderChipProps) {
+ const returnChipText = () => {
+ switch (status) {
+ case 'new':
+ return '신규 주문'
+ case 'extra':
+ return '추가 주문'
+ case 'single':
+ return '단일 주문'
+ case 'multi':
+ return '복수 주문'
+ default:
+ return 'error'
+ }
+ }
+
+ return {returnChipText()}
+}
+
+const Container = styled.div<{ status: statusType }>`
+ display: flex;
+ align-items: center;
+ border-radius: 1000px;
+ padding: 8px 12px;
+ font-size: 14px;
+ font-weight: 600;
+ color: ${props => (props.status === 'new' || props.status === 'single' ? '#0043CE' : '#0E6027')};
+ background-color: ${props => (props.status === 'new' || props.status === 'single' ? '#D0E2FF' : '#A7F0BA')};
+`
diff --git a/src/components/orderDetail.tsx b/src/components/orderDetail.tsx
new file mode 100644
index 0000000..5871bcb
--- /dev/null
+++ b/src/components/orderDetail.tsx
@@ -0,0 +1,28 @@
+import styled from 'styled-components'
+import { orderType } from './orderCard'
+import { returnOrderDetail } from 'utils/cardFunc'
+
+interface OrderDetailProps {
+ orders: orderType[]
+}
+
+export default function OrderDetail({ orders }: OrderDetailProps) {
+ return (
+
+ {orders.map(order => (
+ {returnOrderDetail(order)}
+ ))}
+
+ )
+}
+
+export const Container = styled.div`
+ display: inline-flex;
+ flex-direction: column;
+ gap: 12px;
+`
+export const Detail = styled.div`
+ font-size: 20px;
+ color: #6f6f6f;
+ font-weight: 500;
+`
diff --git a/src/components/prevOrder.tsx b/src/components/prevOrder.tsx
new file mode 100644
index 0000000..d70a00f
--- /dev/null
+++ b/src/components/prevOrder.tsx
@@ -0,0 +1,71 @@
+import React, { SetStateAction } from 'react'
+import { orderType } from './orderCard'
+import styled from 'styled-components'
+import { Container as OrderContainer, Detail as OrderDetail } from './orderDetail'
+import { returnOrderDetail, returnTotalPrice } from 'utils/cardFunc'
+import { ReactComponent as UpArrowIcon } from 'assets/image/up-arrow.svg'
+import { ReactComponent as DownArrowIcon } from 'assets/image/down-arrow.svg'
+
+interface PreviousOrderProps {
+ orders: orderType[]
+ showDetail: boolean
+ setShowDetail: React.Dispatch>
+ showLabel: boolean
+}
+
+export default function PreviousOrder({ orders, showDetail, setShowDetail, showLabel }: PreviousOrderProps) {
+ const toggleShowDetail = () => setShowDetail(!showDetail)
+ return (
+
+ {showLabel && (
+
+ 이전 주문 보기
+ {showDetail ? : }
+
+ )}
+ {showDetail && (
+
+ {orders.map(order => (
+
+
+ {orders.map(order => (
+ {returnOrderDetail(order)}
+ ))}
+
+ {returnTotalPrice(orders).toLocaleString()}원
+
+ ))}
+
+ )}
+
+ )
+}
+
+const Container = styled.div`
+ display: flex;
+ flex-direction: column;
+ gap: 32px;
+`
+const ShowButton = styled.div`
+ color: #6f6f6f;
+ font-size: 20px;
+ font-weight: 500;
+ display: flex;
+ gap: 8px;
+ cursor: pointer;
+`
+const OrderBox = styled.div`
+ display: flex;
+ flex-direction: column;
+ gap: 24px;
+`
+const PrevOrderContainer = styled.div`
+ display: flex;
+ gap: 48px;
+ align-items: flex-end;
+`
+const TotalPrice = styled.div`
+ color: #131313;
+ font-size: 28px;
+ font-weight: 500;
+`
diff --git a/src/constants/path.ts b/src/constants/path.ts
new file mode 100644
index 0000000..f925878
--- /dev/null
+++ b/src/constants/path.ts
@@ -0,0 +1,6 @@
+export const ROUTE = {
+ LOGIN: '/',
+ PROCESS_MAIN: '/process',
+ WAITING_MAIN: '/waiting',
+ HISTORY_MAIN: '/history',
+}
diff --git a/src/index.css b/src/index.css
deleted file mode 100644
index ec2585e..0000000
--- a/src/index.css
+++ /dev/null
@@ -1,13 +0,0 @@
-body {
- margin: 0;
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
- 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
- sans-serif;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-
-code {
- font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
- monospace;
-}
diff --git a/src/index.tsx b/src/index.tsx
index 032464f..36d54ae 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -1,19 +1,30 @@
-import React from 'react';
-import ReactDOM from 'react-dom/client';
-import './index.css';
-import App from './App';
-import reportWebVitals from './reportWebVitals';
+import React from 'react'
+import ReactDOM from 'react-dom/client'
+import App from './App'
+import reportWebVitals from './reportWebVitals'
+import { ReactQueryDevtools } from '@tanstack/react-query-devtools'
+import { BrowserRouter } from 'react-router-dom'
+import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
+import './styles/global.css'
+import { DevTools } from 'jotai-devtools'
+import 'jotai-devtools/styles.css'
-const root = ReactDOM.createRoot(
- document.getElementById('root') as HTMLElement
-);
+const queryClient = new QueryClient()
+
+const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement)
root.render(
-
-
-);
+
+
+
+
+
+
+
+ ,
+)
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
-reportWebVitals();
+reportWebVitals()
diff --git a/src/logo.svg b/src/logo.svg
deleted file mode 100644
index 9dfc1c0..0000000
--- a/src/logo.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/pages/history.tsx b/src/pages/history.tsx
new file mode 100644
index 0000000..9886ab3
--- /dev/null
+++ b/src/pages/history.tsx
@@ -0,0 +1,33 @@
+import HistoryDateFilter from 'components/historyDateFilter'
+import OrderCard from 'components/orderCard'
+import { orderlist } from 'pages/process'
+import { useState } from 'react'
+import { Container, CardContainer, TabTitle } from 'styles/shared'
+import styled from 'styled-components'
+import dayjs from 'dayjs'
+import { useAtom } from 'jotai'
+import { historyCountAtom } from 'utils/atom'
+
+export default function HistoryMain() {
+ const [historyCount] = useAtom(historyCountAtom)
+ const [date, setDate] = useState(dayjs().format('YYYY.MM.DD'))
+
+ return (
+
+ 히스토리 {historyCount}
+
+ {date}
+
+
+
+
+
+ )
+}
+
+const DateText = styled.div`
+ color: #000000;
+ font-size: 32px;
+ font-weight: 700;
+ margin-bottom: 22px;
+`
diff --git a/src/pages/login.tsx b/src/pages/login.tsx
new file mode 100644
index 0000000..811ddb9
--- /dev/null
+++ b/src/pages/login.tsx
@@ -0,0 +1,56 @@
+import styled from 'styled-components'
+import { ReactComponent as Logo } from 'assets/image/eollugage-logo.svg'
+import { useNavigate } from 'react-router-dom'
+
+export default function Login() {
+ const navigate = useNavigate()
+
+ return (
+
+
+
+
+
+ 간편하게 일하는 법
+
+ navigate('/waiting')}>
+
+ 카카오 로그인
+
+
+
+ )
+}
+
+const Container = styled.div`
+ display: flex;
+ overflow: hidden;
+`
+const Right = styled.div`
+ flex: 1;
+ background-color: black;
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ gap: 88px;
+`
+const Title = styled.div`
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ color: #7c7c7c;
+ gap: 8px;
+`
+const KakaoLoginButton = styled.div`
+ background-color: #fee500;
+ width: 328px;
+ border-radius: 1000px;
+ padding: 20px 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 8px;
+ cursor: pointer;
+`
diff --git a/src/pages/process.tsx b/src/pages/process.tsx
new file mode 100644
index 0000000..e301457
--- /dev/null
+++ b/src/pages/process.tsx
@@ -0,0 +1,46 @@
+import OrderCard from 'components/orderCard'
+import { useAtom } from 'jotai'
+import { Container, CardContainer, TabTitle } from 'styles/shared'
+import { processCountAtom } from 'utils/atom'
+
+export const orderlist = [
+ {
+ name: '크림 새우 스파게티',
+ price: 14000,
+ count: 1,
+ },
+ {
+ name: '토마토 스파게티',
+ price: 12000,
+ options: [
+ {
+ name: '치즈 추가',
+ price: 1500,
+ },
+ {
+ name: '면 추가',
+ price: 4000,
+ count: 2,
+ },
+ ],
+ },
+ {
+ name: '페퍼로니 피자',
+ price: 24000,
+ count: 1,
+ },
+]
+
+export default function ProcessMain() {
+ const [processCount] = useAtom(processCountAtom)
+
+ return (
+
+ 진행 중 {processCount}
+
+
+
+
+
+ )
+}
diff --git a/src/pages/waiting.tsx b/src/pages/waiting.tsx
new file mode 100644
index 0000000..cea431f
--- /dev/null
+++ b/src/pages/waiting.tsx
@@ -0,0 +1,19 @@
+import OrderCard from 'components/orderCard'
+import { useAtom } from 'jotai'
+import { Container, CardContainer, TabTitle } from 'styles/shared'
+import { waitingCountAtom } from 'utils/atom'
+import { orderlist } from './process'
+
+export default function WaitMain() {
+ const [waitingCount] = useAtom(waitingCountAtom)
+
+ return (
+
+ 승인 대기 {waitingCount}
+
+
+
+
+
+ )
+}
diff --git a/src/styles/global.css b/src/styles/global.css
new file mode 100644
index 0000000..2816d49
--- /dev/null
+++ b/src/styles/global.css
@@ -0,0 +1,36 @@
+html,
+body,
+div,
+span,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+p,
+a,
+dl,
+dt,
+dd,
+ol,
+ul,
+li,
+form,
+label,
+table {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ vertical-align: baseline;
+}
+
+body {
+ width: 1440px;
+ height: 900px;
+}
+
+#root {
+ height: 1440px;
+ height: 900px;
+}
diff --git a/src/styles/shared.ts b/src/styles/shared.ts
new file mode 100644
index 0000000..961bab3
--- /dev/null
+++ b/src/styles/shared.ts
@@ -0,0 +1,22 @@
+import styled from 'styled-components'
+
+const Container = styled.div`
+ flex: 1;
+ padding: 60px 40px;
+ overflow-y: scroll;
+`
+
+const CardContainer = styled.div`
+ display: flex;
+ flex-direction: column;
+ gap: 24px;
+`
+
+const TabTitle = styled.div`
+ font-size: 32px;
+ color: #131313;
+ font-weight: 600;
+ margin-bottom: 36px;
+`
+
+export { Container, CardContainer, TabTitle }
diff --git a/src/utils/atom.ts b/src/utils/atom.ts
new file mode 100644
index 0000000..dd12e76
--- /dev/null
+++ b/src/utils/atom.ts
@@ -0,0 +1,9 @@
+import { atom } from 'jotai'
+import { atomWithStorage } from 'jotai/utils'
+
+export const currentTabAtom = atomWithStorage('Current Tab', '/waiting')
+currentTabAtom.debugLabel = 'currentTabAtom'
+
+export const waitingCountAtom = atom(0)
+export const processCountAtom = atom(0)
+export const historyCountAtom = atom(0)
diff --git a/src/utils/cardFunc.ts b/src/utils/cardFunc.ts
new file mode 100644
index 0000000..3c3862a
--- /dev/null
+++ b/src/utils/cardFunc.ts
@@ -0,0 +1,19 @@
+import { orderType, productType } from 'components/orderCard'
+
+export const returnTotalPrice = (orders: orderType[]) =>
+ orders.reduce((acc, order) => {
+ if (order.options) return acc + order.price + order.options?.reduce((acc2, option) => acc2 + option.price, 0)
+ return acc + order.price
+ }, 0)
+
+export const returnOptions = (options: productType[] | undefined) => {
+ if (options === undefined) return ''
+
+ return ' | '.concat(options?.map(option => `${option.name} (+${option.price}원)`).join(', '))
+}
+
+export const returnOrderDetail = (order: orderType) => {
+ return `${order.name} ${order.count === undefined ? '1' : order.count}개 ${returnOptions(
+ order.options,
+ )} | ${order.price.toLocaleString()}원`
+}
diff --git a/tsconfig.json b/tsconfig.json
index 9d379a3..fad0f9c 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,5 +1,13 @@
{
"compilerOptions": {
+ "baseUrl": "./src",
+ "paths": {
+ "@assets/*": ["assets/*"],
+ "@components/*": ["components/*"],
+ "@constants/*": ["constants/*"],
+ "@pages/*": ["pages/*"],
+ "@styles/*": ["styles/*"]
+ },
"target": "es5",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
diff --git a/webpack.config.js b/webpack.config.js
new file mode 100644
index 0000000..b2ec0f1
--- /dev/null
+++ b/webpack.config.js
@@ -0,0 +1,30 @@
+const path = require('path')
+
+module.exports = {
+ resolve: {
+ alias: {
+ '@assets': path.resolve(__dirname, 'src/assets/'),
+ '@components': path.resolve(__dirname, 'src/components/'),
+ '@constants': path.resolve(__dirname, 'src/constants/'),
+ '@pages': path.resolve(__dirname, 'src/pages/'),
+ '@styles': path.resolve(__dirname, 'src/styles/'),
+ },
+ extensions: ['.js', '.jsx', '.ts', '.tsx', '.json'],
+ },
+ module: {
+ rules: [
+ {
+ test: /\.(png|jpe?g|gif|svg)$/,
+ use: [
+ {
+ loader: 'file-loader',
+ options: {
+ name: '[name].[hash].[ext]',
+ outputPath: 'images',
+ },
+ },
+ ],
+ },
+ ],
+ },
+}
diff --git a/yarn.lock b/yarn.lock
index 153191c..21a05fd 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1138,7 +1138,7 @@
resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310"
integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==
-"@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.21.0", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2":
+"@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.16.7", "@babel/runtime@^7.20.13", "@babel/runtime@^7.20.6", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2":
version "7.24.8"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.8.tgz#5d958c3827b13cc6d05e038c07fb2e5e3420d82e"
integrity sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==
@@ -1378,7 +1378,7 @@
resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3"
integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==
-"@eslint-community/eslint-utils@^4.2.0":
+"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
version "4.4.0"
resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
@@ -1410,6 +1410,42 @@
resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f"
integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==
+"@floating-ui/core@^1.6.0":
+ version "1.6.5"
+ resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.5.tgz#102335cac0d22035b04d70ca5ff092d2d1a26f2b"
+ integrity sha512-8GrTWmoFhm5BsMZOTHeGD2/0FLKLQQHvO/ZmQga4tKempYRLz8aqJGqXVuQgisnMObq2YZ2SgkwctN1LOOxcqA==
+ dependencies:
+ "@floating-ui/utils" "^0.2.5"
+
+"@floating-ui/dom@^1.0.0":
+ version "1.6.8"
+ resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.8.tgz#45e20532b6d8a061b356a4fb336022cf2609754d"
+ integrity sha512-kx62rP19VZ767Q653wsP1XZCGIirkE09E0QUGNYTM/ttbbQHqcGPdSfWFxUyyNLc/W6aoJRBajOSXhP6GXjC0Q==
+ dependencies:
+ "@floating-ui/core" "^1.6.0"
+ "@floating-ui/utils" "^0.2.5"
+
+"@floating-ui/react-dom@^2.1.1":
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.1.1.tgz#cca58b6b04fc92b4c39288252e285e0422291fb0"
+ integrity sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==
+ dependencies:
+ "@floating-ui/dom" "^1.0.0"
+
+"@floating-ui/react@^0.26.9":
+ version "0.26.20"
+ resolved "https://registry.yarnpkg.com/@floating-ui/react/-/react-0.26.20.tgz#49ae23347666626db8671c2aa2df469bbec7db71"
+ integrity sha512-RixKJJG92fcIsVoqrFr4Onpzh7hlOx4U7NV4aLhMLmtvjZ5oTB/WzXaANYUZATKqXvvW7t9sCxtzejip26N5Ag==
+ dependencies:
+ "@floating-ui/react-dom" "^2.1.1"
+ "@floating-ui/utils" "^0.2.5"
+ tabbable "^6.0.0"
+
+"@floating-ui/utils@^0.2.5":
+ version "0.2.5"
+ resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.5.tgz#105c37d9d9620ce69b7f692a20c821bf1ad2cbf9"
+ integrity sha512-sTcG+QZ6fdEUObICavU+aB3Mp8HY4n14wYHdxK4fXjPmv3PXZZeY5RaguJmGyeH/CJQhX3fqKUtS4qc1LoHwhQ==
+
"@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0":
version "9.3.0"
resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb"
@@ -1767,6 +1803,31 @@
lodash "^4.17.15"
tmp-promise "^3.0.2"
+"@mantine/code-highlight@^7.10.1":
+ version "7.11.2"
+ resolved "https://registry.yarnpkg.com/@mantine/code-highlight/-/code-highlight-7.11.2.tgz#04cc4cefd2174948bd70e211123e420add1de8a8"
+ integrity sha512-9q4p4LDbuuUhQ8GjzmI/Ven2JxjoT8+Sjnv76hNGJK9xRtorJs2PJn/fdQTd7QX9tOaalnsENIj85bSZ4V3X2g==
+ dependencies:
+ clsx "^2.1.1"
+ highlight.js "^11.9.0"
+
+"@mantine/core@^7.10.1":
+ version "7.11.2"
+ resolved "https://registry.yarnpkg.com/@mantine/core/-/core-7.11.2.tgz#489e629068b4a161091b3d8d599ac28363f8cf5a"
+ integrity sha512-T64RjdgY8UPAv249miW1lQyPPot1JbCcKKsAZMNQHgcttcxLhrFpKVvglc4/48hdSoxI4LYJPNvqp7zciZmucQ==
+ dependencies:
+ "@floating-ui/react" "^0.26.9"
+ clsx "^2.1.1"
+ react-number-format "^5.3.1"
+ react-remove-scroll "^2.5.7"
+ react-textarea-autosize "8.5.3"
+ type-fest "^4.12.0"
+
+"@mantine/hooks@^7.10.1":
+ version "7.11.2"
+ resolved "https://registry.yarnpkg.com/@mantine/hooks/-/hooks-7.11.2.tgz#5629dff7ae7253f94e819c26b3b1adf97e68fd48"
+ integrity sha512-jhyVe/sbDEG2U8rr2lMecUPgQxcfr5hh9HazqGfkS7ZRIMDO7uJ947yAcTMGGkp5Lxtt5TBFt1Cb6tiB2/1agg==
+
"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1":
version "5.1.1-v1"
resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129"
@@ -1813,6 +1874,19 @@
schema-utils "^4.2.0"
source-map "^0.7.3"
+"@redux-devtools/extension@^3.3.0":
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/@redux-devtools/extension/-/extension-3.3.0.tgz#bc775d289f15604c472112920beac2cf4dbb7907"
+ integrity sha512-X34S/rC8S/M1BIrkYD1mJ5f8vlH0BDqxXrs96cvxSBo4FhMdbhU+GUGsmNYov1xjSyLMHgo8NYrUG8bNX7525g==
+ dependencies:
+ "@babel/runtime" "^7.23.2"
+ immutable "^4.3.4"
+
+"@remix-run/router@1.18.0":
+ version "1.18.0"
+ resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.18.0.tgz#20b033d1f542a100c1d57cfd18ecf442d1784732"
+ integrity sha512-L3jkqmqoSVBVKHfpGZmLrex0lxR5SucGA0sUfFzGctehw+S/ggL9L/0NnC5mw6P8HUWpFZ3nQw3cRApjjWx9Sw==
+
"@rollup/plugin-babel@^5.2.0":
version "5.3.1"
resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283"
@@ -2021,6 +2095,37 @@
dependencies:
defer-to-connect "^2.0.0"
+"@tanstack/eslint-plugin-query@^5.51.12":
+ version "5.51.12"
+ resolved "https://registry.yarnpkg.com/@tanstack/eslint-plugin-query/-/eslint-plugin-query-5.51.12.tgz#1adb208617008ac33c9e4f2dad3c25bc8c1119a4"
+ integrity sha512-vzUXXIVzDP2c6wVSJ+1imPGaKQ2ILuWnta64FJc/JnQ5WunfO17bQJSk6uKDbzTQG/YKgPYBMG3C9qFA4b7Ayg==
+ dependencies:
+ "@typescript-eslint/utils" "8.0.0-alpha.30"
+
+"@tanstack/query-core@5.51.9":
+ version "5.51.9"
+ resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.51.9.tgz#eb2e02c715068d5664680b773e39eb44db6b48d8"
+ integrity sha512-HsAwaY5J19MD18ykZDS3aVVh+bAt0i7m6uQlFC2b77DLV9djo+xEN7MWQAQQTR8IM+7r/zbozTQ7P0xr0bHuew==
+
+"@tanstack/query-devtools@5.51.9":
+ version "5.51.9"
+ resolved "https://registry.yarnpkg.com/@tanstack/query-devtools/-/query-devtools-5.51.9.tgz#df71eb8ae0af2887bb98cd3448efc5e2623d58b8"
+ integrity sha512-FQqJynaEDuwQxoFLP3/i10HQwNYh4wxgs0NeSoL24BLWvpUdstgHqUm2zgwRov8Tmh5kjndPIWaXenwl0D47EA==
+
+"@tanstack/react-query-devtools@^5.51.11":
+ version "5.51.11"
+ resolved "https://registry.yarnpkg.com/@tanstack/react-query-devtools/-/react-query-devtools-5.51.11.tgz#bd700cbdbf7bbdd238ed784bd59e829ff2ad613a"
+ integrity sha512-8nQRbhdtvl/J9bO+bk/kPQesCOtDgk+oI4AmZJDnkf5OfKTJL3J4tTe+fhuXph7KP4DUOS+ge9o9TGt0OgWFHw==
+ dependencies:
+ "@tanstack/query-devtools" "5.51.9"
+
+"@tanstack/react-query@^5.51.11":
+ version "5.51.11"
+ resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.51.11.tgz#8ab2cf6a4baa7a99b5682addf31328525f43242c"
+ integrity sha512-4Kq2x0XpDlpvSnaLG+8pHNH60zEc3mBvb3B2tOMDjcPCi/o+Du3p/9qpPLwJOTliVxxPJAP27fuIhLrsRdCr7A==
+ dependencies:
+ "@tanstack/query-core" "5.51.9"
+
"@testing-library/dom@^8.5.0":
version "8.20.1"
resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.20.1.tgz#2e52a32e46fc88369eef7eef634ac2a192decd9f"
@@ -2119,6 +2224,11 @@
dependencies:
"@babel/types" "^7.20.7"
+"@types/base16@^1.0.2":
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/@types/base16/-/base16-1.0.5.tgz#9a7df8eed525c6968d254dada2a2f653a28e73f6"
+ integrity sha512-OzOWrTluG9cwqidEzC/Q6FAmIPcnZfm8BFRlIx0+UIUqnuAmi5OS88O0RpT3Yz6qdmqObvUhasrbNsCofE4W9A==
+
"@types/body-parser@*":
version "1.19.5"
resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4"
@@ -2174,10 +2284,18 @@
"@types/eslint" "*"
"@types/estree" "*"
-"@types/eslint@*", "@types/eslint@^7.29.0 || ^8.4.1":
- version "8.56.10"
- resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.10.tgz#eb2370a73bf04a901eeba8f22595c7ee0f7eb58d"
- integrity sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==
+"@types/eslint@*":
+ version "9.6.0"
+ resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.0.tgz#51d4fe4d0316da9e9f2c80884f2c20ed5fb022ff"
+ integrity sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==
+ dependencies:
+ "@types/estree" "*"
+ "@types/json-schema" "*"
+
+"@types/eslint@^7.29.0 || ^8.4.1":
+ version "8.56.11"
+ resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.11.tgz#e2ff61510a3b9454b3329fe7731e3b4c6f780041"
+ integrity sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==
dependencies:
"@types/estree" "*"
"@types/json-schema" "*"
@@ -2300,6 +2418,11 @@
dependencies:
"@types/node" "*"
+"@types/lodash@^4.14.178", "@types/lodash@^4.14.191":
+ version "4.17.7"
+ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.7.tgz#2f776bcb53adc9e13b2c0dfd493dfcbd7de43612"
+ integrity sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==
+
"@types/mime@^1":
version "1.3.5"
resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690"
@@ -2538,6 +2661,14 @@
"@typescript-eslint/types" "5.62.0"
"@typescript-eslint/visitor-keys" "5.62.0"
+"@typescript-eslint/scope-manager@8.0.0-alpha.30":
+ version "8.0.0-alpha.30"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.0.0-alpha.30.tgz#851e38a30884b4247485de1ad10b072c3df80a4a"
+ integrity sha512-FGW/iPWGyPFamAVZ60oCAthMqQrqafUGebF8UKuq/ha+e9SVG6YhJoRzurlQXOVf8dHfOhJ0ADMXyFnMc53clg==
+ dependencies:
+ "@typescript-eslint/types" "8.0.0-alpha.30"
+ "@typescript-eslint/visitor-keys" "8.0.0-alpha.30"
+
"@typescript-eslint/type-utils@5.62.0":
version "5.62.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a"
@@ -2553,6 +2684,11 @@
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f"
integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==
+"@typescript-eslint/types@8.0.0-alpha.30":
+ version "8.0.0-alpha.30"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.0.0-alpha.30.tgz#149ae5b6aa99e2491cb79a90ad70cdbc98b7586a"
+ integrity sha512-4WzLlw27SO9pK9UFj/Hu7WGo8WveT0SEiIpFVsV2WwtQmLps6kouwtVCB8GJPZKJyurhZhcqCoQVQFmpv441Vg==
+
"@typescript-eslint/typescript-estree@5.62.0":
version "5.62.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b"
@@ -2566,6 +2702,20 @@
semver "^7.3.7"
tsutils "^3.21.0"
+"@typescript-eslint/typescript-estree@8.0.0-alpha.30":
+ version "8.0.0-alpha.30"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.0.0-alpha.30.tgz#acd674b63e204af9022b33ff031261e2e3a88b8d"
+ integrity sha512-WSXbc9ZcXI+7yC+6q95u77i8FXz6HOLsw3ST+vMUlFy1lFbXyFL/3e6HDKQCm2Clt0krnoCPiTGvIn+GkYPn4Q==
+ dependencies:
+ "@typescript-eslint/types" "8.0.0-alpha.30"
+ "@typescript-eslint/visitor-keys" "8.0.0-alpha.30"
+ debug "^4.3.4"
+ globby "^11.1.0"
+ is-glob "^4.0.3"
+ minimatch "^9.0.4"
+ semver "^7.6.0"
+ ts-api-utils "^1.3.0"
+
"@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.58.0":
version "5.62.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86"
@@ -2580,6 +2730,16 @@
eslint-scope "^5.1.1"
semver "^7.3.7"
+"@typescript-eslint/utils@8.0.0-alpha.30":
+ version "8.0.0-alpha.30"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.0.0-alpha.30.tgz#8102839b7b773be6572964a5bb8c378b526c78b2"
+ integrity sha512-rfhqfLqFyXhHNDwMnHiVGxl/Z2q/3guQ1jLlGQ0hi9Rb7inmwz42crM+NnLPR+2vEnwyw1P/g7fnQgQ3qvFx4g==
+ dependencies:
+ "@eslint-community/eslint-utils" "^4.4.0"
+ "@typescript-eslint/scope-manager" "8.0.0-alpha.30"
+ "@typescript-eslint/types" "8.0.0-alpha.30"
+ "@typescript-eslint/typescript-estree" "8.0.0-alpha.30"
+
"@typescript-eslint/visitor-keys@5.62.0":
version "5.62.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e"
@@ -2588,6 +2748,14 @@
"@typescript-eslint/types" "5.62.0"
eslint-visitor-keys "^3.3.0"
+"@typescript-eslint/visitor-keys@8.0.0-alpha.30":
+ version "8.0.0-alpha.30"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.0.0-alpha.30.tgz#8424b5eb2ca73cb58a8fa1c4bfb6ab72693d3a7f"
+ integrity sha512-XZuNurZxBqmr6ZIRIwWFq7j5RZd6ZlkId/HZEWyfciK+CWoyOxSF9Pv2VXH9Rlu2ZG2PfbhLz2Veszl4Pfn7yA==
+ dependencies:
+ "@typescript-eslint/types" "8.0.0-alpha.30"
+ eslint-visitor-keys "^3.4.3"
+
"@ungap/structured-clone@^1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406"
@@ -3054,16 +3222,6 @@ array.prototype.reduce@^1.0.6:
es-object-atoms "^1.0.0"
is-string "^1.0.7"
-array.prototype.toreversed@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz#b989a6bf35c4c5051e1dc0325151bf8088954eba"
- integrity sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
- es-shim-unscopables "^1.0.0"
-
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"
@@ -3310,6 +3468,11 @@ balanced-match@^1.0.0:
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+base16@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/base16/-/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70"
+ integrity sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==
+
base64-js@^1.3.1, base64-js@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
@@ -3574,9 +3737,9 @@ caniuse-api@^3.0.0:
lodash.uniq "^4.5.0"
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001599, caniuse-lite@^1.0.30001640:
- version "1.0.30001642"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001642.tgz#6aa6610eb24067c246d30c57f055a9d0a7f8d05f"
- integrity sha512-3XQ0DoRgLijXJErLSl+bLnJ+Et4KqV1PY6JJBGAFlsNsz31zeAIncyeZfLCabHK/jtSh+671RM9YMldxjUPZtA==
+ version "1.0.30001643"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz#9c004caef315de9452ab970c3da71085f8241dbd"
+ integrity sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==
case-sensitive-paths-webpack-plugin@^2.4.0:
version "2.4.0"
@@ -3703,6 +3866,11 @@ clone-response@^1.0.2:
dependencies:
mimic-response "^1.0.0"
+clsx@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999"
+ integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==
+
co@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
@@ -3722,7 +3890,7 @@ collect-v8-coverage@^1.0.0:
resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9"
integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==
-color-convert@^1.9.0:
+color-convert@^1.9.0, color-convert@^1.9.3:
version "1.9.3"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
@@ -3741,11 +3909,27 @@ color-name@1.1.3:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
-color-name@~1.1.4:
+color-name@^1.0.0, color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+color-string@^1.6.0:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4"
+ integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==
+ dependencies:
+ color-name "^1.0.0"
+ simple-swizzle "^0.2.2"
+
+color@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164"
+ integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==
+ dependencies:
+ color-convert "^1.9.3"
+ color-string "^1.6.0"
+
colord@^2.9.1:
version "2.9.3"
resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43"
@@ -4174,7 +4358,7 @@ cssstyle@^2.3.0:
dependencies:
cssom "~0.3.6"
-csstype@3.1.3, csstype@^3.0.2:
+csstype@3.1.3, csstype@^3.0.10, csstype@^3.0.2:
version "3.1.3"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
@@ -4227,6 +4411,11 @@ date-fns@^2.30.0:
dependencies:
"@babel/runtime" "^7.21.0"
+dayjs@^1.11.12:
+ version "1.11.12"
+ resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.12.tgz#5245226cc7f40a15bf52e0b99fd2a04669ccac1d"
+ integrity sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==
+
debug@2.6.9, debug@^2.6.0:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
@@ -4364,6 +4553,11 @@ detect-newline@^3.0.0:
resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
+detect-node-es@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493"
+ integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==
+
detect-node@^2.0.4:
version "2.1.0"
resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1"
@@ -4382,6 +4576,11 @@ didyoumean@^1.2.2:
resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037"
integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==
+diff-match-patch@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/diff-match-patch/-/diff-match-patch-1.0.5.tgz#abb584d5f10cd1196dfc55aa03701592ae3f7b37"
+ integrity sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==
+
diff-sequences@^27.5.1:
version "27.5.1"
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327"
@@ -4612,9 +4811,9 @@ electron-publish@24.13.1:
mime "^2.5.2"
electron-to-chromium@^1.4.820:
- version "1.4.830"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.830.tgz#a11899bc3343bc28f57a87fcf83060e0d28038d4"
- integrity sha512-TrPKKH20HeN0J1LHzsYLs2qwXrp8TF4nHdu4sq61ozGbzMpWhI7iIOPYPPkxeq1azMT9PZ8enPFcftbs/Npcjg==
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.0.tgz#0d3123a9f09189b9c7ab4b5d6848d71b3c1fd0e8"
+ integrity sha512-Vb3xHHYnLseK8vlMJQKJYXJ++t4u1/qJ3vykuVrVjvdiOEhYyT1AuP4x03G8EnPmYvYOhe9T+dADTmthjRQMkA==
electron@^31.2.1:
version "31.2.1"
@@ -4663,9 +4862,9 @@ end-of-stream@^1.1.0:
once "^1.4.0"
enhanced-resolve@^5.17.0:
- version "5.17.0"
- resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz#d037603789dd9555b89aaec7eb78845c49089bc5"
- integrity sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==
+ version "5.17.1"
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15"
+ integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==
dependencies:
graceful-fs "^4.2.4"
tapable "^2.2.0"
@@ -4995,14 +5194,13 @@ eslint-plugin-react-hooks@^4.3.0:
integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==
eslint-plugin-react@^7.27.1:
- version "7.34.4"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.34.4.tgz#1f0dc313a0937db7ce15fd1f6c3d77e70f3e02fb"
- integrity sha512-Np+jo9bUwJNxCsT12pXtrGhJgT3T44T1sHhn1Ssr42XFn8TES0267wPGo5nNrMHi8qkyimDAX2BUmkf9pSaVzA==
+ version "7.35.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.35.0.tgz#00b1e4559896710e58af6358898f2ff917ea4c41"
+ integrity sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA==
dependencies:
array-includes "^3.1.8"
array.prototype.findlast "^1.2.5"
array.prototype.flatmap "^1.3.2"
- array.prototype.toreversed "^1.1.2"
array.prototype.tosorted "^1.1.4"
doctrine "^2.1.0"
es-iterator-helpers "^1.0.19"
@@ -5584,6 +5782,11 @@ get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@
has-symbols "^1.0.3"
hasown "^2.0.0"
+get-nonce@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3"
+ integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==
+
get-own-enumerable-property-symbols@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664"
@@ -5820,6 +6023,11 @@ he@^1.2.0:
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
+highlight.js@^11.9.0:
+ version "11.10.0"
+ resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-11.10.0.tgz#6e3600dc4b33d6dc23d5bd94fbf72405f5892b92"
+ integrity sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==
+
hoopy@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d"
@@ -6042,6 +6250,11 @@ immer@^9.0.7:
resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176"
integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==
+immutable@^4.3.4:
+ version "4.3.7"
+ resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.7.tgz#c70145fc90d89fb02021e65c84eb0226e4e5a381"
+ integrity sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==
+
import-fresh@^3.1.0, import-fresh@^3.2.1:
version "3.3.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
@@ -6051,9 +6264,9 @@ import-fresh@^3.1.0, import-fresh@^3.2.1:
resolve-from "^4.0.0"
import-local@^3.0.2:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4"
- integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260"
+ integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==
dependencies:
pkg-dir "^4.2.0"
resolve-cwd "^3.0.0"
@@ -6100,6 +6313,13 @@ internal-slot@^1.0.4, internal-slot@^1.0.7:
hasown "^2.0.0"
side-channel "^1.0.4"
+invariant@^2.2.4:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
+ integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
+ dependencies:
+ loose-envify "^1.0.0"
+
ipaddr.js@1.9.1:
version "1.9.1"
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
@@ -6131,6 +6351,11 @@ is-arrayish@^0.2.1:
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
+is-arrayish@^0.3.1:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
+ integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
+
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"
@@ -6466,6 +6691,11 @@ jake@^10.8.5:
filelist "^1.0.4"
minimatch "^3.1.2"
+javascript-stringify@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz#27c76539be14d8bd128219a2d731b09337904e79"
+ integrity sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==
+
jest-changed-files@^27.5.1:
version "27.5.1"
resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5"
@@ -7016,6 +7246,28 @@ joi@^17.11.0:
"@sideway/formula" "^3.0.1"
"@sideway/pinpoint" "^2.0.0"
+jotai-devtools@^0.10.0:
+ version "0.10.0"
+ resolved "https://registry.yarnpkg.com/jotai-devtools/-/jotai-devtools-0.10.0.tgz#1549574c1ecb8a9d9ea3c983785114678bcd1429"
+ integrity sha512-ltGzJMam7sXbC827U1A2H6rMg+iiK5VzaBmanVfVpWS4fK9/8Mq5NLaG3n2OFtsQgI0nUDaNl/3NObI38sBx+A==
+ dependencies:
+ "@mantine/code-highlight" "^7.10.1"
+ "@mantine/core" "^7.10.1"
+ "@mantine/hooks" "^7.10.1"
+ "@redux-devtools/extension" "^3.3.0"
+ clsx "^2.1.1"
+ javascript-stringify "^2.1.0"
+ jsondiffpatch "^0.5.0"
+ react-base16-styling "^0.9.1"
+ react-error-boundary "^4.0.13"
+ react-json-tree "^0.18.0"
+ react-resizable-panels "2.0.10"
+
+jotai@^2.9.0:
+ version "2.9.1"
+ resolved "https://registry.yarnpkg.com/jotai/-/jotai-2.9.1.tgz#f32dd16fc16b7b32d940a3a8d452eddfcb16218c"
+ integrity sha512-t4Q7FIqQB3N/1art4OcqdlEtPmQ2h4DNIzTFhvt06WE0kCpQ1QoG+1A1IGTaQBi2KdDRsnywj+ojmHHKgw6PDA==
+
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
@@ -7126,6 +7378,14 @@ json5@^2.1.2, json5@^2.2.0, json5@^2.2.3:
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
+jsondiffpatch@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/jsondiffpatch/-/jsondiffpatch-0.5.0.tgz#f9795416022685a3ba7eced11a338c5cb0cf66f4"
+ integrity sha512-Quz3MvAwHxVYNXsOByL7xI5EB2WYOeFswqaHIA3qOK3isRWTxiplBEocmmru6XmxDB2L7jDNYtYA4FyimoAFEw==
+ dependencies:
+ chalk "^3.0.0"
+ diff-match-patch "^1.0.0"
+
jsonfile@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
@@ -7290,6 +7550,11 @@ locate-path@^6.0.0:
dependencies:
p-locate "^5.0.0"
+lodash.curry@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170"
+ integrity sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==
+
lodash.debounce@^4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
@@ -7320,7 +7585,7 @@ lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0:
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
-loose-envify@^1.1.0, loose-envify@^1.4.0:
+loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
@@ -7652,9 +7917,9 @@ node-int64@^0.4.0:
integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==
node-releases@^2.0.14:
- version "2.0.17"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.17.tgz#d74bc4fec38d839eec5db2a3c9c963d4f33cb366"
- integrity sha512-Ww6ZlOiEQfPfXM45v17oabk77Z7mg5bOt7AjDyzy7RjK9OrLrLC8dyZQoAPEOtFX9SaNf1Tdvr5gRJWdTJj7GA==
+ version "2.0.18"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f"
+ integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==
normalize-path@^3.0.0, normalize-path@~3.0.0:
version "3.0.0"
@@ -8356,11 +8621,11 @@ postcss-modules-values@^4.0.0:
icss-utils "^5.0.0"
postcss-nested@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.1.tgz#f83dc9846ca16d2f4fa864f16e9d9f7d0961662c"
- integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.2.0.tgz#4c2d22ab5f20b9cb61e2c5c5915950784d068131"
+ integrity sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==
dependencies:
- postcss-selector-parser "^6.0.11"
+ postcss-selector-parser "^6.1.1"
postcss-nesting@^10.2.0:
version "10.2.0"
@@ -8563,7 +8828,7 @@ postcss-selector-not@^6.0.1:
dependencies:
postcss-selector-parser "^6.0.10"
-postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9:
+postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9, postcss-selector-parser@^6.1.1:
version "6.1.1"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz#5be94b277b8955904476a2400260002ce6c56e38"
integrity sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==
@@ -8701,7 +8966,7 @@ prompts@^2.0.1, prompts@^2.4.2:
kleur "^3.0.3"
sisteransi "^1.0.5"
-prop-types@^15.8.1:
+prop-types@^15.7.2, 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==
@@ -8809,6 +9074,19 @@ react-app-polyfill@^3.0.0:
regenerator-runtime "^0.13.9"
whatwg-fetch "^3.6.2"
+react-base16-styling@^0.9.1:
+ version "0.9.1"
+ resolved "https://registry.yarnpkg.com/react-base16-styling/-/react-base16-styling-0.9.1.tgz#4906b4c0a51636f2dca2cea8b682175aa8bd0c92"
+ integrity sha512-1s0CY1zRBOQ5M3T61wetEpvQmsYSNtWEcdYzyZNxKa8t7oDvaOn9d21xrGezGAHFWLM7SHcktPuPTrvoqxSfKw==
+ dependencies:
+ "@babel/runtime" "^7.16.7"
+ "@types/base16" "^1.0.2"
+ "@types/lodash" "^4.14.178"
+ base16 "^1.0.0"
+ color "^3.2.1"
+ csstype "^3.0.10"
+ lodash.curry "^4.1.1"
+
react-dev-utils@^12.0.1:
version "12.0.1"
resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz#ba92edb4a1f379bd46ccd6bcd4e7bc398df33e73"
@@ -8847,6 +9125,13 @@ react-dom@^18.3.1:
loose-envify "^1.1.0"
scheduler "^0.23.2"
+react-error-boundary@^4.0.13:
+ version "4.0.13"
+ resolved "https://registry.yarnpkg.com/react-error-boundary/-/react-error-boundary-4.0.13.tgz#80386b7b27b1131c5fbb7368b8c0d983354c7947"
+ integrity sha512-b6PwbdSv8XeOSYvjt8LpgpKrZ0yGdtZokYwkwV2wlcZbxgopHX/hgPl5VgpnoVOWd868n1hktM8Qm4b+02MiLQ==
+ dependencies:
+ "@babel/runtime" "^7.12.5"
+
react-error-overlay@^6.0.11:
version "6.0.11"
resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb"
@@ -8867,11 +9152,66 @@ react-is@^18.0.0:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e"
integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==
+react-json-tree@^0.18.0:
+ version "0.18.0"
+ resolved "https://registry.yarnpkg.com/react-json-tree/-/react-json-tree-0.18.0.tgz#3c4bec7b091f50dcc9c09652d89c8f4373ebf3ea"
+ integrity sha512-Qe6HKSXrr++n9Y31nkRJ3XvQMATISpqigH1vEKhLwB56+nk5thTP0ITThpjxY6ZG/ubpVq/aEHIcyLP/OPHxeA==
+ dependencies:
+ "@babel/runtime" "^7.20.6"
+ "@types/lodash" "^4.14.191"
+ react-base16-styling "^0.9.1"
+
+react-number-format@^5.3.1:
+ version "5.4.0"
+ resolved "https://registry.yarnpkg.com/react-number-format/-/react-number-format-5.4.0.tgz#8c1e97add1970d1a2f372ca286bcdaa49632ba5c"
+ integrity sha512-NWdICrqLhI7rAS8yUeLVd6Wr4cN7UjJ9IBTS0f/a9i7UB4x4Ti70kGnksBtZ7o4Z7YRbvCMMR/jQmkoOBa/4fg==
+ dependencies:
+ prop-types "^15.7.2"
+
react-refresh@^0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046"
integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==
+react-remove-scroll-bar@^2.3.6:
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz#3e585e9d163be84a010180b18721e851ac81a29c"
+ integrity sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==
+ dependencies:
+ react-style-singleton "^2.2.1"
+ tslib "^2.0.0"
+
+react-remove-scroll@^2.5.7:
+ version "2.5.10"
+ resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.5.10.tgz#5fae456a23962af6d3c38ca1978bcfe0806c4061"
+ integrity sha512-m3zvBRANPBw3qxVVjEIPEQinkcwlFZ4qyomuWVpNJdv4c6MvHfXV0C3L9Jx5rr3HeBHKNRX+1jreB5QloDIJjA==
+ dependencies:
+ react-remove-scroll-bar "^2.3.6"
+ react-style-singleton "^2.2.1"
+ tslib "^2.1.0"
+ use-callback-ref "^1.3.0"
+ use-sidecar "^1.1.2"
+
+react-resizable-panels@2.0.10:
+ version "2.0.10"
+ resolved "https://registry.yarnpkg.com/react-resizable-panels/-/react-resizable-panels-2.0.10.tgz#9b83d52952047435a4ceba0b6dd0799e162816d4"
+ integrity sha512-1cQl5rp3VDWRL04XXX92lzM1hej2Fe5x+vpjYXcldfOjKwLV5JVrt5T6q0cTB5yfp4Wh+JIdYQ9A5EnZypO1DQ==
+
+react-router-dom@^6.25.1:
+ version "6.25.1"
+ resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.25.1.tgz#b89f8d63fc8383ea4e89c44bf31c5843e1f7afa0"
+ integrity sha512-0tUDpbFvk35iv+N89dWNrJp+afLgd+y4VtorJZuOCXK0kkCWjEvb3vTJM++SYvMEpbVwXKf3FjeVveVEb6JpDQ==
+ dependencies:
+ "@remix-run/router" "1.18.0"
+ react-router "6.25.1"
+
+react-router@6.25.1:
+ version "6.25.1"
+ resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.25.1.tgz#70b4f1af79954cfcfd23f6ddf5c883e8c904203e"
+ integrity sha512-u8ELFr5Z6g02nUtpPAggP73Jigj1mRePSwhS/2nkTrlPU5yEkH1vYzWNyvSnSzeeE2DNqWdH+P8OhIh9wuXhTw==
+ dependencies:
+ "@remix-run/router" "1.18.0"
+
react-scripts@5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-5.0.1.tgz#6285dbd65a8ba6e49ca8d651ce30645a6d980003"
@@ -8927,6 +9267,24 @@ react-scripts@5.0.1:
optionalDependencies:
fsevents "^2.3.2"
+react-style-singleton@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.1.tgz#f99e420492b2d8f34d38308ff660b60d0b1205b4"
+ integrity sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==
+ dependencies:
+ get-nonce "^1.0.0"
+ invariant "^2.2.4"
+ tslib "^2.0.0"
+
+react-textarea-autosize@8.5.3:
+ version "8.5.3"
+ resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.5.3.tgz#d1e9fe760178413891484847d3378706052dd409"
+ integrity sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==
+ dependencies:
+ "@babel/runtime" "^7.20.13"
+ use-composed-ref "^1.3.0"
+ use-latest "^1.2.1"
+
react@^18.3.1:
version "18.3.1"
resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891"
@@ -9370,7 +9728,7 @@ semver@^6.0.0, semver@^6.2.0, semver@^6.3.0, semver@^6.3.1:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4:
+semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0:
version "7.6.3"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143"
integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==
@@ -9512,6 +9870,13 @@ signal-exit@^4.0.1:
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04"
integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
+simple-swizzle@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
+ integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==
+ dependencies:
+ is-arrayish "^0.3.1"
+
simple-update-notifier@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz#d70b92bdab7d6d90dfd73931195a30b6e3d7cebb"
@@ -9989,6 +10354,11 @@ symbol-tree@^3.2.4:
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
+tabbable@^6.0.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97"
+ integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==
+
tailwindcss@^3.0.2:
version "3.4.6"
resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.6.tgz#41faae16607e0916da1eaa4a3b44053457ba70dd"
@@ -10204,6 +10574,11 @@ tryer@^1.0.1:
resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8"
integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==
+ts-api-utils@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1"
+ integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==
+
ts-interface-checker@^0.1.9:
version "0.1.13"
resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699"
@@ -10229,7 +10604,7 @@ tslib@^1.8.1:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
-tslib@^2.0.3, tslib@^2.1.0:
+tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0:
version "2.6.3"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0"
integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==
@@ -10280,6 +10655,11 @@ type-fest@^0.21.3:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
+type-fest@^4.12.0:
+ version "4.23.0"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.23.0.tgz#8196561a6b835175473be744f3e41e2dece1496b"
+ integrity sha512-ZiBujro2ohr5+Z/hZWHESLz3g08BBdrdLMieYFULJO+tWc437sn8kQsWLJoZErY8alNhxre9K4p3GURAG11n+w==
+
type-is@~1.6.18:
version "1.6.18"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
@@ -10345,9 +10725,9 @@ typescript@^4.9.5:
integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
typescript@^5.3.3:
- version "5.5.3"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.3.tgz#e1b0a3c394190838a0b168e771b0ad56a0af0faa"
- integrity sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==
+ version "5.5.4"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.4.tgz#d9852d6c82bad2d2eda4fd74a5762a8f5909e9ba"
+ integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==
unbox-primitive@^1.0.2:
version "1.0.2"
@@ -10452,6 +10832,38 @@ url-parse@^1.5.3:
querystringify "^2.1.1"
requires-port "^1.0.0"
+use-callback-ref@^1.3.0:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.2.tgz#6134c7f6ff76e2be0b56c809b17a650c942b1693"
+ integrity sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==
+ dependencies:
+ tslib "^2.0.0"
+
+use-composed-ref@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.3.0.tgz#3d8104db34b7b264030a9d916c5e94fbe280dbda"
+ integrity sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==
+
+use-isomorphic-layout-effect@^1.1.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb"
+ integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==
+
+use-latest@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/use-latest/-/use-latest-1.2.1.tgz#d13dfb4b08c28e3e33991546a2cee53e14038cf2"
+ integrity sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==
+ dependencies:
+ use-isomorphic-layout-effect "^1.1.1"
+
+use-sidecar@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.2.tgz#2f43126ba2d7d7e117aa5855e5d8f0276dfe73c2"
+ integrity sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==
+ dependencies:
+ detect-node-es "^1.1.0"
+ tslib "^2.0.0"
+
utf8-byte-length@^1.0.1:
version "1.0.5"
resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz#f9f63910d15536ee2b2d5dd4665389715eac5c1e"