({
+ url: `${apiUrl}/${resource}/${id}`,
+ method: "GET",
+ });
+
+ return response.data;
+ },
+
+ /*saveOne: async (params: ISaveOneDataProviderParams
): Promise => {
+ const { resource, data, id } = params;
+
+ console.log(params);
+
+ const result = await httpClient.request({
+ url: `${apiUrl}/${resource}/${id}`,
+ method: "PUT",
+ data,
+ });
+
+ return result.data;
+ },*/
+
+ createOne: async (params: ICreateOneDataProviderParams
): Promise => {
+ const { resource, data } = params;
+
+ const response = await httpClient.request({
+ url: `${apiUrl}/${resource}`,
+ method: "POST",
+ data,
+ });
+
+ return response.data;
+ },
+
+ updateOne: async (params: IUpdateOneDataProviderParams
): Promise => {
+ const { resource, data, id } = params;
+
+ const response = await httpClient.request({
+ url: `${apiUrl}/${resource}/${id}`,
+ method: "PUT",
+ data,
+ });
+
+ return response.data;
+ },
+
+ removeOne: async (params: IRemoveOneDataProviderParams) => {
+ const { resource, id } = params;
+
+ await httpClient.request({
+ url: `${apiUrl}/${resource}/${id}`,
+ method: "DELETE",
+ });
+
+ return;
+ },
+
+ uploadFile: async (params: IUploadFileDataProviderParam): Promise => {
+ const { path, file, key, onUploadProgress } = params;
+ const url = `${apiUrl}/${path}`;
+
+ const formData = new FormData();
+ formData.append(key || "file", file);
+
+ //console.log(file);
+
+ const response = await httpClient.post(url, formData, {
+ headers: {
+ "Content-Type": "multipart/form-data",
+ },
+ onUploadProgress,
+ });
+
+ return response.data;
+ },
+
+ downloadPDF: async (
+ params: IDownloadPDFDataProviderParams
+ ): Promise => {
+ const { url, config } = params;
+
+ const response = await httpClient.get(url, {
+ responseType: "arraybuffer", // Esto es necesario para recibir los datos en formato ArrayBuffer
+ ...config,
+ });
+
+ // Extraer el nombre del archivo de la cabecera Content-Disposition
+ const contentDisposition = response.headers["content-disposition"];
+ let filename = "downloaded-file.pdf"; // Valor por defecto si no se encuentra el nombre en la cabecera
+
+ if (contentDisposition) {
+ const match = contentDisposition.match(/filename="?(.+)"?/);
+ if (match && match[1]) {
+ filename = match[1];
+ }
+ }
+
+ // Crear un Blob con los datos descargados
+ const filedata = new Blob([response.data], { type: "application/pdf" });
+
+ return {
+ filename,
+ filedata,
+ };
+ },
+
+ custom: async (params: ICustomDataProviderParam): Promise => {
+ const { url, path, method, responseType, headers, signal, data, ...payload } = params;
+ let requestUrl: string;
+
+ if (path) {
+ requestUrl = `${apiUrl}/${path}`;
+ } else if (url) {
+ requestUrl = url;
+ } else {
+ throw new Error('"url" or "path" param is missing');
+ }
+
+ //console.log(apiUrl, path, url, requestUrl.toString());
+
+ // Preparar la respuesta personalizada
+ let customResponse;
+
+ // Configurar opciones comunes para la petición
+ const config = {
+ url: requestUrl.toString(),
+ method,
+ responseType,
+ signal,
+ ...payload,
+ ...defaultAxiosRequestConfig,
+ };
+
+ switch (method) {
+ case "put":
+ case "post":
+ case "patch":
+ customResponse = await httpClient.request({
+ ...config,
+ data,
+ });
+ break;
+ case "delete":
+ customResponse = await httpClient.delete(requestUrl.toString(), {
+ responseType,
+ headers,
+ ...payload,
+ });
+ break;
+ default:
+ customResponse = await httpClient.get(requestUrl.toString(), {
+ responseType,
+ signal,
+ headers,
+ ...payload,
+ });
+ break;
+ }
+
+ return customResponse.data;
+ },
+
+ /*getMany: async ({ resource }) => {
+ const { body } = await httpClient.request({
+ url: `${apiUrl}/${resource}`,
+ method: "GET",
+ //...defaultRequestConfig,
+ });
+
+ return body;
+ },*/
+
+ /*create: async ({ resource, values }) => {
+ const url = `${apiUrl}/${resource}`;
+
+ const { body } = await httpClient.post(url, values, defaultRequestConfig);
+
+ return body;
+ },*/
+
+ /*createMany: async ({ resource, values }) => {
+ const response = await Promise.all(
+ values.map(async (param) => {
+ const { body } = await httpClient.post(
+ `${apiUrl}/${resource}`,
+ param
+ //defaultRequestConfig,
+ );
+ return body;
+ })
+ );
+
+ return response;
+ },*/
+
+ /*update: async ({ resource, id, values }) => {
+ const url = `${apiUrl}/${resource}/${id}`;
+ const { body } = await httpClient.patch(url, values, defaultRequestConfig);
+ return body;
+ },*/
+
+ /*updateMany: async ({ resource, ids, values }) => {
+ const response = await Promise.all(
+ ids.map(async (id) => {
+ const { body } = await httpClient.patch(
+ `${apiUrl}/${resource}/${id}`,
+ values
+ //defaultRequestConfig,
+ );
+ return body;
+ })
+ );
+
+ return response;
+ },*/
+
+ // removeMany: async ({ resource, ids }) => {
+ // const url = `${apiUrl}/${resource}/bulk-delete`;
+
+ // const { body } = await httpClient.request({
+ // url,
+ // method: "PATCH",
+ // data: {
+ // ids,
+ // },
+ // //defaultRequestConfig,
+ // });
+
+ // return body;
+ // },
+
+ // upload: async ({ resource, file, onUploadProgress }) => {
+ // const url = `${apiUrl}/${resource}`;
+ // const options = {
+ // //...defaultRequestConfig,
+ // onUploadProgress,
+ // headers: {
+ // //...defaultRequestConfig.headers,
+ // "Content-Type": "multipart/form-data",
+ // },
+ // };
+
+ // const formData = new FormData();
+ // formData.append("file", file);
+
+ // const { body } = await httpClient.post(url, formData, options);
+ // return body;
+ // },
+
+ /*uploadMany: async ({ resource, values }) => {
+ const url = `${apiUrl}/${resource}`;
+ const options = {
+ //...defaultRequestConfig,
+ headers: {
+ ...defaultRequestConfig.headers,
+ 'Content-Type': 'multipart/form-data'
+ }
+ };
+
+ const response = await Promise.all(
+ values.map(async (value) => {
+ const { body } = await httpClient.post(
+ url,
+ value,
+ options
+ );
+ return body;
+ }),
+ );
+
+ return response;
+ },*/
+
+ /*custom: async ({ url, method, filters, sort, payload, query, headers }) => {
+ let requestUrl = `${url}?`;
+
+ if (sort) {
+ const generatedSort = extractSortParams(sort);
+ if (generatedSort) {
+ const { _sort, _order } = generatedSort;
+ const sortQuery = {
+ _sort: _sort.join(","),
+ _order: _order.join(","),
+ };
+ requestUrl = `${requestUrl}&${queryString.stringify(sortQuery)}`;
+ }
+ }
+
+ if (filters) {
+ const filterQuery = extractFilterParams(filters);
+ requestUrl = `${requestUrl}&${queryString.stringify(filterQuery)}`;
+ }
+
+ if (query) {
+ requestUrl = `${requestUrl}&${queryString.stringify(query)}`;
+ }
+
+ if (headers) {
+ httpClient.defaults.headers = {
+ ...httpClient.defaults.headers,
+ ...headers,
+ };
+ }
+
+ let axiosResponse;
+ switch (method) {
+ case "put":
+ case "post":
+ case "patch":
+ axiosResponse = await httpClient[method](url, payload);
+ break;
+ case "remove":
+ axiosResponse = await httpClient.delete(url);
+ break;
+ default:
+ axiosResponse = await httpClient.get(requestUrl);
+ break;
+ }
+
+ const { data } = axiosResponse;
+
+ return Promise.resolve({ data });
+ },*/
+});
+
+const extractSortParams = (sort: ISortItemDataProviderParam[] = []) =>
+ sort.map(({ field, order }) => `${order === "DESC" ? "-" : "+"}${field}`);
+
+const extractFilterParams = (filters: IFilterItemDataProviderParam[] = []) =>
+ filters
+ .filter(({ field }) => field !== "q")
+ .map(({ field, operator, value }) => `${field}[${operator}]${value}`);
+
+const generateQuickSearch = (
+ quickSearchTerm: string[] = [],
+ filters: IFilterItemDataProviderParam[] = []
+) =>
+ filters.find(({ field }) => field === "q")?.value
+ ? [filters.find(({ field }) => field === "q")!.value]
+ : quickSearchTerm;
+
+const extractPaginationParams = (pagination?: IPaginationDataProviderParam) => {
+ const { pageIndex = INITIAL_PAGE_INDEX, pageSize = INITIAL_PAGE_SIZE } = pagination || {};
+
+ return {
+ page: pageIndex,
+ limit: pageSize,
+ };
+};
diff --git a/apps/web/src/lib/axios/setupInterceptors.ts b/apps/web/src/lib/axios/setupInterceptors.ts
new file mode 100644
index 00000000..f893cb8c
--- /dev/null
+++ b/apps/web/src/lib/axios/setupInterceptors.ts
@@ -0,0 +1,139 @@
+import {
+ AxiosError,
+ type AxiosInstance,
+ type AxiosResponse,
+ type InternalAxiosRequestConfig,
+} from "axios";
+import { getApiAuthorization } from "../api";
+
+const onRequest = (request: InternalAxiosRequestConfig): InternalAxiosRequestConfig => {
+ request.headers.Authorization = getApiAuthorization();
+ return request;
+};
+
+const onRequestError = (error: AxiosError): Promise => {
+ /*console.group("[request error]");
+ console.dir(error);
+ console.groupEnd();*/
+
+ return Promise.reject(error);
+};
+
+const onResponse = (response: AxiosResponse): AxiosResponse => {
+ /*console.group("[response]");
+ console.dir(response);
+ console.groupEnd();*/
+
+ const config = response?.config;
+ if (config.raw) {
+ return response;
+ }
+
+ /*if (response.status === 200) {
+ const data = response?.data;
+ if (!data) {
+ throw new HttpError("API Error. No data!");
+ }
+ return data;
+ }*/
+ //throw new HttpError("API Error! Invalid status code!");
+
+ return response;
+};
+
+const onResponseError = (error: AxiosError): Promise => {
+ console.debug("[response error]");
+
+ if (error.response) {
+ // La respuesta fue hecha y el servidor respondió con un código de estado
+ // que esta fuera del rango de 2xx
+ console.debug("1 => El servidor respondió con un código de estado > 200");
+
+ const data = error.response.data;
+ const status = error.response.status;
+
+ console.debug(data);
+ console.debug(status);
+
+ /*
+
+ {
+ detail: "Quote data not valid",
+ instance: "/api/v1/quotes",
+ status: 422,
+ title: "Unprocessable Entity",
+ type: "about:blank",
+ context: {
+ params: {
+ },
+ query: {
+ },
+ body: {
+ date: "2024-08-13",
+ customer_information: "",
+ reference: "",
+ status: "draft",
+ id: "9c1c6073-127a-4bde-a73c-6229efb51ad0",
+ },
+ },
+ extra: {
+ errors: [
+ {
+ reference: "{reference} is not allowed to be empty",
+ },
+ {
+ customer_information: "{customer_information} is not allowed to be empty",
+ },
+ ],
+ },
+ }
+
+ */
+
+ switch (status) {
+ case 400:
+ console.error("Bad Request");
+ break;
+ case 401:
+ console.error("UnAuthorized");
+ //window.location.href = "/logout";
+ break;
+ case 403:
+ console.error("Forbidden");
+ break;
+ /*AppEvents.publish(Events.N_Error, {
+ message: "Forbidden",
+ description: "Operation ",
+ });*/
+ case 404:
+ console.error("Not found");
+ break;
+
+ case 422:
+ console.error("Unprocessable Content");
+ break;
+ }
+ return Promise.reject(data);
+ } else if (error.request) {
+ // La petición fue hecha pero no se recibió respuesta
+ console.debug("2 => El servidor no respondió");
+ console.error(error);
+ } else {
+ if (error.code === "ERR_CANCELED") {
+ // La petición fue hecha pero se ha cancelado
+ console.debug("3 => Petición cancelada");
+ } else {
+ // Algo paso al preparar la petición que lanzo un Error
+ console.debug("4 => Error desconocido");
+ console.error(error);
+ }
+ }
+ console.groupEnd();
+ return Promise.reject(error);
+};
+
+export function setupInterceptorsTo(axiosInstance: AxiosInstance): AxiosInstance {
+ axiosInstance.interceptors.request.use(onRequest, onRequestError);
+ axiosInstance.interceptors.response.use(onResponse, onResponseError);
+ return axiosInstance;
+}
diff --git a/apps/web/src/lib/hooks/index.ts b/apps/web/src/lib/hooks/index.ts
new file mode 100644
index 00000000..0f2be407
--- /dev/null
+++ b/apps/web/src/lib/hooks/index.ts
@@ -0,0 +1,2 @@
+export * from "./useDataSource";
+export * from "./useTheme";
diff --git a/apps/web/src/lib/hooks/useDataSource/DataSource.ts b/apps/web/src/lib/hooks/useDataSource/DataSource.ts
new file mode 100644
index 00000000..20a7265f
--- /dev/null
+++ b/apps/web/src/lib/hooks/useDataSource/DataSource.ts
@@ -0,0 +1,114 @@
+import { IListResponse_DTO } from "@shared/contexts";
+import { type AxiosHeaderValue, type ResponseType } from "axios";
+
+export interface IPaginationDataProviderParam {
+ pageIndex: number;
+ pageSize: number;
+}
+
+export interface ISortItemDataProviderParam {
+ order: string;
+ field: string;
+}
+
+export interface IFilterItemDataProviderParam {
+ field: string;
+ operator?: string;
+ value?: string;
+}
+
+export interface IGetListDataProviderParams {
+ resource: string;
+ quickSearchTerm?: string[];
+ pagination?: IPaginationDataProviderParam;
+ sort?: ISortItemDataProviderParam[];
+ filters?: IFilterItemDataProviderParam[];
+}
+
+export interface IGetOneDataProviderParams {
+ resource: string;
+ id: string;
+}
+
+export interface ISaveOneDataProviderParams {
+ resource: string;
+ data: T;
+ id: string;
+}
+
+export interface ICreateOneDataProviderParams {
+ resource: string;
+ data: T;
+}
+
+export interface IUpdateOneDataProviderParams {
+ resource: string;
+ data: T;
+ id: string;
+}
+
+export interface IRemoveOneDataProviderParams {
+ resource: string;
+ id: string;
+}
+
+export interface IDownloadPDFDataProviderParams {
+ url: string;
+ config?: {
+ [key: string]: unknown;
+ };
+}
+
+export interface IDownloadPDFDataProviderResponse {
+ filename: string;
+ filedata: Blob;
+}
+
+export interface IUploadFileDataProviderParam {
+ path: string;
+ //resource: string;
+ //id: string;
+ file: File;
+ key: string;
+ onUploadProgress?: any;
+}
+
+export interface ICustomDataProviderParam {
+ url?: string;
+ path?: string;
+ method: "get" | "delete" | "head" | "options" | "post" | "put" | "patch";
+ signal?: AbortSignal;
+ responseType?: ResponseType;
+ headers?: {
+ [key: string]: AxiosHeaderValue;
+ };
+ [key: string]: unknown;
+}
+
+export interface IDataSource {
+ name: () => string;
+ getList: (params: IGetListDataProviderParams) => Promise>;
+ getOne: (params: IGetOneDataProviderParams) => Promise;
+ //saveOne: (params: ISaveOneDataProviderParams
) => Promise;
+ createOne: (params: ICreateOneDataProviderParams
) => Promise;
+ updateOne: (params: IUpdateOneDataProviderParams
) => Promise;
+ removeOne: (params: IRemoveOneDataProviderParams) => Promise;
+ downloadPDF: (
+ params: IDownloadPDFDataProviderParams
+ ) => Promise;
+ uploadFile: (params: IUploadFileDataProviderParam) => Promise;
+ custom: (params: ICustomDataProviderParam) => Promise;
+
+ getApiUrl: () => string;
+ getApiAuthorization: () => string;
+
+ //create: () => any;
+ //createMany: () => any;
+ //removeMany: () => any;
+ //getMany: () => any;
+ //update: () => any;
+ //updateMany: () => any;
+ //upload: () => any;
+ //custom: () => any;
+ //getApiUrl: () => string;
+}
diff --git a/apps/web/src/lib/hooks/useDataSource/DataSourceContext.tsx b/apps/web/src/lib/hooks/useDataSource/DataSourceContext.tsx
new file mode 100644
index 00000000..2f1945b2
--- /dev/null
+++ b/apps/web/src/lib/hooks/useDataSource/DataSourceContext.tsx
@@ -0,0 +1,11 @@
+import { type PropsWithChildren, createContext } from "react";
+import { type IDataSource } from "./DataSource";
+
+export const DataSourceContext = createContext(undefined);
+
+export const DataSourceProvider = ({
+ dataSource,
+ children,
+}: PropsWithChildren<{
+ dataSource: IDataSource;
+}>) => {children};
diff --git a/apps/web/src/lib/hooks/useDataSource/index.ts b/apps/web/src/lib/hooks/useDataSource/index.ts
new file mode 100644
index 00000000..7f181e4f
--- /dev/null
+++ b/apps/web/src/lib/hooks/useDataSource/index.ts
@@ -0,0 +1 @@
+export * from "./DataSourceContext";
diff --git a/apps/web/src/lib/hooks/useTheme/index.ts b/apps/web/src/lib/hooks/useTheme/index.ts
new file mode 100644
index 00000000..0fe58730
--- /dev/null
+++ b/apps/web/src/lib/hooks/useTheme/index.ts
@@ -0,0 +1 @@
+export * from "./useTheme";
diff --git a/apps/web/src/lib/hooks/useTheme/useTheme.tsx b/apps/web/src/lib/hooks/useTheme/useTheme.tsx
new file mode 100644
index 00000000..c58b6471
--- /dev/null
+++ b/apps/web/src/lib/hooks/useTheme/useTheme.tsx
@@ -0,0 +1,71 @@
+import { createContext, useContext, useEffect, useState } from "react";
+import secureLocalStorage from "react-secure-storage";
+
+type Theme = "dark" | "light" | "system";
+
+type ThemeProviderProps = {
+ children: React.ReactNode;
+ defaultTheme?: Theme;
+ storageKey?: string;
+};
+
+type ThemeProviderState = {
+ theme: Theme;
+ setTheme: (theme: Theme) => void;
+};
+
+const initialState: ThemeProviderState = {
+ theme: "system",
+ setTheme: () => null,
+};
+
+const ThemeProviderContext = createContext(initialState);
+
+export function ThemeProvider({
+ children,
+ defaultTheme = "system",
+ storageKey = "vite-ui-theme",
+ ...props
+}: ThemeProviderProps) {
+ const [theme, setTheme] = useState(
+ () => (secureLocalStorage.getItem(storageKey) as Theme) || defaultTheme
+ );
+
+ useEffect(() => {
+ const root = window.document.documentElement;
+ root.classList.remove("light", "dark");
+
+ if (theme === "system") {
+ const systemTheme = window.matchMedia("(prefers-color-scheme: dark)").matches
+ ? "dark"
+ : "light";
+
+ root.classList.add(systemTheme);
+ return;
+ }
+
+ root.classList.add(theme);
+ }, [theme]);
+
+ const value = {
+ theme,
+ setTheme: (theme: Theme) => {
+ secureLocalStorage.setItem(storageKey, theme);
+ setTheme(theme);
+ },
+ };
+
+ return (
+
+ {children}
+
+ );
+}
+
+export const useTheme = () => {
+ const context = useContext(ThemeProviderContext);
+
+ if (context === undefined) throw new Error("useTheme must be used within a ThemeProvider");
+
+ return context;
+};
diff --git a/apps/web/src/locales/en.json b/apps/web/src/locales/en.json
new file mode 100644
index 00000000..d67e188d
--- /dev/null
+++ b/apps/web/src/locales/en.json
@@ -0,0 +1,3 @@
+{
+ "translation": {}
+}
diff --git a/apps/web/src/locales/es.json b/apps/web/src/locales/es.json
new file mode 100644
index 00000000..d67e188d
--- /dev/null
+++ b/apps/web/src/locales/es.json
@@ -0,0 +1,3 @@
+{
+ "translation": {}
+}
diff --git a/apps/web/src/locales/i18n.ts b/apps/web/src/locales/i18n.ts
new file mode 100644
index 00000000..6ffb38f9
--- /dev/null
+++ b/apps/web/src/locales/i18n.ts
@@ -0,0 +1,30 @@
+import i18n from "i18next";
+import LanguageDetector from "i18next-browser-languagedetector";
+import { initReactI18next } from "react-i18next";
+import enResources from "./en.json";
+import esResources from "./es.json";
+
+i18n
+ // detect user language
+ // learn more: https://github.com/i18next/i18next-browser-languageDetector
+ .use(LanguageDetector)
+ // pass the i18n instance to react-i18next.
+ .use(initReactI18next)
+ // init i18next
+ // for all options read: https://www.i18next.com/overview/configuration-options
+ .init({
+ detection: {
+ order: ["navigator"],
+ },
+ debug: import.meta.env.MODE === "development",
+ fallbackLng: "es",
+ interpolation: {
+ escapeValue: false,
+ },
+ resources: {
+ en: enResources,
+ es: esResources,
+ },
+ });
+
+export { i18n };
diff --git a/apps/web/src/locales/index.ts b/apps/web/src/locales/index.ts
new file mode 100644
index 00000000..0c4205e0
--- /dev/null
+++ b/apps/web/src/locales/index.ts
@@ -0,0 +1 @@
+export * from "./i18n";
diff --git a/apps/web/tailwind.config.js b/apps/web/tailwind.config.js
index dfc34a97..f7b4ade5 100644
--- a/apps/web/tailwind.config.js
+++ b/apps/web/tailwind.config.js
@@ -84,7 +84,7 @@ export default {
},
plugins: [
require("tailwindcss-animate"),
- plugin(function ({ addBase }) {
+ plugin(({ addBase }) => {
addBase({
html: { fontSize: "16px" }, // 16px es el valor por defecto
});
diff --git a/apps/web/tsconfig.app.json b/apps/web/tsconfig.app.json
index 358ca9ba..c9ccbd4c 100644
--- a/apps/web/tsconfig.app.json
+++ b/apps/web/tsconfig.app.json
@@ -10,7 +10,7 @@
/* Bundler mode */
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
- "isolatedModules": true,
+ "verbatimModuleSyntax": true,
"moduleDetection": "force",
"noEmit": true,
"jsx": "react-jsx",
@@ -19,6 +19,7 @@
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
+ "erasableSyntaxOnly": true,
"noFallthroughCasesInSwitch": true,
"noUncheckedSideEffectImports": true
},
diff --git a/apps/web/tsconfig.node.json b/apps/web/tsconfig.node.json
index db0becc8..9728af2d 100644
--- a/apps/web/tsconfig.node.json
+++ b/apps/web/tsconfig.node.json
@@ -9,7 +9,7 @@
/* Bundler mode */
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
- "isolatedModules": true,
+ "verbatimModuleSyntax": true,
"moduleDetection": "force",
"noEmit": true,
@@ -17,6 +17,7 @@
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
+ "erasableSyntaxOnly": true,
"noFallthroughCasesInSwitch": true,
"noUncheckedSideEffectImports": true
},
diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts
index 081c8d9f..f16e2be3 100644
--- a/apps/web/vite.config.ts
+++ b/apps/web/vite.config.ts
@@ -1,6 +1,7 @@
-import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
+import { defineConfig } from "vite";
+// https://vite.dev/config/
export default defineConfig({
plugins: [react()],
});
diff --git a/packages.bak/client/.eslintrc.js b/packages.bak/client/.eslintrc.js
deleted file mode 100644
index 1dcff780..00000000
--- a/packages.bak/client/.eslintrc.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = {
- extends: ["@repo/eslint-config"],
-};
diff --git a/packages.bak/client/.gitignore b/packages.bak/client/.gitignore
deleted file mode 100644
index a547bf36..00000000
--- a/packages.bak/client/.gitignore
+++ /dev/null
@@ -1,24 +0,0 @@
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-pnpm-debug.log*
-lerna-debug.log*
-
-node_modules
-dist
-dist-ssr
-*.local
-
-# Editor directories and files
-.vscode/*
-!.vscode/extensions.json
-.idea
-.DS_Store
-*.suo
-*.ntvs*
-*.njsproj
-*.sln
-*.sw?
diff --git a/packages.bak/client/README.md b/packages.bak/client/README.md
deleted file mode 100644
index 74872fd4..00000000
--- a/packages.bak/client/README.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# React + TypeScript + Vite
-
-This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
-
-Currently, two official plugins are available:
-
-- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
-- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
-
-## Expanding the ESLint configuration
-
-If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
-
-- Configure the top-level `parserOptions` property like this:
-
-```js
-export default tseslint.config({
- languageOptions: {
- // other options...
- parserOptions: {
- project: ['./tsconfig.node.json', './tsconfig.app.json'],
- tsconfigRootDir: import.meta.dirname,
- },
- },
-})
-```
-
-- Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked`
-- Optionally add `...tseslint.configs.stylisticTypeChecked`
-- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config:
-
-```js
-// eslint.config.js
-import react from 'eslint-plugin-react'
-
-export default tseslint.config({
- // Set the react version
- settings: { react: { version: '18.3' } },
- plugins: {
- // Add the react plugin
- react,
- },
- rules: {
- // other rules...
- // Enable its recommended rules
- ...react.configs.recommended.rules,
- ...react.configs['jsx-runtime'].rules,
- },
-})
-```
diff --git a/packages.bak/client/index.html b/packages.bak/client/index.html
deleted file mode 100644
index e4b78eae..00000000
--- a/packages.bak/client/index.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
- Vite + React + TS
-
-
-
-
-
-
diff --git a/packages.bak/client/package.json b/packages.bak/client/package.json
deleted file mode 100644
index 2db77d7b..00000000
--- a/packages.bak/client/package.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "name": "client",
- "private": true,
- "version": "1.0.0",
- "type": "module",
- "scripts": {
- "dev": "vite",
- "build": "tsc -b && vite build",
- "lint": "eslint .",
- "preview": "vite preview"
- },
- "dependencies": {
- "react": "^18.3.1",
- "react-dom": "^18.3.1"
- },
- "devDependencies": {
- "@repo/eslint-config": "workspace:*",
- "@repo/typescript-config": "workspace:*",
- "@eslint/js": "^9.17.0",
- "@types/react": "^18.3.18",
- "@types/react-dom": "^18.3.5",
- "@vitejs/plugin-react": "^4.3.4",
- "eslint": "^9.17.0",
- "eslint-plugin-react-hooks": "^5.0.0",
- "eslint-plugin-react-refresh": "^0.4.16",
- "globals": "^15.14.0",
- "typescript": "^5.8.3",
- "typescript-eslint": "^8.18.2",
- "vite": "^6.0.5"
- }
-}
diff --git a/packages.bak/client/public/vite.svg b/packages.bak/client/public/vite.svg
deleted file mode 100644
index e7b8dfb1..00000000
--- a/packages.bak/client/public/vite.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/packages.bak/client/src/App.css b/packages.bak/client/src/App.css
deleted file mode 100644
index b9d355df..00000000
--- a/packages.bak/client/src/App.css
+++ /dev/null
@@ -1,42 +0,0 @@
-#root {
- max-width: 1280px;
- margin: 0 auto;
- padding: 2rem;
- text-align: center;
-}
-
-.logo {
- height: 6em;
- padding: 1.5em;
- will-change: filter;
- transition: filter 300ms;
-}
-.logo:hover {
- filter: drop-shadow(0 0 2em #646cffaa);
-}
-.logo.react:hover {
- filter: drop-shadow(0 0 2em #61dafbaa);
-}
-
-@keyframes logo-spin {
- from {
- transform: rotate(0deg);
- }
- to {
- transform: rotate(360deg);
- }
-}
-
-@media (prefers-reduced-motion: no-preference) {
- a:nth-of-type(2) .logo {
- animation: logo-spin infinite 20s linear;
- }
-}
-
-.card {
- padding: 2em;
-}
-
-.read-the-docs {
- color: #888;
-}
diff --git a/packages.bak/client/src/App.tsx b/packages.bak/client/src/App.tsx
deleted file mode 100644
index 3d7ded3f..00000000
--- a/packages.bak/client/src/App.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-import { useState } from 'react'
-import reactLogo from './assets/react.svg'
-import viteLogo from '/vite.svg'
-import './App.css'
-
-function App() {
- const [count, setCount] = useState(0)
-
- return (
- <>
-
- Vite + React
-
-
-
- Edit src/App.tsx and save to test HMR
-
-
-
- Click on the Vite and React logos to learn more
-
- >
- )
-}
-
-export default App
diff --git a/packages.bak/client/src/assets/react.svg b/packages.bak/client/src/assets/react.svg
deleted file mode 100644
index 6c87de9b..00000000
--- a/packages.bak/client/src/assets/react.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/packages.bak/client/src/index.css b/packages.bak/client/src/index.css
deleted file mode 100644
index 6119ad9a..00000000
--- a/packages.bak/client/src/index.css
+++ /dev/null
@@ -1,68 +0,0 @@
-:root {
- font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
- line-height: 1.5;
- font-weight: 400;
-
- color-scheme: light dark;
- color: rgba(255, 255, 255, 0.87);
- background-color: #242424;
-
- font-synthesis: none;
- text-rendering: optimizeLegibility;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-
-a {
- font-weight: 500;
- color: #646cff;
- text-decoration: inherit;
-}
-a:hover {
- color: #535bf2;
-}
-
-body {
- margin: 0;
- display: flex;
- place-items: center;
- min-width: 320px;
- min-height: 100vh;
-}
-
-h1 {
- font-size: 3.2em;
- line-height: 1.1;
-}
-
-button {
- border-radius: 8px;
- border: 1px solid transparent;
- padding: 0.6em 1.2em;
- font-size: 1em;
- font-weight: 500;
- font-family: inherit;
- background-color: #1a1a1a;
- cursor: pointer;
- transition: border-color 0.25s;
-}
-button:hover {
- border-color: #646cff;
-}
-button:focus,
-button:focus-visible {
- outline: 4px auto -webkit-focus-ring-color;
-}
-
-@media (prefers-color-scheme: light) {
- :root {
- color: #213547;
- background-color: #ffffff;
- }
- a:hover {
- color: #747bff;
- }
- button {
- background-color: #f9f9f9;
- }
-}
diff --git a/packages.bak/client/src/main.tsx b/packages.bak/client/src/main.tsx
deleted file mode 100644
index bef5202a..00000000
--- a/packages.bak/client/src/main.tsx
+++ /dev/null
@@ -1,10 +0,0 @@
-import { StrictMode } from 'react'
-import { createRoot } from 'react-dom/client'
-import './index.css'
-import App from './App.tsx'
-
-createRoot(document.getElementById('root')!).render(
-
-
- ,
-)
diff --git a/packages.bak/client/tsconfig.app.json b/packages.bak/client/tsconfig.app.json
deleted file mode 100644
index bea2ae9f..00000000
--- a/packages.bak/client/tsconfig.app.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "compilerOptions": {
- "target": "ES2020",
- "useDefineForClassFields": true,
- "lib": ["ES2020", "DOM", "DOM.Iterable"],
- "module": "ESNext",
- "skipLibCheck": true,
-
- /* Bundler mode */
- "moduleResolution": "bundler",
- "allowImportingTsExtensions": true,
- "isolatedModules": true,
- "moduleDetection": "force",
- "noEmit": true,
- "jsx": "react-jsx",
-
- /* Linting */
- "strict": true,
- "noUnusedLocals": true,
- "noUnusedParameters": true,
- "noFallthroughCasesInSwitch": true,
- "noUncheckedSideEffectImports": true
- },
- "include": ["src"],
- "extends": "@repo/typescript-config/react-library"
-}
diff --git a/packages.bak/client/tsconfig.app.tsbuildinfo b/packages.bak/client/tsconfig.app.tsbuildinfo
deleted file mode 100644
index d92192f8..00000000
--- a/packages.bak/client/tsconfig.app.tsbuildinfo
+++ /dev/null
@@ -1 +0,0 @@
-{"root":["./src/App.tsx","./src/main.tsx"],"errors":true,"version":"5.8.3"}
\ No newline at end of file
diff --git a/packages.bak/client/tsconfig.json b/packages.bak/client/tsconfig.json
deleted file mode 100644
index d32ff682..00000000
--- a/packages.bak/client/tsconfig.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "files": [],
- "references": [{ "path": "./tsconfig.app.json" }, { "path": "./tsconfig.node.json" }]
-}
diff --git a/packages.bak/client/tsconfig.node.json b/packages.bak/client/tsconfig.node.json
deleted file mode 100644
index c64dcfa5..00000000
--- a/packages.bak/client/tsconfig.node.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "compilerOptions": {
- "target": "ES2022",
- "lib": ["ES2023"],
- "module": "ESNext",
- "skipLibCheck": true,
-
- /* Bundler mode */
- "moduleResolution": "bundler",
- "allowImportingTsExtensions": true,
- "isolatedModules": true,
- "moduleDetection": "force",
- "noEmit": true,
-
- /* Linting */
- "strict": true,
- "noUnusedLocals": true,
- "noUnusedParameters": true,
- "noFallthroughCasesInSwitch": true,
- "noUncheckedSideEffectImports": true
- },
- "include": ["vite.config.ts"],
- "extends": "@repo/typescript-config/node"
-}
diff --git a/packages.bak/client/tsconfig.node.tsbuildinfo b/packages.bak/client/tsconfig.node.tsbuildinfo
deleted file mode 100644
index f17a3a99..00000000
--- a/packages.bak/client/tsconfig.node.tsbuildinfo
+++ /dev/null
@@ -1 +0,0 @@
-{"root":["./vite.config.ts"],"errors":true,"version":"5.8.3"}
\ No newline at end of file
diff --git a/packages.bak/client/vite.config.ts b/packages.bak/client/vite.config.ts
deleted file mode 100644
index 8b0f57b9..00000000
--- a/packages.bak/client/vite.config.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import { defineConfig } from 'vite'
-import react from '@vitejs/plugin-react'
-
-// https://vite.dev/config/
-export default defineConfig({
- plugins: [react()],
-})
diff --git a/packages/ui/package.json b/packages/ui/package.json
index a8be9e98..6aeddf6a 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -4,11 +4,12 @@
"type": "module",
"private": true,
"scripts": {
- "lint": "eslint . --max-warnings 0",
- "ui": "pnpm dlx shadcn@latest add"
+ "lint": "biome lint --fix",
+ "ui:add": "pnpm dlx shadcn@latest add"
},
"dependencies": {
"@radix-ui/react-slot": "^1.2.0",
+ "@radix-ui/react-tooltip": "^1.2.4",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"lucide-react": "^0.503.0",
@@ -20,7 +21,7 @@
"zod": "^3.24.3"
},
"devDependencies": {
- "@repo/eslint-config": "workspace:*",
+ "@biomejs/biome": "1.9.4",
"@repo/typescript-config": "workspace:*",
"@tailwindcss/postcss": "^4.1.5",
"@turbo/gen": "^2.5.2",
diff --git a/packages/ui/src/components/tooltip.tsx b/packages/ui/src/components/tooltip.tsx
new file mode 100644
index 00000000..4cf04193
--- /dev/null
+++ b/packages/ui/src/components/tooltip.tsx
@@ -0,0 +1,61 @@
+"use client"
+
+import * as React from "react"
+import * as TooltipPrimitive from "@radix-ui/react-tooltip"
+
+import { cn } from "@repo/ui/lib/utils"
+
+function TooltipProvider({
+ delayDuration = 0,
+ ...props
+}: React.ComponentProps) {
+ return (
+
+ )
+}
+
+function Tooltip({
+ ...props
+}: React.ComponentProps) {
+ return (
+
+
+
+ )
+}
+
+function TooltipTrigger({
+ ...props
+}: React.ComponentProps) {
+ return
+}
+
+function TooltipContent({
+ className,
+ sideOffset = 0,
+ children,
+ ...props
+}: React.ComponentProps) {
+ return (
+
+
+ {children}
+
+
+
+ )
+}
+
+export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index e430e96e..f40c732f 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -168,24 +168,12 @@ importers:
'@types/response-time':
specifier: ^2.3.8
version: 2.3.8
- '@typescript-eslint/eslint-plugin':
- specifier: ^8.22.0
- version: 8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)
- '@typescript-eslint/parser':
- specifier: ^8.22.0
- version: 8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)
jest:
specifier: ^29.7.0
- version: 29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
- nodemon:
- specifier: ^3.1.9
- version: 3.1.10
+ version: 29.7.0(@types/node@22.15.3)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
ts-jest:
specifier: ^29.2.5
- version: 29.3.2(@babel/core@7.26.10)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.10))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3)))(typescript@5.8.3)
- ts-node-dev:
- specifier: ^2.0.0
- version: 2.0.0(@types/node@22.15.3)(typescript@5.8.3)
+ version: 29.3.2(@babel/core@7.26.10)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.10))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.15.3)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3)))(typescript@5.8.3)
tsconfig-paths:
specifier: ^4.2.0
version: 4.2.0
@@ -204,19 +192,49 @@ importers:
'@repo/ui':
specifier: workspace:*
version: link:../../packages/ui
+ '@tanstack/react-query':
+ specifier: ^5.74.11
+ version: 5.75.2(react@19.1.0)
+ axios:
+ specifier: ^1.9.0
+ version: 1.9.0
+ i18next:
+ specifier: ^25.0.2
+ version: 25.0.2(typescript@5.8.3)
+ i18next-browser-languagedetector:
+ specifier: ^8.1.0
+ version: 8.1.0
react:
specifier: ^19.1.0
version: 19.1.0
react-dom:
specifier: ^19.1.0
version: 19.1.0(react@19.1.0)
+ react-hook-form:
+ specifier: ^7.55.0
+ version: 7.56.2(react@19.1.0)
+ react-hook-form-persist:
+ specifier: ^3.0.0
+ version: 3.0.0(react-hook-form@7.56.2(react@19.1.0))(react@19.1.0)
+ react-i18next:
+ specifier: ^15.0.1
+ version: 15.5.1(i18next@25.0.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)
+ react-secure-storage:
+ specifier: ^1.3.2
+ version: 1.3.2
devDependencies:
- '@repo/eslint-config':
- specifier: workspace:*
- version: link:../../packages/eslint-config
+ '@biomejs/biome':
+ specifier: 1.9.4
+ version: 1.9.4
+ '@hookform/devtools':
+ specifier: ^4.4.0
+ version: 4.4.0(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
'@repo/typescript-config':
specifier: workspace:*
version: link:../../packages/typescript-config
+ '@tanstack/react-query-devtools':
+ specifier: ^5.74.11
+ version: 5.75.2(@tanstack/react-query@5.75.2(react@19.1.0))(react@19.1.0)
'@types/react':
specifier: ^19.1.2
version: 19.1.2
@@ -230,11 +248,8 @@ importers:
specifier: ^16.0.0
version: 16.0.0
typescript:
- specifier: ^5.8.3
+ specifier: ~5.8.3
version: 5.8.3
- typescript-eslint:
- specifier: ^8.31.1
- version: 8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)
vite:
specifier: ^6.3.4
version: 6.3.4(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)
@@ -282,6 +297,9 @@ importers:
'@radix-ui/react-slot':
specifier: ^1.2.0
version: 1.2.0(@types/react@19.1.2)(react@19.1.0)
+ '@radix-ui/react-tooltip':
+ specifier: ^1.2.4
+ version: 1.2.4(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
class-variance-authority:
specifier: ^0.7.1
version: 0.7.1
@@ -310,9 +328,9 @@ importers:
specifier: ^3.24.3
version: 3.24.3
devDependencies:
- '@repo/eslint-config':
- specifier: workspace:*
- version: link:../eslint-config
+ '@biomejs/biome':
+ specifier: 1.9.4
+ version: 1.9.4
'@repo/typescript-config':
specifier: workspace:*
version: link:../typescript-config
@@ -514,6 +532,10 @@ packages:
resolution: {integrity: sha512-909rVuj3phpjW6y0MCXAZ5iNeORePa6ldJvp2baWGcTjwqbBDDz6xoS5JHJ7lS88NlwLYj07ImL/8IUMtDZzTA==}
engines: {node: '>=6.9.0'}
+ '@babel/runtime@7.27.1':
+ resolution: {integrity: sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==}
+ engines: {node: '>=6.9.0'}
+
'@babel/template@7.27.0':
resolution: {integrity: sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==}
engines: {node: '>=6.9.0'}
@@ -593,6 +615,60 @@ packages:
'@dabh/diagnostics@2.0.3':
resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==}
+ '@emotion/babel-plugin@11.13.5':
+ resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==}
+
+ '@emotion/cache@11.14.0':
+ resolution: {integrity: sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==}
+
+ '@emotion/hash@0.9.2':
+ resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==}
+
+ '@emotion/is-prop-valid@1.3.1':
+ resolution: {integrity: sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==}
+
+ '@emotion/memoize@0.9.0':
+ resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==}
+
+ '@emotion/react@11.14.0':
+ resolution: {integrity: sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: '>=16.8.0'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@emotion/serialize@1.3.3':
+ resolution: {integrity: sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==}
+
+ '@emotion/sheet@1.4.0':
+ resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==}
+
+ '@emotion/styled@11.14.0':
+ resolution: {integrity: sha512-XxfOnXFffatap2IyCeJyNov3kiDQWoR08gPUQxvbL7fxKryGBKUZUkG6Hz48DZwVrJSVh9sJboyV1Ds4OW6SgA==}
+ peerDependencies:
+ '@emotion/react': ^11.0.0-rc.0
+ '@types/react': '*'
+ react: '>=16.8.0'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@emotion/unitless@0.10.0':
+ resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==}
+
+ '@emotion/use-insertion-effect-with-fallbacks@1.2.0':
+ resolution: {integrity: sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==}
+ peerDependencies:
+ react: '>=16.8.0'
+
+ '@emotion/utils@1.4.2':
+ resolution: {integrity: sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==}
+
+ '@emotion/weak-memoize@0.4.0':
+ resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==}
+
'@esbuild/aix-ppc64@0.24.2':
resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==}
engines: {node: '>=18'}
@@ -931,6 +1007,27 @@ packages:
resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@floating-ui/core@1.7.0':
+ resolution: {integrity: sha512-FRdBLykrPPA6P76GGGqlex/e7fbe0F1ykgxHYNXQsH/iTEtjMj/f9bpY5oQqbjt5VgZvgz/uKXbGuROijh3VLA==}
+
+ '@floating-ui/dom@1.7.0':
+ resolution: {integrity: sha512-lGTor4VlXcesUMh1cupTUTDoCxMb0V6bm3CnxHzQcw8Eaf1jQbgQX4i02fYgT0vJ82tb5MZ4CZk1LRGkktJCzg==}
+
+ '@floating-ui/react-dom@2.1.2':
+ resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+
+ '@floating-ui/utils@0.2.9':
+ resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==}
+
+ '@hookform/devtools@4.4.0':
+ resolution: {integrity: sha512-Mtlic+uigoYBPXlfvPBfiYYUZuyMrD3pTjDpVIhL6eCZTvQkHsKBSKeZCvXWUZr8fqrkzDg27N+ZuazLKq6Vmg==}
+ peerDependencies:
+ react: ^16.8.0 || ^17 || ^18 || ^19
+ react-dom: ^16.8.0 || ^17 || ^18 || ^19
+
'@humanfs/core@0.19.1':
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
engines: {node: '>=18.18.0'}
@@ -1194,6 +1291,22 @@ packages:
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
+ '@radix-ui/primitive@1.1.2':
+ resolution: {integrity: sha512-XnbHrrprsNqZKQhStrSwgRUQzoCI1glLzdw79xiZPoofhGICeZRSQ3dIxAKH1gb3OHfNf4d6f+vAv3kil2eggA==}
+
+ '@radix-ui/react-arrow@1.1.4':
+ resolution: {integrity: sha512-qz+fxrqgNxG0dYew5l7qR3c7wdgRu1XVUHGnGYX7rg5HM4p9SWaRmJwfgR3J0SgyUKayLmzQIun+N6rWRgiRKw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-compose-refs@1.1.2':
resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==}
peerDependencies:
@@ -1203,6 +1316,89 @@ packages:
'@types/react':
optional: true
+ '@radix-ui/react-context@1.1.2':
+ resolution: {integrity: sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-dismissable-layer@1.1.7':
+ resolution: {integrity: sha512-j5+WBUdhccJsmH5/H0K6RncjDtoALSEr6jbkaZu+bjw6hOPOhHycr6vEUujl+HBK8kjUfWcoCJXxP6e4lUlMZw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-id@1.1.1':
+ resolution: {integrity: sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-popper@1.2.4':
+ resolution: {integrity: sha512-3p2Rgm/a1cK0r/UVkx5F/K9v/EplfjAeIFCGOPYPO4lZ0jtg4iSQXt/YGTSLWaf4x7NG6Z4+uKFcylcTZjeqDA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-portal@1.1.6':
+ resolution: {integrity: sha512-XmsIl2z1n/TsYFLIdYam2rmFwf9OC/Sh2avkbmVMDuBZIe7hSpM0cYnWPAo7nHOVx8zTuwDZGByfcqLdnzp3Vw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-presence@1.1.4':
+ resolution: {integrity: sha512-ueDqRbdc4/bkaQT3GIpLQssRlFgWaL/U2z/S31qRwwLWoxHLgry3SIfCwhxeQNbirEUXFa+lq3RL3oBYXtcmIA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-primitive@2.1.0':
+ resolution: {integrity: sha512-/J/FhLdK0zVcILOwt5g+dH4KnkonCtkVJsa2G6JmvbbtZfBEI1gMsO3QMjseL4F/SwfAMt1Vc/0XKYKq+xJ1sw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-slot@1.2.0':
resolution: {integrity: sha512-ujc+V6r0HNDviYqIK3rW4ffgYiZ8g5DEHrGJVk4x7kTlLXRDILnKX9vAUYeIsLOoDpDJ0ujpqMkjH4w2ofuo6w==}
peerDependencies:
@@ -1212,6 +1408,98 @@ packages:
'@types/react':
optional: true
+ '@radix-ui/react-tooltip@1.2.4':
+ resolution: {integrity: sha512-DyW8VVeeMSSLFvAmnVnCwvI3H+1tpJFHT50r+tdOoMse9XqYDBCcyux8u3G2y+LOpt7fPQ6KKH0mhs+ce1+Z5w==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-use-callback-ref@1.1.1':
+ resolution: {integrity: sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-controllable-state@1.2.2':
+ resolution: {integrity: sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-effect-event@0.0.2':
+ resolution: {integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-escape-keydown@1.1.1':
+ resolution: {integrity: sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-layout-effect@1.1.1':
+ resolution: {integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-rect@1.1.1':
+ resolution: {integrity: sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-size@1.1.1':
+ resolution: {integrity: sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-visually-hidden@1.2.0':
+ resolution: {integrity: sha512-rQj0aAWOpCdCMRbI6pLQm8r7S2BM3YhTa0SzOYD55k+hJA8oo9J+H+9wLM9oMlZWOX/wJWPTzfDfmZkf7LvCfg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/rect@1.1.1':
+ resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==}
+
'@rollup/rollup-android-arm-eabi@4.40.1':
resolution: {integrity: sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw==}
cpu: [arm]
@@ -1409,6 +1697,23 @@ packages:
'@tailwindcss/postcss@4.1.5':
resolution: {integrity: sha512-5lAC2/pzuyfhsFgk6I58HcNy6vPK3dV/PoPxSDuOTVbDvCddYHzHiJZZInGIY0venvzzfrTEUAXJFULAfFmObg==}
+ '@tanstack/query-core@5.75.0':
+ resolution: {integrity: sha512-rk8KQuCdhoRkzjRVF3QxLgAfFUyS0k7+GCQjlGEpEGco+qazJ0eMH6aO1DjDjibH7/ik383nnztua3BG+lOnwg==}
+
+ '@tanstack/query-devtools@5.74.7':
+ resolution: {integrity: sha512-nSNlfuGdnHf4yB0S+BoNYOE1o3oAH093weAYZolIHfS2stulyA/gWfSk/9H4ZFk5mAAHb5vNqAeJOmbdcGPEQw==}
+
+ '@tanstack/react-query-devtools@5.75.2':
+ resolution: {integrity: sha512-bOwfNBka4Xc4Q2EhOW15arll7UkavwMgEAbbqnEDbrpHFxbZR33EYIMh9SyUmqVsZEv0rGmbvzK8OsXRjTTTuA==}
+ peerDependencies:
+ '@tanstack/react-query': ^5.75.2
+ react: ^18 || ^19
+
+ '@tanstack/react-query@5.75.2':
+ resolution: {integrity: sha512-8F8VOsWUfSkCFoi62O9HSZT9jDgg28Ln8Z2dYKfRo/O2A0sgvr0uxTuNoon3PPXoDuHofv5V3elBI1M2Gh1MPg==}
+ peerDependencies:
+ react: ^18 || ^19
+
'@tootallnate/quickjs-emscripten@0.23.0':
resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==}
@@ -1505,6 +1810,9 @@ packages:
'@types/jsonwebtoken@9.0.9':
resolution: {integrity: sha512-uoe+GxEuHbvy12OUQct2X9JenKM3qAscquYymuQN4fMWG9DBQtykrQEFcAbVACF7qaLw9BePSodUL0kquqBJpQ==}
+ '@types/lodash@4.17.16':
+ resolution: {integrity: sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==}
+
'@types/luxon@3.6.2':
resolution: {integrity: sha512-R/BdP7OxEMc44l2Ex5lSXHoIXTB2JLNa3y2QISIbr58U/YcsffyQrYW//hZSdrfxrjRZj3GcUoxMPGdO8gSYuw==}
@@ -1520,6 +1828,9 @@ packages:
'@types/node@22.15.3':
resolution: {integrity: sha512-lX7HFZeHf4QG/J7tBZqrCAXwz9J5RD56Y6MpP0eJkka8p+K0RY/yBTW7CYFJ4VGCclxqOLKmiGP5juQc6MKgcw==}
+ '@types/parse-json@4.0.2':
+ resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
+
'@types/passport-jwt@4.0.1':
resolution: {integrity: sha512-Y0Ykz6nWP4jpxgEUYq8NoVZeCQPo1ZndJLfapI249g1jHChvRfZRO/LS3tqu26YgAS/laI1qx98sYGz0IalRXQ==}
@@ -1558,12 +1869,6 @@ packages:
'@types/stack-utils@2.0.3':
resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
- '@types/strip-bom@3.0.0':
- resolution: {integrity: sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==}
-
- '@types/strip-json-comments@0.0.30':
- resolution: {integrity: sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==}
-
'@types/through@0.0.33':
resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==}
@@ -1769,6 +2074,9 @@ packages:
async@3.2.6:
resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==}
+ asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+
available-typed-arrays@1.0.7:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
@@ -1777,6 +2085,9 @@ packages:
resolution: {integrity: sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==}
engines: {node: '>= 6.0.0'}
+ axios@1.9.0:
+ resolution: {integrity: sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==}
+
babel-jest@29.7.0:
resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -1791,6 +2102,10 @@ packages:
resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ babel-plugin-macros@3.1.0:
+ resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
+ engines: {node: '>=10', npm: '>=6'}
+
babel-preset-current-node-syntax@1.1.0:
resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==}
peerDependencies:
@@ -1816,10 +2131,6 @@ packages:
resolution: {integrity: sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww==}
engines: {node: '>= 10.0.0'}
- binary-extensions@2.3.0:
- resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
- engines: {node: '>=8'}
-
bl@4.1.0:
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
@@ -1924,10 +2235,6 @@ packages:
chardet@0.7.0:
resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
- chokidar@3.6.0:
- resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
- engines: {node: '>= 8.10.0'}
-
chokidar@4.0.3:
resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
engines: {node: '>= 14.16.0'}
@@ -2015,6 +2322,10 @@ packages:
colorspace@1.1.4:
resolution: {integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==}
+ combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
+
commander@10.0.1:
resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
engines: {node: '>=14'}
@@ -2044,6 +2355,9 @@ packages:
resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
engines: {node: '>= 0.6'}
+ convert-source-map@1.9.0:
+ resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+
convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
@@ -2061,6 +2375,10 @@ packages:
resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
engines: {node: '>= 0.10'}
+ cosmiconfig@7.1.0:
+ resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
+ engines: {node: '>=10'}
+
create-jest@29.7.0:
resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -2073,6 +2391,9 @@ packages:
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
engines: {node: '>= 8'}
+ crypto-js@4.2.0:
+ resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==}
+
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
@@ -2147,6 +2468,10 @@ packages:
resolution: {integrity: sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==}
engines: {node: '>=8'}
+ delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
+
delegates@1.0.0:
resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
@@ -2158,6 +2483,10 @@ packages:
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
engines: {node: '>= 0.8'}
+ dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+
destroy@1.2.0:
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
@@ -2207,9 +2536,6 @@ packages:
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
engines: {node: '>= 0.4'}
- dynamic-dedupe@0.3.0:
- resolution: {integrity: sha512-ssuANeD+z97meYOqd50e04Ze5qp4bPqo8cCkI4TRjZkzAUgIDTrXV1R8QCdINpiI+hw14+rYazvTRdQrz0/rFQ==}
-
eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
@@ -2476,6 +2802,9 @@ packages:
resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==}
engines: {node: '>= 0.8'}
+ find-root@1.1.0:
+ resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
+
find-up@4.1.0:
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
engines: {node: '>=8'}
@@ -2494,6 +2823,15 @@ packages:
fn.name@1.1.0:
resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==}
+ follow-redirects@1.15.9:
+ resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+
for-each@0.3.5:
resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
engines: {node: '>= 0.4'}
@@ -2502,6 +2840,10 @@ packages:
resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
engines: {node: '>=14'}
+ form-data@4.0.2:
+ resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==}
+ engines: {node: '>= 6'}
+
forwarded@0.2.0:
resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
engines: {node: '>= 0.6'}
@@ -2683,9 +3025,15 @@ packages:
resolution: {integrity: sha512-jOiHyAZsmnr8LqoPGmCjYAaiuWwjAPLgY8ZX2XrmHawt99/u1y6RgrZMTeoPfpUbV96HOalYgz1qzkRbw54Pmg==}
engines: {node: '>=18.0.0'}
+ hoist-non-react-statics@3.3.2:
+ resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
+
html-escaper@2.0.2:
resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
+ html-parse-stringify@3.0.1:
+ resolution: {integrity: sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==}
+
http-errors@2.0.0:
resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
engines: {node: '>= 0.8'}
@@ -2713,6 +3061,17 @@ packages:
resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
engines: {node: '>=10.17.0'}
+ i18next-browser-languagedetector@8.1.0:
+ resolution: {integrity: sha512-mHZxNx1Lq09xt5kCauZ/4bsXOEA2pfpwSoU11/QTJB+pD94iONFwp+ohqi///PwiFvjFOxe1akYCdHyFo1ng5Q==}
+
+ i18next@25.0.2:
+ resolution: {integrity: sha512-xWxgK8GAaPYkV9ia2tdgbtdM+qiC+ysVTBPvXhpCORU/+QkeQe3BSI7Crr+c4ZXULN1PfnXG/HY2n7HGx4KKBg==}
+ peerDependencies:
+ typescript: ^5
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
iconv-lite@0.4.24:
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
engines: {node: '>=0.10.0'}
@@ -2724,9 +3083,6 @@ packages:
ieee754@1.2.1:
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
- ignore-by-default@1.0.1:
- resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==}
-
ignore@5.3.2:
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
engines: {node: '>= 4'}
@@ -2812,10 +3168,6 @@ packages:
resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==}
engines: {node: '>= 0.4'}
- is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
-
is-boolean-object@1.2.2:
resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==}
engines: {node: '>= 0.4'}
@@ -3269,6 +3621,11 @@ packages:
lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ little-state-machine@4.8.1:
+ resolution: {integrity: sha512-liPHqaWMQ7rzZryQUDnbZ1Gclnnai3dIyaJ0nAgwZRXMzqbYrydrlCI0NDojRUbE5VYh5vu6hygEUZiH77nQkQ==}
+ peerDependencies:
+ react: ^16.8.0 || ^17 || ^18 || ^19
+
load-tsconfig@0.2.5:
resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -3485,6 +3842,9 @@ packages:
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+ murmurhash-js@1.0.0:
+ resolution: {integrity: sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==}
+
mute-stream@0.0.8:
resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
@@ -3553,11 +3913,6 @@ packages:
node-releases@2.0.19:
resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
- nodemon@3.1.10:
- resolution: {integrity: sha512-WDjw3pJ0/0jMFmyNDp3gvY2YizjLmmOUQo6DEBY+JgdvW/yQ9mEeSw6H5ythl5Ny2ytb7f9C2nIbjSxMNzbJXw==}
- engines: {node: '>=10'}
- hasBin: true
-
nopt@5.0.0:
resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==}
engines: {node: '>=6'}
@@ -3833,9 +4188,6 @@ packages:
proxy-from-env@1.1.0:
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
- pstree.remy@1.1.8:
- resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==}
-
punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
@@ -3867,6 +4219,34 @@ packages:
peerDependencies:
react: ^19.1.0
+ react-hook-form-persist@3.0.0:
+ resolution: {integrity: sha512-6nwW65JyFpBem9RjLYAWvIFxOLoCk0E13iB9e5yeF5jeHlwx1ua0M77FvwhPpD8eaCz7hG4ziCdOxRcnJVUSxQ==}
+ peerDependencies:
+ react: '>= 16.3'
+ react-hook-form: '>= 6'
+
+ react-hook-form@7.56.2:
+ resolution: {integrity: sha512-vpfuHuQMF/L6GpuQ4c3ZDo+pRYxIi40gQqsCmmfUBwm+oqvBhKhwghCuj2o00YCgSfU6bR9KC/xnQGWm3Gr08A==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^16.8.0 || ^17 || ^18 || ^19
+
+ react-i18next@15.5.1:
+ resolution: {integrity: sha512-C8RZ7N7H0L+flitiX6ASjq9p5puVJU1Z8VyL3OgM/QOMRf40BMZX+5TkpxzZVcTmOLPX5zlti4InEX5pFyiVeA==}
+ peerDependencies:
+ i18next: '>= 23.2.3'
+ react: '>= 16.8.0'
+ react-dom: '*'
+ react-native: '*'
+ typescript: ^5
+ peerDependenciesMeta:
+ react-dom:
+ optional: true
+ react-native:
+ optional: true
+ typescript:
+ optional: true
+
react-is@16.13.1:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
@@ -3877,6 +4257,14 @@ packages:
resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==}
engines: {node: '>=0.10.0'}
+ react-secure-storage@1.3.2:
+ resolution: {integrity: sha512-pNCyksbLXWIYRS9vCzERXdIMErtx9Ik70TPtLKivcq44+zYybbxA72wpp5ivghK9Xe0gRku2w/7zBy/9n+RtKA==}
+
+ react-simple-animate@3.5.3:
+ resolution: {integrity: sha512-Ob+SmB5J1tXDEZyOe2Hf950K4M8VaWBBmQ3cS2BUnTORqHjhK0iKG8fB+bo47ZL15t8d3g/Y0roiqH05UBjG7A==}
+ peerDependencies:
+ react-dom: ^16.8.0 || ^17 || ^18 || ^19
+
react@19.1.0:
resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==}
engines: {node: '>=0.10.0'}
@@ -3885,10 +4273,6 @@ packages:
resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
engines: {node: '>= 6'}
- readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
-
readdirp@4.1.2:
resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
engines: {node: '>= 14.18.0'}
@@ -3958,11 +4342,6 @@ packages:
resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- rimraf@2.7.1:
- resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
- deprecated: Rimraf versions prior to v4 are no longer supported
- hasBin: true
-
rimraf@3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
deprecated: Rimraf versions prior to v4 are no longer supported
@@ -4136,10 +4515,6 @@ packages:
simple-swizzle@0.2.2:
resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
- simple-update-notifier@2.0.0:
- resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==}
- engines: {node: '>=10'}
-
sisteransi@1.0.5:
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
@@ -4169,6 +4544,10 @@ packages:
source-map-support@0.5.13:
resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
+ source-map@0.5.7:
+ resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
+ engines: {node: '>=0.10.0'}
+
source-map@0.6.1:
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
engines: {node: '>=0.10.0'}
@@ -4260,6 +4639,9 @@ packages:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
+ stylis@4.2.0:
+ resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==}
+
sucrase@3.35.0:
resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
engines: {node: '>=16 || 14 >=14.17'}
@@ -4349,10 +4731,6 @@ packages:
toposort-class@1.0.1:
resolution: {integrity: sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg==}
- touch@3.1.1:
- resolution: {integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==}
- hasBin: true
-
tr46@0.0.3:
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
@@ -4400,17 +4778,6 @@ packages:
esbuild:
optional: true
- ts-node-dev@2.0.0:
- resolution: {integrity: sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w==}
- engines: {node: '>=0.8.0'}
- hasBin: true
- peerDependencies:
- node-notifier: '*'
- typescript: '*'
- peerDependenciesMeta:
- node-notifier:
- optional: true
-
ts-node@10.9.2:
resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
hasBin: true
@@ -4429,9 +4796,6 @@ packages:
resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==}
engines: {node: '>=6'}
- tsconfig@7.0.0:
- resolution: {integrity: sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==}
-
tslib@1.14.1:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
@@ -4556,9 +4920,6 @@ packages:
resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
engines: {node: '>= 0.4'}
- undefsafe@2.0.5:
- resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==}
-
undici-types@6.21.0:
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
@@ -4588,6 +4949,12 @@ packages:
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ use-deep-compare-effect@1.8.1:
+ resolution: {integrity: sha512-kbeNVZ9Zkc0RFGpfMN3MNfaKNvcLNyxOAAd9O4CBZ+kCBXXscn9s/4I+8ytUER4RDpEYs5+O6Rs4PqiZ+rHr5Q==}
+ engines: {node: '>=10', npm: '>=6'}
+ peerDependencies:
+ react: '>=16.13'
+
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
@@ -4669,6 +5036,10 @@ packages:
yaml:
optional: true
+ void-elements@3.1.0:
+ resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==}
+ engines: {node: '>=0.10.0'}
+
walker@1.0.8:
resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
@@ -4754,10 +5125,6 @@ packages:
resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==}
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
- xtend@4.0.2:
- resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
- engines: {node: '>=0.4'}
-
y18n@5.0.8:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'}
@@ -4768,6 +5135,10 @@ packages:
yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+ yaml@1.10.2:
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ engines: {node: '>= 6'}
+
yargs-parser@21.1.1:
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
engines: {node: '>=12'}
@@ -4821,7 +5192,7 @@ snapshots:
'@babel/traverse': 7.27.0
'@babel/types': 7.27.0
convert-source-map: 2.0.0
- debug: 4.4.0(supports-color@5.5.0)
+ debug: 4.4.0
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
@@ -4978,6 +5349,8 @@ snapshots:
dependencies:
core-js-pure: 3.42.0
+ '@babel/runtime@7.27.1': {}
+
'@babel/template@7.27.0':
dependencies:
'@babel/code-frame': 7.26.2
@@ -4991,7 +5364,7 @@ snapshots:
'@babel/parser': 7.27.0
'@babel/template': 7.27.0
'@babel/types': 7.27.0
- debug: 4.4.0(supports-color@5.5.0)
+ debug: 4.4.0
globals: 11.12.0
transitivePeerDependencies:
- supports-color
@@ -5050,6 +5423,89 @@ snapshots:
enabled: 2.0.0
kuler: 2.0.0
+ '@emotion/babel-plugin@11.13.5':
+ dependencies:
+ '@babel/helper-module-imports': 7.25.9
+ '@babel/runtime': 7.27.1
+ '@emotion/hash': 0.9.2
+ '@emotion/memoize': 0.9.0
+ '@emotion/serialize': 1.3.3
+ babel-plugin-macros: 3.1.0
+ convert-source-map: 1.9.0
+ escape-string-regexp: 4.0.0
+ find-root: 1.1.0
+ source-map: 0.5.7
+ stylis: 4.2.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@emotion/cache@11.14.0':
+ dependencies:
+ '@emotion/memoize': 0.9.0
+ '@emotion/sheet': 1.4.0
+ '@emotion/utils': 1.4.2
+ '@emotion/weak-memoize': 0.4.0
+ stylis: 4.2.0
+
+ '@emotion/hash@0.9.2': {}
+
+ '@emotion/is-prop-valid@1.3.1':
+ dependencies:
+ '@emotion/memoize': 0.9.0
+
+ '@emotion/memoize@0.9.0': {}
+
+ '@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0)':
+ dependencies:
+ '@babel/runtime': 7.27.1
+ '@emotion/babel-plugin': 11.13.5
+ '@emotion/cache': 11.14.0
+ '@emotion/serialize': 1.3.3
+ '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.0)
+ '@emotion/utils': 1.4.2
+ '@emotion/weak-memoize': 0.4.0
+ hoist-non-react-statics: 3.3.2
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@emotion/serialize@1.3.3':
+ dependencies:
+ '@emotion/hash': 0.9.2
+ '@emotion/memoize': 0.9.0
+ '@emotion/unitless': 0.10.0
+ '@emotion/utils': 1.4.2
+ csstype: 3.1.3
+
+ '@emotion/sheet@1.4.0': {}
+
+ '@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0)':
+ dependencies:
+ '@babel/runtime': 7.27.1
+ '@emotion/babel-plugin': 11.13.5
+ '@emotion/is-prop-valid': 1.3.1
+ '@emotion/react': 11.14.0(@types/react@19.1.2)(react@19.1.0)
+ '@emotion/serialize': 1.3.3
+ '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.0)
+ '@emotion/utils': 1.4.2
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@emotion/unitless@0.10.0': {}
+
+ '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.1.0)':
+ dependencies:
+ react: 19.1.0
+
+ '@emotion/utils@1.4.2': {}
+
+ '@emotion/weak-memoize@0.4.0': {}
+
'@esbuild/aix-ppc64@0.24.2':
optional: true
@@ -5210,7 +5666,7 @@ snapshots:
'@eslint/config-array@0.20.0':
dependencies:
'@eslint/object-schema': 2.1.6
- debug: 4.4.0(supports-color@5.5.0)
+ debug: 4.4.0
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
@@ -5224,7 +5680,7 @@ snapshots:
'@eslint/eslintrc@3.3.1':
dependencies:
ajv: 6.12.6
- debug: 4.4.0(supports-color@5.5.0)
+ debug: 4.4.0
espree: 10.3.0
globals: 14.0.0
ignore: 5.3.2
@@ -5244,6 +5700,39 @@ snapshots:
'@eslint/core': 0.13.0
levn: 0.4.1
+ '@floating-ui/core@1.7.0':
+ dependencies:
+ '@floating-ui/utils': 0.2.9
+
+ '@floating-ui/dom@1.7.0':
+ dependencies:
+ '@floating-ui/core': 1.7.0
+ '@floating-ui/utils': 0.2.9
+
+ '@floating-ui/react-dom@2.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@floating-ui/dom': 1.7.0
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+
+ '@floating-ui/utils@0.2.9': {}
+
+ '@hookform/devtools@4.4.0(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@emotion/react': 11.14.0(@types/react@19.1.2)(react@19.1.0)
+ '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0)
+ '@types/lodash': 4.17.16
+ little-state-machine: 4.8.1(react@19.1.0)
+ lodash: 4.17.21
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ react-simple-animate: 3.5.3(react-dom@19.1.0(react@19.1.0))
+ use-deep-compare-effect: 1.8.1(react@19.1.0)
+ uuid: 8.3.2
+ transitivePeerDependencies:
+ - '@types/react'
+ - supports-color
+
'@humanfs/core@0.19.1': {}
'@humanfs/node@0.16.6':
@@ -5401,7 +5890,7 @@ snapshots:
jest-util: 29.7.0
slash: 3.0.0
- '@jest/core@29.7.0(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))':
+ '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))':
dependencies:
'@jest/console': 29.7.0
'@jest/reporters': 29.7.0
@@ -5415,7 +5904,7 @@ snapshots:
exit: 0.1.2
graceful-fs: 4.2.11
jest-changed-files: 29.7.0
- jest-config: 29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
+ jest-config: 29.7.0(@types/node@22.15.3)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
jest-haste-map: 29.7.0
jest-message-util: 29.7.0
jest-regex-util: 29.6.3
@@ -5610,12 +6099,96 @@ snapshots:
'@pkgjs/parseargs@0.11.0':
optional: true
+ '@radix-ui/primitive@1.1.2': {}
+
+ '@radix-ui/react-arrow@1.1.4(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.1.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.2
+ '@types/react-dom': 19.1.3(@types/react@19.1.2)
+
'@radix-ui/react-compose-refs@1.1.2(@types/react@19.1.2)(react@19.1.0)':
dependencies:
react: 19.1.0
optionalDependencies:
'@types/react': 19.1.2
+ '@radix-ui/react-context@1.1.2(@types/react@19.1.2)(react@19.1.0)':
+ dependencies:
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.2
+
+ '@radix-ui/react-dismissable-layer@1.1.7(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.2
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0)
+ '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.1.2)(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.2
+ '@types/react-dom': 19.1.3(@types/react@19.1.2)
+
+ '@radix-ui/react-id@1.1.1(@types/react@19.1.2)(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0)
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.2
+
+ '@radix-ui/react-popper@1.2.4(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@floating-ui/react-dom': 2.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-arrow': 1.1.4(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0)
+ '@radix-ui/react-use-rect': 1.1.1(@types/react@19.1.2)(react@19.1.0)
+ '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.2)(react@19.1.0)
+ '@radix-ui/rect': 1.1.1
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.2
+ '@types/react-dom': 19.1.3(@types/react@19.1.2)
+
+ '@radix-ui/react-portal@1.1.6(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.1.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.2
+ '@types/react-dom': 19.1.3(@types/react@19.1.2)
+
+ '@radix-ui/react-presence@1.1.4(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.2
+ '@types/react-dom': 19.1.3(@types/react@19.1.2)
+
+ '@radix-ui/react-primitive@2.1.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-slot': 1.2.0(@types/react@19.1.2)(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.2
+ '@types/react-dom': 19.1.3(@types/react@19.1.2)
+
'@radix-ui/react-slot@1.2.0(@types/react@19.1.2)(react@19.1.0)':
dependencies:
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0)
@@ -5623,6 +6196,85 @@ snapshots:
optionalDependencies:
'@types/react': 19.1.2
+ '@radix-ui/react-tooltip@1.2.4(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.2
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0)
+ '@radix-ui/react-dismissable-layer': 1.1.7(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.1.2)(react@19.1.0)
+ '@radix-ui/react-popper': 1.2.4(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-portal': 1.1.6(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-slot': 1.2.0(@types/react@19.1.2)(react@19.1.0)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0)
+ '@radix-ui/react-visually-hidden': 1.2.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.2
+ '@types/react-dom': 19.1.3(@types/react@19.1.2)
+
+ '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.1.2)(react@19.1.0)':
+ dependencies:
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.2
+
+ '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.1.2)(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.1.2)(react@19.1.0)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0)
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.2
+
+ '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.1.2)(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0)
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.2
+
+ '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.1.2)(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0)
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.2
+
+ '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.1.2)(react@19.1.0)':
+ dependencies:
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.2
+
+ '@radix-ui/react-use-rect@1.1.1(@types/react@19.1.2)(react@19.1.0)':
+ dependencies:
+ '@radix-ui/rect': 1.1.1
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.2
+
+ '@radix-ui/react-use-size@1.1.1(@types/react@19.1.2)(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0)
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.2
+
+ '@radix-ui/react-visually-hidden@1.2.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.1.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.2
+ '@types/react-dom': 19.1.3(@types/react@19.1.2)
+
+ '@radix-ui/rect@1.1.1': {}
+
'@rollup/rollup-android-arm-eabi@4.40.1':
optional: true
@@ -5759,6 +6411,21 @@ snapshots:
postcss: 8.5.3
tailwindcss: 4.1.5
+ '@tanstack/query-core@5.75.0': {}
+
+ '@tanstack/query-devtools@5.74.7': {}
+
+ '@tanstack/react-query-devtools@5.75.2(@tanstack/react-query@5.75.2(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@tanstack/query-devtools': 5.74.7
+ '@tanstack/react-query': 5.75.2(react@19.1.0)
+ react: 19.1.0
+
+ '@tanstack/react-query@5.75.2(react@19.1.0)':
+ dependencies:
+ '@tanstack/query-core': 5.75.0
+ react: 19.1.0
+
'@tootallnate/quickjs-emscripten@0.23.0': {}
'@tsconfig/node10@1.0.11': {}
@@ -5906,6 +6573,8 @@ snapshots:
'@types/ms': 2.1.0
'@types/node': 22.15.3
+ '@types/lodash@4.17.16': {}
+
'@types/luxon@3.6.2': {}
'@types/mime@1.3.5': {}
@@ -5918,6 +6587,8 @@ snapshots:
dependencies:
undici-types: 6.21.0
+ '@types/parse-json@4.0.2': {}
+
'@types/passport-jwt@4.0.1':
dependencies:
'@types/jsonwebtoken': 9.0.9
@@ -5968,10 +6639,6 @@ snapshots:
'@types/stack-utils@2.0.3': {}
- '@types/strip-bom@3.0.0': {}
-
- '@types/strip-json-comments@0.0.30': {}
-
'@types/through@0.0.33':
dependencies:
'@types/node': 22.15.3
@@ -6011,7 +6678,7 @@ snapshots:
'@typescript-eslint/types': 8.31.1
'@typescript-eslint/typescript-estree': 8.31.1(typescript@5.8.3)
'@typescript-eslint/visitor-keys': 8.31.1
- debug: 4.4.0(supports-color@5.5.0)
+ debug: 4.4.0
eslint: 9.25.1(jiti@2.4.2)
typescript: 5.8.3
transitivePeerDependencies:
@@ -6026,7 +6693,7 @@ snapshots:
dependencies:
'@typescript-eslint/typescript-estree': 8.31.1(typescript@5.8.3)
'@typescript-eslint/utils': 8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)
- debug: 4.4.0(supports-color@5.5.0)
+ debug: 4.4.0
eslint: 9.25.1(jiti@2.4.2)
ts-api-utils: 2.1.0(typescript@5.8.3)
typescript: 5.8.3
@@ -6039,7 +6706,7 @@ snapshots:
dependencies:
'@typescript-eslint/types': 8.31.1
'@typescript-eslint/visitor-keys': 8.31.1
- debug: 4.4.0(supports-color@5.5.0)
+ debug: 4.4.0
fast-glob: 3.3.3
is-glob: 4.0.3
minimatch: 9.0.5
@@ -6095,7 +6762,7 @@ snapshots:
agent-base@6.0.2:
dependencies:
- debug: 4.4.0(supports-color@5.5.0)
+ debug: 4.4.0
transitivePeerDependencies:
- supports-color
@@ -6222,12 +6889,22 @@ snapshots:
async@3.2.6: {}
+ asynckit@0.4.0: {}
+
available-typed-arrays@1.0.7:
dependencies:
possible-typed-array-names: 1.1.0
aws-ssl-profiles@1.1.2: {}
+ axios@1.9.0:
+ dependencies:
+ follow-redirects: 1.15.9
+ form-data: 4.0.2
+ proxy-from-env: 1.1.0
+ transitivePeerDependencies:
+ - debug
+
babel-jest@29.7.0(@babel/core@7.26.10):
dependencies:
'@babel/core': 7.26.10
@@ -6258,6 +6935,12 @@ snapshots:
'@types/babel__core': 7.20.5
'@types/babel__traverse': 7.20.7
+ babel-plugin-macros@3.1.0:
+ dependencies:
+ '@babel/runtime': 7.27.1
+ cosmiconfig: 7.1.0
+ resolve: 1.22.10
+
babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.10):
dependencies:
'@babel/core': 7.26.10
@@ -6297,8 +6980,6 @@ snapshots:
- encoding
- supports-color
- binary-extensions@2.3.0: {}
-
bl@4.1.0:
dependencies:
buffer: 5.7.1
@@ -6439,18 +7120,6 @@ snapshots:
chardet@0.7.0: {}
- chokidar@3.6.0:
- dependencies:
- anymatch: 3.1.3
- braces: 3.0.3
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.3
-
chokidar@4.0.3:
dependencies:
readdirp: 4.1.2
@@ -6524,6 +7193,10 @@ snapshots:
color: 3.2.1
text-hex: 1.0.0
+ combined-stream@1.0.8:
+ dependencies:
+ delayed-stream: 1.0.0
+
commander@10.0.1: {}
commander@4.1.1: {}
@@ -6545,6 +7218,8 @@ snapshots:
content-type@1.0.5: {}
+ convert-source-map@1.9.0: {}
+
convert-source-map@2.0.0: {}
cookie-signature@1.0.6: {}
@@ -6558,13 +7233,21 @@ snapshots:
object-assign: 4.1.1
vary: 1.1.2
- create-jest@29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3)):
+ cosmiconfig@7.1.0:
+ dependencies:
+ '@types/parse-json': 4.0.2
+ import-fresh: 3.3.1
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ yaml: 1.10.2
+
+ create-jest@29.7.0(@types/node@22.15.3)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3)):
dependencies:
'@jest/types': 29.6.3
chalk: 4.1.2
exit: 0.1.2
graceful-fs: 4.2.11
- jest-config: 29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
+ jest-config: 29.7.0(@types/node@22.15.3)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
jest-util: 29.7.0
prompts: 2.4.2
transitivePeerDependencies:
@@ -6581,6 +7264,8 @@ snapshots:
shebang-command: 2.0.0
which: 2.0.2
+ crypto-js@4.2.0: {}
+
csstype@3.1.3: {}
data-uri-to-buffer@6.0.2: {}
@@ -6607,13 +7292,13 @@ snapshots:
dependencies:
ms: 2.0.0
- debug@4.4.0(supports-color@5.5.0):
+ debug@4.4.0:
dependencies:
ms: 2.1.3
- optionalDependencies:
- supports-color: 5.5.0
- dedent@1.5.3: {}
+ dedent@1.5.3(babel-plugin-macros@3.1.0):
+ optionalDependencies:
+ babel-plugin-macros: 3.1.0
deep-extend@0.6.0: {}
@@ -6654,12 +7339,16 @@ snapshots:
rimraf: 3.0.2
slash: 3.0.0
+ delayed-stream@1.0.0: {}
+
delegates@1.0.0: {}
denque@2.1.0: {}
depd@2.0.0: {}
+ dequal@2.0.3: {}
+
destroy@1.2.0: {}
detect-libc@2.0.4: {}
@@ -6696,10 +7385,6 @@ snapshots:
es-errors: 1.3.0
gopd: 1.2.0
- dynamic-dedupe@0.3.0:
- dependencies:
- xtend: 4.0.2
-
eastasianwidth@0.2.0: {}
ecdsa-sig-formatter@1.0.11:
@@ -6972,7 +7657,7 @@ snapshots:
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.6
- debug: 4.4.0(supports-color@5.5.0)
+ debug: 4.4.0
escape-string-regexp: 4.0.0
eslint-scope: 8.3.0
eslint-visitor-keys: 4.2.0
@@ -7150,6 +7835,8 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ find-root@1.1.0: {}
+
find-up@4.1.0:
dependencies:
locate-path: 5.0.0
@@ -7169,6 +7856,8 @@ snapshots:
fn.name@1.1.0: {}
+ follow-redirects@1.15.9: {}
+
for-each@0.3.5:
dependencies:
is-callable: 1.2.7
@@ -7178,6 +7867,13 @@ snapshots:
cross-spawn: 7.0.6
signal-exit: 4.1.0
+ form-data@4.0.2:
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ es-set-tostringtag: 2.1.0
+ mime-types: 2.1.35
+
forwarded@0.2.0: {}
fresh@0.5.2: {}
@@ -7268,7 +7964,7 @@ snapshots:
dependencies:
basic-ftp: 5.0.5
data-uri-to-buffer: 6.0.2
- debug: 4.4.0(supports-color@5.5.0)
+ debug: 4.4.0
transitivePeerDependencies:
- supports-color
@@ -7382,8 +8078,16 @@ snapshots:
helmet@8.1.0: {}
+ hoist-non-react-statics@3.3.2:
+ dependencies:
+ react-is: 16.13.1
+
html-escaper@2.0.2: {}
+ html-parse-stringify@3.0.1:
+ dependencies:
+ void-elements: 3.1.0
+
http-errors@2.0.0:
dependencies:
depd: 2.0.0
@@ -7395,7 +8099,7 @@ snapshots:
http-proxy-agent@7.0.2:
dependencies:
agent-base: 7.1.3
- debug: 4.4.0(supports-color@5.5.0)
+ debug: 4.4.0
transitivePeerDependencies:
- supports-color
@@ -7406,19 +8110,29 @@ snapshots:
https-proxy-agent@5.0.1:
dependencies:
agent-base: 6.0.2
- debug: 4.4.0(supports-color@5.5.0)
+ debug: 4.4.0
transitivePeerDependencies:
- supports-color
https-proxy-agent@7.0.6:
dependencies:
agent-base: 7.1.3
- debug: 4.4.0(supports-color@5.5.0)
+ debug: 4.4.0
transitivePeerDependencies:
- supports-color
human-signals@2.1.0: {}
+ i18next-browser-languagedetector@8.1.0:
+ dependencies:
+ '@babel/runtime': 7.27.1
+
+ i18next@25.0.2(typescript@5.8.3):
+ dependencies:
+ '@babel/runtime': 7.27.1
+ optionalDependencies:
+ typescript: 5.8.3
+
iconv-lite@0.4.24:
dependencies:
safer-buffer: 2.1.2
@@ -7429,8 +8143,6 @@ snapshots:
ieee754@1.2.1: {}
- ignore-by-default@1.0.1: {}
-
ignore@5.3.2: {}
import-fresh@3.3.1:
@@ -7541,10 +8253,6 @@ snapshots:
dependencies:
has-bigints: 1.1.0
- is-binary-path@2.1.0:
- dependencies:
- binary-extensions: 2.3.0
-
is-boolean-object@1.2.2:
dependencies:
call-bound: 1.0.4
@@ -7692,7 +8400,7 @@ snapshots:
istanbul-lib-source-maps@4.0.1:
dependencies:
- debug: 4.4.0(supports-color@5.5.0)
+ debug: 4.4.0
istanbul-lib-coverage: 3.2.2
source-map: 0.6.1
transitivePeerDependencies:
@@ -7735,7 +8443,7 @@ snapshots:
jest-util: 29.7.0
p-limit: 3.1.0
- jest-circus@29.7.0:
+ jest-circus@29.7.0(babel-plugin-macros@3.1.0):
dependencies:
'@jest/environment': 29.7.0
'@jest/expect': 29.7.0
@@ -7744,7 +8452,7 @@ snapshots:
'@types/node': 22.15.3
chalk: 4.1.2
co: 4.6.0
- dedent: 1.5.3
+ dedent: 1.5.3(babel-plugin-macros@3.1.0)
is-generator-fn: 2.1.0
jest-each: 29.7.0
jest-matcher-utils: 29.7.0
@@ -7761,16 +8469,16 @@ snapshots:
- babel-plugin-macros
- supports-color
- jest-cli@29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3)):
+ jest-cli@29.7.0(@types/node@22.15.3)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3)):
dependencies:
- '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
+ '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
chalk: 4.1.2
- create-jest: 29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
+ create-jest: 29.7.0(@types/node@22.15.3)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
exit: 0.1.2
import-local: 3.2.0
- jest-config: 29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
+ jest-config: 29.7.0(@types/node@22.15.3)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
jest-util: 29.7.0
jest-validate: 29.7.0
yargs: 17.7.2
@@ -7780,7 +8488,7 @@ snapshots:
- supports-color
- ts-node
- jest-config@29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3)):
+ jest-config@29.7.0(@types/node@22.15.3)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3)):
dependencies:
'@babel/core': 7.26.10
'@jest/test-sequencer': 29.7.0
@@ -7791,7 +8499,7 @@ snapshots:
deepmerge: 4.3.1
glob: 7.2.3
graceful-fs: 4.2.11
- jest-circus: 29.7.0
+ jest-circus: 29.7.0(babel-plugin-macros@3.1.0)
jest-environment-node: 29.7.0
jest-get-type: 29.6.3
jest-regex-util: 29.6.3
@@ -8026,12 +8734,12 @@ snapshots:
merge-stream: 2.0.0
supports-color: 8.1.1
- jest@29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3)):
+ jest@29.7.0(@types/node@22.15.3)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3)):
dependencies:
- '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
+ '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
'@jest/types': 29.6.3
import-local: 3.2.0
- jest-cli: 29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
+ jest-cli: 29.7.0(@types/node@22.15.3)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
transitivePeerDependencies:
- '@types/node'
- babel-plugin-macros
@@ -8170,6 +8878,10 @@ snapshots:
lines-and-columns@1.2.4: {}
+ little-state-machine@4.8.1(react@19.1.0):
+ dependencies:
+ react: 19.1.0
+
load-tsconfig@0.2.5: {}
locate-path@5.0.0:
@@ -8342,6 +9054,8 @@ snapshots:
ms@2.1.3: {}
+ murmurhash-js@1.0.0: {}
+
mute-stream@0.0.8: {}
mute-stream@2.0.0: {}
@@ -8411,19 +9125,6 @@ snapshots:
node-releases@2.0.19: {}
- nodemon@3.1.10:
- dependencies:
- chokidar: 3.6.0
- debug: 4.4.0(supports-color@5.5.0)
- ignore-by-default: 1.0.1
- minimatch: 3.1.2
- pstree.remy: 1.1.8
- semver: 7.7.1
- simple-update-notifier: 2.0.0
- supports-color: 5.5.0
- touch: 3.1.1
- undefsafe: 2.0.5
-
nopt@5.0.0:
dependencies:
abbrev: 1.1.1
@@ -8563,7 +9264,7 @@ snapshots:
dependencies:
'@tootallnate/quickjs-emscripten': 0.23.0
agent-base: 7.1.3
- debug: 4.4.0(supports-color@5.5.0)
+ debug: 4.4.0
get-uri: 6.0.4
http-proxy-agent: 7.0.2
https-proxy-agent: 7.0.6
@@ -8712,7 +9413,7 @@ snapshots:
proxy-agent@6.5.0:
dependencies:
agent-base: 7.1.3
- debug: 4.4.0(supports-color@5.5.0)
+ debug: 4.4.0
http-proxy-agent: 7.0.2
https-proxy-agent: 7.0.6
lru-cache: 7.18.3
@@ -8724,8 +9425,6 @@ snapshots:
proxy-from-env@1.1.0: {}
- pstree.remy@1.1.8: {}
-
punycode@2.3.1: {}
pure-rand@6.1.0: {}
@@ -8757,12 +9456,40 @@ snapshots:
react: 19.1.0
scheduler: 0.26.0
+ react-hook-form-persist@3.0.0(react-hook-form@7.56.2(react@19.1.0))(react@19.1.0):
+ dependencies:
+ react: 19.1.0
+ react-hook-form: 7.56.2(react@19.1.0)
+
+ react-hook-form@7.56.2(react@19.1.0):
+ dependencies:
+ react: 19.1.0
+
+ react-i18next@15.5.1(i18next@25.0.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3):
+ dependencies:
+ '@babel/runtime': 7.27.1
+ html-parse-stringify: 3.0.1
+ i18next: 25.0.2(typescript@5.8.3)
+ react: 19.1.0
+ optionalDependencies:
+ react-dom: 19.1.0(react@19.1.0)
+ typescript: 5.8.3
+
react-is@16.13.1: {}
react-is@18.3.1: {}
react-refresh@0.17.0: {}
+ react-secure-storage@1.3.2:
+ dependencies:
+ crypto-js: 4.2.0
+ murmurhash-js: 1.0.0
+
+ react-simple-animate@3.5.3(react-dom@19.1.0(react@19.1.0)):
+ dependencies:
+ react-dom: 19.1.0(react@19.1.0)
+
react@19.1.0: {}
readable-stream@3.6.2:
@@ -8771,10 +9498,6 @@ snapshots:
string_decoder: 1.3.0
util-deprecate: 1.0.2
- readdirp@3.6.0:
- dependencies:
- picomatch: 2.3.1
-
readdirp@4.1.2: {}
reflect-metadata@0.2.2: {}
@@ -8848,10 +9571,6 @@ snapshots:
reusify@1.1.0: {}
- rimraf@2.7.1:
- dependencies:
- glob: 7.2.3
-
rimraf@3.0.2:
dependencies:
glob: 7.2.3
@@ -8962,7 +9681,7 @@ snapshots:
dependencies:
'@types/debug': 4.1.12
'@types/validator': 13.15.0
- debug: 4.4.0(supports-color@5.5.0)
+ debug: 4.4.0
dottie: 2.0.6
inflection: 1.13.4
lodash: 4.17.21
@@ -9060,10 +9779,6 @@ snapshots:
dependencies:
is-arrayish: 0.3.2
- simple-update-notifier@2.0.0:
- dependencies:
- semver: 7.7.1
-
sisteransi@1.0.5: {}
slash@3.0.0: {}
@@ -9077,7 +9792,7 @@ snapshots:
socks-proxy-agent@8.0.5:
dependencies:
agent-base: 7.1.3
- debug: 4.4.0(supports-color@5.5.0)
+ debug: 4.4.0
socks: 2.8.4
transitivePeerDependencies:
- supports-color
@@ -9094,6 +9809,8 @@ snapshots:
buffer-from: 1.1.2
source-map: 0.6.1
+ source-map@0.5.7: {}
+
source-map@0.6.1: {}
source-map@0.8.0-beta.0:
@@ -9197,6 +9914,8 @@ snapshots:
strip-json-comments@3.1.1: {}
+ stylis@4.2.0: {}
+
sucrase@3.35.0:
dependencies:
'@jridgewell/gen-mapping': 0.3.8
@@ -9292,8 +10011,6 @@ snapshots:
toposort-class@1.0.1: {}
- touch@3.1.1: {}
-
tr46@0.0.3: {}
tr46@1.0.1:
@@ -9310,12 +10027,12 @@ snapshots:
ts-interface-checker@0.1.13: {}
- ts-jest@29.3.2(@babel/core@7.26.10)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.10))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3)))(typescript@5.8.3):
+ ts-jest@29.3.2(@babel/core@7.26.10)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.10))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.15.3)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3)))(typescript@5.8.3):
dependencies:
bs-logger: 0.2.6
ejs: 3.1.10
fast-json-stable-stringify: 2.1.0
- jest: 29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
+ jest: 29.7.0(@types/node@22.15.3)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
jest-util: 29.7.0
json5: 2.2.3
lodash.memoize: 4.1.2
@@ -9331,24 +10048,6 @@ snapshots:
babel-jest: 29.7.0(@babel/core@7.26.10)
esbuild: 0.24.2
- ts-node-dev@2.0.0(@types/node@22.15.3)(typescript@5.8.3):
- dependencies:
- chokidar: 3.6.0
- dynamic-dedupe: 0.3.0
- minimist: 1.2.8
- mkdirp: 1.0.4
- resolve: 1.22.10
- rimraf: 2.7.1
- source-map-support: 0.5.13
- tree-kill: 1.2.2
- ts-node: 10.9.2(@types/node@22.15.3)(typescript@5.8.3)
- tsconfig: 7.0.0
- typescript: 5.8.3
- transitivePeerDependencies:
- - '@swc/core'
- - '@swc/wasm'
- - '@types/node'
-
ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3):
dependencies:
'@cspotcode/source-map-support': 0.8.1
@@ -9373,13 +10072,6 @@ snapshots:
minimist: 1.2.8
strip-bom: 3.0.0
- tsconfig@7.0.0:
- dependencies:
- '@types/strip-bom': 3.0.0
- '@types/strip-json-comments': 0.0.30
- strip-bom: 3.0.0
- strip-json-comments: 2.0.1
-
tslib@1.14.1: {}
tslib@2.8.1: {}
@@ -9390,7 +10082,7 @@ snapshots:
cac: 6.7.14
chokidar: 4.0.3
consola: 3.4.2
- debug: 4.4.0(supports-color@5.5.0)
+ debug: 4.4.0
esbuild: 0.25.3
joycon: 3.1.1
picocolors: 1.1.1
@@ -9517,8 +10209,6 @@ snapshots:
has-symbols: 1.1.0
which-boxed-primitive: 1.1.1
- undefsafe@2.0.5: {}
-
undici-types@6.21.0: {}
universalify@2.0.1: {}
@@ -9546,6 +10236,12 @@ snapshots:
dependencies:
punycode: 2.3.1
+ use-deep-compare-effect@1.8.1(react@19.1.0):
+ dependencies:
+ '@babel/runtime': 7.27.1
+ dequal: 2.0.3
+ react: 19.1.0
+
util-deprecate@1.0.2: {}
util@0.10.4:
@@ -9589,6 +10285,8 @@ snapshots:
lightningcss: 1.29.2
tsx: 4.19.4
+ void-elements@3.1.0: {}
+
walker@1.0.8:
dependencies:
makeerror: 1.0.12
@@ -9722,14 +10420,14 @@ snapshots:
imurmurhash: 0.1.4
signal-exit: 3.0.7
- xtend@4.0.2: {}
-
y18n@5.0.8: {}
yallist@3.1.1: {}
yallist@4.0.0: {}
+ yaml@1.10.2: {}
+
yargs-parser@21.1.1: {}
yargs@17.7.2: