@intlayer/design-system 3.3.4 → 3.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.vite/manifest.json +20 -0
- package/dist/components/Auth/SignInForm/SignInForm.cjs +2 -0
- package/dist/components/Auth/SignInForm/SignInForm.cjs.map +1 -1
- package/dist/components/Auth/SignInForm/SignInForm.d.ts.map +1 -1
- package/dist/components/Auth/SignInForm/SignInForm.mjs +2 -0
- package/dist/components/Auth/SignInForm/SignInForm.mjs.map +1 -1
- package/dist/components/Button/Button.cjs +7 -7
- package/dist/components/Button/Button.cjs.map +1 -1
- package/dist/components/Button/Button.mjs +7 -7
- package/dist/components/Button/Button.mjs.map +1 -1
- package/dist/components/DictionaryEditor/DictionaryEditor.cjs +9 -6
- package/dist/components/DictionaryEditor/DictionaryEditor.cjs.map +1 -1
- package/dist/components/DictionaryEditor/DictionaryEditor.d.ts.map +1 -1
- package/dist/components/DictionaryEditor/DictionaryEditor.mjs +9 -6
- package/dist/components/DictionaryEditor/DictionaryEditor.mjs.map +1 -1
- package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.cjs +3 -2
- package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.cjs.map +1 -1
- package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.d.ts.map +1 -1
- package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.mjs +3 -2
- package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.mjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.cjs +6 -3
- package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.cjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.d.ts.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.mjs +6 -3
- package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.mjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs +3 -2
- package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.d.ts.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +3 -2
- package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/EditorView/EditorView.cjs +12 -9
- package/dist/components/DictionaryFieldEditor/EditorView/EditorView.cjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/EditorView/EditorView.d.ts.map +1 -1
- package/dist/components/DictionaryFieldEditor/EditorView/EditorView.mjs +12 -9
- package/dist/components/DictionaryFieldEditor/EditorView/EditorView.mjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.cjs +13 -4
- package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.cjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.d.ts.map +1 -1
- package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.mjs +13 -4
- package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.mjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/JSONEditor.cjs +7 -4
- package/dist/components/DictionaryFieldEditor/JSONEditor.cjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/JSONEditor.d.ts.map +1 -1
- package/dist/components/DictionaryFieldEditor/JSONEditor.mjs +7 -4
- package/dist/components/DictionaryFieldEditor/JSONEditor.mjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.cjs +10 -3
- package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.cjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.d.ts.map +1 -1
- package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +10 -3
- package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/NodeEditor.cjs +10 -7
- package/dist/components/DictionaryFieldEditor/NodeEditor.cjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/NodeEditor.d.ts.map +1 -1
- package/dist/components/DictionaryFieldEditor/NodeEditor.mjs +10 -7
- package/dist/components/DictionaryFieldEditor/NodeEditor.mjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/NodeTypeSelector.cjs +6 -3
- package/dist/components/DictionaryFieldEditor/NodeTypeSelector.cjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/NodeTypeSelector.d.ts.map +1 -1
- package/dist/components/DictionaryFieldEditor/NodeTypeSelector.mjs +6 -3
- package/dist/components/DictionaryFieldEditor/NodeTypeSelector.mjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs +3 -2
- package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.d.ts.map +1 -1
- package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +3 -2
- package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
- package/dist/components/Input/Input.cjs +2 -2
- package/dist/components/Input/Input.cjs.map +1 -1
- package/dist/components/Input/Input.mjs +2 -2
- package/dist/components/Input/Input.mjs.map +1 -1
- package/dist/components/Link/Link.cjs +1 -1
- package/dist/components/Link/Link.cjs.map +1 -1
- package/dist/components/Link/Link.mjs +1 -1
- package/dist/components/Link/Link.mjs.map +1 -1
- package/dist/components/RightDrawer/RightDrawer.cjs +19 -5
- package/dist/components/RightDrawer/RightDrawer.cjs.map +1 -1
- package/dist/components/RightDrawer/RightDrawer.d.ts +2 -0
- package/dist/components/RightDrawer/RightDrawer.d.ts.map +1 -1
- package/dist/components/RightDrawer/RightDrawer.mjs +19 -5
- package/dist/components/RightDrawer/RightDrawer.mjs.map +1 -1
- package/dist/components/RightDrawer/index.cjs +0 -1
- package/dist/components/RightDrawer/index.cjs.map +1 -1
- package/dist/components/RightDrawer/index.mjs +1 -2
- package/dist/components/RightDrawer/useRightDrawerStore.cjs +11 -10
- package/dist/components/RightDrawer/useRightDrawerStore.cjs.map +1 -1
- package/dist/components/RightDrawer/useRightDrawerStore.d.ts +2 -2
- package/dist/components/RightDrawer/useRightDrawerStore.d.ts.map +1 -1
- package/dist/components/RightDrawer/useRightDrawerStore.mjs +11 -10
- package/dist/components/RightDrawer/useRightDrawerStore.mjs.map +1 -1
- package/dist/components/index.cjs +0 -1
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.mjs +1 -2
- package/dist/hooks/intlayerAPIHooks.cjs +2 -2
- package/dist/hooks/intlayerAPIHooks.cjs.map +1 -1
- package/dist/hooks/intlayerAPIHooks.d.ts.map +1 -1
- package/dist/hooks/intlayerAPIHooks.mjs +2 -2
- package/dist/hooks/intlayerAPIHooks.mjs.map +1 -1
- package/dist/hooks/useAsync/useAsync.cjs +3 -46
- package/dist/hooks/useAsync/useAsync.cjs.map +1 -1
- package/dist/hooks/useAsync/useAsync.mjs +3 -46
- package/dist/hooks/useAsync/useAsync.mjs.map +1 -1
- package/dist/shallow-lhDIFtEp.cjs +48 -0
- package/dist/shallow-lhDIFtEp.cjs.map +1 -0
- package/dist/shallow-m9BpCkKh.js +49 -0
- package/dist/shallow-m9BpCkKh.js.map +1 -0
- package/dist/tailwind.css +1 -1
- package/package.json +14 -14
|
@@ -1,50 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import
|
|
2
|
+
import { useRef, useCallback, useEffect, useMemo } from "react";
|
|
3
|
+
import { u as useShallow } from "../../shallow-m9BpCkKh.js";
|
|
3
4
|
import { useAsyncStateStore } from "./useAsyncStateStore.mjs";
|
|
4
|
-
function shallow(objA, objB) {
|
|
5
|
-
if (Object.is(objA, objB)) {
|
|
6
|
-
return true;
|
|
7
|
-
}
|
|
8
|
-
if (typeof objA !== "object" || objA === null || typeof objB !== "object" || objB === null) {
|
|
9
|
-
return false;
|
|
10
|
-
}
|
|
11
|
-
if (objA instanceof Map && objB instanceof Map) {
|
|
12
|
-
if (objA.size !== objB.size) return false;
|
|
13
|
-
for (const [key, value] of objA) {
|
|
14
|
-
if (!Object.is(value, objB.get(key))) {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
if (objA instanceof Set && objB instanceof Set) {
|
|
21
|
-
if (objA.size !== objB.size) return false;
|
|
22
|
-
for (const value of objA) {
|
|
23
|
-
if (!objB.has(value)) {
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return true;
|
|
28
|
-
}
|
|
29
|
-
const keysA = Object.keys(objA);
|
|
30
|
-
if (keysA.length !== Object.keys(objB).length) {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
for (const keyA of keysA) {
|
|
34
|
-
if (!Object.prototype.hasOwnProperty.call(objB, keyA) || !Object.is(objA[keyA], objB[keyA])) {
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
const { useRef } = require$$0;
|
|
41
|
-
function useShallow(selector) {
|
|
42
|
-
const prev = useRef();
|
|
43
|
-
return (state) => {
|
|
44
|
-
const next = selector(state);
|
|
45
|
-
return shallow(prev.current, next) ? prev.current : prev.current = next;
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
5
|
const pendingPromises = /* @__PURE__ */ new Map();
|
|
49
6
|
const DEFAULT_CACHE_ENABLED = false;
|
|
50
7
|
const DEFAULT_STORE_ENABLED = false;
|
|
@@ -77,7 +34,7 @@ const useAsync = (key, asyncFunction, options) => {
|
|
|
77
34
|
makeQueryInError: state.makeQueryInError
|
|
78
35
|
}))
|
|
79
36
|
);
|
|
80
|
-
const storedArgsRef = useRef
|
|
37
|
+
const storedArgsRef = useRef(args);
|
|
81
38
|
const keyWithArgs = getKeyWithArgs(key, storedArgsRef.current);
|
|
82
39
|
const {
|
|
83
40
|
isFetched,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAsync.mjs","sources":["../../../../../../node_modules/.pnpm/zustand@4.5.5_@types+react@18.3.12_immer@9.0.21_react@18.3.1/node_modules/zustand/esm/react/shallow.mjs","../../../src/hooks/useAsync/useAsync.ts"],"sourcesContent":["import ReactExports from 'react';\n\nfunction shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n if (objA instanceof Map && objB instanceof Map) {\n if (objA.size !== objB.size) return false;\n for (const [key, value] of objA) {\n if (!Object.is(value, objB.get(key))) {\n return false;\n }\n }\n return true;\n }\n if (objA instanceof Set && objB instanceof Set) {\n if (objA.size !== objB.size) return false;\n for (const value of objA) {\n if (!objB.has(value)) {\n return false;\n }\n }\n return true;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (const keyA of keysA) {\n if (!Object.prototype.hasOwnProperty.call(objB, keyA) || !Object.is(objA[keyA], objB[keyA])) {\n return false;\n }\n }\n return true;\n}\n\nconst { useRef } = ReactExports;\nfunction useShallow(selector) {\n const prev = useRef();\n return (state) => {\n const next = selector(state);\n return shallow(prev.current, next) ? prev.current : prev.current = next;\n };\n}\n\nexport { useShallow };\n","'use client';\n\n// This is an ESLint directive to disable specific rules.\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { useShallow } from 'zustand/react/shallow';\nimport { useAsyncStateStore } from './useAsyncStateStore';\n\n// Pending promises cache to prevent parallel requests when multiple components use the hook\nconst pendingPromises = new Map();\n\n// Defines the base structure for the result of the custom hook.\ntype UseAsyncResultBase<T extends (...args: any[]) => Promise<any>> = {\n isFetched: boolean;\n isLoading: boolean;\n isInvalidated: boolean;\n isSuccess: boolean;\n isDisabled: boolean;\n error: string | null;\n data: Awaited<ReturnType<T>> | null;\n retryCount: number;\n revalidate: T;\n setData: (data: Awaited<ReturnType<T> | null>) => void;\n};\n\n// Options type for the hook, allowing customization of behavior.\nexport type UseAsyncOptions<T extends (...args: any[]) => Promise<any>> = {\n retryLimit?: number; // The number of times the hook should retry the function on failure before giving up\n retryTime?: number; // Time in milliseconds for retrying the data\n cache?: boolean; // Cache the result of the function using zustand\n store?: boolean; // Store the result of the function in session storage\n enable?: boolean; // Enable the hook\n autoFetch?: boolean; // Automatically fetch the data when the hook is mounted\n revalidation?: boolean; // Enable revalidation\n revalidateTime?: number; // Time in milliseconds for revalidating the data\n invalidateQueries?: string[]; // Invalidate other queries when the data is updated\n updateQueries?: string[]; // Update other queries when the data is updated\n onSuccess?: (data: Awaited<ReturnType<T>>) => void; // Callback function that is called when the asynchronous function resolves successfully\n onError?: (error: string) => void; // Callback function that is called when the asynchronous function rejects or encounters an error\n args?: Parameters<T>; // Arguments to pass to the asynchronous function\n};\n\n// Default values for the hook's options\nconst DEFAULT_CACHE_ENABLED = false;\nconst DEFAULT_STORE_ENABLED = false;\nconst DEFAULT_ENABLED = true;\nconst DEFAULT_AUTO_FETCH = false;\nconst DEFAULT_RETRY_LIMIT = 1;\nconst DEFAULT_REVALIDATION_ENABLED = false;\nconst DEFAULT_REVALIDATE_TIME = 5 * 60 * 1000; // 5 minutes\nconst DEFAULT_RETRY_TIME = 5 * 60 * 1000; // 5 minutes\n\n// The main hook type that includes the async function along with its additional properties.\nexport type UseAsyncResult<\n U extends string,\n T extends (...args: any[]) => Promise<any>,\n> = UseAsyncResultBase<T> & Record<U, T>;\n\nconst getArgs = (args?: any[]): any[] =>\n args ? (Array.isArray(args) ? args : [args]) : [];\n\nconst getKeyWithArgs = (key: string, args: any[]) =>\n getArgs(args).length > 0 ? `${key}/${JSON.stringify(args)}` : key;\n\n/**\n * A custom React hook that manages asynchronous operations, providing easy-to-use states and controls over fetching, caching, and retry mechanisms.\n * This hook abstracts away the complexity of handling loading, error, and success states for any asynchronous function.\n *\n * @template U - A string type that extends the keys of the async function, used as a key to store and retrieve state.\n * @template T - A function type that must return a Promise, representing the asynchronous operation to be managed.\n *\n * @param {U} key - A unique identifier for the async operation, used to handle state internally and avoid conflicts.\n * @param {T} asyncFunction - The asynchronous function that will be managed by this hook. This function should return a Promise.\n * @param {UseAsyncOptions<T>} [options] - Optional configuration options to customize the behavior of the hook.\n * @returns {UseAsyncResult<U, T>} The states and controls related to the managed async function. Includes states like isLoading, isSuccess, and provides control methods like revalidate and setData.\n *\n * @typedef {Object} UseAsyncOptions\n * @property {number} [retryTime=300000] - Time in milliseconds for retrying the data after an error occurs.\n * @property {number} [retryLimit=1] - The number of times the hook should retry the asynchronous function on failure before giving up.\n * @property {boolean} [revalidation=false] - Enable revalidation.\n * @property {number} [revalidateTime=300000] - Time in milliseconds after which the cached data is considered stale and the async function is re-invoked, if caching is enabled.\n * @property {boolean} [cache=false] - Whether to cache the result of the async function. When enabled, revalidation is controlled by `revalidateTime`.\n * @property {boolean} [store=false] - Store the result of the function in session storage.\n * @property {boolean} [autoFetch=false] - Whether the hook should automatically invoke the asynchronous function on mount.\n * @property {number} [revalidateTime=300000] - Time in milliseconds after which the cached data is considered stale and the async function is re-invoked, if caching is enabled.\n * @property {string[]} [updateQueries=[]] - Update other queries when the data is updated.\n * @property {string[]} [invalidateQueries=[]] - Invalidate other queries when the data is updated.\n * @property {(data: Awaited<ReturnType<T>>) => void} [onSuccess] - Callback function that is called when the asynchronous function resolves successfully.\n * @property {(error: string) => void} [onError] - Callback function that is called when the asynchronous function rejects or encounters an error.\n * @property {Parameters<T>} [args=[]] - Arguments to pass to the asynchronous function.\n *\n *\n * @example\n * // Example of using useAsync to manage fetching user data from an API.\n * const fetchUserData = async (userId) => {\n * const response = await fetch(`/api/users/${userId}`);\n * if (!response.ok) throw new Error('Failed to fetch');\n * return await response.json();\n * };\n *\n * const UserDetails = ({ userId }) => {\n * const {\n * isLoading,\n * data,\n * error,\n * revalidate,\n * } = useAsync('userDetails', fetchUserData, {\n * cache: true,\n * revalidateTime: 60000, // 1 minute\n * autoFetch: true,\n * onSuccess: (data) => console.log('User data fetched successfully:', data),\n * onError: (error) => console.error('Error fetching user data:', error),\n * });\n *\n * if (isLoading) return <div>Loading...</div>;\n * if (error) return <div>Error: {error}</div>;\n * return (\n * <div>\n * <h1>{data.name}</h1>\n * <button onClick={() => revalidate()}>Refresh</button>\n * </div>\n * );\n * };\n */\nexport const useAsync = <\n U extends string,\n T extends (...args: any[]) => Promise<any>,\n>(\n key: U,\n asyncFunction: T,\n options?: UseAsyncOptions<T>\n): UseAsyncResult<U, T> => {\n // Resolving optional parameters with default values\n const retryLimit = options?.retryLimit ?? DEFAULT_RETRY_LIMIT;\n const autoFetch = options?.autoFetch ?? DEFAULT_AUTO_FETCH;\n const retryTime = options?.retryTime ?? DEFAULT_RETRY_TIME;\n const cacheEnabled = options?.cache ?? DEFAULT_CACHE_ENABLED;\n const storeEnabled = options?.store ?? DEFAULT_STORE_ENABLED;\n const enabled = options?.enable ?? DEFAULT_ENABLED;\n const revalidationEnabled =\n options?.revalidation ?? DEFAULT_REVALIDATION_ENABLED;\n const revalidateTime = options?.revalidateTime ?? DEFAULT_REVALIDATE_TIME;\n const updateQueries = options?.updateQueries ?? [];\n const invalidateQueries = options?.invalidateQueries ?? [];\n const onSuccess = options?.onSuccess;\n const onError = options?.onError;\n const args = getArgs(options?.args ?? []);\n\n // Using a custom hook to manage state specific to asynchronous operations\n const { setQueryState, setQueriesState, makeQueryInError } =\n useAsyncStateStore(\n useShallow((state) => ({\n setQueryState: state.setQueryState,\n setQueriesState: state.setQueriesState,\n makeQueryInError: state.makeQueryInError,\n }))\n );\n\n // Storing the last arguments used to call the async function\n const storedArgsRef = useRef<any[]>(args);\n\n // Apply different key for different requests\n const keyWithArgs = getKeyWithArgs(key, storedArgsRef.current);\n\n // Retrieving the current state of async operations using the same custom hook\n const {\n isFetched,\n fetchedDateTime,\n isLoading,\n isEnabled,\n error,\n isSuccess,\n isInvalidated,\n data,\n retryCount: errorCount,\n } = useAsyncStateStore(useShallow((state) => state.getStates(keyWithArgs)));\n\n // The core fetching function, designed to be called directly or automatically based on configuration\n const fetch: T = useCallback<T>(\n (async (...args) => {\n const keyWithArgs = getKeyWithArgs(key, args);\n\n if (pendingPromises.has(keyWithArgs)) {\n // Return the existing pending promise\n return pendingPromises.get(keyWithArgs);\n }\n\n const promise = (async () => {\n setQueryState(keyWithArgs, { isLoading: true });\n let response = null;\n\n await asyncFunction(...args)\n .then((result) => {\n response = result;\n\n setQueryState(keyWithArgs, {\n data: result,\n retryCount: 0,\n isLoading: false,\n isFetched: true,\n isSuccess: true,\n isInvalidated: false,\n error: null,\n });\n\n onSuccess?.(result);\n\n // Invalidate other queries if necessary\n if (invalidateQueries.length > 0) {\n setQueriesState(invalidateQueries, {\n isInvalidated: true,\n });\n }\n\n // Update other queries if necessary\n if (updateQueries.length > 0) {\n setQueriesState(updateQueries, {\n data: result,\n });\n }\n\n // Store the result in session storage\n if (storeEnabled) {\n sessionStorage.setItem(keyWithArgs, JSON.stringify(result));\n }\n })\n .catch((error) => {\n makeQueryInError(keyWithArgs, error.message);\n onError?.(error.message);\n })\n .finally(() => {\n // Remove the pending promise from the cache\n pendingPromises.delete(keyWithArgs);\n });\n\n return response;\n })();\n\n // Store the pending promise in the cache\n pendingPromises.set(keyWithArgs, promise);\n\n return await promise;\n }) as T,\n [asyncFunction, keyWithArgs, storeEnabled, cacheEnabled, onSuccess, onError]\n );\n\n // Wrapped execution function to handle disabled state and check for success before re-fetching\n const execute: T = useCallback<T>(\n (async (...args) => {\n if (!isEnabled || !enabled) return;\n if (isLoading) return;\n if (!isInvalidated && isSuccess && cacheEnabled && data) return data;\n\n if (args) {\n storedArgsRef.current = getArgs(...args);\n }\n\n return await fetch(...args);\n }) as T,\n [\n isEnabled,\n enabled,\n isInvalidated,\n cacheEnabled,\n isSuccess,\n data,\n isLoading,\n fetch,\n ]\n );\n\n // Function to revalidate the data when necessary\n const revalidate: T = useCallback<T>(\n (async (...args) => {\n if (!isEnabled || !enabled) return;\n\n if (args) {\n storedArgsRef.current = getArgs(...args);\n }\n\n const result = await fetch(...storedArgsRef.current);\n\n return result;\n }) as T,\n [isEnabled, enabled, storedArgsRef, fetch]\n );\n\n const autoRevalidate = useCallback(async () => {\n if (!isEnabled || !enabled) return;\n if (isLoading) return;\n if (!(cacheEnabled || storeEnabled)) return;\n if (!isSuccess) return;\n if (!revalidationEnabled || revalidateTime <= 0) return;\n if (!fetchedDateTime) return;\n\n const now = new Date().getTime();\n const lastFetchedTime = new Date(fetchedDateTime).getTime();\n const shouldRevalidate = now - lastFetchedTime >= revalidateTime;\n if (shouldRevalidate) {\n return await fetch(...storedArgsRef.current);\n }\n }, [\n cacheEnabled,\n revalidationEnabled,\n revalidateTime,\n isSuccess,\n fetchedDateTime,\n isLoading,\n isEnabled,\n enabled,\n ]);\n\n useEffect(() => {\n if (enabled !== isEnabled) {\n setQueryState(keyWithArgs, {\n isEnabled,\n });\n }\n }, [enabled, isEnabled, keyWithArgs]);\n\n // Auto-fetch data on hook mount if autoFetch is true\n useEffect(() => {\n if (!autoFetch) return;\n if (!isEnabled || !enabled) return;\n if (isFetched && !isInvalidated) return;\n if (isLoading) return;\n\n fetch(...storedArgsRef.current);\n }, [\n autoFetch,\n isFetched,\n isInvalidated,\n isEnabled,\n enabled,\n isLoading,\n fetch,\n ]);\n\n // Handle retry based on conditions set in options\n useEffect(() => {\n const isRetryEnabled = errorCount > 0 && retryLimit > 0;\n const isRetryLimitReached = errorCount >= retryLimit;\n if (!isEnabled || !enabled) return;\n if (!(cacheEnabled || storeEnabled)) return;\n if (!isRetryEnabled || isRetryLimitReached) return;\n if (isSuccess) return;\n if (isLoading) return;\n\n const timeOut = setTimeout(() => {\n fetch(...storedArgsRef.current);\n }, retryTime);\n\n return () => clearTimeout(timeOut);\n }, [\n fetch,\n errorCount,\n retryLimit,\n retryTime,\n isSuccess,\n isEnabled,\n enabled,\n isLoading,\n cacheEnabled,\n storeEnabled,\n ]);\n\n // Handle periodic revalidation if caching is enabled\n useEffect(() => {\n const interval = setInterval(autoRevalidate, revalidateTime);\n\n return () => clearInterval(interval);\n }, [autoRevalidate, revalidateTime]);\n\n // Load data from session storage if storeEnabled is true\n useEffect(() => {\n if (!isEnabled || !enabled) return;\n if (!storeEnabled) return;\n if (isInvalidated) return;\n if (isFetched) return;\n if (data) return;\n\n const storedData = sessionStorage.getItem(keyWithArgs);\n\n if (storedData && JSON.stringify(storedData) !== JSON.stringify(data)) {\n setQueryState(keyWithArgs, {\n data: JSON.parse(storedData),\n });\n }\n }, [\n storeEnabled,\n keyWithArgs,\n isFetched,\n isInvalidated,\n isEnabled,\n enabled,\n data,\n ]);\n\n // Memoization of the setData function to prevent unnecessary re-renders\n const setDataMemo = useCallback(\n (data: Awaited<ReturnType<T> | null>) => {\n setQueryState(keyWithArgs, {\n data,\n });\n },\n [keyWithArgs]\n );\n\n const memoResult = useMemo(\n () => ({\n isFetched,\n isLoading,\n isInvalidated,\n error,\n isSuccess,\n data,\n retryCount: errorCount,\n isDisabled: !isEnabled,\n isEnabled,\n [key]: execute,\n revalidate,\n setData: setDataMemo,\n }),\n [\n isFetched,\n isLoading,\n isInvalidated,\n error,\n isSuccess,\n data,\n errorCount,\n isEnabled,\n key,\n execute,\n revalidate,\n setDataMemo,\n ]\n );\n\n // Return the hook's result, including all state and control functions\n return memoResult as UseAsyncResultBase<T> & Record<U, T>;\n};\n"],"names":["ReactExports","useRef","args","keyWithArgs","error","data"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"useAsync.mjs","sources":["../../../src/hooks/useAsync/useAsync.ts"],"sourcesContent":["'use client';\n\n// This is an ESLint directive to disable specific rules.\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { useShallow } from 'zustand/react/shallow';\nimport { useAsyncStateStore } from './useAsyncStateStore';\n\n// Pending promises cache to prevent parallel requests when multiple components use the hook\nconst pendingPromises = new Map();\n\n// Defines the base structure for the result of the custom hook.\ntype UseAsyncResultBase<T extends (...args: any[]) => Promise<any>> = {\n isFetched: boolean;\n isLoading: boolean;\n isInvalidated: boolean;\n isSuccess: boolean;\n isDisabled: boolean;\n error: string | null;\n data: Awaited<ReturnType<T>> | null;\n retryCount: number;\n revalidate: T;\n setData: (data: Awaited<ReturnType<T> | null>) => void;\n};\n\n// Options type for the hook, allowing customization of behavior.\nexport type UseAsyncOptions<T extends (...args: any[]) => Promise<any>> = {\n retryLimit?: number; // The number of times the hook should retry the function on failure before giving up\n retryTime?: number; // Time in milliseconds for retrying the data\n cache?: boolean; // Cache the result of the function using zustand\n store?: boolean; // Store the result of the function in session storage\n enable?: boolean; // Enable the hook\n autoFetch?: boolean; // Automatically fetch the data when the hook is mounted\n revalidation?: boolean; // Enable revalidation\n revalidateTime?: number; // Time in milliseconds for revalidating the data\n invalidateQueries?: string[]; // Invalidate other queries when the data is updated\n updateQueries?: string[]; // Update other queries when the data is updated\n onSuccess?: (data: Awaited<ReturnType<T>>) => void; // Callback function that is called when the asynchronous function resolves successfully\n onError?: (error: string) => void; // Callback function that is called when the asynchronous function rejects or encounters an error\n args?: Parameters<T>; // Arguments to pass to the asynchronous function\n};\n\n// Default values for the hook's options\nconst DEFAULT_CACHE_ENABLED = false;\nconst DEFAULT_STORE_ENABLED = false;\nconst DEFAULT_ENABLED = true;\nconst DEFAULT_AUTO_FETCH = false;\nconst DEFAULT_RETRY_LIMIT = 1;\nconst DEFAULT_REVALIDATION_ENABLED = false;\nconst DEFAULT_REVALIDATE_TIME = 5 * 60 * 1000; // 5 minutes\nconst DEFAULT_RETRY_TIME = 5 * 60 * 1000; // 5 minutes\n\n// The main hook type that includes the async function along with its additional properties.\nexport type UseAsyncResult<\n U extends string,\n T extends (...args: any[]) => Promise<any>,\n> = UseAsyncResultBase<T> & Record<U, T>;\n\nconst getArgs = (args?: any[]): any[] =>\n args ? (Array.isArray(args) ? args : [args]) : [];\n\nconst getKeyWithArgs = (key: string, args: any[]) =>\n getArgs(args).length > 0 ? `${key}/${JSON.stringify(args)}` : key;\n\n/**\n * A custom React hook that manages asynchronous operations, providing easy-to-use states and controls over fetching, caching, and retry mechanisms.\n * This hook abstracts away the complexity of handling loading, error, and success states for any asynchronous function.\n *\n * @template U - A string type that extends the keys of the async function, used as a key to store and retrieve state.\n * @template T - A function type that must return a Promise, representing the asynchronous operation to be managed.\n *\n * @param {U} key - A unique identifier for the async operation, used to handle state internally and avoid conflicts.\n * @param {T} asyncFunction - The asynchronous function that will be managed by this hook. This function should return a Promise.\n * @param {UseAsyncOptions<T>} [options] - Optional configuration options to customize the behavior of the hook.\n * @returns {UseAsyncResult<U, T>} The states and controls related to the managed async function. Includes states like isLoading, isSuccess, and provides control methods like revalidate and setData.\n *\n * @typedef {Object} UseAsyncOptions\n * @property {number} [retryTime=300000] - Time in milliseconds for retrying the data after an error occurs.\n * @property {number} [retryLimit=1] - The number of times the hook should retry the asynchronous function on failure before giving up.\n * @property {boolean} [revalidation=false] - Enable revalidation.\n * @property {number} [revalidateTime=300000] - Time in milliseconds after which the cached data is considered stale and the async function is re-invoked, if caching is enabled.\n * @property {boolean} [cache=false] - Whether to cache the result of the async function. When enabled, revalidation is controlled by `revalidateTime`.\n * @property {boolean} [store=false] - Store the result of the function in session storage.\n * @property {boolean} [autoFetch=false] - Whether the hook should automatically invoke the asynchronous function on mount.\n * @property {number} [revalidateTime=300000] - Time in milliseconds after which the cached data is considered stale and the async function is re-invoked, if caching is enabled.\n * @property {string[]} [updateQueries=[]] - Update other queries when the data is updated.\n * @property {string[]} [invalidateQueries=[]] - Invalidate other queries when the data is updated.\n * @property {(data: Awaited<ReturnType<T>>) => void} [onSuccess] - Callback function that is called when the asynchronous function resolves successfully.\n * @property {(error: string) => void} [onError] - Callback function that is called when the asynchronous function rejects or encounters an error.\n * @property {Parameters<T>} [args=[]] - Arguments to pass to the asynchronous function.\n *\n *\n * @example\n * // Example of using useAsync to manage fetching user data from an API.\n * const fetchUserData = async (userId) => {\n * const response = await fetch(`/api/users/${userId}`);\n * if (!response.ok) throw new Error('Failed to fetch');\n * return await response.json();\n * };\n *\n * const UserDetails = ({ userId }) => {\n * const {\n * isLoading,\n * data,\n * error,\n * revalidate,\n * } = useAsync('userDetails', fetchUserData, {\n * cache: true,\n * revalidateTime: 60000, // 1 minute\n * autoFetch: true,\n * onSuccess: (data) => console.log('User data fetched successfully:', data),\n * onError: (error) => console.error('Error fetching user data:', error),\n * });\n *\n * if (isLoading) return <div>Loading...</div>;\n * if (error) return <div>Error: {error}</div>;\n * return (\n * <div>\n * <h1>{data.name}</h1>\n * <button onClick={() => revalidate()}>Refresh</button>\n * </div>\n * );\n * };\n */\nexport const useAsync = <\n U extends string,\n T extends (...args: any[]) => Promise<any>,\n>(\n key: U,\n asyncFunction: T,\n options?: UseAsyncOptions<T>\n): UseAsyncResult<U, T> => {\n // Resolving optional parameters with default values\n const retryLimit = options?.retryLimit ?? DEFAULT_RETRY_LIMIT;\n const autoFetch = options?.autoFetch ?? DEFAULT_AUTO_FETCH;\n const retryTime = options?.retryTime ?? DEFAULT_RETRY_TIME;\n const cacheEnabled = options?.cache ?? DEFAULT_CACHE_ENABLED;\n const storeEnabled = options?.store ?? DEFAULT_STORE_ENABLED;\n const enabled = options?.enable ?? DEFAULT_ENABLED;\n const revalidationEnabled =\n options?.revalidation ?? DEFAULT_REVALIDATION_ENABLED;\n const revalidateTime = options?.revalidateTime ?? DEFAULT_REVALIDATE_TIME;\n const updateQueries = options?.updateQueries ?? [];\n const invalidateQueries = options?.invalidateQueries ?? [];\n const onSuccess = options?.onSuccess;\n const onError = options?.onError;\n const args = getArgs(options?.args ?? []);\n\n // Using a custom hook to manage state specific to asynchronous operations\n const { setQueryState, setQueriesState, makeQueryInError } =\n useAsyncStateStore(\n useShallow((state) => ({\n setQueryState: state.setQueryState,\n setQueriesState: state.setQueriesState,\n makeQueryInError: state.makeQueryInError,\n }))\n );\n\n // Storing the last arguments used to call the async function\n const storedArgsRef = useRef<any[]>(args);\n\n // Apply different key for different requests\n const keyWithArgs = getKeyWithArgs(key, storedArgsRef.current);\n\n // Retrieving the current state of async operations using the same custom hook\n const {\n isFetched,\n fetchedDateTime,\n isLoading,\n isEnabled,\n error,\n isSuccess,\n isInvalidated,\n data,\n retryCount: errorCount,\n } = useAsyncStateStore(useShallow((state) => state.getStates(keyWithArgs)));\n\n // The core fetching function, designed to be called directly or automatically based on configuration\n const fetch: T = useCallback<T>(\n (async (...args) => {\n const keyWithArgs = getKeyWithArgs(key, args);\n\n if (pendingPromises.has(keyWithArgs)) {\n // Return the existing pending promise\n return pendingPromises.get(keyWithArgs);\n }\n\n const promise = (async () => {\n setQueryState(keyWithArgs, { isLoading: true });\n let response = null;\n\n await asyncFunction(...args)\n .then((result) => {\n response = result;\n\n setQueryState(keyWithArgs, {\n data: result,\n retryCount: 0,\n isLoading: false,\n isFetched: true,\n isSuccess: true,\n isInvalidated: false,\n error: null,\n });\n\n onSuccess?.(result);\n\n // Invalidate other queries if necessary\n if (invalidateQueries.length > 0) {\n setQueriesState(invalidateQueries, {\n isInvalidated: true,\n });\n }\n\n // Update other queries if necessary\n if (updateQueries.length > 0) {\n setQueriesState(updateQueries, {\n data: result,\n });\n }\n\n // Store the result in session storage\n if (storeEnabled) {\n sessionStorage.setItem(keyWithArgs, JSON.stringify(result));\n }\n })\n .catch((error) => {\n makeQueryInError(keyWithArgs, error.message);\n onError?.(error.message);\n })\n .finally(() => {\n // Remove the pending promise from the cache\n pendingPromises.delete(keyWithArgs);\n });\n\n return response;\n })();\n\n // Store the pending promise in the cache\n pendingPromises.set(keyWithArgs, promise);\n\n return await promise;\n }) as T,\n [asyncFunction, keyWithArgs, storeEnabled, cacheEnabled, onSuccess, onError]\n );\n\n // Wrapped execution function to handle disabled state and check for success before re-fetching\n const execute: T = useCallback<T>(\n (async (...args) => {\n if (!isEnabled || !enabled) return;\n if (isLoading) return;\n if (!isInvalidated && isSuccess && cacheEnabled && data) return data;\n\n if (args) {\n storedArgsRef.current = getArgs(...args);\n }\n\n return await fetch(...args);\n }) as T,\n [\n isEnabled,\n enabled,\n isInvalidated,\n cacheEnabled,\n isSuccess,\n data,\n isLoading,\n fetch,\n ]\n );\n\n // Function to revalidate the data when necessary\n const revalidate: T = useCallback<T>(\n (async (...args) => {\n if (!isEnabled || !enabled) return;\n\n if (args) {\n storedArgsRef.current = getArgs(...args);\n }\n\n const result = await fetch(...storedArgsRef.current);\n\n return result;\n }) as T,\n [isEnabled, enabled, storedArgsRef, fetch]\n );\n\n const autoRevalidate = useCallback(async () => {\n if (!isEnabled || !enabled) return;\n if (isLoading) return;\n if (!(cacheEnabled || storeEnabled)) return;\n if (!isSuccess) return;\n if (!revalidationEnabled || revalidateTime <= 0) return;\n if (!fetchedDateTime) return;\n\n const now = new Date().getTime();\n const lastFetchedTime = new Date(fetchedDateTime).getTime();\n const shouldRevalidate = now - lastFetchedTime >= revalidateTime;\n if (shouldRevalidate) {\n return await fetch(...storedArgsRef.current);\n }\n }, [\n cacheEnabled,\n revalidationEnabled,\n revalidateTime,\n isSuccess,\n fetchedDateTime,\n isLoading,\n isEnabled,\n enabled,\n ]);\n\n useEffect(() => {\n if (enabled !== isEnabled) {\n setQueryState(keyWithArgs, {\n isEnabled,\n });\n }\n }, [enabled, isEnabled, keyWithArgs]);\n\n // Auto-fetch data on hook mount if autoFetch is true\n useEffect(() => {\n if (!autoFetch) return;\n if (!isEnabled || !enabled) return;\n if (isFetched && !isInvalidated) return;\n if (isLoading) return;\n\n fetch(...storedArgsRef.current);\n }, [\n autoFetch,\n isFetched,\n isInvalidated,\n isEnabled,\n enabled,\n isLoading,\n fetch,\n ]);\n\n // Handle retry based on conditions set in options\n useEffect(() => {\n const isRetryEnabled = errorCount > 0 && retryLimit > 0;\n const isRetryLimitReached = errorCount >= retryLimit;\n if (!isEnabled || !enabled) return;\n if (!(cacheEnabled || storeEnabled)) return;\n if (!isRetryEnabled || isRetryLimitReached) return;\n if (isSuccess) return;\n if (isLoading) return;\n\n const timeOut = setTimeout(() => {\n fetch(...storedArgsRef.current);\n }, retryTime);\n\n return () => clearTimeout(timeOut);\n }, [\n fetch,\n errorCount,\n retryLimit,\n retryTime,\n isSuccess,\n isEnabled,\n enabled,\n isLoading,\n cacheEnabled,\n storeEnabled,\n ]);\n\n // Handle periodic revalidation if caching is enabled\n useEffect(() => {\n const interval = setInterval(autoRevalidate, revalidateTime);\n\n return () => clearInterval(interval);\n }, [autoRevalidate, revalidateTime]);\n\n // Load data from session storage if storeEnabled is true\n useEffect(() => {\n if (!isEnabled || !enabled) return;\n if (!storeEnabled) return;\n if (isInvalidated) return;\n if (isFetched) return;\n if (data) return;\n\n const storedData = sessionStorage.getItem(keyWithArgs);\n\n if (storedData && JSON.stringify(storedData) !== JSON.stringify(data)) {\n setQueryState(keyWithArgs, {\n data: JSON.parse(storedData),\n });\n }\n }, [\n storeEnabled,\n keyWithArgs,\n isFetched,\n isInvalidated,\n isEnabled,\n enabled,\n data,\n ]);\n\n // Memoization of the setData function to prevent unnecessary re-renders\n const setDataMemo = useCallback(\n (data: Awaited<ReturnType<T> | null>) => {\n setQueryState(keyWithArgs, {\n data,\n });\n },\n [keyWithArgs]\n );\n\n const memoResult = useMemo(\n () => ({\n isFetched,\n isLoading,\n isInvalidated,\n error,\n isSuccess,\n data,\n retryCount: errorCount,\n isDisabled: !isEnabled,\n isEnabled,\n [key]: execute,\n revalidate,\n setData: setDataMemo,\n }),\n [\n isFetched,\n isLoading,\n isInvalidated,\n error,\n isSuccess,\n data,\n errorCount,\n isEnabled,\n key,\n execute,\n revalidate,\n setDataMemo,\n ]\n );\n\n // Return the hook's result, including all state and control functions\n return memoResult as UseAsyncResultBase<T> & Record<U, T>;\n};\n"],"names":["args","keyWithArgs","error","data"],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const require$$0 = require("react");
|
|
3
|
+
function shallow(objA, objB) {
|
|
4
|
+
if (Object.is(objA, objB)) {
|
|
5
|
+
return true;
|
|
6
|
+
}
|
|
7
|
+
if (typeof objA !== "object" || objA === null || typeof objB !== "object" || objB === null) {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
if (objA instanceof Map && objB instanceof Map) {
|
|
11
|
+
if (objA.size !== objB.size) return false;
|
|
12
|
+
for (const [key, value] of objA) {
|
|
13
|
+
if (!Object.is(value, objB.get(key))) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
if (objA instanceof Set && objB instanceof Set) {
|
|
20
|
+
if (objA.size !== objB.size) return false;
|
|
21
|
+
for (const value of objA) {
|
|
22
|
+
if (!objB.has(value)) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
const keysA = Object.keys(objA);
|
|
29
|
+
if (keysA.length !== Object.keys(objB).length) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
for (const keyA of keysA) {
|
|
33
|
+
if (!Object.prototype.hasOwnProperty.call(objB, keyA) || !Object.is(objA[keyA], objB[keyA])) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
const { useRef } = require$$0;
|
|
40
|
+
function useShallow(selector) {
|
|
41
|
+
const prev = useRef();
|
|
42
|
+
return (state) => {
|
|
43
|
+
const next = selector(state);
|
|
44
|
+
return shallow(prev.current, next) ? prev.current : prev.current = next;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
exports.useShallow = useShallow;
|
|
48
|
+
//# sourceMappingURL=shallow-lhDIFtEp.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shallow-lhDIFtEp.cjs","sources":["../../../../node_modules/.pnpm/zustand@4.5.5_@types+react@18.3.12_immer@9.0.21_react@18.3.1/node_modules/zustand/esm/react/shallow.mjs"],"sourcesContent":["import ReactExports from 'react';\n\nfunction shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n if (objA instanceof Map && objB instanceof Map) {\n if (objA.size !== objB.size) return false;\n for (const [key, value] of objA) {\n if (!Object.is(value, objB.get(key))) {\n return false;\n }\n }\n return true;\n }\n if (objA instanceof Set && objB instanceof Set) {\n if (objA.size !== objB.size) return false;\n for (const value of objA) {\n if (!objB.has(value)) {\n return false;\n }\n }\n return true;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (const keyA of keysA) {\n if (!Object.prototype.hasOwnProperty.call(objB, keyA) || !Object.is(objA[keyA], objB[keyA])) {\n return false;\n }\n }\n return true;\n}\n\nconst { useRef } = ReactExports;\nfunction useShallow(selector) {\n const prev = useRef();\n return (state) => {\n const next = selector(state);\n return shallow(prev.current, next) ? prev.current : prev.current = next;\n };\n}\n\nexport { useShallow };\n"],"names":["ReactExports"],"mappings":";;AAEA,SAAS,QAAQ,MAAM,MAAM;AAC3B,MAAI,OAAO,GAAG,MAAM,IAAI,GAAG;AACzB,WAAO;AAAA,EACR;AACD,MAAI,OAAO,SAAS,YAAY,SAAS,QAAQ,OAAO,SAAS,YAAY,SAAS,MAAM;AAC1F,WAAO;AAAA,EACR;AACD,MAAI,gBAAgB,OAAO,gBAAgB,KAAK;AAC9C,QAAI,KAAK,SAAS,KAAK,KAAM,QAAO;AACpC,eAAW,CAAC,KAAK,KAAK,KAAK,MAAM;AAC/B,UAAI,CAAC,OAAO,GAAG,OAAO,KAAK,IAAI,GAAG,CAAC,GAAG;AACpC,eAAO;AAAA,MACR;AAAA,IACF;AACD,WAAO;AAAA,EACR;AACD,MAAI,gBAAgB,OAAO,gBAAgB,KAAK;AAC9C,QAAI,KAAK,SAAS,KAAK,KAAM,QAAO;AACpC,eAAW,SAAS,MAAM;AACxB,UAAI,CAAC,KAAK,IAAI,KAAK,GAAG;AACpB,eAAO;AAAA,MACR;AAAA,IACF;AACD,WAAO;AAAA,EACR;AACD,QAAM,QAAQ,OAAO,KAAK,IAAI;AAC9B,MAAI,MAAM,WAAW,OAAO,KAAK,IAAI,EAAE,QAAQ;AAC7C,WAAO;AAAA,EACR;AACD,aAAW,QAAQ,OAAO;AACxB,QAAI,CAAC,OAAO,UAAU,eAAe,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,KAAK,IAAI,GAAG,KAAK,IAAI,CAAC,GAAG;AAC3F,aAAO;AAAA,IACR;AAAA,EACF;AACD,SAAO;AACT;AAEA,MAAM,EAAE,OAAQ,IAAGA;AACnB,SAAS,WAAW,UAAU;AAC5B,QAAM,OAAO;AACb,SAAO,CAAC,UAAU;AAChB,UAAM,OAAO,SAAS,KAAK;AAC3B,WAAO,QAAQ,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU,KAAK,UAAU;AAAA,EACvE;AACA;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import require$$0 from "react";
|
|
2
|
+
function shallow(objA, objB) {
|
|
3
|
+
if (Object.is(objA, objB)) {
|
|
4
|
+
return true;
|
|
5
|
+
}
|
|
6
|
+
if (typeof objA !== "object" || objA === null || typeof objB !== "object" || objB === null) {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
if (objA instanceof Map && objB instanceof Map) {
|
|
10
|
+
if (objA.size !== objB.size) return false;
|
|
11
|
+
for (const [key, value] of objA) {
|
|
12
|
+
if (!Object.is(value, objB.get(key))) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
if (objA instanceof Set && objB instanceof Set) {
|
|
19
|
+
if (objA.size !== objB.size) return false;
|
|
20
|
+
for (const value of objA) {
|
|
21
|
+
if (!objB.has(value)) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
const keysA = Object.keys(objA);
|
|
28
|
+
if (keysA.length !== Object.keys(objB).length) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
for (const keyA of keysA) {
|
|
32
|
+
if (!Object.prototype.hasOwnProperty.call(objB, keyA) || !Object.is(objA[keyA], objB[keyA])) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
const { useRef } = require$$0;
|
|
39
|
+
function useShallow(selector) {
|
|
40
|
+
const prev = useRef();
|
|
41
|
+
return (state) => {
|
|
42
|
+
const next = selector(state);
|
|
43
|
+
return shallow(prev.current, next) ? prev.current : prev.current = next;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export {
|
|
47
|
+
useShallow as u
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=shallow-m9BpCkKh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shallow-m9BpCkKh.js","sources":["../../../../node_modules/.pnpm/zustand@4.5.5_@types+react@18.3.12_immer@9.0.21_react@18.3.1/node_modules/zustand/esm/react/shallow.mjs"],"sourcesContent":["import ReactExports from 'react';\n\nfunction shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n if (objA instanceof Map && objB instanceof Map) {\n if (objA.size !== objB.size) return false;\n for (const [key, value] of objA) {\n if (!Object.is(value, objB.get(key))) {\n return false;\n }\n }\n return true;\n }\n if (objA instanceof Set && objB instanceof Set) {\n if (objA.size !== objB.size) return false;\n for (const value of objA) {\n if (!objB.has(value)) {\n return false;\n }\n }\n return true;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (const keyA of keysA) {\n if (!Object.prototype.hasOwnProperty.call(objB, keyA) || !Object.is(objA[keyA], objB[keyA])) {\n return false;\n }\n }\n return true;\n}\n\nconst { useRef } = ReactExports;\nfunction useShallow(selector) {\n const prev = useRef();\n return (state) => {\n const next = selector(state);\n return shallow(prev.current, next) ? prev.current : prev.current = next;\n };\n}\n\nexport { useShallow };\n"],"names":["ReactExports"],"mappings":";AAEA,SAAS,QAAQ,MAAM,MAAM;AAC3B,MAAI,OAAO,GAAG,MAAM,IAAI,GAAG;AACzB,WAAO;AAAA,EACR;AACD,MAAI,OAAO,SAAS,YAAY,SAAS,QAAQ,OAAO,SAAS,YAAY,SAAS,MAAM;AAC1F,WAAO;AAAA,EACR;AACD,MAAI,gBAAgB,OAAO,gBAAgB,KAAK;AAC9C,QAAI,KAAK,SAAS,KAAK,KAAM,QAAO;AACpC,eAAW,CAAC,KAAK,KAAK,KAAK,MAAM;AAC/B,UAAI,CAAC,OAAO,GAAG,OAAO,KAAK,IAAI,GAAG,CAAC,GAAG;AACpC,eAAO;AAAA,MACR;AAAA,IACF;AACD,WAAO;AAAA,EACR;AACD,MAAI,gBAAgB,OAAO,gBAAgB,KAAK;AAC9C,QAAI,KAAK,SAAS,KAAK,KAAM,QAAO;AACpC,eAAW,SAAS,MAAM;AACxB,UAAI,CAAC,KAAK,IAAI,KAAK,GAAG;AACpB,eAAO;AAAA,MACR;AAAA,IACF;AACD,WAAO;AAAA,EACR;AACD,QAAM,QAAQ,OAAO,KAAK,IAAI;AAC9B,MAAI,MAAM,WAAW,OAAO,KAAK,IAAI,EAAE,QAAQ;AAC7C,WAAO;AAAA,EACR;AACD,aAAW,QAAQ,OAAO;AACxB,QAAI,CAAC,OAAO,UAAU,eAAe,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,KAAK,IAAI,GAAG,KAAK,IAAI,CAAC,GAAG;AAC3F,aAAO;AAAA,IACR;AAAA,EACF;AACD,SAAO;AACT;AAEA,MAAM,EAAE,OAAQ,IAAGA;AACnB,SAAS,WAAW,UAAU;AAC5B,QAAM,OAAO;AACb,SAAO,CAAC,UAAU;AAChB,UAAM,OAAO,SAAS,KAAK;AAC3B,WAAO,QAAQ,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU,KAAK,UAAU;AAAA,EACvE;AACA;","x_google_ignoreList":[0]}
|
package/dist/tailwind.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.15 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter Variable;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem;width:100%}@media (min-width:1400px){.container{max-width:1400px}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.left-5{left:1.25rem}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3{top:.75rem}.top-6{top:1.5rem}.top-\[calc\(100\%\+0\.5rem\)\]{top:calc(100% + .5rem)}.z-10{z-index:10}.z-50{z-index:50}.z-\[-1\]{z-index:-1}.z-\[1000\]{z-index:1000}.z-\[100\]{z-index:100}.float-start{float:inline-start}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-auto{margin:auto}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-1{margin-bottom:.25rem;margin-top:.25rem}.my-4{margin-bottom:1rem;margin-top:1rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-\[2vw\]{margin-left:2vw}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.size-10{height:2.5rem;width:2.5rem}.size-3{height:.75rem;width:.75rem}.size-3\.5{height:.875rem;width:.875rem}.size-4{height:1rem;width:1rem}.size-5{height:1.25rem;width:1.25rem}.size-6{height:1.5rem;width:1.5rem}.size-7{height:1.75rem;width:1.75rem}.size-9{height:2.25rem;width:2.25rem}.size-full{height:100%;width:100%}.h-8{height:2rem}.h-\[1px\]{height:1px}.h-\[2px\]{height:2px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-\[30vh\]{max-height:30vh}.max-h-\[50vh\]{max-height:50vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[95vh\]{max-height:95vh}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-10{min-height:2.5rem}.min-h-11{min-height:2.75rem}.min-h-8{min-height:2rem}.min-h-9{min-height:2.25rem}.w-16{width:4rem}.w-20{width:5rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-screen{width:100vw}.min-w-20{min-width:5rem}.min-w-28{min-width:7rem}.min-w-\[100px\]{min-width:100px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-full{min-width:100%}.max-w-\[100vw\]{max-width:100vw}.max-w-\[30vw\]{max-width:30vw}.max-w-\[400px\]{max-width:400px}.max-w-\[50vw\]{max-width:50vw}.max-w-\[70vw\]{max-width:70vw}.max-w-\[80\%\]{max-width:80%}.max-w-\[95vw\]{max-width:95vw}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-2{--tw-translate-y:-0.5rem}.-translate-y-2,.-translate-y-3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-3{--tw-translate-y:-0.75rem}.-translate-y-full{--tw-translate-y:-100%}.-translate-y-full,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}.translate-y-2{--tw-translate-y:0.5rem}.translate-y-2,.translate-y-3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-3{--tw-translate-y:0.75rem}.translate-y-\[150\%\]{--tw-translate-y:150%}.translate-y-\[150\%\],.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y:100%}.rotate-0{--tw-rotate:0deg}.rotate-0,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.rotate-90{--tw-rotate:90deg}.rotate-90,.rotate-\[-45deg\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-\[-45deg\]{--tw-rotate:-45deg}.rotate-\[45deg\]{--tw-rotate:45deg}.rotate-\[45deg\],.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spotlight{0%{opacity:0;transform:translate(72%,-62%) scale(.5)}to{opacity:1;transform:translate(50%,-40%) scale(1)}}.animate-spotlight{animation:spotlight 2s ease .75s 1 forwards}.cursor-default{cursor:default}.cursor-ew-resize{cursor:ew-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.resize-none{resize:none}.resize{resize:both}.scroll-m-8{scroll-margin:2rem}.scroll-p-8{scroll-padding:2rem}.grid-cols-\[0fr\]{grid-template-columns:0fr}.grid-cols-\[0px\]{grid-template-columns:0}.grid-cols-\[1fr\]{grid-template-columns:1fr}.grid-cols-\[auto\2c 1fr\]{grid-template-columns:auto 1fr}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-\[0\.1rem\]{gap:.1rem}.gap-\[10vw\]{gap:10vw}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-0{row-gap:0}.gap-y-3{row-gap:.75rem}.gap-y-6{row-gap:1.5rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(1px*var(--tw-divide-x-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.divide-text\/20>:not([hidden])~:not([hidden]){border-color:hsla(0,0%,7%,.2)}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-visible{overflow-x:visible}.overflow-y-scroll{overflow-y:scroll}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-nowrap{text-wrap:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-\[1\.2px\]{border-width:1.2px}.border-\[1\.5px\]{border-width:1.5px}.border-y-\[1\.5px\]{border-bottom-width:1.5px;border-top-width:1.5px}.border-l-4{border-left-width:4px}.border-r-\[1\.5px\]{border-right-width:1.5px}.border-r-\[2px\]{border-right-width:2px}.border-t-\[1\.5px\]{border-top-width:1.5px}.border-none{border-style:none}.border-card{--tw-border-opacity:1;border-color:rgba(231,231,231,var(--tw-border-opacity,1))}.border-destructive{--tw-border-opacity:1;border-color:rgba(251,125,60,var(--tw-border-opacity,1))}.border-error{--tw-border-opacity:1;border-color:rgba(181,24,13,var(--tw-border-opacity,1))}.border-inherit{border-color:inherit}.border-input-border{--tw-border-opacity:1;border-color:rgba(246,246,246,var(--tw-border-opacity,1))}.border-neutral{--tw-border-opacity:1;border-color:rgba(93,93,93,var(--tw-border-opacity,1))}.border-neutral-200{--tw-border-opacity:1;border-color:rgba(209,209,209,var(--tw-border-opacity,1))}.border-neutral-800{--tw-border-opacity:1;border-color:rgba(69,69,69,var(--tw-border-opacity,1))}.border-primary{--tw-border-opacity:1;border-color:rgba(232,121,249,var(--tw-border-opacity,1))}.border-secondary{--tw-border-opacity:1;border-color:rgba(255,230,109,var(--tw-border-opacity,1))}.border-success{--tw-border-opacity:1;border-color:rgba(0,204,102,var(--tw-border-opacity,1))}.border-text{--tw-border-opacity:1;border-color:rgba(18,18,18,var(--tw-border-opacity,1))}.border-text-dark{--tw-border-opacity:1;border-color:rgba(255,245,237,var(--tw-border-opacity,1))}.border-warning{--tw-border-opacity:1;border-color:rgba(214,153,66,var(--tw-border-opacity,1))}.border-white{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity,1))}.bg-background\/40{background-color:hsla(0,0%,100%,.4)}.bg-card{--tw-bg-opacity:1;background-color:rgba(231,231,231,var(--tw-bg-opacity,1))}.bg-card\/20{background-color:hsla(0,0%,91%,.2)}.bg-card\/40{background-color:hsla(0,0%,91%,.4)}.bg-card\/60{background-color:hsla(0,0%,91%,.6)}.bg-card\/80{background-color:hsla(0,0%,91%,.8)}.bg-card\/95{background-color:hsla(0,0%,91%,.95)}.bg-destructive{--tw-bg-opacity:1;background-color:rgba(251,125,60,var(--tw-bg-opacity,1))}.bg-destructive\/10{background-color:rgba(251,125,60,.1)}.bg-error{--tw-bg-opacity:1;background-color:rgba(181,24,13,var(--tw-bg-opacity,1))}.bg-error\/10{background-color:rgba(181,24,13,.1)}.bg-error\/40{background-color:rgba(181,24,13,.4)}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-inherit{background-color:inherit}.bg-input-background{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity,1))}.bg-neutral{--tw-bg-opacity:1;background-color:rgba(93,93,93,var(--tw-bg-opacity,1))}.bg-neutral-200{--tw-bg-opacity:1;background-color:rgba(209,209,209,var(--tw-bg-opacity,1))}.bg-neutral-800{--tw-bg-opacity:1;background-color:rgba(69,69,69,var(--tw-bg-opacity,1))}.bg-neutral-800\/10{background-color:rgba(69,69,69,.1)}.bg-neutral\/10{background-color:rgba(93,93,93,.1)}.bg-primary{--tw-bg-opacity:1;background-color:rgba(232,121,249,var(--tw-bg-opacity,1))}.bg-primary\/10{background-color:rgba(232,121,249,.1)}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-secondary{--tw-bg-opacity:1;background-color:rgba(255,230,109,var(--tw-bg-opacity,1))}.bg-secondary\/10{background-color:rgba(255,230,109,.1)}.bg-success{--tw-bg-opacity:1;background-color:rgba(0,204,102,var(--tw-bg-opacity,1))}.bg-success\/10{background-color:rgba(0,204,102,.1)}.bg-success\/30{background-color:rgba(0,204,102,.3)}.bg-text{--tw-bg-opacity:1;background-color:rgba(18,18,18,var(--tw-bg-opacity,1))}.bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255,245,237,var(--tw-bg-opacity,1))}.bg-text\/10{background-color:hsla(0,0%,7%,.1)}.bg-transparent{background-color:transparent}.bg-warning\/10{background-color:rgba(214,153,66,.1)}.bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-opacity-0{--tw-bg-opacity:0}.bg-none{background-image:none}.fill-neutral\/10{fill:rgba(93,93,93,.1)}.fill-neutral\/30{fill:rgba(93,93,93,.3)}.stroke-neutral\/10{stroke:rgba(93,93,93,.1)}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1\.5px\]{padding:1.5px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-\[20\%\]{padding-bottom:20%}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-5{padding-left:1.25rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-10{padding-top:2.5rem}.pt-2{padding-top:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.\!text-current{color:currentColor!important}.text-card{--tw-text-opacity:1;color:rgba(231,231,231,var(--tw-text-opacity,1))}.text-destructive{--tw-text-opacity:1;color:rgba(251,125,60,var(--tw-text-opacity,1))}.text-error{--tw-text-opacity:1;color:rgba(181,24,13,var(--tw-text-opacity,1))}.text-inherit{color:inherit}.text-input-text{--tw-text-opacity:1;color:rgba(18,18,18,var(--tw-text-opacity,1))}.text-neutral{--tw-text-opacity:1;color:rgba(93,93,93,var(--tw-text-opacity,1))}.text-neutral-400{--tw-text-opacity:1;color:rgba(136,136,136,var(--tw-text-opacity,1))}.text-neutral-800{--tw-text-opacity:1;color:rgba(69,69,69,var(--tw-text-opacity,1))}.text-primary{--tw-text-opacity:1;color:rgba(232,121,249,var(--tw-text-opacity,1))}.text-secondary{--tw-text-opacity:1;color:rgba(255,230,109,var(--tw-text-opacity,1))}.text-success{--tw-text-opacity:1;color:rgba(0,204,102,var(--tw-text-opacity,1))}.text-text{--tw-text-opacity:1;color:rgba(18,18,18,var(--tw-text-opacity,1))}.text-text-dark,.text-text-opposite{--tw-text-opacity:1;color:rgba(255,245,237,var(--tw-text-opacity,1))}.text-text\/50{color:hsla(0,0%,7%,.5)}.text-warning{--tw-text-opacity:1;color:rgba(214,153,66,var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity,1))}.text-opacity-75{--tw-text-opacity:0.75}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.caret-transparent{caret-color:transparent}.accent-destructive{accent-color:#fb7d3c}.accent-error{accent-color:#b5180d}.accent-neutral{accent-color:#5d5d5d}.accent-primary{accent-color:#e879f9}.accent-secondary{accent-color:#ffe66d}.accent-success{accent-color:#0c6}.accent-text{accent-color:#121212}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-\[0_0_10px_-15px_rgba\(0\2c 0\2c 0\2c 0\.3\)\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_-15px_rgba\(0\2c 0\2c 0\2c 0\.3\)\]{--tw-shadow:0 0 10px -15px rgba(0,0,0,.3);--tw-shadow-colored:0 0 10px -15px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-0{outline-width:0}.outline-2{outline-width:2px}.outline-offset-4{outline-offset:4px}.outline-inherit{outline-color:inherit}.outline-transparent{outline-color:transparent}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-0,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-current{--tw-ring-color:currentColor}.ring-offset-background{--tw-ring-offset-color:#fff}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[left\2c width\]{transition-duration:.15s;transition-property:left,width;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-left-12:after{content:var(--tw-content);left:-3rem}.after\:right-0:after{content:var(--tw-content);right:0}.after\:top-0:after{content:var(--tw-content);top:0}.after\:top-1\/2:after{content:var(--tw-content);top:50%}.after\:block:after{content:var(--tw-content);display:block}.after\:h-10:after{content:var(--tw-content);height:2.5rem}.after\:h-full:after{content:var(--tw-content);height:100%}.after\:w-2:after{content:var(--tw-content);width:.5rem}.after\:-translate-y-1\/2:after{--tw-translate-y:-50%}.after\:-translate-y-1\/2:after,.after\:translate-x-1\/2:after{content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\:translate-x-1\/2:after{--tw-translate-x:50%}.after\:scale-75:after{--tw-scale-x:.75;--tw-scale-y:.75}.after\:scale-75:after,.after\:transform:after{content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\:cursor-ew-resize:after{content:var(--tw-content);cursor:ew-resize}.after\:rounded-full:after{border-radius:9999px;content:var(--tw-content)}.after\:bg-neutral-200:after{--tw-bg-opacity:1;background-color:rgba(209,209,209,var(--tw-bg-opacity,1));content:var(--tw-content)}.after\:to-neutral:after{--tw-gradient-to:#5d5d5d var(--tw-gradient-to-position);content:var(--tw-content)}.after\:px-6:after{content:var(--tw-content);padding-left:1.5rem;padding-right:1.5rem}.after\:text-neutral:after{--tw-text-opacity:1;color:rgba(93,93,93,var(--tw-text-opacity,1));content:var(--tw-content)}.after\:transition:after{content:var(--tw-content);transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\:transition-opacity:after{content:var(--tw-content);transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\:delay-100:after{content:var(--tw-content);transition-delay:.1s}.after\:duration-200:after{content:var(--tw-content);transition-duration:.2s}.after\:content-\[\"\"\]:after{--tw-content:"";content:var(--tw-content)}.after\:content-\[\'\#\'\]:after{--tw-content:"#";content:var(--tw-content)}.valid\:border-success:valid{--tw-border-opacity:1;border-color:rgba(0,204,102,var(--tw-border-opacity,1))}.invalid\:border-error:invalid{--tw-border-opacity:1;border-color:rgba(181,24,13,var(--tw-border-opacity,1))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:grid-rows-\[1fr\]:hover{grid-template-rows:1fr}.hover\:overflow-x-auto:hover{overflow-x:auto}.hover\:border-input-border-hover:hover{--tw-border-opacity:1;border-color:rgba(231,231,231,var(--tw-border-opacity,1))}.hover\:bg-card\/30:hover{background-color:hsla(0,0%,91%,.3)}.hover\:bg-destructive-500:hover{--tw-bg-opacity:1;background-color:rgba(249,90,22,var(--tw-bg-opacity,1))}.hover\:bg-neutral-300:hover{--tw-bg-opacity:1;background-color:rgba(176,176,176,var(--tw-bg-opacity,1))}.hover\:bg-neutral-500:hover{--tw-bg-opacity:1;background-color:rgba(109,109,109,var(--tw-bg-opacity,1))}.hover\:bg-neutral-600:hover{--tw-bg-opacity:1;background-color:rgba(93,93,93,var(--tw-bg-opacity,1))}.hover\:bg-neutral-900:hover{--tw-bg-opacity:1;background-color:rgba(61,61,61,var(--tw-bg-opacity,1))}.hover\:bg-neutral\/10:hover{background-color:rgba(93,93,93,.1)}.hover\:bg-primary-500:hover{--tw-bg-opacity:1;background-color:rgba(197,101,212,var(--tw-bg-opacity,1))}.hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\:bg-secondary-300:hover{--tw-bg-opacity:1;background-color:rgba(255,216,69,var(--tw-bg-opacity,1))}.hover\:bg-text:hover{--tw-bg-opacity:1;background-color:rgba(18,18,18,var(--tw-bg-opacity,1))}.hover\:bg-text\/10:hover{background-color:hsla(0,0%,7%,.1)}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-opacity-0:hover{--tw-bg-opacity:0}.hover\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.hover\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.hover\:text-text\/80:hover{color:hsla(0,0%,7%,.8)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:outline-inherit:hover{outline-color:inherit}.hover\:delay-0:hover{transition-delay:0s}.after\:hover\:cursor-pointer:hover:after{content:var(--tw-content);cursor:pointer}.hover\:after\:opacity-80:hover:after{content:var(--tw-content);opacity:.8}.focus\:grid-rows-\[1fr\]:focus{grid-template-rows:1fr}.focus\:overflow-x-auto:focus{overflow-x:auto}.focus\:border-input-border-focus:focus{--tw-border-opacity:1;border-color:rgba(209,209,209,var(--tw-border-opacity,1))}.focus\:bg-neutral\/10:focus{background-color:rgba(93,93,93,.1)}.focus\:bg-text-opposite\/20:focus{background-color:rgba(255,245,237,.2)}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline-0:focus{outline-width:0}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus\:\[box-shadow\:none\]:focus{box-shadow:none}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.active\:border-neutral-400:active{--tw-border-opacity:1;border-color:rgba(136,136,136,var(--tw-border-opacity,1))}.after\:active\:bg-neutral-400:active:after{--tw-bg-opacity:1;background-color:rgba(136,136,136,var(--tw-bg-opacity,1));content:var(--tw-content)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:text-white\/25:disabled{color:hsla(0,0%,100%,.25)}.disabled\:opacity-50:disabled{opacity:.5}.group\/dropdown:focus-within .group-focus-within\/dropdown\:visible{visibility:visible}.group\/dropdown:focus-within .group-focus-within\/dropdown\:grid-rows-\[1fr\]{grid-template-rows:1fr}.group\/dropdown:hover .group-hover\/dropdown\:visible,.group\/editable-field:hover .group-hover\/editable-field\:visible,.group\/height-smoother:hover .group-hover\/height-smoother\:visible{visibility:visible}.group\/dropdown:hover .group-hover\/dropdown\:grid-rows-\[1fr\]{grid-template-rows:1fr}.group:hover .group-hover\:opacity-0{opacity:0}.group:hover .group-hover\:opacity-100{opacity:1}.group\/height-smoother:focus .group-focus\/height-smoother\:visible{visibility:visible}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:rgba(251,125,60,.3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{--tw-bg-opacity:1;background-color:rgba(251,125,60,var(--tw-bg-opacity,1))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(251,125,60,var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.aria-selected\:cursor-default[aria-selected=true]{cursor:default}.aria-selected\:bg-text\/20[aria-selected=true]{background-color:hsla(0,0%,7%,.2)}.aria-selected\:text-black[aria-selected=true]{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity,1))}.aria-selected\:text-text[aria-selected=true]{--tw-text-opacity:1;color:rgba(18,18,18,var(--tw-text-opacity,1))}.aria-selected\:text-text-dark[aria-selected=true]{--tw-text-opacity:1;color:rgba(255,245,237,var(--tw-text-opacity,1))}.aria-selected\:text-white[aria-selected=true]{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity,1))}.aria-selected\:hover\:cursor-default:hover[aria-selected=true]{cursor:default}.aria-\[invalid\=true\]\:border-error[aria-invalid=true]{--tw-border-opacity:1;border-color:rgba(181,24,13,var(--tw-border-opacity,1))}.aria-\[current\=true\]\:bg-opacity-5[aria-current=true]{--tw-bg-opacity:0.05}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom],.data-\[side\=left\]\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right],.data-\[side\=top\]\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px}.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel],.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x)}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media not all and (min-width:768px){.max-md\:flex-col{flex-direction:column}}@media (min-width:640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:flex-col{flex-direction:column}}@media (min-width:768px){.md\:sticky{position:sticky}.md\:w-1\/4{width:25%}.md\:w-2\/3{width:66.666667%}.md\:w-\[400px\]{width:400px}.md\:max-w-\[420px\]{max-width:420px}.md\:max-w-\[50\%\]{max-width:50%}.md\:gap-4{gap:1rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.after\:md\:opacity-0:after{content:var(--tw-content);opacity:0}}@media (min-width:1024px){.lg\:ml-\[10vw\]{margin-left:10vw}.lg\:gap-6{gap:1.5rem}}.dark\:divide-text-dark\/20:where([data-theme=dark],[data-theme=dark] *)>:not([hidden])~:not([hidden]){border-color:rgba(255,245,237,.2)}.dark\:border-none:where([data-theme=dark],[data-theme=dark] *){border-style:none}.dark\:border-card-dark:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(39,39,39,var(--tw-border-opacity,1))}.dark\:border-destructive-dark:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(251,125,60,var(--tw-border-opacity,1))}.dark\:border-error-dark:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(255,88,77,var(--tw-border-opacity,1))}.dark\:border-input-border-dark:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(79,79,79,var(--tw-border-opacity,1))}.dark\:border-neutral-950:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(48,48,48,var(--tw-border-opacity,1))}.dark\:border-neutral-dark:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(136,136,136,var(--tw-border-opacity,1))}.dark\:border-primary-dark:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(232,121,249,var(--tw-border-opacity,1))}.dark\:border-secondary-dark:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(255,230,109,var(--tw-border-opacity,1))}.dark\:border-success-dark:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(102,255,153,var(--tw-border-opacity,1))}.dark\:border-text:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(18,18,18,var(--tw-border-opacity,1))}.dark\:border-text-dark:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(255,245,237,var(--tw-border-opacity,1))}.dark\:border-warning-dark:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(255,230,109,var(--tw-border-opacity,1))}.dark\:bg-background-dark\/40:where([data-theme=dark],[data-theme=dark] *){background-color:hsla(0,0%,9%,.4)}.dark\:bg-card-dark:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(39,39,39,var(--tw-bg-opacity,1))}.dark\:bg-card-dark\/20:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(39,39,39,.2)}.dark\:bg-card-dark\/40:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(39,39,39,.4)}.dark\:bg-card-dark\/60:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(39,39,39,.6)}.dark\:bg-card-dark\/80:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(39,39,39,.8)}.dark\:bg-card-dark\/95:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(39,39,39,.95)}.dark\:bg-destructive-dark:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(251,125,60,var(--tw-bg-opacity,1))}.dark\:bg-destructive-dark\/10:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(251,125,60,.1)}.dark\:bg-error-dark:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(255,88,77,var(--tw-bg-opacity,1))}.dark\:bg-error-dark\/10:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(255,88,77,.1)}.dark\:bg-error-dark\/40:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(255,88,77,.4)}.dark\:bg-input-background-dark:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(61,61,61,var(--tw-bg-opacity,1))}.dark\:bg-neutral-700:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(79,79,79,var(--tw-bg-opacity,1))}.dark\:bg-neutral-950:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(48,48,48,var(--tw-bg-opacity,1))}.dark\:bg-neutral-dark:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(136,136,136,var(--tw-bg-opacity,1))}.dark\:bg-neutral-dark\/10:where([data-theme=dark],[data-theme=dark] *){background-color:hsla(0,0%,53%,.1)}.dark\:bg-primary-dark:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(232,121,249,var(--tw-bg-opacity,1))}.dark\:bg-primary-dark\/10:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(232,121,249,.1)}.dark\:bg-secondary-dark:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(255,230,109,var(--tw-bg-opacity,1))}.dark\:bg-secondary-dark\/10:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(255,230,109,.1)}.dark\:bg-success-dark:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(102,255,153,var(--tw-bg-opacity,1))}.dark\:bg-success-dark\/10:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(102,255,153,.1)}.dark\:bg-success-dark\/30:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(102,255,153,.3)}.dark\:bg-text:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(18,18,18,var(--tw-bg-opacity,1))}.dark\:bg-text-dark:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(255,245,237,var(--tw-bg-opacity,1))}.dark\:bg-text-dark\/10:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(255,245,237,.1)}.dark\:bg-transparent:where([data-theme=dark],[data-theme=dark] *){background-color:transparent}.dark\:bg-warning-dark\/10:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(255,230,109,.1)}.dark\:bg-opacity-0:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:0}.dark\:fill-neutral-dark\/10:where([data-theme=dark],[data-theme=dark] *){fill:hsla(0,0%,53%,.1)}.dark\:fill-neutral-dark\/30:where([data-theme=dark],[data-theme=dark] *){fill:hsla(0,0%,53%,.3)}.dark\:stroke-neutral-dark\/10:where([data-theme=dark],[data-theme=dark] *){stroke:hsla(0,0%,53%,.1)}.dark\:text-error-dark:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(255,88,77,var(--tw-text-opacity,1))}.dark\:text-inherit:where([data-theme=dark],[data-theme=dark] *){color:inherit}.dark\:text-input-text-dark:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(246,246,246,var(--tw-text-opacity,1))}.dark\:text-neutral-dark:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(136,136,136,var(--tw-text-opacity,1))}.dark\:text-primary-dark:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(232,121,249,var(--tw-text-opacity,1))}.dark\:text-secondary-dark:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(255,230,109,var(--tw-text-opacity,1))}.dark\:text-success-dark:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(102,255,153,var(--tw-text-opacity,1))}.dark\:text-text:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(18,18,18,var(--tw-text-opacity,1))}.dark\:text-text-dark:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(255,245,237,var(--tw-text-opacity,1))}.dark\:text-text-dark\/50:where([data-theme=dark],[data-theme=dark] *){color:rgba(255,245,237,.5)}.dark\:text-text-opposite-dark:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(28,28,28,var(--tw-text-opacity,1))}.dark\:text-warning-dark:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(255,230,109,var(--tw-text-opacity,1))}.dark\:accent-destructive-dark:where([data-theme=dark],[data-theme=dark] *){accent-color:#fb7d3c}.dark\:accent-error-dark:where([data-theme=dark],[data-theme=dark] *){accent-color:#ff584d}.dark\:accent-neutral-dark:where([data-theme=dark],[data-theme=dark] *){accent-color:#888}.dark\:accent-primary-dark:where([data-theme=dark],[data-theme=dark] *){accent-color:#e879f9}.dark\:accent-secondary-dark:where([data-theme=dark],[data-theme=dark] *){accent-color:#ffe66d}.dark\:accent-success-dark:where([data-theme=dark],[data-theme=dark] *){accent-color:#6f9}.dark\:accent-text-dark:where([data-theme=dark],[data-theme=dark] *){accent-color:#fff5ed}.after\:dark\:bg-neutral-950:where([data-theme=dark],[data-theme=dark] *):after{--tw-bg-opacity:1;background-color:rgba(48,48,48,var(--tw-bg-opacity,1));content:var(--tw-content)}.dark\:after\:text-neutral-dark:where([data-theme=dark],[data-theme=dark] *):after{--tw-text-opacity:1;color:rgba(136,136,136,var(--tw-text-opacity,1));content:var(--tw-content)}.dark\:valid\:border-success-dark:valid:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(102,255,153,var(--tw-border-opacity,1))}.dark\:invalid\:border-error-dark:invalid:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(255,88,77,var(--tw-border-opacity,1))}.dark\:hover\:border-input-border-hover-dark:hover:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(93,93,93,var(--tw-border-opacity,1))}.dark\:hover\:bg-card-dark:hover:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(39,39,39,var(--tw-bg-opacity,1))}.dark\:hover\:bg-card-dark\/30:hover:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(39,39,39,.3)}.dark\:hover\:bg-neutral-700:hover:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(79,79,79,var(--tw-bg-opacity,1))}.dark\:hover\:bg-neutral-900:hover:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(61,61,61,var(--tw-bg-opacity,1))}.dark\:hover\:bg-neutral-dark\/10:hover:where([data-theme=dark],[data-theme=dark] *){background-color:hsla(0,0%,53%,.1)}.dark\:hover\:bg-red-300:hover:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}.dark\:hover\:bg-text-opposite\/10:hover:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(255,245,237,.1)}.hover\:dark\:bg-destructive-200:where([data-theme=dark],[data-theme=dark] *):hover{--tw-bg-opacity:1;background-color:rgba(254,206,170,var(--tw-bg-opacity,1))}.hover\:dark\:bg-neutral-400:where([data-theme=dark],[data-theme=dark] *):hover{--tw-bg-opacity:1;background-color:rgba(136,136,136,var(--tw-bg-opacity,1))}.hover\:dark\:bg-primary-300:where([data-theme=dark],[data-theme=dark] *):hover{--tw-bg-opacity:1;background-color:rgba(241,171,252,var(--tw-bg-opacity,1))}.hover\:dark\:bg-secondary-100:where([data-theme=dark],[data-theme=dark] *):hover{--tw-bg-opacity:1;background-color:rgba(255,246,194,var(--tw-bg-opacity,1))}.hover\:dark\:bg-transparent:where([data-theme=dark],[data-theme=dark] *):hover{background-color:transparent}.dark\:hover\:bg-opacity-0:hover:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:0}.dark\:hover\:bg-opacity-10:hover:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:0.1}.dark\:hover\:text-text-dark\/80:hover:where([data-theme=dark],[data-theme=dark] *){color:rgba(255,245,237,.8)}.dark\:focus\:border-input-border-focus:focus:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(209,209,209,var(--tw-border-opacity,1))}.dark\:focus\:bg-neutral-dark\/10:focus:where([data-theme=dark],[data-theme=dark] *){background-color:hsla(0,0%,53%,.1)}.dark\:focus\:bg-text-opposite\/20:focus:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(255,245,237,.2)}.dark\:active\:border-neutral-600:active:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(93,93,93,var(--tw-border-opacity,1))}.dark\:after\:active\:bg-neutral-600:active:where([data-theme=dark],[data-theme=dark] *):after{--tw-bg-opacity:1;background-color:rgba(93,93,93,var(--tw-bg-opacity,1));content:var(--tw-content)}.dark\:aria-selected\:bg-text-opposite\/20[aria-selected=true]:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(255,245,237,.2)}.dark\:aria-selected\:text-text[aria-selected=true]:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(18,18,18,var(--tw-text-opacity,1))}.dark\:aria-selected\:text-text-dark[aria-selected=true]:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(255,245,237,var(--tw-text-opacity,1))}.dark\:aria-\[invalid\=true\]\:border-error-dark[aria-invalid=true]:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(255,88,77,var(--tw-border-opacity,1))}.\[\&\+div\]\:text-xs+div{font-size:.75rem;line-height:1rem}.\[\&\:has\(\.section\:hover\)\]\:bg-transparent:has(.section:hover){background-color:transparent}.\[\&\>span\]\:line-clamp-1>span{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-bottom:.375rem;padding-top:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:size-5 [cmdk-input-wrapper] svg{height:1.25rem;width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]_svg\]\:size-5 [cmdk-item] svg{height:1.25rem;width:1.25rem}
|
|
1
|
+
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.15 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter Variable;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem;width:100%}@media (min-width:1400px){.container{max-width:1400px}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.left-5{left:1.25rem}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3{top:.75rem}.top-6{top:1.5rem}.top-\[calc\(100\%\+0\.5rem\)\]{top:calc(100% + .5rem)}.z-10{z-index:10}.z-50{z-index:50}.z-\[-1\]{z-index:-1}.z-\[1000\]{z-index:1000}.z-\[100\]{z-index:100}.float-start{float:inline-start}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-auto{margin:auto}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-1{margin-bottom:.25rem;margin-top:.25rem}.my-4{margin-bottom:1rem;margin-top:1rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-\[2vw\]{margin-left:2vw}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.size-10{height:2.5rem;width:2.5rem}.size-3{height:.75rem;width:.75rem}.size-3\.5{height:.875rem;width:.875rem}.size-4{height:1rem;width:1rem}.size-5{height:1.25rem;width:1.25rem}.size-6{height:1.5rem;width:1.5rem}.size-7{height:1.75rem;width:1.75rem}.size-9{height:2.25rem;width:2.25rem}.size-full{height:100%;width:100%}.h-8{height:2rem}.h-\[1px\]{height:1px}.h-\[2px\]{height:2px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-\[30vh\]{max-height:30vh}.max-h-\[50vh\]{max-height:50vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[95vh\]{max-height:95vh}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-10{min-height:2.5rem}.min-h-11{min-height:2.75rem}.min-h-7{min-height:1.75rem}.min-h-8{min-height:2rem}.w-16{width:4rem}.w-20{width:5rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-screen{width:100vw}.min-w-20{min-width:5rem}.min-w-28{min-width:7rem}.min-w-\[100px\]{min-width:100px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-full{min-width:100%}.max-w-\[100vw\]{max-width:100vw}.max-w-\[30vw\]{max-width:30vw}.max-w-\[400px\]{max-width:400px}.max-w-\[50vw\]{max-width:50vw}.max-w-\[70vw\]{max-width:70vw}.max-w-\[80\%\]{max-width:80%}.max-w-\[95vw\]{max-width:95vw}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-2{--tw-translate-y:-0.5rem}.-translate-y-2,.-translate-y-3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-3{--tw-translate-y:-0.75rem}.-translate-y-full{--tw-translate-y:-100%}.-translate-y-full,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}.translate-y-2{--tw-translate-y:0.5rem}.translate-y-2,.translate-y-3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-3{--tw-translate-y:0.75rem}.translate-y-\[150\%\]{--tw-translate-y:150%}.translate-y-\[150\%\],.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y:100%}.rotate-0{--tw-rotate:0deg}.rotate-0,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.rotate-90{--tw-rotate:90deg}.rotate-90,.rotate-\[-45deg\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-\[-45deg\]{--tw-rotate:-45deg}.rotate-\[45deg\]{--tw-rotate:45deg}.rotate-\[45deg\],.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spotlight{0%{opacity:0;transform:translate(72%,-62%) scale(.5)}to{opacity:1;transform:translate(50%,-40%) scale(1)}}.animate-spotlight{animation:spotlight 2s ease .75s 1 forwards}.cursor-default{cursor:default}.cursor-ew-resize{cursor:ew-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.resize-none{resize:none}.resize{resize:both}.scroll-m-8{scroll-margin:2rem}.scroll-p-8{scroll-padding:2rem}.grid-cols-\[0fr\]{grid-template-columns:0fr}.grid-cols-\[0px\]{grid-template-columns:0}.grid-cols-\[1fr\]{grid-template-columns:1fr}.grid-cols-\[auto\2c 1fr\]{grid-template-columns:auto 1fr}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-\[0\.1rem\]{gap:.1rem}.gap-\[10vw\]{gap:10vw}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-0{row-gap:0}.gap-y-3{row-gap:.75rem}.gap-y-6{row-gap:1.5rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(1px*var(--tw-divide-x-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.divide-text\/20>:not([hidden])~:not([hidden]){border-color:hsla(0,0%,7%,.2)}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-visible{overflow-x:visible}.overflow-y-scroll{overflow-y:scroll}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-nowrap{text-wrap:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-\[1\.2px\]{border-width:1.2px}.border-\[1\.5px\]{border-width:1.5px}.border-y-\[1\.5px\]{border-bottom-width:1.5px;border-top-width:1.5px}.border-l-4{border-left-width:4px}.border-r-\[1\.5px\]{border-right-width:1.5px}.border-r-\[2px\]{border-right-width:2px}.border-t-\[1\.5px\]{border-top-width:1.5px}.border-none{border-style:none}.border-card{--tw-border-opacity:1;border-color:rgba(231,231,231,var(--tw-border-opacity,1))}.border-destructive{--tw-border-opacity:1;border-color:rgba(251,125,60,var(--tw-border-opacity,1))}.border-error{--tw-border-opacity:1;border-color:rgba(181,24,13,var(--tw-border-opacity,1))}.border-inherit{border-color:inherit}.border-input-border{--tw-border-opacity:1;border-color:rgba(246,246,246,var(--tw-border-opacity,1))}.border-neutral{--tw-border-opacity:1;border-color:rgba(93,93,93,var(--tw-border-opacity,1))}.border-neutral-200{--tw-border-opacity:1;border-color:rgba(209,209,209,var(--tw-border-opacity,1))}.border-neutral-800{--tw-border-opacity:1;border-color:rgba(69,69,69,var(--tw-border-opacity,1))}.border-primary{--tw-border-opacity:1;border-color:rgba(232,121,249,var(--tw-border-opacity,1))}.border-secondary{--tw-border-opacity:1;border-color:rgba(255,230,109,var(--tw-border-opacity,1))}.border-success{--tw-border-opacity:1;border-color:rgba(0,204,102,var(--tw-border-opacity,1))}.border-text{--tw-border-opacity:1;border-color:rgba(18,18,18,var(--tw-border-opacity,1))}.border-text-dark{--tw-border-opacity:1;border-color:rgba(255,245,237,var(--tw-border-opacity,1))}.border-warning{--tw-border-opacity:1;border-color:rgba(214,153,66,var(--tw-border-opacity,1))}.border-white{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity,1))}.bg-background\/40{background-color:hsla(0,0%,100%,.4)}.bg-card{--tw-bg-opacity:1;background-color:rgba(231,231,231,var(--tw-bg-opacity,1))}.bg-card\/20{background-color:hsla(0,0%,91%,.2)}.bg-card\/40{background-color:hsla(0,0%,91%,.4)}.bg-card\/60{background-color:hsla(0,0%,91%,.6)}.bg-card\/80{background-color:hsla(0,0%,91%,.8)}.bg-card\/95{background-color:hsla(0,0%,91%,.95)}.bg-destructive{--tw-bg-opacity:1;background-color:rgba(251,125,60,var(--tw-bg-opacity,1))}.bg-destructive\/10{background-color:rgba(251,125,60,.1)}.bg-error{--tw-bg-opacity:1;background-color:rgba(181,24,13,var(--tw-bg-opacity,1))}.bg-error\/10{background-color:rgba(181,24,13,.1)}.bg-error\/40{background-color:rgba(181,24,13,.4)}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-inherit{background-color:inherit}.bg-input-background{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity,1))}.bg-neutral{--tw-bg-opacity:1;background-color:rgba(93,93,93,var(--tw-bg-opacity,1))}.bg-neutral-200{--tw-bg-opacity:1;background-color:rgba(209,209,209,var(--tw-bg-opacity,1))}.bg-neutral-800{--tw-bg-opacity:1;background-color:rgba(69,69,69,var(--tw-bg-opacity,1))}.bg-neutral-800\/10{background-color:rgba(69,69,69,.1)}.bg-neutral\/10{background-color:rgba(93,93,93,.1)}.bg-primary{--tw-bg-opacity:1;background-color:rgba(232,121,249,var(--tw-bg-opacity,1))}.bg-primary\/10{background-color:rgba(232,121,249,.1)}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-secondary{--tw-bg-opacity:1;background-color:rgba(255,230,109,var(--tw-bg-opacity,1))}.bg-secondary\/10{background-color:rgba(255,230,109,.1)}.bg-success{--tw-bg-opacity:1;background-color:rgba(0,204,102,var(--tw-bg-opacity,1))}.bg-success\/10{background-color:rgba(0,204,102,.1)}.bg-success\/30{background-color:rgba(0,204,102,.3)}.bg-text{--tw-bg-opacity:1;background-color:rgba(18,18,18,var(--tw-bg-opacity,1))}.bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255,245,237,var(--tw-bg-opacity,1))}.bg-text\/10{background-color:hsla(0,0%,7%,.1)}.bg-transparent{background-color:transparent}.bg-warning\/10{background-color:rgba(214,153,66,.1)}.bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-opacity-0{--tw-bg-opacity:0}.bg-none{background-image:none}.fill-neutral\/10{fill:rgba(93,93,93,.1)}.fill-neutral\/30{fill:rgba(93,93,93,.3)}.stroke-neutral\/10{stroke:rgba(93,93,93,.1)}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1\.5px\]{padding:1.5px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-\[20\%\]{padding-bottom:20%}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-5{padding-left:1.25rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-10{padding-top:2.5rem}.pt-2{padding-top:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.\!text-current{color:currentColor!important}.text-card{--tw-text-opacity:1;color:rgba(231,231,231,var(--tw-text-opacity,1))}.text-destructive{--tw-text-opacity:1;color:rgba(251,125,60,var(--tw-text-opacity,1))}.text-error{--tw-text-opacity:1;color:rgba(181,24,13,var(--tw-text-opacity,1))}.text-inherit{color:inherit}.text-input-text{--tw-text-opacity:1;color:rgba(18,18,18,var(--tw-text-opacity,1))}.text-neutral{--tw-text-opacity:1;color:rgba(93,93,93,var(--tw-text-opacity,1))}.text-neutral-400{--tw-text-opacity:1;color:rgba(136,136,136,var(--tw-text-opacity,1))}.text-neutral-800{--tw-text-opacity:1;color:rgba(69,69,69,var(--tw-text-opacity,1))}.text-primary{--tw-text-opacity:1;color:rgba(232,121,249,var(--tw-text-opacity,1))}.text-secondary{--tw-text-opacity:1;color:rgba(255,230,109,var(--tw-text-opacity,1))}.text-success{--tw-text-opacity:1;color:rgba(0,204,102,var(--tw-text-opacity,1))}.text-text{--tw-text-opacity:1;color:rgba(18,18,18,var(--tw-text-opacity,1))}.text-text-dark,.text-text-opposite{--tw-text-opacity:1;color:rgba(255,245,237,var(--tw-text-opacity,1))}.text-text\/50{color:hsla(0,0%,7%,.5)}.text-warning{--tw-text-opacity:1;color:rgba(214,153,66,var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity,1))}.text-opacity-75{--tw-text-opacity:0.75}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.caret-transparent{caret-color:transparent}.accent-destructive{accent-color:#fb7d3c}.accent-error{accent-color:#b5180d}.accent-neutral{accent-color:#5d5d5d}.accent-primary{accent-color:#e879f9}.accent-secondary{accent-color:#ffe66d}.accent-success{accent-color:#0c6}.accent-text{accent-color:#121212}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-\[0_0_10px_-15px_rgba\(0\2c 0\2c 0\2c 0\.3\)\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_-15px_rgba\(0\2c 0\2c 0\2c 0\.3\)\]{--tw-shadow:0 0 10px -15px rgba(0,0,0,.3);--tw-shadow-colored:0 0 10px -15px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-0{outline-width:0}.outline-2{outline-width:2px}.outline-offset-4{outline-offset:4px}.outline-inherit{outline-color:inherit}.outline-transparent{outline-color:transparent}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-0,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-current{--tw-ring-color:currentColor}.ring-offset-background{--tw-ring-offset-color:#fff}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[left\2c width\]{transition-duration:.15s;transition-property:left,width;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-left-12:after{content:var(--tw-content);left:-3rem}.after\:right-0:after{content:var(--tw-content);right:0}.after\:top-0:after{content:var(--tw-content);top:0}.after\:top-1\/2:after{content:var(--tw-content);top:50%}.after\:block:after{content:var(--tw-content);display:block}.after\:h-10:after{content:var(--tw-content);height:2.5rem}.after\:h-full:after{content:var(--tw-content);height:100%}.after\:w-2:after{content:var(--tw-content);width:.5rem}.after\:-translate-y-1\/2:after{--tw-translate-y:-50%}.after\:-translate-y-1\/2:after,.after\:translate-x-1\/2:after{content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\:translate-x-1\/2:after{--tw-translate-x:50%}.after\:scale-75:after{--tw-scale-x:.75;--tw-scale-y:.75}.after\:scale-75:after,.after\:transform:after{content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\:cursor-ew-resize:after{content:var(--tw-content);cursor:ew-resize}.after\:rounded-full:after{border-radius:9999px;content:var(--tw-content)}.after\:bg-neutral-200:after{--tw-bg-opacity:1;background-color:rgba(209,209,209,var(--tw-bg-opacity,1));content:var(--tw-content)}.after\:to-neutral:after{--tw-gradient-to:#5d5d5d var(--tw-gradient-to-position);content:var(--tw-content)}.after\:px-6:after{content:var(--tw-content);padding-left:1.5rem;padding-right:1.5rem}.after\:text-neutral:after{--tw-text-opacity:1;color:rgba(93,93,93,var(--tw-text-opacity,1));content:var(--tw-content)}.after\:transition:after{content:var(--tw-content);transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\:transition-opacity:after{content:var(--tw-content);transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\:delay-100:after{content:var(--tw-content);transition-delay:.1s}.after\:duration-200:after{content:var(--tw-content);transition-duration:.2s}.after\:content-\[\"\"\]:after{--tw-content:"";content:var(--tw-content)}.after\:content-\[\'\#\'\]:after{--tw-content:"#";content:var(--tw-content)}.valid\:border-success:valid{--tw-border-opacity:1;border-color:rgba(0,204,102,var(--tw-border-opacity,1))}.invalid\:border-error:invalid{--tw-border-opacity:1;border-color:rgba(181,24,13,var(--tw-border-opacity,1))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:grid-rows-\[1fr\]:hover{grid-template-rows:1fr}.hover\:overflow-x-auto:hover{overflow-x:auto}.hover\:border-input-border-hover:hover{--tw-border-opacity:1;border-color:rgba(231,231,231,var(--tw-border-opacity,1))}.hover\:bg-card\/30:hover{background-color:hsla(0,0%,91%,.3)}.hover\:bg-destructive-500:hover{--tw-bg-opacity:1;background-color:rgba(249,90,22,var(--tw-bg-opacity,1))}.hover\:bg-neutral-300:hover{--tw-bg-opacity:1;background-color:rgba(176,176,176,var(--tw-bg-opacity,1))}.hover\:bg-neutral-500:hover{--tw-bg-opacity:1;background-color:rgba(109,109,109,var(--tw-bg-opacity,1))}.hover\:bg-neutral-600:hover{--tw-bg-opacity:1;background-color:rgba(93,93,93,var(--tw-bg-opacity,1))}.hover\:bg-neutral-900:hover{--tw-bg-opacity:1;background-color:rgba(61,61,61,var(--tw-bg-opacity,1))}.hover\:bg-neutral\/10:hover{background-color:rgba(93,93,93,.1)}.hover\:bg-primary-500:hover{--tw-bg-opacity:1;background-color:rgba(197,101,212,var(--tw-bg-opacity,1))}.hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\:bg-secondary-300:hover{--tw-bg-opacity:1;background-color:rgba(255,216,69,var(--tw-bg-opacity,1))}.hover\:bg-text:hover{--tw-bg-opacity:1;background-color:rgba(18,18,18,var(--tw-bg-opacity,1))}.hover\:bg-text\/10:hover{background-color:hsla(0,0%,7%,.1)}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-opacity-0:hover{--tw-bg-opacity:0}.hover\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.hover\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.hover\:text-text\/80:hover{color:hsla(0,0%,7%,.8)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:outline-inherit:hover{outline-color:inherit}.hover\:delay-0:hover{transition-delay:0s}.after\:hover\:cursor-pointer:hover:after{content:var(--tw-content);cursor:pointer}.hover\:after\:opacity-80:hover:after{content:var(--tw-content);opacity:.8}.focus\:grid-rows-\[1fr\]:focus{grid-template-rows:1fr}.focus\:overflow-x-auto:focus{overflow-x:auto}.focus\:border-input-border-focus:focus{--tw-border-opacity:1;border-color:rgba(209,209,209,var(--tw-border-opacity,1))}.focus\:bg-neutral\/10:focus{background-color:rgba(93,93,93,.1)}.focus\:bg-text-opposite\/20:focus{background-color:rgba(255,245,237,.2)}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline-0:focus{outline-width:0}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus\:\[box-shadow\:none\]:focus{box-shadow:none}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.active\:border-neutral-400:active{--tw-border-opacity:1;border-color:rgba(136,136,136,var(--tw-border-opacity,1))}.after\:active\:bg-neutral-400:active:after{--tw-bg-opacity:1;background-color:rgba(136,136,136,var(--tw-bg-opacity,1));content:var(--tw-content)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:text-white\/25:disabled{color:hsla(0,0%,100%,.25)}.disabled\:opacity-50:disabled{opacity:.5}.group\/dropdown:focus-within .group-focus-within\/dropdown\:visible{visibility:visible}.group\/dropdown:focus-within .group-focus-within\/dropdown\:grid-rows-\[1fr\]{grid-template-rows:1fr}.group\/dropdown:hover .group-hover\/dropdown\:visible,.group\/editable-field:hover .group-hover\/editable-field\:visible,.group\/height-smoother:hover .group-hover\/height-smoother\:visible{visibility:visible}.group\/dropdown:hover .group-hover\/dropdown\:grid-rows-\[1fr\]{grid-template-rows:1fr}.group:hover .group-hover\:opacity-0{opacity:0}.group:hover .group-hover\:opacity-100{opacity:1}.group\/height-smoother:focus .group-focus\/height-smoother\:visible{visibility:visible}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:rgba(251,125,60,.3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{--tw-bg-opacity:1;background-color:rgba(251,125,60,var(--tw-bg-opacity,1))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(251,125,60,var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.aria-selected\:cursor-default[aria-selected=true]{cursor:default}.aria-selected\:bg-text\/20[aria-selected=true]{background-color:hsla(0,0%,7%,.2)}.aria-selected\:text-black[aria-selected=true]{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity,1))}.aria-selected\:text-text[aria-selected=true]{--tw-text-opacity:1;color:rgba(18,18,18,var(--tw-text-opacity,1))}.aria-selected\:text-text-dark[aria-selected=true]{--tw-text-opacity:1;color:rgba(255,245,237,var(--tw-text-opacity,1))}.aria-selected\:text-white[aria-selected=true]{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity,1))}.aria-selected\:hover\:cursor-default:hover[aria-selected=true]{cursor:default}.aria-\[invalid\=true\]\:border-error[aria-invalid=true]{--tw-border-opacity:1;border-color:rgba(181,24,13,var(--tw-border-opacity,1))}.aria-\[current\=true\]\:bg-opacity-5[aria-current=true]{--tw-bg-opacity:0.05}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom],.data-\[side\=left\]\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right],.data-\[side\=top\]\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px}.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel],.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x)}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media not all and (min-width:768px){.max-md\:flex-col{flex-direction:column}.max-md\:py-1{padding-bottom:.25rem;padding-top:.25rem}.max-md\:py-2{padding-bottom:.5rem;padding-top:.5rem}.max-md\:py-3{padding-bottom:.75rem;padding-top:.75rem}.max-md\:py-4{padding-bottom:1rem;padding-top:1rem}}@media (min-width:640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:flex-col{flex-direction:column}}@media (min-width:768px){.md\:sticky{position:sticky}.md\:w-1\/4{width:25%}.md\:w-2\/3{width:66.666667%}.md\:w-\[400px\]{width:400px}.md\:max-w-\[420px\]{max-width:420px}.md\:max-w-\[50\%\]{max-width:50%}.md\:gap-4{gap:1rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.after\:md\:opacity-0:after{content:var(--tw-content);opacity:0}}@media (min-width:1024px){.lg\:ml-\[10vw\]{margin-left:10vw}.lg\:gap-6{gap:1.5rem}}.dark\:divide-text-dark\/20:where([data-theme=dark],[data-theme=dark] *)>:not([hidden])~:not([hidden]){border-color:rgba(255,245,237,.2)}.dark\:border-none:where([data-theme=dark],[data-theme=dark] *){border-style:none}.dark\:border-card-dark:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(39,39,39,var(--tw-border-opacity,1))}.dark\:border-destructive-dark:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(251,125,60,var(--tw-border-opacity,1))}.dark\:border-error-dark:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(255,88,77,var(--tw-border-opacity,1))}.dark\:border-input-border-dark:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(79,79,79,var(--tw-border-opacity,1))}.dark\:border-neutral-950:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(48,48,48,var(--tw-border-opacity,1))}.dark\:border-neutral-dark:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(136,136,136,var(--tw-border-opacity,1))}.dark\:border-primary-dark:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(232,121,249,var(--tw-border-opacity,1))}.dark\:border-secondary-dark:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(255,230,109,var(--tw-border-opacity,1))}.dark\:border-success-dark:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(102,255,153,var(--tw-border-opacity,1))}.dark\:border-text:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(18,18,18,var(--tw-border-opacity,1))}.dark\:border-text-dark:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(255,245,237,var(--tw-border-opacity,1))}.dark\:border-warning-dark:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(255,230,109,var(--tw-border-opacity,1))}.dark\:bg-background-dark\/40:where([data-theme=dark],[data-theme=dark] *){background-color:hsla(0,0%,9%,.4)}.dark\:bg-card-dark:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(39,39,39,var(--tw-bg-opacity,1))}.dark\:bg-card-dark\/20:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(39,39,39,.2)}.dark\:bg-card-dark\/40:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(39,39,39,.4)}.dark\:bg-card-dark\/60:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(39,39,39,.6)}.dark\:bg-card-dark\/80:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(39,39,39,.8)}.dark\:bg-card-dark\/95:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(39,39,39,.95)}.dark\:bg-destructive-dark:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(251,125,60,var(--tw-bg-opacity,1))}.dark\:bg-destructive-dark\/10:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(251,125,60,.1)}.dark\:bg-error-dark:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(255,88,77,var(--tw-bg-opacity,1))}.dark\:bg-error-dark\/10:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(255,88,77,.1)}.dark\:bg-error-dark\/40:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(255,88,77,.4)}.dark\:bg-input-background-dark:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(61,61,61,var(--tw-bg-opacity,1))}.dark\:bg-neutral-700:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(79,79,79,var(--tw-bg-opacity,1))}.dark\:bg-neutral-950:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(48,48,48,var(--tw-bg-opacity,1))}.dark\:bg-neutral-dark:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(136,136,136,var(--tw-bg-opacity,1))}.dark\:bg-neutral-dark\/10:where([data-theme=dark],[data-theme=dark] *){background-color:hsla(0,0%,53%,.1)}.dark\:bg-primary-dark:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(232,121,249,var(--tw-bg-opacity,1))}.dark\:bg-primary-dark\/10:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(232,121,249,.1)}.dark\:bg-secondary-dark:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(255,230,109,var(--tw-bg-opacity,1))}.dark\:bg-secondary-dark\/10:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(255,230,109,.1)}.dark\:bg-success-dark:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(102,255,153,var(--tw-bg-opacity,1))}.dark\:bg-success-dark\/10:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(102,255,153,.1)}.dark\:bg-success-dark\/30:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(102,255,153,.3)}.dark\:bg-text:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(18,18,18,var(--tw-bg-opacity,1))}.dark\:bg-text-dark:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(255,245,237,var(--tw-bg-opacity,1))}.dark\:bg-text-dark\/10:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(255,245,237,.1)}.dark\:bg-transparent:where([data-theme=dark],[data-theme=dark] *){background-color:transparent}.dark\:bg-warning-dark\/10:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(255,230,109,.1)}.dark\:bg-opacity-0:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:0}.dark\:fill-neutral-dark\/10:where([data-theme=dark],[data-theme=dark] *){fill:hsla(0,0%,53%,.1)}.dark\:fill-neutral-dark\/30:where([data-theme=dark],[data-theme=dark] *){fill:hsla(0,0%,53%,.3)}.dark\:stroke-neutral-dark\/10:where([data-theme=dark],[data-theme=dark] *){stroke:hsla(0,0%,53%,.1)}.dark\:text-error-dark:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(255,88,77,var(--tw-text-opacity,1))}.dark\:text-inherit:where([data-theme=dark],[data-theme=dark] *){color:inherit}.dark\:text-input-text-dark:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(246,246,246,var(--tw-text-opacity,1))}.dark\:text-neutral-dark:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(136,136,136,var(--tw-text-opacity,1))}.dark\:text-primary-dark:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(232,121,249,var(--tw-text-opacity,1))}.dark\:text-secondary-dark:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(255,230,109,var(--tw-text-opacity,1))}.dark\:text-success-dark:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(102,255,153,var(--tw-text-opacity,1))}.dark\:text-text:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(18,18,18,var(--tw-text-opacity,1))}.dark\:text-text-dark:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(255,245,237,var(--tw-text-opacity,1))}.dark\:text-text-dark\/50:where([data-theme=dark],[data-theme=dark] *){color:rgba(255,245,237,.5)}.dark\:text-text-opposite-dark:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(28,28,28,var(--tw-text-opacity,1))}.dark\:text-warning-dark:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(255,230,109,var(--tw-text-opacity,1))}.dark\:accent-destructive-dark:where([data-theme=dark],[data-theme=dark] *){accent-color:#fb7d3c}.dark\:accent-error-dark:where([data-theme=dark],[data-theme=dark] *){accent-color:#ff584d}.dark\:accent-neutral-dark:where([data-theme=dark],[data-theme=dark] *){accent-color:#888}.dark\:accent-primary-dark:where([data-theme=dark],[data-theme=dark] *){accent-color:#e879f9}.dark\:accent-secondary-dark:where([data-theme=dark],[data-theme=dark] *){accent-color:#ffe66d}.dark\:accent-success-dark:where([data-theme=dark],[data-theme=dark] *){accent-color:#6f9}.dark\:accent-text-dark:where([data-theme=dark],[data-theme=dark] *){accent-color:#fff5ed}.after\:dark\:bg-neutral-950:where([data-theme=dark],[data-theme=dark] *):after{--tw-bg-opacity:1;background-color:rgba(48,48,48,var(--tw-bg-opacity,1));content:var(--tw-content)}.dark\:after\:text-neutral-dark:where([data-theme=dark],[data-theme=dark] *):after{--tw-text-opacity:1;color:rgba(136,136,136,var(--tw-text-opacity,1));content:var(--tw-content)}.dark\:valid\:border-success-dark:valid:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(102,255,153,var(--tw-border-opacity,1))}.dark\:invalid\:border-error-dark:invalid:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(255,88,77,var(--tw-border-opacity,1))}.dark\:hover\:border-input-border-hover-dark:hover:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(93,93,93,var(--tw-border-opacity,1))}.dark\:hover\:bg-card-dark:hover:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(39,39,39,var(--tw-bg-opacity,1))}.dark\:hover\:bg-card-dark\/30:hover:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(39,39,39,.3)}.dark\:hover\:bg-neutral-700:hover:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(79,79,79,var(--tw-bg-opacity,1))}.dark\:hover\:bg-neutral-900:hover:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgba(61,61,61,var(--tw-bg-opacity,1))}.dark\:hover\:bg-neutral-dark\/10:hover:where([data-theme=dark],[data-theme=dark] *){background-color:hsla(0,0%,53%,.1)}.dark\:hover\:bg-red-300:hover:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}.dark\:hover\:bg-text-opposite\/10:hover:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(255,245,237,.1)}.hover\:dark\:bg-destructive-200:where([data-theme=dark],[data-theme=dark] *):hover{--tw-bg-opacity:1;background-color:rgba(254,206,170,var(--tw-bg-opacity,1))}.hover\:dark\:bg-neutral-400:where([data-theme=dark],[data-theme=dark] *):hover{--tw-bg-opacity:1;background-color:rgba(136,136,136,var(--tw-bg-opacity,1))}.hover\:dark\:bg-primary-300:where([data-theme=dark],[data-theme=dark] *):hover{--tw-bg-opacity:1;background-color:rgba(241,171,252,var(--tw-bg-opacity,1))}.hover\:dark\:bg-secondary-100:where([data-theme=dark],[data-theme=dark] *):hover{--tw-bg-opacity:1;background-color:rgba(255,246,194,var(--tw-bg-opacity,1))}.hover\:dark\:bg-transparent:where([data-theme=dark],[data-theme=dark] *):hover{background-color:transparent}.dark\:hover\:bg-opacity-0:hover:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:0}.dark\:hover\:bg-opacity-10:hover:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:0.1}.dark\:hover\:text-text-dark\/80:hover:where([data-theme=dark],[data-theme=dark] *){color:rgba(255,245,237,.8)}.dark\:focus\:border-input-border-focus:focus:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(209,209,209,var(--tw-border-opacity,1))}.dark\:focus\:bg-neutral-dark\/10:focus:where([data-theme=dark],[data-theme=dark] *){background-color:hsla(0,0%,53%,.1)}.dark\:focus\:bg-text-opposite\/20:focus:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(255,245,237,.2)}.dark\:active\:border-neutral-600:active:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(93,93,93,var(--tw-border-opacity,1))}.dark\:after\:active\:bg-neutral-600:active:where([data-theme=dark],[data-theme=dark] *):after{--tw-bg-opacity:1;background-color:rgba(93,93,93,var(--tw-bg-opacity,1));content:var(--tw-content)}.dark\:aria-selected\:bg-text-opposite\/20[aria-selected=true]:where([data-theme=dark],[data-theme=dark] *){background-color:rgba(255,245,237,.2)}.dark\:aria-selected\:text-text[aria-selected=true]:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(18,18,18,var(--tw-text-opacity,1))}.dark\:aria-selected\:text-text-dark[aria-selected=true]:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity:1;color:rgba(255,245,237,var(--tw-text-opacity,1))}.dark\:aria-\[invalid\=true\]\:border-error-dark[aria-invalid=true]:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1;border-color:rgba(255,88,77,var(--tw-border-opacity,1))}.\[\&\+div\]\:text-xs+div{font-size:.75rem;line-height:1rem}.\[\&\:has\(\.section\:hover\)\]\:bg-transparent:has(.section:hover){background-color:transparent}.\[\&\>span\]\:line-clamp-1>span{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-bottom:.375rem;padding-top:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:size-5 [cmdk-input-wrapper] svg{height:1.25rem;width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]_svg\]\:size-5 [cmdk-item] svg{height:1.25rem;width:1.25rem}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intlayer/design-system",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.6",
|
|
4
4
|
"private": false,
|
|
5
5
|
"keywords": [
|
|
6
6
|
"design-system",
|
|
@@ -79,10 +79,10 @@
|
|
|
79
79
|
"tailwindcss-animate": "^1.0.7",
|
|
80
80
|
"zod": "^3.23.8",
|
|
81
81
|
"zustand": "^4.5.5",
|
|
82
|
-
"@intlayer/config": "^3.3.
|
|
83
|
-
"@intlayer/dictionaries-entry": "^3.3.
|
|
84
|
-
"@intlayer/core": "^3.3.
|
|
85
|
-
"react-intlayer": "^3.3.
|
|
82
|
+
"@intlayer/config": "^3.3.6",
|
|
83
|
+
"@intlayer/dictionaries-entry": "^3.3.6",
|
|
84
|
+
"@intlayer/core": "^3.3.6",
|
|
85
|
+
"react-intlayer": "^3.3.6"
|
|
86
86
|
},
|
|
87
87
|
"devDependencies": {
|
|
88
88
|
"@chromatic-com/storybook": "^3.2.2",
|
|
@@ -120,21 +120,21 @@
|
|
|
120
120
|
"typescript": "^5.7.2",
|
|
121
121
|
"vite": "^6.0.1",
|
|
122
122
|
"vite-plugin-dts": "^4.3.0",
|
|
123
|
-
"@intlayer/backend": "^3.3.4",
|
|
124
123
|
"@utils/ts-config": "^1.0.4",
|
|
125
|
-
"@utils/
|
|
126
|
-
"@
|
|
124
|
+
"@utils/ts-config-types": "^1.0.4",
|
|
125
|
+
"@intlayer/backend": "^3.3.6",
|
|
126
|
+
"@utils/tsup-config": "^1.0.4"
|
|
127
127
|
},
|
|
128
128
|
"peerDependencies": {
|
|
129
129
|
"react": ">=18.3.1",
|
|
130
130
|
"react-dom": ">=18.3.1",
|
|
131
131
|
"zustand": "^4.5.5",
|
|
132
|
-
"@intlayer/backend": "^3.3.
|
|
133
|
-
"@intlayer/
|
|
134
|
-
"@intlayer/
|
|
135
|
-
"@intlayer/dictionaries-entry": "^3.3.
|
|
136
|
-
"intlayer": "^3.3.
|
|
137
|
-
"react-intlayer": "^3.3.
|
|
132
|
+
"@intlayer/backend": "^3.3.6",
|
|
133
|
+
"@intlayer/core": "^3.3.6",
|
|
134
|
+
"@intlayer/config": "^3.3.6",
|
|
135
|
+
"@intlayer/dictionaries-entry": "^3.3.6",
|
|
136
|
+
"intlayer": "^3.3.6",
|
|
137
|
+
"react-intlayer": "^3.3.6"
|
|
138
138
|
},
|
|
139
139
|
"scripts": {
|
|
140
140
|
"build": "pnpm build:package && pnpm build:css && pnpm build:storybook",
|