From 560e8dade1b804f0becef44e5a5396c62870b358 Mon Sep 17 00:00:00 2001 From: Muhammad Eko Date: Tue, 1 Oct 2024 13:58:49 +0700 Subject: [PATCH] progress --- next.config.mjs | 12 +- package.json | 17 +- public/images/logo.png | Bin 0 -> 110990 bytes public/images/midsuit.png | Bin 0 -> 1481 bytes src/app/AppProvider.tsx | 24 + src/app/dashboard/absensi/page.tsx | 106 ++++ src/app/dashboard/karyawan/page.tsx | 67 +++ src/app/dashboard/layout.tsx | 134 +++++ src/app/dashboard/turnover/page.tsx | 178 ++++++ src/app/globals.css | 18 - src/app/layout.tsx | 10 +- src/app/page.tsx | 101 ---- src/lib/hooks.ts | 29 + src/lib/slice/filter.ts | 20 + src/lib/store.ts | 20 + src/services/api.ts | 85 +++ src/services/types.ts | 75 +++ yarn.lock | 873 +++++++++++++++++++++++++++- 18 files changed, 1636 insertions(+), 133 deletions(-) create mode 100644 public/images/logo.png create mode 100644 public/images/midsuit.png create mode 100644 src/app/AppProvider.tsx create mode 100644 src/app/dashboard/absensi/page.tsx create mode 100644 src/app/dashboard/karyawan/page.tsx create mode 100644 src/app/dashboard/layout.tsx create mode 100644 src/app/dashboard/turnover/page.tsx delete mode 100644 src/app/page.tsx create mode 100644 src/lib/hooks.ts create mode 100644 src/lib/slice/filter.ts create mode 100644 src/lib/store.ts create mode 100644 src/services/api.ts create mode 100644 src/services/types.ts diff --git a/next.config.mjs b/next.config.mjs index 4678774..5774dd8 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -1,4 +1,14 @@ /** @type {import('next').NextConfig} */ -const nextConfig = {}; +const nextConfig = { + async redirects() { + return [ + { + source: '/', + destination: '/dashboard/karyawan', + permanent: true, + }, + ]; + } +}; export default nextConfig; diff --git a/package.json b/package.json index 8fef579..3d1fe52 100644 --- a/package.json +++ b/package.json @@ -9,16 +9,27 @@ "lint": "next lint" }, "dependencies": { + "@emotion/react": "^11.13.3", + "@emotion/styled": "^11.13.0", + "@heroicons/react": "^2.1.5", + "@mui/material": "^6.1.0", + "@mui/x-charts": "^7.17.0", + "@mui/x-date-pickers": "^7.17.0", + "@reduxjs/toolkit": "^2.2.7", + "date-fns": "^4.0.0", + "lucide-react": "^0.441.0", + "next": "14.2.11", "react": "^18", "react-dom": "^18", - "next": "14.2.11" + "react-redux": "^9.1.2", + "react-tooltip": "^5.28.0" }, "devDependencies": { - "typescript": "^5", "@types/node": "^20", "@types/react": "^18", "@types/react-dom": "^18", "postcss": "^8", - "tailwindcss": "^3.4.1" + "tailwindcss": "^3.4.1", + "typescript": "^5" } } diff --git a/public/images/logo.png b/public/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7031e26e9e5f53cc0bc2da3c37e90f4d904805bc GIT binary patch literal 110990 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 z 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 z%0A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

>)POZ;_>UvZ280H9Qhap0zMgr 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 z%0D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 literal 0 HcmV?d00001 diff --git a/src/app/AppProvider.tsx b/src/app/AppProvider.tsx new file mode 100644 index 0000000..9ae6a15 --- /dev/null +++ b/src/app/AppProvider.tsx @@ -0,0 +1,24 @@ +"use client"; +import { LocalizationProvider } from "@mui/x-date-pickers"; +import { AdapterDateFns } from "@mui/x-date-pickers/AdapterDateFnsV3"; +import { makeStore, AppStore } from '../lib/store' +import { useRef } from "react"; +import { Provider } from "react-redux"; +import { StyledEngineProvider } from "@mui/material"; +export default function AppProvider({children}:{children: React.ReactNode}) { + const storeRef = useRef() + if (!storeRef.current) { + // Create the store instance the first time this renders + storeRef.current = makeStore() + } + + return ( + + + + {children} + + + + ) +} \ No newline at end of file diff --git a/src/app/dashboard/absensi/page.tsx b/src/app/dashboard/absensi/page.tsx new file mode 100644 index 0000000..5bcfc9e --- /dev/null +++ b/src/app/dashboard/absensi/page.tsx @@ -0,0 +1,106 @@ +"use client" +import { useAppSelector } from "@/lib/hooks"; +import { useGetAttendanceRangeQuery, useGetMonthlyAttendanceQuery, useGetOrganizationAttendanceQuery } from "@/services/api"; +import { ExclamationCircleIcon } from "@heroicons/react/24/outline"; +import { BarChart, ChartsTooltip, LineChart, pieArcClasses, pieArcLabelClasses, PieChart } from "@mui/x-charts"; +import { ChartsNoDataOverlay } from "@mui/x-charts/ChartsOverlay"; +import { formatDate } from "date-fns"; + +export default function AbsensiPage() { + const filter = useAppSelector(state => state.filter.filter); + const {data: attendanceSummary} = useGetOrganizationAttendanceQuery(filter); + const {data: attendanceRange} = useGetAttendanceRangeQuery(filter); + const {data: montlyAttendance} = useGetMonthlyAttendanceQuery(filter); + + return ( +

+
+
Kehadiran Staff
+
+ {attendanceRange && `${v.label} HK`, + data: attendanceRange.map(e => ({label: e.range, value: e.count})), + innerRadius: "50%", + valueFormatter: (v) => v.value+" employees" + }, + ]} colors={[ + "#E65550","#8A5FB1","#69C9C9","#F08431","#F6C421" + ]} + slotProps={{ + legend: { + direction: "row", + position: {vertical: "bottom", horizontal: "middle"} + }, + pieArcLabel: { + classes: { + root: "text-white fill-current" + } + }, + }} + sx={{ + [`& .${pieArcLabelClasses.root}`]: { + color:"white", + fontWeight: "bold" + }}} + margin={{top: 20, right: 20, bottom: 20, left: 20}} + slots={{ + noDataOverlay: (props) => + }} + />} +
+
+
+
Kehadiran Non Staff
+
+ Data belum tersedia +
+
+
+
+
Kehadiran Non Staff
+
+ Data belum tersedia +
+
+
+
Kehadiran Non Staff
+
+ Data belum tersedia +
+
+
+
+
Data Kehadiran Karyawan Setiap Perusahaan
+
+ {attendanceSummary && v === "tooltip" ? "Attendance" : undefined!, color: "#2385DE", stack: "attendance", stackOffset: "expand", valueFormatter: (v) => v + " mandays"}, + {dataKey: "absent", label: (v) => v === "tooltip" ? "Absent" : undefined!, color: "#F7B500", stack: "attendance", stackOffset: "expand", valueFormatter: (v) => v + " mandays"}, + ]} xAxis={[ + {dataKey: "organization_code", label: "Nama Perusahaan", scaleType: "band", valueFormatter: (v, context) => context.location === "tooltip" ? attendanceSummary.find(e => e.organization_code === v)?.organization_name : v} + ]} + yAxis={[ + {dataKey: "count",scaleType: "linear", valueFormatter: (v) => (v*100)+"%"} + ]} + slots={{ + noDataOverlay: ()=> , + }} + />} +
+
+
+
Data Karyawan Perbulan
+
+ {montlyAttendance && "Kehadiran" , area: false, color: "#F7CAA9"}, + {dataKey: "workdays", label: (v) => "Mandays", area: false, color: "#2385DE"}, + ]} xAxis={[ + {dataKey: "date", label: "Bulan", scaleType: "band", valueFormatter: (v, context) => formatDate(new Date(v), context.location === "tooltip" ? "MMMM yyyy" : "MMM")} + ]} + />} +
+
+
+ ); +} \ No newline at end of file diff --git a/src/app/dashboard/karyawan/page.tsx b/src/app/dashboard/karyawan/page.tsx new file mode 100644 index 0000000..c53be00 --- /dev/null +++ b/src/app/dashboard/karyawan/page.tsx @@ -0,0 +1,67 @@ +"use client" +import { useAppSelector } from "@/lib/hooks"; +import { useGetEmployeeSummaryQuery, useGetMonthlyEmployeeQuery } from "@/services/api"; +import { ExclamationCircleIcon } from "@heroicons/react/24/outline"; +import { BarChart, ChartsLegend, ChartsTooltip, ChartsXAxis, ChartsYAxis, LineChart } from "@mui/x-charts"; +import { formatDate } from "date-fns"; +import { useEffect } from "react"; + +export default function KaryawanPage() { + + const filter = useAppSelector(state => state.filter.filter); + const {data: employeeSummary} = useGetEmployeeSummaryQuery(filter); + const {data: montlyEmployee} = useGetMonthlyEmployeeQuery(filter); + + useEffect(() => { + console.log(filter); + }, [filter]); + + return ( +
+
+
Data Karyawan
+
+ {employeeSummary && v === "tooltip" ? "Jumlah Karyawan" : undefined!, color: "#2385DE"} + ]} xAxis={[ + {dataKey: "organization_code", label: "Nama Perusahaan", scaleType: "band", valueFormatter: (v, context) => context.location === "tooltip" ? employeeSummary.find(e => e.organization_code === v)?.organization_name : v} + ]} />} +
+
+
+
Data Karyawan Perbulan
+
+ {montlyEmployee && v === "tooltip" ? "Jumlah Karyawan" : undefined!, area: true, color: "#F7CAA9"} + ]} xAxis={[ + {dataKey: "date", label: "Bulan", scaleType: "band", valueFormatter: (v, context) => formatDate(new Date(v), context.location === "tooltip" ? "MMMM yyyy" : "MMM")} + ]} />} +
+
+
+
Pergerakan Karyawan
+
+ Data belum tersedia +
+
+
+
Ranking (Top 10) Total Pergerakan Karyawan Setiap Perusahaan
+
+ Data belum tersedia +
+
+
+
Penjatuhan Sanksi
+
+ Data belum tersedia +
+
+
+
Ranking (Top 10) Total Penjatuhan Sanksi Setiap Perusahaan
+
+ Data belum tersedia +
+
+
+ ); +} \ No newline at end of file diff --git a/src/app/dashboard/layout.tsx b/src/app/dashboard/layout.tsx new file mode 100644 index 0000000..fd3d284 --- /dev/null +++ b/src/app/dashboard/layout.tsx @@ -0,0 +1,134 @@ +"use client" +import { DocumentCurrencyDollarIcon, HomeIcon, UsersIcon } from "@heroicons/react/24/outline"; +import { InputLabel, MenuItem, Select, TextField } from "@mui/material"; +import { DatePicker } from "@mui/x-date-pickers"; +import { BarChart2, CircleDollarSign, LogOut, RefreshCcw } from "lucide-react"; +import Link from "next/link"; +import logo from "../../../public/images/logo.png"; +import midsuit from "../../../public/images/midsuit.png"; +import Image from "next/image"; +import { usePathname, useRouter } from "next/navigation"; +import React from "react"; +import { Filter } from "@/services/types"; +import { useAppDispatch, useAppSelector } from "@/lib/hooks"; +import { setFilter } from "@/lib/slice/filter"; +import { format } from "date-fns"; + + +export default function DashboardLayout({children}:{children: React.ReactNode}) { + + const pathname = usePathname(); + const dispatch = useAppDispatch(); + const filter = useAppSelector((state) => state.filter.filter); + + return ( +
+
+
+ logo +
+
+
+
Halaman
+ + + + + Data Karyawan + + + + + + Absensi + + + + + + Turn Over Rate + + + + + + Produktifitas Karyawan + + + + + + HR Cost + + + + + + Log Out + +
+ Powered by +
+ midsuit +
+
+
+
+
+
+
+ ID +
+ CN +
+
+ dispatch(setFilter({...filter, start_date: format(date ?? new Date(), "yyyy-MM-dd")}))} + /> + dispatch(setFilter({...filter, end_date: format(date ?? new Date(), "yyyy-MM-dd")}))} + /> +
+
+ + Semua Perusahaan + PT. A + PT. B + PT. C + + + Semua Lokasi + Lokasi 1 + Lokasi 2 + Lokasi 3 + +
+
+ dispatch(setFilter({...filter, job_name: e.target.value}))}> + Semua + Staff + Non Staff + Pemanen + Perawatan + +
+
+
+ {children} +
+
+
+ ) +} \ No newline at end of file diff --git a/src/app/dashboard/turnover/page.tsx b/src/app/dashboard/turnover/page.tsx new file mode 100644 index 0000000..3820722 --- /dev/null +++ b/src/app/dashboard/turnover/page.tsx @@ -0,0 +1,178 @@ +"use client" +import { useAppSelector, useDimensions } from "@/lib/hooks"; +import { useGetResignCategoryQuery, useGetResignReasonQuery, useGetResignSummaryQuery, useGetResignTypeQuery } from "@/services/api"; +import { BarChart, pieArcLabelClasses, PieChart } from "@mui/x-charts"; +import { ChartsNoDataOverlay } from "@mui/x-charts/ChartsOverlay"; +import { Loader, LucideLoader2 } from "lucide-react"; +import React from "react"; +import { useRef } from "react"; +import { Tooltip } from "react-tooltip"; + +export default function TurnoverPage() { + + const filter = useAppSelector(state => state.filter.filter); + const resignRef = useRef(null); + const {width, height} = useDimensions(resignRef); + const {data : resignSummary, isFetching: resignSummaryLoading} = useGetResignSummaryQuery(filter); + const {data : resignType, isFetching: resignTypeLoading} = useGetResignTypeQuery(filter); + const {data : resignCategory, isFetching: resignCategoryLoading} = useGetResignCategoryQuery(filter); + const {data : resignReason, isFetching: resignReasonLoading} = useGetResignReasonQuery(filter); + + const [turnOverRatio, setTurnOverRatio] = React.useState(0); + const [resign, setResign] = React.useState(0); + const [active, setActive] = React.useState(0); + + const [maxResignType, setMaxResignType] = React.useState(0); + + React.useEffect(() => { + if(resignSummary){ + const totalResign = resignSummary.reduce((acc, curr) => acc + curr.count, 0); + const totalActive = resignSummary.reduce((acc, curr) => acc + curr.active, 0); + setTurnOverRatio(Math.round(totalResign / totalActive * 100)); + setResign(totalResign); + setActive(totalActive); + } + }, [resignSummary]); + + React.useEffect(() => { + if(resignType){ + const max = resignType.reduce((acc, curr) => Math.max(acc, curr.count), 0); + setMaxResignType(max); + } + }, [resignType]); + + const getColorByCategory = (category: string) => { + switch(category){ + case "Whitelist": + return "#EAEAEA"; + case "Blacklist": + return "#3D3D3D"; + case "Yellowlist": + return "#F5C41F"; + default: + return undefined; + } + } + + return ( +
+
+
Karyawan Baru Seluruh Perusahaan
+
+ Data belum tersedia +
+
+
+
Man Power Planning per Perusahaan : Recruitment
+
+ Data belum tersedia +
+
+
+
Karyawan Resign Seluruh Perusahaan
+
+
+
+
+
+
Rasio Turn Over
+
{turnOverRatio} %
+
+
+
Karyawan Resign
+
{resign}
+
+
+
Karyawan Aktif
+
{active}
+
+
+
+
+
Resignment per Perusahaan : Jumlah Karyawan
+
+ {resignSummary && !resignSummaryLoading && v === "tooltip" ? "Resign" : undefined!, color: "#F7B500", stack: "resign", stackOffset: "expand"}, + {dataKey: "active", label: (v) => v === "tooltip" ? "Active" : undefined!, color: "#2385DE", stack: "resign", stackOffset: "expand"}, + ]} xAxis={[ + {dataKey: "organization_code", label: "Nama Perusahaan", scaleType: "band", valueFormatter: (v, context) => context.location === "tooltip" ? resignSummary.find(e => e.organization_code === v)?.organization_name : v} + ]} + yAxis={[ + {dataKey: "count",scaleType: "linear", valueFormatter: (v) => (v*100)+"%"} + ]} + slots={{ + noDataOverlay: ()=> , + }} + />} + {resignSummaryLoading && } +
+
+
+
Jenis Pemutusan Hubungan Kerja
+
+ {resignType && resignType.map((resign, index) => ( +
+
{resign.type}
+
+
+
+
+
+ ))} + {resignType && resignType.length === 0 && Data belum tersedia} + +
+
+
+
Kategory Resign
+
+ {resignCategory && `${v.label}`, + data: resignCategory.map(e => ({label: e.category, value: e.count, color: getColorByCategory(e.category)})), + valueFormatter: (v) => v.value+" employees", + }, + ]} + slotProps={{ + legend: { + direction: "row", + position: {vertical: "bottom", horizontal: "middle"} + }, + pieArcLabel: { + classes: { + root: "hidden" + } + }, + }} + sx={{ + [`& .${pieArcLabelClasses.root}`]: { + color:"white", + fontWeight: "bold" + }}} + margin={{top: 20, right: 20, bottom: 60, left: 20}} + slots={{ + noDataOverlay: (props) => + }} + />} +
+
+
+
Jenis Pemutusan Hubungan Kerja
+
+ {resignReason && resignReason.map((resign, index) => ( +
+
{resign.reason}
+
+
+
+
+
+ ))} + {resignReason && resignReason.length === 0 && Data belum tersedia} + +
+
+
+ ) +} \ No newline at end of file diff --git a/src/app/globals.css b/src/app/globals.css index 13d40b8..39a9271 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -2,24 +2,6 @@ @tailwind components; @tailwind utilities; -:root { - --background: #ffffff; - --foreground: #171717; -} - -@media (prefers-color-scheme: dark) { - :root { - --background: #0a0a0a; - --foreground: #ededed; - } -} - -body { - color: var(--foreground); - background: var(--background); - font-family: Arial, Helvetica, sans-serif; -} - @layer utilities { .text-balance { text-wrap: balance; diff --git a/src/app/layout.tsx b/src/app/layout.tsx index a36cde0..a05f01e 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -2,6 +2,10 @@ import type { Metadata } from "next"; import localFont from "next/font/local"; import "./globals.css"; +import { LocalizationProvider } from "@mui/x-date-pickers"; +import {AdapterDateFns} from "@mui/x-date-pickers/AdapterDateFnsV3"; +import AppProvider from "./AppProvider"; + const geistSans = localFont({ src: "./fonts/GeistVF.woff", variable: "--font-geist-sans", @@ -26,9 +30,11 @@ export default function RootLayout({ return ( - {children} + + {children} + ); diff --git a/src/app/page.tsx b/src/app/page.tsx deleted file mode 100644 index 6fe62d1..0000000 --- a/src/app/page.tsx +++ /dev/null @@ -1,101 +0,0 @@ -import Image from "next/image"; - -export default function Home() { - return ( -
-
- Next.js logo -
    -
  1. - Get started by editing{" "} - - src/app/page.tsx - - . -
  2. -
  3. Save and see your changes instantly.
  4. -
- - -
- -
- ); -} diff --git a/src/lib/hooks.ts b/src/lib/hooks.ts new file mode 100644 index 0000000..18b5b9d --- /dev/null +++ b/src/lib/hooks.ts @@ -0,0 +1,29 @@ +import { useDispatch, useSelector, useStore } from 'react-redux' +import type { RootState, AppDispatch, AppStore } from './store' + +// Use throughout your app instead of plain `useDispatch` and `useSelector` +export const useAppDispatch = useDispatch.withTypes() +export const useAppSelector = useSelector.withTypes() +export const useAppStore = useStore.withTypes() + +import { RefObject, useMemo, useSyncExternalStore } from "react" + +function subscribe(callback: (e: Event) => void) { + window.addEventListener("resize", callback) + return () => { + window.removeEventListener("resize", callback) + } +} + +function useDimensions(ref: RefObject) { + const dimensions = useSyncExternalStore( + subscribe, + () => JSON.stringify({ + width: ref.current?.offsetWidth ?? 0, + height: ref.current?.offsetHeight ?? 0, + }) + ) + return useMemo(() => JSON.parse(dimensions), [dimensions]) +} + +export { useDimensions } \ No newline at end of file diff --git a/src/lib/slice/filter.ts b/src/lib/slice/filter.ts new file mode 100644 index 0000000..daa9726 --- /dev/null +++ b/src/lib/slice/filter.ts @@ -0,0 +1,20 @@ +import { Filter } from "@/services/types"; +import { createSlice } from "@reduxjs/toolkit/react"; +import { format } from "date-fns"; + +const filterSlice = createSlice({ + name: "filter", + initialState: { + filter: { + end_date: format(new Date(), "yyyy-MM-dd"), + } as Filter, + }, + reducers: { + setFilter(state, action) { + state.filter = action.payload; + }, + }, +}); + +export const { setFilter } = filterSlice.actions; +export default filterSlice.reducer; \ No newline at end of file diff --git a/src/lib/store.ts b/src/lib/store.ts new file mode 100644 index 0000000..3de5a2f --- /dev/null +++ b/src/lib/store.ts @@ -0,0 +1,20 @@ +import { api } from '@/services/api' +import { configureStore } from '@reduxjs/toolkit' +import filterReducer from '@/lib/slice/filter' + +export const makeStore = () => { + return configureStore({ + reducer: { + [api.reducerPath]: api.reducer, + filter: filterReducer, + }, + middleware: (getDefaultMiddleware) => + getDefaultMiddleware().concat(api.middleware), + }) +} + +// Infer the type of makeStore +export type AppStore = ReturnType +// Infer the `RootState` and `AppDispatch` types from the store itself +export type RootState = ReturnType +export type AppDispatch = AppStore['dispatch'] \ No newline at end of file diff --git a/src/services/api.ts b/src/services/api.ts new file mode 100644 index 0000000..e3c17f5 --- /dev/null +++ b/src/services/api.ts @@ -0,0 +1,85 @@ +import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react' +import { AttendanceRange, AttendanceSummary, EmployeeSummary, MonthlyAttendance, MonthlyEmployee, ResignationCategory, ResignationReason, ResignationType as ResignationType, ResignSummary } from './types' +import { Response , Filter} from './types' + +export const api = createApi({ + baseQuery: fetchBaseQuery({ baseUrl: 'https://erp.julongindonesia.com:8443/api' }), + endpoints: (builder) => ({ + getEmployeeSummary: builder.query({ + query: (params) => ({ url: '/dashboard/employee', params }), + transformResponse: (response: Response) => { + if (response.status === "success") { + return response.data!; + } + }, + }), + getMonthlyEmployee: builder.query({ + query: (params) => ({ url: '/dashboard/monthly-employee', params }), + transformResponse: (response: Response) => { + if (response.status === "success") { + return response.data!; + } + }, + }), + getOrganizationAttendance: builder.query({ + query: (params) => ({ url: '/dashboard/organization-attendance', params }), + transformResponse: (response: Response) => { + if (response.status === "success") { + return response.data!; + } + }, + }), + getAttendanceRange: builder.query({ + query: (params) => ({ url: '/dashboard/attendance-range', params }), + transformResponse: (response: Response) => { + if (response.status === "success") { + return response.data!; + } + }, + }), + getMonthlyAttendance: builder.query({ + query: (params) => ({ url: '/dashboard/monthly-attendance', params }), + transformResponse: (response: Response) => { + if (response.status === "success") { + return response.data!; + } + }, + }), + getResignSummary: builder.query({ + query: (params) => ({ url: '/dashboard/to-resign', params }), + transformResponse: (response: Response) => { + if (response.status === "success") { + return response.data!; + } + }, + }), + getResignType: builder.query({ + query: (params) => ({ url: '/dashboard/to-resign-type', params }), + transformResponse: (response: Response) => { + if (response.status === "success") { + return response.data!; + } + }, + }), + getResignCategory: builder.query({ + query: (params) => ({ url: '/dashboard/to-resign-category', params }), + transformResponse: (response: Response) => { + if (response.status === "success") { + return response.data!; + } + }, + }), + getResignReason: builder.query({ + query: (params) => ({ url: '/dashboard/to-resign-reason', params }), + transformResponse: (response: Response) => { + if (response.status === "success") { + return response.data!; + } + }, + }), + }), +}) + +export const { useGetEmployeeSummaryQuery, useGetMonthlyEmployeeQuery, useGetMonthlyAttendanceQuery, + useGetOrganizationAttendanceQuery, useGetAttendanceRangeQuery, useGetResignSummaryQuery, useGetResignTypeQuery, + useGetResignCategoryQuery, useGetResignReasonQuery } = api \ No newline at end of file diff --git a/src/services/types.ts b/src/services/types.ts new file mode 100644 index 0000000..d6e39ee --- /dev/null +++ b/src/services/types.ts @@ -0,0 +1,75 @@ +export interface ApiResult { + data: T; + message: string; + status: string; +} + +export type ErrorResponse = ApiResult; +export type Response = ApiResult; + +export function isErrorResponse(response: any): response is ErrorResponse { + return response.status === "error"; +} + +export interface Filter{ + start_date?: string; + end_date?: string; + organization_code?: string; + estate_name?: string; + job_name?: string; +} + +export type EmployeeSummary = { + id: string; + organization_code: string; + organization_name: string; + count: number; + updated_at: string; + created_at: string; +} + +export type AttendanceSummary = { + organization_code: string; + organization_name: string; + workdays: number; + absent: number; + count: number; +} + +export type MonthlyEmployee = { + date: string; + count: number; +} + +export type MonthlyAttendance = { + date: string; + workdays: number; + count: number; +} + +export type AttendanceRange = { + range: string; + count: number; +} + +export type ResignSummary = { + organization_code: string; + organization_name: string; + count: number; + active: number; +} + +export type ResignationType = { + type: string; + count: number; +} + +export type ResignationCategory = { + category: string; + count: number; +} + +export type ResignationReason = { + reason: string; + count: number; +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index b34a1e3..b1695f5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,6 +7,229 @@ resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" + integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== + dependencies: + "@babel/highlight" "^7.24.7" + picocolors "^1.0.0" + +"@babel/generator@^7.25.6": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.6.tgz#0df1ad8cb32fe4d2b01d8bf437f153d19342a87c" + integrity sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw== + dependencies: + "@babel/types" "^7.25.6" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^2.5.1" + +"@babel/helper-module-imports@^7.16.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b" + integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== + dependencies: + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/helper-string-parser@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" + integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== + +"@babel/helper-validator-identifier@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" + integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== + +"@babel/highlight@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" + integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== + dependencies: + "@babel/helper-validator-identifier" "^7.24.7" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@babel/parser@^7.25.0", "@babel/parser@^7.25.6": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.6.tgz#85660c5ef388cbbf6e3d2a694ee97a38f18afe2f" + integrity sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q== + dependencies: + "@babel/types" "^7.25.6" + +"@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.23.9", "@babel/runtime@^7.25.6", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.6.tgz#9afc3289f7184d8d7f98b099884c26317b9264d2" + integrity sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a" + integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== + dependencies: + "@babel/code-frame" "^7.24.7" + "@babel/parser" "^7.25.0" + "@babel/types" "^7.25.0" + +"@babel/traverse@^7.24.7": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.6.tgz#04fad980e444f182ecf1520504941940a90fea41" + integrity sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ== + dependencies: + "@babel/code-frame" "^7.24.7" + "@babel/generator" "^7.25.6" + "@babel/parser" "^7.25.6" + "@babel/template" "^7.25.0" + "@babel/types" "^7.25.6" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.24.7", "@babel/types@^7.25.0", "@babel/types@^7.25.6": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.6.tgz#893942ddb858f32ae7a004ec9d3a76b3463ef8e6" + integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw== + dependencies: + "@babel/helper-string-parser" "^7.24.8" + "@babel/helper-validator-identifier" "^7.24.7" + to-fast-properties "^2.0.0" + +"@emotion/babel-plugin@^11.12.0": + version "11.12.0" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.12.0.tgz#7b43debb250c313101b3f885eba634f1d723fcc2" + integrity sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/runtime" "^7.18.3" + "@emotion/hash" "^0.9.2" + "@emotion/memoize" "^0.9.0" + "@emotion/serialize" "^1.2.0" + babel-plugin-macros "^3.1.0" + convert-source-map "^1.5.0" + escape-string-regexp "^4.0.0" + find-root "^1.1.0" + source-map "^0.5.7" + stylis "4.2.0" + +"@emotion/cache@^11.13.0", "@emotion/cache@^11.13.1": + version "11.13.1" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.13.1.tgz#fecfc54d51810beebf05bf2a161271a1a91895d7" + integrity sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw== + dependencies: + "@emotion/memoize" "^0.9.0" + "@emotion/sheet" "^1.4.0" + "@emotion/utils" "^1.4.0" + "@emotion/weak-memoize" "^0.4.0" + stylis "4.2.0" + +"@emotion/hash@^0.9.2": + version "0.9.2" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.2.tgz#ff9221b9f58b4dfe61e619a7788734bd63f6898b" + integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g== + +"@emotion/is-prop-valid@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.3.0.tgz#bd84ba972195e8a2d42462387581560ef780e4e2" + integrity sha512-SHetuSLvJDzuNbOdtPVbq6yMMMlLoW5Q94uDqJZqy50gcmAjxFkVqmzqSGEFq9gT2iMuIeKV1PXVWmvUhuZLlQ== + dependencies: + "@emotion/memoize" "^0.9.0" + +"@emotion/memoize@^0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.9.0.tgz#745969d649977776b43fc7648c556aaa462b4102" + integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ== + +"@emotion/react@^11.13.3": + version "11.13.3" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.13.3.tgz#a69d0de2a23f5b48e0acf210416638010e4bd2e4" + integrity sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.12.0" + "@emotion/cache" "^11.13.0" + "@emotion/serialize" "^1.3.1" + "@emotion/use-insertion-effect-with-fallbacks" "^1.1.0" + "@emotion/utils" "^1.4.0" + "@emotion/weak-memoize" "^0.4.0" + hoist-non-react-statics "^3.3.1" + +"@emotion/serialize@^1.2.0", "@emotion/serialize@^1.3.0", "@emotion/serialize@^1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.3.1.tgz#490b660178f43d2de8e92b278b51079d726c05c3" + integrity sha512-dEPNKzBPU+vFPGa+z3axPRn8XVDetYORmDC0wAiej+TNcOZE70ZMJa0X7JdeoM6q/nWTMZeLpN/fTnD9o8MQBA== + dependencies: + "@emotion/hash" "^0.9.2" + "@emotion/memoize" "^0.9.0" + "@emotion/unitless" "^0.10.0" + "@emotion/utils" "^1.4.0" + csstype "^3.0.2" + +"@emotion/sheet@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.4.0.tgz#c9299c34d248bc26e82563735f78953d2efca83c" + integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg== + +"@emotion/styled@^11.13.0": + version "11.13.0" + resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.13.0.tgz#633fd700db701472c7a5dbef54d6f9834e9fb190" + integrity sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.12.0" + "@emotion/is-prop-valid" "^1.3.0" + "@emotion/serialize" "^1.3.0" + "@emotion/use-insertion-effect-with-fallbacks" "^1.1.0" + "@emotion/utils" "^1.4.0" + +"@emotion/unitless@^0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.10.0.tgz#2af2f7c7e5150f497bdabd848ce7b218a27cf745" + integrity sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg== + +"@emotion/use-insertion-effect-with-fallbacks@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.1.0.tgz#1a818a0b2c481efba0cf34e5ab1e0cb2dcb9dfaf" + integrity sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw== + +"@emotion/utils@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.4.0.tgz#262f1d02aaedb2ec91c83a0955dd47822ad5fbdd" + integrity sha512-spEnrA1b6hDR/C68lC2M7m6ALPUHZC0lIY7jAS/B/9DuuO1ZP04eov8SMv/6fwRd8pzmsn2AuJEznRREWlQrlQ== + +"@emotion/weak-memoize@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz#5e13fac887f08c44f76b0ccaf3370eb00fec9bb6" + integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg== + +"@floating-ui/core@^1.6.0": + version "1.6.8" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.8.tgz#aa43561be075815879305965020f492cdb43da12" + integrity sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA== + dependencies: + "@floating-ui/utils" "^0.2.8" + +"@floating-ui/dom@^1.6.1": + version "1.6.11" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.11.tgz#8631857838d34ee5712339eb7cbdfb8ad34da723" + integrity sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ== + dependencies: + "@floating-ui/core" "^1.6.0" + "@floating-ui/utils" "^0.2.8" + +"@floating-ui/utils@^0.2.8": + version "0.2.8" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.8.tgz#21a907684723bbbaa5f0974cf7730bd797eb8e62" + integrity sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig== + +"@heroicons/react@^2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@heroicons/react/-/react-2.1.5.tgz#1e13f34976cc542deae92353c01c8b3d7942e9ba" + integrity sha512-FuzFN+BsHa+7OxbvAERtgBTNeZpUjgM/MIizfVkSCL2/edriN0Hx/DWRCR//aPYwO5QX/YlgLGXk+E3PcfZwjA== + "@isaacs/cliui@^8.0.2": version "8.0.2" resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" @@ -19,7 +242,7 @@ wrap-ansi "^8.1.0" wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" -"@jridgewell/gen-mapping@^0.3.2": +"@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5": version "0.3.5" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== @@ -43,7 +266,7 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== -"@jridgewell/trace-mapping@^0.3.24": +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== @@ -51,6 +274,148 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@mui/core-downloads-tracker@^6.1.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-6.1.0.tgz#35e37713a4240c09db92c082502fa0c90f6e37be" + integrity sha512-covEnIn/2er5YdtuukDRA52kmARhKrHjOvPsyTFMQApZdrTBI4h8jbEy2mxZqwMwcAFS9coonQXnEZKL1rUNdQ== + +"@mui/material@^6.1.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-6.1.0.tgz#42c900df9667f58d10082eafdae0cb99ea43339b" + integrity sha512-4MJ46vmy1xbm8x+ZdRcWm8jEMMowdS8pYlhKQzg/qoKhOcLhImZvf2Jn6z9Dj6gl+lY+C/0MxaHF/avAAGys3Q== + dependencies: + "@babel/runtime" "^7.25.6" + "@mui/core-downloads-tracker" "^6.1.0" + "@mui/system" "^6.1.0" + "@mui/types" "^7.2.16" + "@mui/utils" "^6.1.0" + "@popperjs/core" "^2.11.8" + "@types/react-transition-group" "^4.4.11" + clsx "^2.1.1" + csstype "^3.1.3" + prop-types "^15.8.1" + react-is "^18.3.1" + react-transition-group "^4.4.5" + +"@mui/private-theming@^6.1.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-6.1.0.tgz#f55d2dd472028e6deda3a519f6c285ce7171c908" + integrity sha512-+L5qccs4gwsR0r1dgjqhN24QEQRkqIbfOdxILyMbMkuI50x6wNyt9XrV+J3WtjtZTMGJCrUa5VmZBE6OEPGPWA== + dependencies: + "@babel/runtime" "^7.25.6" + "@mui/utils" "^6.1.0" + prop-types "^15.8.1" + +"@mui/styled-engine@^6.1.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-6.1.0.tgz#4be3eaa13b616e63ffc060a41ab24a15af7f0f56" + integrity sha512-MZ+vtaCkjamrT41+b0Er9OMenjAtP/32+L6fARL9/+BZKuV2QbR3q3TmavT2x0NhDu35IM03s4yKqj32Ziqnyg== + dependencies: + "@babel/runtime" "^7.25.6" + "@emotion/cache" "^11.13.1" + "@emotion/sheet" "^1.4.0" + csstype "^3.1.3" + prop-types "^15.8.1" + +"@mui/system@^6.1.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-6.1.0.tgz#3262471afb1eec3270e67bd0f0f59e400223bc33" + integrity sha512-NumkGDqT6EdXfcoFLYQ+M4XlTW5hH3+aK48xAbRqKPXJfxl36CBt4DLduw/Voa5dcayGus9T6jm1AwU2hoJ5hQ== + dependencies: + "@babel/runtime" "^7.25.6" + "@mui/private-theming" "^6.1.0" + "@mui/styled-engine" "^6.1.0" + "@mui/types" "^7.2.16" + "@mui/utils" "^6.1.0" + clsx "^2.1.1" + csstype "^3.1.3" + prop-types "^15.8.1" + +"@mui/types@^7.2.15", "@mui/types@^7.2.16": + version "7.2.16" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.16.tgz#66710c691b51cd4fca95322100cd74ec230cfe30" + integrity sha512-qI8TV3M7ShITEEc8Ih15A2vLzZGLhD+/UPNwck/hcls2gwg7dyRjNGXcQYHKLB5Q7PuTRfrTkAoPa2VV1s67Ag== + +"@mui/utils@^5.16.6": + version "5.16.6" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.16.6.tgz#905875bbc58d3dcc24531c3314a6807aba22a711" + integrity sha512-tWiQqlhxAt3KENNiSRL+DIn9H5xNVK6Jjf70x3PnfQPz1MPBdh7yyIcAyVBT9xiw7hP3SomRhPR7hzBMBCjqEA== + dependencies: + "@babel/runtime" "^7.23.9" + "@mui/types" "^7.2.15" + "@types/prop-types" "^15.7.12" + clsx "^2.1.1" + prop-types "^15.8.1" + react-is "^18.3.1" + +"@mui/utils@^6.1.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-6.1.0.tgz#aa825af35ef3fb3bebc78f081066644cd57cafce" + integrity sha512-oT8ZzMISRUhTVpdbYzY0CgrCBb3t/YEdcaM13tUnuTjZ15pdA6g5lx15ZJUdgYXV6PbJdw7tDQgMEr4uXK5TXQ== + dependencies: + "@babel/runtime" "^7.25.6" + "@mui/types" "^7.2.16" + "@types/prop-types" "^15.7.12" + clsx "^2.1.1" + prop-types "^15.8.1" + react-is "^18.3.1" + +"@mui/x-charts-vendor@7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@mui/x-charts-vendor/-/x-charts-vendor-7.16.0.tgz#6f745457eac05955bfcfc6180562ceab576a8abf" + integrity sha512-MyMCCl7eAM53rLbjqP4zbMy5hYtdeqCjAYCH2jpvBKdgugm2eaPLKOPM8bUVfen0wHA8BXleQrIrNceytFPyZA== + dependencies: + "@babel/runtime" "^7.25.6" + "@types/d3-color" "^3.1.3" + "@types/d3-delaunay" "^6.0.4" + "@types/d3-interpolate" "^3.0.4" + "@types/d3-scale" "^4.0.8" + "@types/d3-shape" "^3.1.6" + "@types/d3-time" "^3.0.3" + d3-color "^3.1.0" + d3-delaunay "^6.0.4" + d3-interpolate "^3.0.1" + d3-scale "^4.0.2" + d3-shape "^3.2.0" + d3-time "^3.1.0" + delaunator "^5.0.1" + robust-predicates "^3.0.2" + +"@mui/x-charts@^7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@mui/x-charts/-/x-charts-7.17.0.tgz#3a7e68009c87f977b9ed7df95c55902161a6f3a6" + integrity sha512-xDH/lOnb57+VBIA7q+1KlC0Ht1O46d/N2MEl1tUq1JYIXhA2Owi5cp+bcaof8Rvw5ApCmkoBxyUIjqT0guNIwA== + dependencies: + "@babel/runtime" "^7.25.6" + "@mui/utils" "^5.16.6" + "@mui/x-charts-vendor" "7.16.0" + "@mui/x-internals" "7.17.0" + "@react-spring/rafz" "^9.7.4" + "@react-spring/web" "^9.7.4" + clsx "^2.1.1" + prop-types "^15.8.1" + +"@mui/x-date-pickers@^7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@mui/x-date-pickers/-/x-date-pickers-7.17.0.tgz#a0ccdd0ca0bfede65d05900e149cfc141551c1fe" + integrity sha512-3mIw1uOZU/yKweZsVAo9QnwVFzLHqXgXG1TbGbDJ4AU6FhN2TCUlR9tzKHSlYdAHZ0bEWDS1/bgeGsQC7skXMA== + dependencies: + "@babel/runtime" "^7.25.6" + "@mui/utils" "^5.16.6" + "@mui/x-internals" "7.17.0" + "@types/react-transition-group" "^4.4.11" + clsx "^2.1.1" + prop-types "^15.8.1" + react-transition-group "^4.4.5" + +"@mui/x-internals@7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@mui/x-internals/-/x-internals-7.17.0.tgz#c5731b8deb07107fbc406e62277aaa5c3f0db0a7" + integrity sha512-FLlAGSJl/vsuaA/8hPGazXFppyzIzxApJJDZMoTS0geUmHd0hyooISV2ltllLmrZ/DGtHhI08m8GGnHL6/vVeg== + dependencies: + "@babel/runtime" "^7.25.6" + "@mui/utils" "^5.16.6" + "@next/env@14.2.11": version "14.2.11" resolved "https://registry.yarnpkg.com/@next/env/-/env-14.2.11.tgz#91fa6865140e7c89c555651cbe28b57180b26b9e" @@ -127,6 +492,66 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== +"@popperjs/core@^2.11.8": + version "2.11.8" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" + integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== + +"@react-spring/animated@~9.7.4": + version "9.7.4" + resolved "https://registry.yarnpkg.com/@react-spring/animated/-/animated-9.7.4.tgz#c712b2d3dc9312ef41aa8886818b539151bda062" + integrity sha512-7As+8Pty2QlemJ9O5ecsuPKjmO0NKvmVkRR1n6mEotFgWar8FKuQt2xgxz3RTgxcccghpx1YdS1FCdElQNexmQ== + dependencies: + "@react-spring/shared" "~9.7.4" + "@react-spring/types" "~9.7.4" + +"@react-spring/core@~9.7.4": + version "9.7.4" + resolved "https://registry.yarnpkg.com/@react-spring/core/-/core-9.7.4.tgz#0eaa0b5da3d18036d87a571f23079819d45a9f46" + integrity sha512-GzjA44niEJBFUe9jN3zubRDDDP2E4tBlhNlSIkTChiNf9p4ZQlgXBg50qbXfSXHQPHak/ExYxwhipKVsQ/sUTw== + dependencies: + "@react-spring/animated" "~9.7.4" + "@react-spring/shared" "~9.7.4" + "@react-spring/types" "~9.7.4" + +"@react-spring/rafz@^9.7.4", "@react-spring/rafz@~9.7.4": + version "9.7.4" + resolved "https://registry.yarnpkg.com/@react-spring/rafz/-/rafz-9.7.4.tgz#d53aa45a8cb116b81b27ba29e0cc15470ccfd449" + integrity sha512-mqDI6rW0Ca8IdryOMiXRhMtVGiEGLIO89vIOyFQXRIwwIMX30HLya24g9z4olDvFyeDW3+kibiKwtZnA4xhldA== + +"@react-spring/shared@~9.7.4": + version "9.7.4" + resolved "https://registry.yarnpkg.com/@react-spring/shared/-/shared-9.7.4.tgz#8ac57505072c2aee33d77c47c4269347061a3377" + integrity sha512-bEPI7cQp94dOtCFSEYpxvLxj0+xQfB5r9Ru1h8OMycsIq7zFZon1G0sHrBLaLQIWeMCllc4tVDYRTLIRv70C8w== + dependencies: + "@react-spring/rafz" "~9.7.4" + "@react-spring/types" "~9.7.4" + +"@react-spring/types@~9.7.4": + version "9.7.4" + resolved "https://registry.yarnpkg.com/@react-spring/types/-/types-9.7.4.tgz#c849a7f062b5163d078e5e75f28c8f6acf91792e" + integrity sha512-iQVztO09ZVfsletMiY+DpT/JRiBntdsdJ4uqk3UJFhrhS8mIC9ZOZbmfGSRs/kdbNPQkVyzucceDicQ/3Mlj9g== + +"@react-spring/web@^9.7.4": + version "9.7.4" + resolved "https://registry.yarnpkg.com/@react-spring/web/-/web-9.7.4.tgz#0086ab5dcf17e6a8f3d7e7f8041ccb4cc2fa10dc" + integrity sha512-UMvCZp7I5HCVIleSa4BwbNxynqvj+mJjG2m20VO2yPoi2pnCYANy58flvz9v/YcXTAvsmL655FV3pm5fbr6akA== + dependencies: + "@react-spring/animated" "~9.7.4" + "@react-spring/core" "~9.7.4" + "@react-spring/shared" "~9.7.4" + "@react-spring/types" "~9.7.4" + +"@reduxjs/toolkit@^2.2.7": + version "2.2.7" + resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-2.2.7.tgz#199e3d10ccb39267cb5aee92c0262fd9da7fdfb2" + integrity sha512-faI3cZbSdFb8yv9dhDTmGwclW0vk0z5o1cia+kf7gCbaCwHI5e+7tP57mJUv22pNcNbeA62GSrPpfrUfdXcQ6g== + dependencies: + immer "^10.0.3" + redux "^5.0.1" + redux-thunk "^3.1.0" + reselect "^5.1.0" + "@swc/counter@^0.1.3": version "0.1.3" resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9" @@ -140,6 +565,47 @@ "@swc/counter" "^0.1.3" tslib "^2.4.0" +"@types/d3-color@*", "@types/d3-color@^3.1.3": + version "3.1.3" + resolved "https://registry.yarnpkg.com/@types/d3-color/-/d3-color-3.1.3.tgz#368c961a18de721da8200e80bf3943fb53136af2" + integrity sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A== + +"@types/d3-delaunay@^6.0.4": + version "6.0.4" + resolved "https://registry.yarnpkg.com/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz#185c1a80cc807fdda2a3fe960f7c11c4a27952e1" + integrity sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw== + +"@types/d3-interpolate@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz#412b90e84870285f2ff8a846c6eb60344f12a41c" + integrity sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA== + dependencies: + "@types/d3-color" "*" + +"@types/d3-path@*": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-3.1.0.tgz#2b907adce762a78e98828f0b438eaca339ae410a" + integrity sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ== + +"@types/d3-scale@^4.0.8": + version "4.0.8" + resolved "https://registry.yarnpkg.com/@types/d3-scale/-/d3-scale-4.0.8.tgz#d409b5f9dcf63074464bf8ddfb8ee5a1f95945bb" + integrity sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ== + dependencies: + "@types/d3-time" "*" + +"@types/d3-shape@^3.1.6": + version "3.1.6" + resolved "https://registry.yarnpkg.com/@types/d3-shape/-/d3-shape-3.1.6.tgz#65d40d5a548f0a023821773e39012805e6e31a72" + integrity sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA== + dependencies: + "@types/d3-path" "*" + +"@types/d3-time@*", "@types/d3-time@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/d3-time/-/d3-time-3.0.3.tgz#3c186bbd9d12b9d84253b6be6487ca56b54f88be" + integrity sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw== + "@types/node@^20": version "20.16.5" resolved "https://registry.yarnpkg.com/@types/node/-/node-20.16.5.tgz#d43c7f973b32ffdf9aa7bd4f80e1072310fd7a53" @@ -147,7 +613,12 @@ dependencies: undici-types "~6.19.2" -"@types/prop-types@*": +"@types/parse-json@^4.0.0": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== + +"@types/prop-types@*", "@types/prop-types@^15.7.12": version "15.7.13" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.13.tgz#2af91918ee12d9d32914feb13f5326658461b451" integrity sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA== @@ -159,6 +630,13 @@ dependencies: "@types/react" "*" +"@types/react-transition-group@^4.4.11": + version "4.4.11" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.11.tgz#d963253a611d757de01ebb241143b1017d5d63d5" + integrity sha512-RM05tAniPZ5DZPzzNFP+DmrcOdD0efDUxMy3145oljWSl3x9ZV5vhme98gTxFrj2lhXvmGNnUiuDyJgY9IKkNA== + dependencies: + "@types/react" "*" + "@types/react@*", "@types/react@^18": version "18.3.6" resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.6.tgz#1cb5895c5ea0d99d8bc7d659e42f72713cbd3942" @@ -167,6 +645,11 @@ "@types/prop-types" "*" csstype "^3.0.2" +"@types/use-sync-external-store@^0.0.3": + version "0.0.3" + resolved "https://registry.yarnpkg.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz#b6725d5f4af24ace33b36fafd295136e75509f43" + integrity sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA== + ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" @@ -177,6 +660,13 @@ ansi-regex@^6.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + ansi-styles@^4.0.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" @@ -207,6 +697,15 @@ arg@^5.0.2: resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== + dependencies: + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -238,6 +737,11 @@ busboy@1.6.0: dependencies: streamsearch "^1.1.0" +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + camelcase-css@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" @@ -248,6 +752,15 @@ caniuse-lite@^1.0.30001579: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz#31218de3463fabb44d0b7607b652e56edf2e2355" integrity sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg== +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + chokidar@^3.5.3: version "3.6.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" @@ -263,11 +776,28 @@ chokidar@^3.5.3: optionalDependencies: fsevents "~2.3.2" +classnames@^2.3.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" + integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== + client-only@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== +clsx@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" + integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== + +color-convert@^1.9.0: + 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== + dependencies: + color-name "1.1.3" + color-convert@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" @@ -275,6 +805,11 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" +color-name@1.1.3: + version "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: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" @@ -285,6 +820,22 @@ commander@^4.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== +convert-source-map@^1.5.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +cosmiconfig@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + cross-spawn@^7.0.0: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" @@ -299,11 +850,98 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -csstype@^3.0.2: +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== +"d3-array@2 - 3", "d3-array@2.10.0 - 3": + version "3.2.4" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.4.tgz#15fec33b237f97ac5d7c986dc77da273a8ed0bb5" + integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== + dependencies: + internmap "1 - 2" + +"d3-color@1 - 3", d3-color@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" + integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== + +d3-delaunay@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/d3-delaunay/-/d3-delaunay-6.0.4.tgz#98169038733a0a5babbeda55054f795bb9e4a58b" + integrity sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A== + dependencies: + delaunator "5" + +"d3-format@1 - 3": + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.1.0.tgz#9260e23a28ea5cb109e93b21a06e24e2ebd55641" + integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== + +"d3-interpolate@1.2.0 - 3", d3-interpolate@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" + integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== + dependencies: + d3-color "1 - 3" + +d3-path@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-3.1.0.tgz#22df939032fb5a71ae8b1800d61ddb7851c42526" + integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ== + +d3-scale@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-4.0.2.tgz#82b38e8e8ff7080764f8dcec77bd4be393689396" + integrity sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ== + dependencies: + d3-array "2.10.0 - 3" + d3-format "1 - 3" + d3-interpolate "1.2.0 - 3" + d3-time "2.1.1 - 3" + d3-time-format "2 - 4" + +d3-shape@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.2.0.tgz#a1a839cbd9ba45f28674c69d7f855bcf91dfc6a5" + integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA== + dependencies: + d3-path "^3.1.0" + +"d3-time-format@2 - 4": + version "4.1.0" + resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-4.1.0.tgz#7ab5257a5041d11ecb4fe70a5c7d16a195bb408a" + integrity sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg== + dependencies: + d3-time "1 - 3" + +"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-3.1.0.tgz#9310db56e992e3c0175e1ef385e545e48a9bb5c7" + integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q== + dependencies: + d3-array "2 - 3" + +date-fns@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-4.0.0.tgz#3a2c76d061c13439660b0524300df93617ce0880" + integrity sha512-6K33+I8fQ5otvHgLIvKK1xmMbLAh0pduyrx7dwMXKiGYeoWhmk6M3Zoak9n7bXHMJQlHq1yqmdGy1QxKddJjUA== + +debug@^4.3.1: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + +delaunator@5, delaunator@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/delaunator/-/delaunator-5.0.1.tgz#39032b08053923e924d6094fe2cde1a99cc51278" + integrity sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw== + dependencies: + robust-predicates "^3.0.2" + didyoumean@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" @@ -314,6 +952,14 @@ dlv@^1.1.3: resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== +dom-helpers@^5.0.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" + integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" + eastasianwidth@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" @@ -329,6 +975,23 @@ emoji-regex@^9.2.2: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + fast-glob@^3.3.0: version "3.3.2" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" @@ -354,6 +1017,11 @@ fill-range@^7.1.1: dependencies: to-regex-range "^5.0.1" +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + foreground-child@^3.1.0: version "3.3.0" resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77" @@ -398,11 +1066,21 @@ glob@^10.3.10: package-json-from-dist "^1.0.0" path-scurry "^1.11.1" +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + graceful-fs@^4.2.11: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + hasown@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" @@ -410,6 +1088,36 @@ hasown@^2.0.2: dependencies: function-bind "^1.1.2" +hoist-non-react-statics@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +immer@^10.0.3: + version "10.1.1" + resolved "https://registry.yarnpkg.com/immer/-/immer-10.1.1.tgz#206f344ea372d8ea176891545ee53ccc062db7bc" + integrity sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw== + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +"internmap@1 - 2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" + integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -465,11 +1173,21 @@ jiti@^1.21.0: resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== -"js-tokens@^3.0.0 || ^4.0.0": +"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" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + lilconfig@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" @@ -485,7 +1203,7 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -loose-envify@^1.1.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== @@ -497,6 +1215,11 @@ lru-cache@^10.2.0: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== +lucide-react@^0.441.0: + version "0.441.0" + resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.441.0.tgz#afc0d76c5ffb5bdac7adf0c9626217a5451b1af1" + integrity sha512-0vfExYtvSDhkC2lqg0zYVW1Uu9GsI4knuV9GP9by5z0Xhc4Zi5RejTxfz9LsjRmCyWVzHCJvxGKZWcRyvQCWVg== + merge2@^1.3.0: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" @@ -522,6 +1245,11 @@ minimatch@^9.0.4: resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== +ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + mz@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" @@ -564,7 +1292,7 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -object-assign@^4.0.1: +object-assign@^4.0.1, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== @@ -579,6 +1307,23 @@ package-json-from-dist@^1.0.0: resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz#e501cd3094b278495eb4258d4c9f6d5ac3019f00" integrity sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw== +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" @@ -597,6 +1342,11 @@ path-scurry@^1.11.1: lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + picocolors@^1.0.0, picocolors@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" @@ -679,6 +1429,15 @@ postcss@^8, postcss@^8.4.23: picocolors "^1.1.0" source-map-js "^1.2.1" +prop-types@^15.6.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== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -692,6 +1451,42 @@ react-dom@^18: loose-envify "^1.1.0" scheduler "^0.23.2" +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.3.1: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== + +react-redux@^9.1.2: + version "9.1.2" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-9.1.2.tgz#deba38c64c3403e9abd0c3fbeab69ffd9d8a7e4b" + integrity sha512-0OA4dhM1W48l3uzmv6B7TXPCGmokUU4p1M44DGN2/D9a1FjVPukVjER1PcPX97jIg6aUeLq1XJo1IpfbgULn0w== + dependencies: + "@types/use-sync-external-store" "^0.0.3" + use-sync-external-store "^1.0.0" + +react-tooltip@^5.28.0: + version "5.28.0" + resolved "https://registry.yarnpkg.com/react-tooltip/-/react-tooltip-5.28.0.tgz#c7b5343ab2d740a428494a3d8315515af1f26f46" + integrity sha512-R5cO3JPPXk6FRbBHMO0rI9nkUG/JKfalBSQfZedZYzmqaZQgq7GLzF8vcCWx6IhUCKg0yPqJhXIzmIO5ff15xg== + dependencies: + "@floating-ui/dom" "^1.6.1" + classnames "^2.3.0" + +react-transition-group@^4.4.5: + version "4.4.5" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" + integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + react@^18: version "18.3.1" resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" @@ -713,7 +1508,32 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -resolve@^1.1.7, resolve@^1.22.2: +redux-thunk@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-3.1.0.tgz#94aa6e04977c30e14e892eae84978c1af6058ff3" + integrity sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw== + +redux@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/redux/-/redux-5.0.1.tgz#97fa26881ce5746500125585d5642c77b6e9447b" + integrity sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w== + +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +reselect@^5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/reselect/-/reselect-5.1.1.tgz#c766b1eb5d558291e5e550298adb0becc24bb72e" + integrity sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.1.7, resolve@^1.19.0, resolve@^1.22.2: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -727,6 +1547,11 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== +robust-predicates@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/robust-predicates/-/robust-predicates-3.0.2.tgz#d5b28528c4824d20fc48df1928d41d9efa1ad771" + integrity sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg== + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -763,6 +1588,11 @@ source-map-js@^1.0.2, source-map-js@^1.2.1: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== +source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + streamsearch@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" @@ -823,6 +1653,11 @@ styled-jsx@5.1.1: dependencies: client-only "0.0.1" +stylis@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" + integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== + sucrase@^3.32.0: version "3.35.0" resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.0.tgz#57f17a3d7e19b36d8995f06679d121be914ae263" @@ -836,6 +1671,13 @@ sucrase@^3.32.0: pirates "^4.0.1" ts-interface-checker "^0.1.9" +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" @@ -883,6 +1725,11 @@ thenify-all@^1.0.0: dependencies: any-promise "^1.0.0" +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -910,6 +1757,11 @@ undici-types@~6.19.2: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== +use-sync-external-store@^1.0.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz#c3b6390f3a30eba13200d2302dcdf1e7b57b2ef9" + integrity sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw== + util-deprecate@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -940,6 +1792,11 @@ wrap-ansi@^8.1.0: string-width "^5.0.1" strip-ansi "^7.0.1" +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + yaml@^2.3.4: version "2.5.1" resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.5.1.tgz#c9772aacf62cb7494a95b0c4f1fb065b563db130"