analytica-frontend-lib 1.0.91 → 1.0.93
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/Accordation/index.d.mts +12 -0
- package/dist/Accordation/index.d.ts +12 -1
- package/dist/Accordation/index.js +1 -0
- package/dist/Accordation/index.js.map +1 -0
- package/dist/Accordation/index.mjs +1 -0
- package/dist/Accordation/index.mjs.map +1 -0
- package/dist/Alert/index.d.mts +13 -0
- package/dist/Alert/index.d.ts +13 -1
- package/dist/Alert/index.js +1 -0
- package/dist/Alert/index.js.map +1 -0
- package/dist/Alert/index.mjs +1 -0
- package/dist/Alert/index.mjs.map +1 -0
- package/dist/AlertDialog/index.d.mts +36 -0
- package/dist/AlertDialog/index.d.ts +36 -1
- package/dist/AlertDialog/index.js +1 -0
- package/dist/AlertDialog/index.js.map +1 -0
- package/dist/AlertDialog/index.mjs +1 -0
- package/dist/AlertDialog/index.mjs.map +1 -0
- package/dist/Alternative/index.d.mts +81 -0
- package/dist/Alternative/index.d.ts +81 -1
- package/dist/Alternative/index.js +1 -0
- package/dist/Alternative/index.js.map +1 -0
- package/dist/Alternative/index.mjs +1 -0
- package/dist/Alternative/index.mjs.map +1 -0
- package/dist/Auth/AuthProvider/index.d.mts +3 -0
- package/dist/Auth/AuthProvider/index.d.ts +3 -1
- package/dist/Auth/AuthProvider/index.js +1 -0
- package/dist/Auth/AuthProvider/index.js.map +1 -0
- package/dist/Auth/AuthProvider/index.mjs +1 -0
- package/dist/Auth/AuthProvider/index.mjs.map +1 -0
- package/dist/Auth/ProtectedRoute/index.d.mts +3 -0
- package/dist/Auth/ProtectedRoute/index.d.ts +3 -1
- package/dist/Auth/ProtectedRoute/index.js +1 -0
- package/dist/Auth/ProtectedRoute/index.js.map +1 -0
- package/dist/Auth/ProtectedRoute/index.mjs +1 -0
- package/dist/Auth/ProtectedRoute/index.mjs.map +1 -0
- package/dist/Auth/PublicRoute/index.d.mts +3 -0
- package/dist/Auth/PublicRoute/index.d.ts +3 -1
- package/dist/Auth/PublicRoute/index.js +1 -0
- package/dist/Auth/PublicRoute/index.js.map +1 -0
- package/dist/Auth/PublicRoute/index.mjs +1 -0
- package/dist/Auth/PublicRoute/index.mjs.map +1 -0
- package/dist/Auth/getRootDomain/index.d.mts +3 -0
- package/dist/Auth/getRootDomain/index.d.ts +3 -1
- package/dist/Auth/getRootDomain/index.js +1 -0
- package/dist/Auth/getRootDomain/index.js.map +1 -0
- package/dist/Auth/getRootDomain/index.mjs +1 -0
- package/dist/Auth/getRootDomain/index.mjs.map +1 -0
- package/dist/Auth/index.d.mts +312 -0
- package/dist/Auth/index.d.ts +312 -1
- package/dist/Auth/index.js +1 -0
- package/dist/Auth/index.js.map +1 -0
- package/dist/Auth/index.mjs +1 -0
- package/dist/Auth/index.mjs.map +1 -0
- package/dist/Auth/useApiConfig/index.d.mts +43 -0
- package/dist/Auth/useApiConfig/index.d.ts +43 -1
- package/dist/Auth/useApiConfig/index.js +1 -0
- package/dist/Auth/useApiConfig/index.js.map +1 -0
- package/dist/Auth/useApiConfig/index.mjs +1 -0
- package/dist/Auth/useApiConfig/index.mjs.map +1 -0
- package/dist/Auth/useAuth/index.d.mts +3 -0
- package/dist/Auth/useAuth/index.d.ts +3 -1
- package/dist/Auth/useAuth/index.js +1 -0
- package/dist/Auth/useAuth/index.js.map +1 -0
- package/dist/Auth/useAuth/index.mjs +1 -0
- package/dist/Auth/useAuth/index.mjs.map +1 -0
- package/dist/Auth/useAuthGuard/index.d.mts +3 -0
- package/dist/Auth/useAuthGuard/index.d.ts +3 -1
- package/dist/Auth/useAuthGuard/index.js +1 -0
- package/dist/Auth/useAuthGuard/index.js.map +1 -0
- package/dist/Auth/useAuthGuard/index.mjs +1 -0
- package/dist/Auth/useAuthGuard/index.mjs.map +1 -0
- package/dist/Auth/useRouteAuth/index.d.mts +3 -0
- package/dist/Auth/useRouteAuth/index.d.ts +3 -1
- package/dist/Auth/useRouteAuth/index.js +1 -0
- package/dist/Auth/useRouteAuth/index.js.map +1 -0
- package/dist/Auth/useRouteAuth/index.mjs +1 -0
- package/dist/Auth/useRouteAuth/index.mjs.map +1 -0
- package/dist/Auth/useUrlAuthentication/index.d.mts +58 -0
- package/dist/Auth/useUrlAuthentication/index.d.ts +58 -1
- package/dist/Auth/useUrlAuthentication/index.js +1 -0
- package/dist/Auth/useUrlAuthentication/index.js.map +1 -0
- package/dist/Auth/useUrlAuthentication/index.mjs +1 -0
- package/dist/Auth/useUrlAuthentication/index.mjs.map +1 -0
- package/dist/Auth/withAuth/index.d.mts +3 -0
- package/dist/Auth/withAuth/index.d.ts +3 -1
- package/dist/Auth/withAuth/index.js +1 -0
- package/dist/Auth/withAuth/index.js.map +1 -0
- package/dist/Auth/withAuth/index.mjs +1 -0
- package/dist/Auth/withAuth/index.mjs.map +1 -0
- package/dist/Auth/zustandAuthAdapter/index.d.mts +75 -0
- package/dist/Auth/zustandAuthAdapter/index.d.ts +75 -1
- package/dist/Auth/zustandAuthAdapter/index.js +1 -0
- package/dist/Auth/zustandAuthAdapter/index.js.map +1 -0
- package/dist/Auth/zustandAuthAdapter/index.mjs +1 -0
- package/dist/Auth/zustandAuthAdapter/index.mjs.map +1 -0
- package/dist/Badge/index.d.mts +46 -0
- package/dist/Badge/index.d.ts +46 -1
- package/dist/Badge/index.js +1 -0
- package/dist/Badge/index.js.map +1 -0
- package/dist/Badge/index.mjs +1 -0
- package/dist/Badge/index.mjs.map +1 -0
- package/dist/Button/index.d.mts +45 -0
- package/dist/Button/index.d.ts +45 -1
- package/dist/Button/index.js +1 -0
- package/dist/Button/index.js.map +1 -0
- package/dist/Button/index.mjs +1 -0
- package/dist/Button/index.mjs.map +1 -0
- package/dist/Calendar/index.d.mts +60 -0
- package/dist/Calendar/index.d.ts +60 -1
- package/dist/Calendar/index.js +1 -0
- package/dist/Calendar/index.js.map +1 -0
- package/dist/Calendar/index.mjs +1 -0
- package/dist/Calendar/index.mjs.map +1 -0
- package/dist/Card/index.d.mts +150 -0
- package/dist/Card/index.d.ts +150 -1
- package/dist/Card/index.js +1 -0
- package/dist/Card/index.js.map +1 -0
- package/dist/Card/index.mjs +1 -0
- package/dist/Card/index.mjs.map +1 -0
- package/dist/CheckBox/index.d.mts +74 -0
- package/dist/CheckBox/index.d.ts +74 -1
- package/dist/CheckBox/index.js +1 -0
- package/dist/CheckBox/index.js.map +1 -0
- package/dist/CheckBox/index.mjs +1 -0
- package/dist/CheckBox/index.mjs.map +1 -0
- package/dist/Chips/index.d.mts +41 -0
- package/dist/Chips/index.d.ts +41 -1
- package/dist/Chips/index.js +1 -0
- package/dist/Chips/index.js.map +1 -0
- package/dist/Chips/index.mjs +1 -0
- package/dist/Chips/index.mjs.map +1 -0
- package/dist/Divider/index.d.mts +32 -0
- package/dist/Divider/index.d.ts +32 -1
- package/dist/Divider/index.js +1 -0
- package/dist/Divider/index.js.map +1 -0
- package/dist/Divider/index.mjs +1 -0
- package/dist/Divider/index.mjs.map +1 -0
- package/dist/DropdownMenu/index.d.mts +68 -0
- package/dist/DropdownMenu/index.d.ts +68 -1
- package/dist/DropdownMenu/index.js +1 -0
- package/dist/DropdownMenu/index.js.map +1 -0
- package/dist/DropdownMenu/index.mjs +1 -0
- package/dist/DropdownMenu/index.mjs.map +1 -0
- package/dist/IconButton/index.d.mts +76 -0
- package/dist/IconButton/index.d.ts +76 -1
- package/dist/IconButton/index.js +1 -0
- package/dist/IconButton/index.js.map +1 -0
- package/dist/IconButton/index.mjs +1 -0
- package/dist/IconButton/index.mjs.map +1 -0
- package/dist/IconRoundedButton/index.d.mts +34 -0
- package/dist/IconRoundedButton/index.d.ts +34 -1
- package/dist/IconRoundedButton/index.js +1 -0
- package/dist/IconRoundedButton/index.js.map +1 -0
- package/dist/IconRoundedButton/index.mjs +1 -0
- package/dist/IconRoundedButton/index.mjs.map +1 -0
- package/dist/Input/index.d.mts +27 -0
- package/dist/Input/index.d.ts +27 -1
- package/dist/Input/index.js +1 -0
- package/dist/Input/index.js.map +1 -0
- package/dist/Input/index.mjs +1 -0
- package/dist/Input/index.mjs.map +1 -0
- package/dist/Menu/index.d.mts +48 -0
- package/dist/Menu/index.d.ts +48 -1
- package/dist/Menu/index.js +1 -0
- package/dist/Menu/index.js.map +1 -0
- package/dist/Menu/index.mjs +1 -0
- package/dist/Menu/index.mjs.map +1 -0
- package/dist/Modal/index.d.mts +66 -0
- package/dist/Modal/index.d.ts +66 -1
- package/dist/Modal/index.js +1 -0
- package/dist/Modal/index.js.map +1 -0
- package/dist/Modal/index.mjs +1 -0
- package/dist/Modal/index.mjs.map +1 -0
- package/dist/MultipleChoice/index.d.mts +20 -0
- package/dist/MultipleChoice/index.d.ts +20 -1
- package/dist/MultipleChoice/index.js +1 -0
- package/dist/MultipleChoice/index.js.map +1 -0
- package/dist/MultipleChoice/index.mjs +1 -0
- package/dist/MultipleChoice/index.mjs.map +1 -0
- package/dist/NavButton/index.d.mts +57 -0
- package/dist/NavButton/index.d.ts +57 -1
- package/dist/NavButton/index.js +1 -0
- package/dist/NavButton/index.js.map +1 -0
- package/dist/NavButton/index.mjs +1 -0
- package/dist/NavButton/index.mjs.map +1 -0
- package/dist/NotFound/index.d.mts +58 -0
- package/dist/NotFound/index.d.ts +58 -1
- package/dist/NotFound/index.js +1 -0
- package/dist/NotFound/index.js.map +1 -0
- package/dist/NotFound/index.mjs +1 -0
- package/dist/NotFound/index.mjs.map +1 -0
- package/dist/ProgressBar/index.d.mts +95 -0
- package/dist/ProgressBar/index.d.ts +95 -1
- package/dist/ProgressBar/index.js +1 -0
- package/dist/ProgressBar/index.js.map +1 -0
- package/dist/ProgressBar/index.mjs +1 -0
- package/dist/ProgressBar/index.mjs.map +1 -0
- package/dist/ProgressCircle/index.d.mts +60 -0
- package/dist/ProgressCircle/index.d.ts +60 -1
- package/dist/ProgressCircle/index.js +1 -0
- package/dist/ProgressCircle/index.js.map +1 -0
- package/dist/ProgressCircle/index.mjs +1 -0
- package/dist/ProgressCircle/index.mjs.map +1 -0
- package/dist/Quiz/index.d.mts +57 -0
- package/dist/Quiz/index.d.ts +57 -1
- package/dist/Quiz/index.js +3 -2
- package/dist/Quiz/index.js.map +1 -0
- package/dist/Quiz/index.mjs +3 -2
- package/dist/Quiz/index.mjs.map +1 -0
- package/dist/Quiz/useQuizStore/index.d.mts +139 -0
- package/dist/Quiz/useQuizStore/index.d.ts +139 -1
- package/dist/Quiz/useQuizStore/index.js +1 -0
- package/dist/Quiz/useQuizStore/index.js.map +1 -0
- package/dist/Quiz/useQuizStore/index.mjs +1 -0
- package/dist/Quiz/useQuizStore/index.mjs.map +1 -0
- package/dist/Radio/index.d.mts +203 -0
- package/dist/Radio/index.d.ts +203 -1
- package/dist/Radio/index.js +1 -0
- package/dist/Radio/index.js.map +1 -0
- package/dist/Radio/index.mjs +1 -0
- package/dist/Radio/index.mjs.map +1 -0
- package/dist/Select/index.d.mts +58 -0
- package/dist/Select/index.d.ts +58 -1
- package/dist/Select/index.js +1 -0
- package/dist/Select/index.js.map +1 -0
- package/dist/Select/index.mjs +1 -0
- package/dist/Select/index.mjs.map +1 -0
- package/dist/SelectionButton/index.d.mts +57 -0
- package/dist/SelectionButton/index.d.ts +57 -1
- package/dist/SelectionButton/index.js +1 -0
- package/dist/SelectionButton/index.js.map +1 -0
- package/dist/SelectionButton/index.mjs +1 -0
- package/dist/SelectionButton/index.mjs.map +1 -0
- package/dist/Skeleton/index.d.mts +40 -0
- package/dist/Skeleton/index.d.ts +40 -1
- package/dist/Skeleton/index.js +1 -0
- package/dist/Skeleton/index.js.map +1 -0
- package/dist/Skeleton/index.mjs +1 -0
- package/dist/Skeleton/index.mjs.map +1 -0
- package/dist/Stepper/index.d.mts +169 -0
- package/dist/Stepper/index.d.ts +169 -1
- package/dist/Stepper/index.js +1 -0
- package/dist/Stepper/index.js.map +1 -0
- package/dist/Stepper/index.mjs +1 -0
- package/dist/Stepper/index.mjs.map +1 -0
- package/dist/Table/index.d.mts +17 -0
- package/dist/Table/index.d.ts +17 -1
- package/dist/Table/index.js +1 -0
- package/dist/Table/index.js.map +1 -0
- package/dist/Table/index.mjs +1 -0
- package/dist/Table/index.mjs.map +1 -0
- package/dist/Text/index.d.mts +58 -0
- package/dist/Text/index.d.ts +58 -1
- package/dist/Text/index.js +1 -0
- package/dist/Text/index.js.map +1 -0
- package/dist/Text/index.mjs +1 -0
- package/dist/Text/index.mjs.map +1 -0
- package/dist/TextArea/index.d.mts +70 -0
- package/dist/TextArea/index.d.ts +70 -1
- package/dist/TextArea/index.js +1 -0
- package/dist/TextArea/index.js.map +1 -0
- package/dist/TextArea/index.mjs +1 -0
- package/dist/TextArea/index.mjs.map +1 -0
- package/dist/Toast/ToastStore/index.d.mts +19 -0
- package/dist/Toast/ToastStore/index.d.ts +19 -1
- package/dist/Toast/ToastStore/index.js +1 -0
- package/dist/Toast/ToastStore/index.js.map +1 -0
- package/dist/Toast/ToastStore/index.mjs +1 -0
- package/dist/Toast/ToastStore/index.mjs.map +1 -0
- package/dist/Toast/Toaster/index.d.mts +16 -0
- package/dist/Toast/Toaster/index.d.ts +16 -1
- package/dist/Toast/Toaster/index.js +1 -0
- package/dist/Toast/Toaster/index.js.map +1 -0
- package/dist/Toast/Toaster/index.mjs +1 -0
- package/dist/Toast/Toaster/index.mjs.map +1 -0
- package/dist/Toast/index.d.mts +17 -0
- package/dist/Toast/index.d.ts +17 -1
- package/dist/Toast/index.js +1 -0
- package/dist/Toast/index.js.map +1 -0
- package/dist/Toast/index.mjs +1 -0
- package/dist/Toast/index.mjs.map +1 -0
- package/dist/index.css +5 -4
- package/dist/index.css.map +1 -0
- package/dist/index.d.mts +42 -2142
- package/dist/index.d.ts +42 -2142
- package/dist/index.js +3 -23
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +3 -20
- package/dist/index.mjs.map +1 -0
- package/dist/styles.css +5 -4
- package/dist/styles.css.map +1 -0
- package/dist/styles.d.mts +2 -0
- package/dist/styles.d.ts +2 -0
- package/package.json +4 -5
- package/dist/CheckBox/CheckboxList/index.d.ts +0 -1
- package/dist/CheckBox/CheckboxList/index.js +0 -429
- package/dist/CheckBox/CheckboxList/index.mjs +0 -415
|
@@ -1 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
import * as zustand from 'zustand';
|
|
2
|
+
|
|
3
|
+
type ToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' | 'default';
|
|
4
|
+
type ToastData = {
|
|
5
|
+
id: string;
|
|
6
|
+
title: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
variant?: 'solid' | 'outlined';
|
|
9
|
+
action?: 'warning' | 'success' | 'info';
|
|
10
|
+
position?: ToastPosition;
|
|
11
|
+
};
|
|
12
|
+
type ToastStore = {
|
|
13
|
+
toasts: ToastData[];
|
|
14
|
+
addToast: (toast: Omit<ToastData, 'id'>) => void;
|
|
15
|
+
removeToast: (id: string) => void;
|
|
16
|
+
};
|
|
17
|
+
declare const useToastStore: zustand.UseBoundStore<zustand.StoreApi<ToastStore>>;
|
|
18
|
+
|
|
19
|
+
export { useToastStore as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Toast/utils/ToastStore.ts"],"sourcesContent":["import { create } from 'zustand';\n\ntype ToastPosition =\n | 'top-left'\n | 'top-center'\n | 'top-right'\n | 'bottom-left'\n | 'bottom-center'\n | 'bottom-right'\n | 'default';\n\ntype ToastData = {\n id: string;\n title: string;\n description?: string;\n variant?: 'solid' | 'outlined';\n action?: 'warning' | 'success' | 'info';\n position?: ToastPosition;\n};\n\ntype ToastStore = {\n toasts: ToastData[];\n addToast: (toast: Omit<ToastData, 'id'>) => void;\n removeToast: (id: string) => void;\n};\n\nconst useToastStore = create<ToastStore>((set) => ({\n toasts: [],\n addToast: (toast) => {\n const id = crypto.randomUUID();\n\n set((state) => ({\n toasts: [...state.toasts, { id, ...toast }],\n }));\n },\n removeToast: (id) => {\n set((state) => ({\n toasts: state.toasts.filter((t) => t.id !== id),\n }));\n },\n}));\n\nexport default useToastStore;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAuB;AA0BvB,IAAM,oBAAgB,uBAAmB,CAAC,SAAS;AAAA,EACjD,QAAQ,CAAC;AAAA,EACT,UAAU,CAAC,UAAU;AACnB,UAAM,KAAK,OAAO,WAAW;AAE7B,QAAI,CAAC,WAAW;AAAA,MACd,QAAQ,CAAC,GAAG,MAAM,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC;AAAA,IAC5C,EAAE;AAAA,EACJ;AAAA,EACA,aAAa,CAAC,OAAO;AACnB,QAAI,CAAC,WAAW;AAAA,MACd,QAAQ,MAAM,OAAO,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE;AAAA,IAChD,EAAE;AAAA,EACJ;AACF,EAAE;AAEF,IAAO,qBAAQ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Toast/utils/ToastStore.ts"],"sourcesContent":["import { create } from 'zustand';\n\ntype ToastPosition =\n | 'top-left'\n | 'top-center'\n | 'top-right'\n | 'bottom-left'\n | 'bottom-center'\n | 'bottom-right'\n | 'default';\n\ntype ToastData = {\n id: string;\n title: string;\n description?: string;\n variant?: 'solid' | 'outlined';\n action?: 'warning' | 'success' | 'info';\n position?: ToastPosition;\n};\n\ntype ToastStore = {\n toasts: ToastData[];\n addToast: (toast: Omit<ToastData, 'id'>) => void;\n removeToast: (id: string) => void;\n};\n\nconst useToastStore = create<ToastStore>((set) => ({\n toasts: [],\n addToast: (toast) => {\n const id = crypto.randomUUID();\n\n set((state) => ({\n toasts: [...state.toasts, { id, ...toast }],\n }));\n },\n removeToast: (id) => {\n set((state) => ({\n toasts: state.toasts.filter((t) => t.id !== id),\n }));\n },\n}));\n\nexport default useToastStore;\n"],"mappings":";AAAA,SAAS,cAAc;AA0BvB,IAAM,gBAAgB,OAAmB,CAAC,SAAS;AAAA,EACjD,QAAQ,CAAC;AAAA,EACT,UAAU,CAAC,UAAU;AACnB,UAAM,KAAK,OAAO,WAAW;AAE7B,QAAI,CAAC,WAAW;AAAA,MACd,QAAQ,CAAC,GAAG,MAAM,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC;AAAA,IAC5C,EAAE;AAAA,EACJ;AAAA,EACA,aAAa,CAAC,OAAO;AACnB,QAAI,CAAC,WAAW;AAAA,MACd,QAAQ,MAAM,OAAO,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE;AAAA,IAChD,EAAE;AAAA,EACJ;AACF,EAAE;AAEF,IAAO,qBAAQ;","names":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
declare const Toaster: () => react_jsx_runtime.JSX.Element;
|
|
4
|
+
declare const useToast: () => {
|
|
5
|
+
addToast: (toast: Omit<{
|
|
6
|
+
id: string;
|
|
7
|
+
title: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
variant?: "solid" | "outlined";
|
|
10
|
+
action?: "warning" | "success" | "info";
|
|
11
|
+
position?: "default" | "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right";
|
|
12
|
+
}, "id">) => void;
|
|
13
|
+
removeToast: (id: string) => void;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export { Toaster as default, useToast };
|
|
@@ -1 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
declare const Toaster: () => react_jsx_runtime.JSX.Element;
|
|
4
|
+
declare const useToast: () => {
|
|
5
|
+
addToast: (toast: Omit<{
|
|
6
|
+
id: string;
|
|
7
|
+
title: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
variant?: "solid" | "outlined";
|
|
10
|
+
action?: "warning" | "success" | "info";
|
|
11
|
+
position?: "default" | "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right";
|
|
12
|
+
}, "id">) => void;
|
|
13
|
+
removeToast: (id: string) => void;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export { Toaster as default, useToast };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Toast/utils/Toaster.tsx","../../../src/components/Toast/utils/ToastStore.ts","../../../src/components/Toast/Toast.tsx","../../../src/utils/utils.ts"],"sourcesContent":["import useToastStore from './ToastStore';\nimport Toast from '../Toast';\n\nconst Toaster = () => {\n const toasts = useToastStore((state) => state.toasts);\n const removeToast = useToastStore((state) => state.removeToast);\n\n return (\n <>\n {toasts.map((toast) => (\n <Toast\n key={toast.id}\n title={toast.title}\n description={toast.description}\n variant={toast.variant}\n action={toast.action}\n position={toast.position}\n onClose={() => removeToast(toast.id)}\n />\n ))}\n </>\n );\n};\n\nexport const useToast = () => {\n const addToast = useToastStore((state) => state.addToast);\n const removeToast = useToastStore((state) => state.removeToast);\n\n return { addToast, removeToast };\n};\n\nexport default Toaster;\n","import { create } from 'zustand';\n\ntype ToastPosition =\n | 'top-left'\n | 'top-center'\n | 'top-right'\n | 'bottom-left'\n | 'bottom-center'\n | 'bottom-right'\n | 'default';\n\ntype ToastData = {\n id: string;\n title: string;\n description?: string;\n variant?: 'solid' | 'outlined';\n action?: 'warning' | 'success' | 'info';\n position?: ToastPosition;\n};\n\ntype ToastStore = {\n toasts: ToastData[];\n addToast: (toast: Omit<ToastData, 'id'>) => void;\n removeToast: (id: string) => void;\n};\n\nconst useToastStore = create<ToastStore>((set) => ({\n toasts: [],\n addToast: (toast) => {\n const id = crypto.randomUUID();\n\n set((state) => ({\n toasts: [...state.toasts, { id, ...toast }],\n }));\n },\n removeToast: (id) => {\n set((state) => ({\n toasts: state.toasts.filter((t) => t.id !== id),\n }));\n },\n}));\n\nexport default useToastStore;\n","import { HTMLAttributes } from 'react';\nimport { CheckCircle, WarningCircle, Info, X } from 'phosphor-react';\nimport { cn } from '../../utils/utils';\n\n/**\n * Lookup table for variant and action class combinations\n */\nconst VARIANT_ACTION_CLASSES = {\n solid: {\n warning:\n 'bg-warning text-warning-600 border-none focus-visible:outline-none',\n success:\n 'bg-success text-success-800 border-none focus-visible:outline-none',\n info: 'bg-info text-info-600 border-none focus-visible:outline-none',\n },\n outlined: {\n warning:\n 'bg-warning text-warning-600 border border-warning-300 focus-visible:outline-none',\n success:\n 'bg-success text-success-800 border border-success-200 focus-visible:outline-none',\n info: 'bg-info text-info-600 border border-info-600 focus-visible:outline-none',\n },\n} as const;\n\ntype ToastPosition =\n | 'top-left'\n | 'top-center'\n | 'top-right'\n | 'bottom-left'\n | 'bottom-center'\n | 'bottom-right'\n | 'default';\n\ntype ToastProps = {\n title: string;\n description?: string;\n onClose: () => void;\n /** Visual variant of the badge */\n variant?: 'solid' | 'outlined';\n /** Action type of the badge */\n action?: 'warning' | 'success' | 'info';\n position?: ToastPosition;\n} & HTMLAttributes<HTMLDivElement>;\n\nconst iconMap = {\n success: CheckCircle,\n info: Info,\n warning: WarningCircle,\n};\n\nconst Toast = ({\n variant = 'outlined',\n action = 'success',\n className = '',\n onClose,\n title,\n description,\n position = 'default',\n ...props\n}: ToastProps) => {\n // Get classes from lookup tables\n const variantClasses = VARIANT_ACTION_CLASSES[variant][action];\n\n const positionClasses: Record<ToastPosition, string> = {\n 'top-left': 'fixed top-4 left-4',\n 'top-center': 'fixed top-4 left-1/2 transform -translate-x-1/2',\n 'top-right': 'fixed top-4 right-4',\n 'bottom-left': 'fixed bottom-4 left-4',\n 'bottom-center': 'fixed bottom-4 left-1/2 transform -translate-x-1/2',\n 'bottom-right': 'fixed bottom-4 right-4',\n default: '',\n };\n\n const IconAction = iconMap[action] || iconMap['success'];\n\n const baseClasses =\n 'max-w-[390px] w-full flex flex-row items-start justify-between shadow-lg rounded-lg border p-4 gap-6 group';\n\n return (\n <div\n role=\"alert\"\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n className={cn(\n baseClasses,\n positionClasses[position],\n variantClasses,\n className\n )}\n {...props}\n >\n <div className=\"flex flex-row items-start gap-3\">\n <span className=\"mt-1\" data-testid={`toast-icon-${action}`}>\n <IconAction />\n </span>\n <div className=\"flex flex-col items-start justify-start\">\n <p className=\"font-semibold text-md\">{title}</p>\n {description && (\n <p className=\"text-md text-text-900\">{description}</p>\n )}\n </div>\n </div>\n <button\n onClick={onClose}\n aria-label=\"Dismiss notification\"\n className=\"text-background-500 cursor-pointer opacity-0 group-hover:opacity-100 transition-opacity\"\n >\n <X />\n </button>\n </div>\n );\n};\n\nexport default Toast;\n","import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":"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","names":["import_jsx_runtime"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Toast/utils/ToastStore.ts","../../../src/components/Toast/Toast.tsx","../../../src/utils/utils.ts","../../../src/components/Toast/utils/Toaster.tsx"],"sourcesContent":["import { create } from 'zustand';\n\ntype ToastPosition =\n | 'top-left'\n | 'top-center'\n | 'top-right'\n | 'bottom-left'\n | 'bottom-center'\n | 'bottom-right'\n | 'default';\n\ntype ToastData = {\n id: string;\n title: string;\n description?: string;\n variant?: 'solid' | 'outlined';\n action?: 'warning' | 'success' | 'info';\n position?: ToastPosition;\n};\n\ntype ToastStore = {\n toasts: ToastData[];\n addToast: (toast: Omit<ToastData, 'id'>) => void;\n removeToast: (id: string) => void;\n};\n\nconst useToastStore = create<ToastStore>((set) => ({\n toasts: [],\n addToast: (toast) => {\n const id = crypto.randomUUID();\n\n set((state) => ({\n toasts: [...state.toasts, { id, ...toast }],\n }));\n },\n removeToast: (id) => {\n set((state) => ({\n toasts: state.toasts.filter((t) => t.id !== id),\n }));\n },\n}));\n\nexport default useToastStore;\n","import { HTMLAttributes } from 'react';\nimport { CheckCircle, WarningCircle, Info, X } from 'phosphor-react';\nimport { cn } from '../../utils/utils';\n\n/**\n * Lookup table for variant and action class combinations\n */\nconst VARIANT_ACTION_CLASSES = {\n solid: {\n warning:\n 'bg-warning text-warning-600 border-none focus-visible:outline-none',\n success:\n 'bg-success text-success-800 border-none focus-visible:outline-none',\n info: 'bg-info text-info-600 border-none focus-visible:outline-none',\n },\n outlined: {\n warning:\n 'bg-warning text-warning-600 border border-warning-300 focus-visible:outline-none',\n success:\n 'bg-success text-success-800 border border-success-200 focus-visible:outline-none',\n info: 'bg-info text-info-600 border border-info-600 focus-visible:outline-none',\n },\n} as const;\n\ntype ToastPosition =\n | 'top-left'\n | 'top-center'\n | 'top-right'\n | 'bottom-left'\n | 'bottom-center'\n | 'bottom-right'\n | 'default';\n\ntype ToastProps = {\n title: string;\n description?: string;\n onClose: () => void;\n /** Visual variant of the badge */\n variant?: 'solid' | 'outlined';\n /** Action type of the badge */\n action?: 'warning' | 'success' | 'info';\n position?: ToastPosition;\n} & HTMLAttributes<HTMLDivElement>;\n\nconst iconMap = {\n success: CheckCircle,\n info: Info,\n warning: WarningCircle,\n};\n\nconst Toast = ({\n variant = 'outlined',\n action = 'success',\n className = '',\n onClose,\n title,\n description,\n position = 'default',\n ...props\n}: ToastProps) => {\n // Get classes from lookup tables\n const variantClasses = VARIANT_ACTION_CLASSES[variant][action];\n\n const positionClasses: Record<ToastPosition, string> = {\n 'top-left': 'fixed top-4 left-4',\n 'top-center': 'fixed top-4 left-1/2 transform -translate-x-1/2',\n 'top-right': 'fixed top-4 right-4',\n 'bottom-left': 'fixed bottom-4 left-4',\n 'bottom-center': 'fixed bottom-4 left-1/2 transform -translate-x-1/2',\n 'bottom-right': 'fixed bottom-4 right-4',\n default: '',\n };\n\n const IconAction = iconMap[action] || iconMap['success'];\n\n const baseClasses =\n 'max-w-[390px] w-full flex flex-row items-start justify-between shadow-lg rounded-lg border p-4 gap-6 group';\n\n return (\n <div\n role=\"alert\"\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n className={cn(\n baseClasses,\n positionClasses[position],\n variantClasses,\n className\n )}\n {...props}\n >\n <div className=\"flex flex-row items-start gap-3\">\n <span className=\"mt-1\" data-testid={`toast-icon-${action}`}>\n <IconAction />\n </span>\n <div className=\"flex flex-col items-start justify-start\">\n <p className=\"font-semibold text-md\">{title}</p>\n {description && (\n <p className=\"text-md text-text-900\">{description}</p>\n )}\n </div>\n </div>\n <button\n onClick={onClose}\n aria-label=\"Dismiss notification\"\n className=\"text-background-500 cursor-pointer opacity-0 group-hover:opacity-100 transition-opacity\"\n >\n <X />\n </button>\n </div>\n );\n};\n\nexport default Toast;\n","import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import useToastStore from './ToastStore';\nimport Toast from '../Toast';\n\nconst Toaster = () => {\n const toasts = useToastStore((state) => state.toasts);\n const removeToast = useToastStore((state) => state.removeToast);\n\n return (\n <>\n {toasts.map((toast) => (\n <Toast\n key={toast.id}\n title={toast.title}\n description={toast.description}\n variant={toast.variant}\n action={toast.action}\n position={toast.position}\n onClose={() => removeToast(toast.id)}\n />\n ))}\n </>\n );\n};\n\nexport const useToast = () => {\n const addToast = useToastStore((state) => state.addToast);\n const removeToast = useToastStore((state) => state.removeToast);\n\n return { addToast, removeToast };\n};\n\nexport default Toaster;\n"],"mappings":"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","names":["jsx"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { HTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
type ToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' | 'default';
|
|
5
|
+
type ToastProps = {
|
|
6
|
+
title: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
onClose: () => void;
|
|
9
|
+
/** Visual variant of the badge */
|
|
10
|
+
variant?: 'solid' | 'outlined';
|
|
11
|
+
/** Action type of the badge */
|
|
12
|
+
action?: 'warning' | 'success' | 'info';
|
|
13
|
+
position?: ToastPosition;
|
|
14
|
+
} & HTMLAttributes<HTMLDivElement>;
|
|
15
|
+
declare const Toast: ({ variant, action, className, onClose, title, description, position, ...props }: ToastProps) => react_jsx_runtime.JSX.Element;
|
|
16
|
+
|
|
17
|
+
export { Toast as default };
|
package/dist/Toast/index.d.ts
CHANGED
|
@@ -1 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { HTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
type ToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' | 'default';
|
|
5
|
+
type ToastProps = {
|
|
6
|
+
title: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
onClose: () => void;
|
|
9
|
+
/** Visual variant of the badge */
|
|
10
|
+
variant?: 'solid' | 'outlined';
|
|
11
|
+
/** Action type of the badge */
|
|
12
|
+
action?: 'warning' | 'success' | 'info';
|
|
13
|
+
position?: ToastPosition;
|
|
14
|
+
} & HTMLAttributes<HTMLDivElement>;
|
|
15
|
+
declare const Toast: ({ variant, action, className, onClose, title, description, position, ...props }: ToastProps) => react_jsx_runtime.JSX.Element;
|
|
16
|
+
|
|
17
|
+
export { Toast as default };
|
package/dist/Toast/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/Toast/Toast.tsx","../../src/utils/utils.ts"],"sourcesContent":["import { HTMLAttributes } from 'react';\nimport { CheckCircle, WarningCircle, Info, X } from 'phosphor-react';\nimport { cn } from '../../utils/utils';\n\n/**\n * Lookup table for variant and action class combinations\n */\nconst VARIANT_ACTION_CLASSES = {\n solid: {\n warning:\n 'bg-warning text-warning-600 border-none focus-visible:outline-none',\n success:\n 'bg-success text-success-800 border-none focus-visible:outline-none',\n info: 'bg-info text-info-600 border-none focus-visible:outline-none',\n },\n outlined: {\n warning:\n 'bg-warning text-warning-600 border border-warning-300 focus-visible:outline-none',\n success:\n 'bg-success text-success-800 border border-success-200 focus-visible:outline-none',\n info: 'bg-info text-info-600 border border-info-600 focus-visible:outline-none',\n },\n} as const;\n\ntype ToastPosition =\n | 'top-left'\n | 'top-center'\n | 'top-right'\n | 'bottom-left'\n | 'bottom-center'\n | 'bottom-right'\n | 'default';\n\ntype ToastProps = {\n title: string;\n description?: string;\n onClose: () => void;\n /** Visual variant of the badge */\n variant?: 'solid' | 'outlined';\n /** Action type of the badge */\n action?: 'warning' | 'success' | 'info';\n position?: ToastPosition;\n} & HTMLAttributes<HTMLDivElement>;\n\nconst iconMap = {\n success: CheckCircle,\n info: Info,\n warning: WarningCircle,\n};\n\nconst Toast = ({\n variant = 'outlined',\n action = 'success',\n className = '',\n onClose,\n title,\n description,\n position = 'default',\n ...props\n}: ToastProps) => {\n // Get classes from lookup tables\n const variantClasses = VARIANT_ACTION_CLASSES[variant][action];\n\n const positionClasses: Record<ToastPosition, string> = {\n 'top-left': 'fixed top-4 left-4',\n 'top-center': 'fixed top-4 left-1/2 transform -translate-x-1/2',\n 'top-right': 'fixed top-4 right-4',\n 'bottom-left': 'fixed bottom-4 left-4',\n 'bottom-center': 'fixed bottom-4 left-1/2 transform -translate-x-1/2',\n 'bottom-right': 'fixed bottom-4 right-4',\n default: '',\n };\n\n const IconAction = iconMap[action] || iconMap['success'];\n\n const baseClasses =\n 'max-w-[390px] w-full flex flex-row items-start justify-between shadow-lg rounded-lg border p-4 gap-6 group';\n\n return (\n <div\n role=\"alert\"\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n className={cn(\n baseClasses,\n positionClasses[position],\n variantClasses,\n className\n )}\n {...props}\n >\n <div className=\"flex flex-row items-start gap-3\">\n <span className=\"mt-1\" data-testid={`toast-icon-${action}`}>\n <IconAction />\n </span>\n <div className=\"flex flex-col items-start justify-start\">\n <p className=\"font-semibold text-md\">{title}</p>\n {description && (\n <p className=\"text-md text-text-900\">{description}</p>\n )}\n </div>\n </div>\n <button\n onClick={onClose}\n aria-label=\"Dismiss notification\"\n className=\"text-background-500 cursor-pointer opacity-0 group-hover:opacity-100 transition-opacity\"\n >\n <X />\n </button>\n </div>\n );\n};\n\nexport default Toast;\n","import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,4BAAoD;;;ACDpD,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;ADwFU;AAtFV,IAAM,yBAAyB;AAAA,EAC7B,OAAO;AAAA,IACL,SACE;AAAA,IACF,SACE;AAAA,IACF,MAAM;AAAA,EACR;AAAA,EACA,UAAU;AAAA,IACR,SACE;AAAA,IACF,SACE;AAAA,IACF,MAAM;AAAA,EACR;AACF;AAsBA,IAAM,UAAU;AAAA,EACd,SAAS;AAAA,EACT,MAAM;AAAA,EACN,SAAS;AACX;AAEA,IAAM,QAAQ,CAAC;AAAA,EACb,UAAU;AAAA,EACV,SAAS;AAAA,EACT,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,GAAG;AACL,MAAkB;AAEhB,QAAM,iBAAiB,uBAAuB,OAAO,EAAE,MAAM;AAE7D,QAAM,kBAAiD;AAAA,IACrD,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,aAAa;AAAA,IACb,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB,SAAS;AAAA,EACX;AAEA,QAAM,aAAa,QAAQ,MAAM,KAAK,QAAQ,SAAS;AAEvD,QAAM,cACJ;AAEF,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,aAAU;AAAA,MACV,eAAY;AAAA,MACZ,WAAW;AAAA,QACT;AAAA,QACA,gBAAgB,QAAQ;AAAA,QACxB;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ;AAAA,qDAAC,SAAI,WAAU,mCACb;AAAA,sDAAC,UAAK,WAAU,QAAO,eAAa,cAAc,MAAM,IACtD,sDAAC,cAAW,GACd;AAAA,UACA,6CAAC,SAAI,WAAU,2CACb;AAAA,wDAAC,OAAE,WAAU,yBAAyB,iBAAM;AAAA,YAC3C,eACC,4CAAC,OAAE,WAAU,yBAAyB,uBAAY;AAAA,aAEtD;AAAA,WACF;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,SAAS;AAAA,YACT,cAAW;AAAA,YACX,WAAU;AAAA,YAEV,sDAAC,2BAAE;AAAA;AAAA,QACL;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,gBAAQ;","names":[]}
|
package/dist/Toast/index.mjs
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/Toast/Toast.tsx","../../src/utils/utils.ts"],"sourcesContent":["import { HTMLAttributes } from 'react';\nimport { CheckCircle, WarningCircle, Info, X } from 'phosphor-react';\nimport { cn } from '../../utils/utils';\n\n/**\n * Lookup table for variant and action class combinations\n */\nconst VARIANT_ACTION_CLASSES = {\n solid: {\n warning:\n 'bg-warning text-warning-600 border-none focus-visible:outline-none',\n success:\n 'bg-success text-success-800 border-none focus-visible:outline-none',\n info: 'bg-info text-info-600 border-none focus-visible:outline-none',\n },\n outlined: {\n warning:\n 'bg-warning text-warning-600 border border-warning-300 focus-visible:outline-none',\n success:\n 'bg-success text-success-800 border border-success-200 focus-visible:outline-none',\n info: 'bg-info text-info-600 border border-info-600 focus-visible:outline-none',\n },\n} as const;\n\ntype ToastPosition =\n | 'top-left'\n | 'top-center'\n | 'top-right'\n | 'bottom-left'\n | 'bottom-center'\n | 'bottom-right'\n | 'default';\n\ntype ToastProps = {\n title: string;\n description?: string;\n onClose: () => void;\n /** Visual variant of the badge */\n variant?: 'solid' | 'outlined';\n /** Action type of the badge */\n action?: 'warning' | 'success' | 'info';\n position?: ToastPosition;\n} & HTMLAttributes<HTMLDivElement>;\n\nconst iconMap = {\n success: CheckCircle,\n info: Info,\n warning: WarningCircle,\n};\n\nconst Toast = ({\n variant = 'outlined',\n action = 'success',\n className = '',\n onClose,\n title,\n description,\n position = 'default',\n ...props\n}: ToastProps) => {\n // Get classes from lookup tables\n const variantClasses = VARIANT_ACTION_CLASSES[variant][action];\n\n const positionClasses: Record<ToastPosition, string> = {\n 'top-left': 'fixed top-4 left-4',\n 'top-center': 'fixed top-4 left-1/2 transform -translate-x-1/2',\n 'top-right': 'fixed top-4 right-4',\n 'bottom-left': 'fixed bottom-4 left-4',\n 'bottom-center': 'fixed bottom-4 left-1/2 transform -translate-x-1/2',\n 'bottom-right': 'fixed bottom-4 right-4',\n default: '',\n };\n\n const IconAction = iconMap[action] || iconMap['success'];\n\n const baseClasses =\n 'max-w-[390px] w-full flex flex-row items-start justify-between shadow-lg rounded-lg border p-4 gap-6 group';\n\n return (\n <div\n role=\"alert\"\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n className={cn(\n baseClasses,\n positionClasses[position],\n variantClasses,\n className\n )}\n {...props}\n >\n <div className=\"flex flex-row items-start gap-3\">\n <span className=\"mt-1\" data-testid={`toast-icon-${action}`}>\n <IconAction />\n </span>\n <div className=\"flex flex-col items-start justify-start\">\n <p className=\"font-semibold text-md\">{title}</p>\n {description && (\n <p className=\"text-md text-text-900\">{description}</p>\n )}\n </div>\n </div>\n <button\n onClick={onClose}\n aria-label=\"Dismiss notification\"\n className=\"text-background-500 cursor-pointer opacity-0 group-hover:opacity-100 transition-opacity\"\n >\n <X />\n </button>\n </div>\n );\n};\n\nexport default Toast;\n","import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":";AACA,SAAS,aAAa,eAAe,MAAM,SAAS;;;ACDpD,SAAS,YAA6B;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ADwFU,cAEF,YAFE;AAtFV,IAAM,yBAAyB;AAAA,EAC7B,OAAO;AAAA,IACL,SACE;AAAA,IACF,SACE;AAAA,IACF,MAAM;AAAA,EACR;AAAA,EACA,UAAU;AAAA,IACR,SACE;AAAA,IACF,SACE;AAAA,IACF,MAAM;AAAA,EACR;AACF;AAsBA,IAAM,UAAU;AAAA,EACd,SAAS;AAAA,EACT,MAAM;AAAA,EACN,SAAS;AACX;AAEA,IAAM,QAAQ,CAAC;AAAA,EACb,UAAU;AAAA,EACV,SAAS;AAAA,EACT,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,GAAG;AACL,MAAkB;AAEhB,QAAM,iBAAiB,uBAAuB,OAAO,EAAE,MAAM;AAE7D,QAAM,kBAAiD;AAAA,IACrD,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,aAAa;AAAA,IACb,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB,SAAS;AAAA,EACX;AAEA,QAAM,aAAa,QAAQ,MAAM,KAAK,QAAQ,SAAS;AAEvD,QAAM,cACJ;AAEF,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,aAAU;AAAA,MACV,eAAY;AAAA,MACZ,WAAW;AAAA,QACT;AAAA,QACA,gBAAgB,QAAQ;AAAA,QACxB;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ;AAAA,6BAAC,SAAI,WAAU,mCACb;AAAA,8BAAC,UAAK,WAAU,QAAO,eAAa,cAAc,MAAM,IACtD,8BAAC,cAAW,GACd;AAAA,UACA,qBAAC,SAAI,WAAU,2CACb;AAAA,gCAAC,OAAE,WAAU,yBAAyB,iBAAM;AAAA,YAC3C,eACC,oBAAC,OAAE,WAAU,yBAAyB,uBAAY;AAAA,aAEtD;AAAA,WACF;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,SAAS;AAAA,YACT,cAAW;AAAA,YACX,WAAU;AAAA,YAEV,8BAAC,KAAE;AAAA;AAAA,QACL;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,gBAAQ;","names":[]}
|
package/dist/index.css
CHANGED
|
@@ -3460,9 +3460,9 @@
|
|
|
3460
3460
|
border-radius: var(--radius-xl);
|
|
3461
3461
|
}
|
|
3462
3462
|
}
|
|
3463
|
-
.not-lg\:
|
|
3463
|
+
.not-lg\:h-\[calc\(100vh-200px\)\] {
|
|
3464
3464
|
@media not (width >= 64rem) {
|
|
3465
|
-
|
|
3465
|
+
height: calc(100vh - 200px);
|
|
3466
3466
|
}
|
|
3467
3467
|
}
|
|
3468
3468
|
.not-lg\:max-w-\[calc\(100vw-32px\)\] {
|
|
@@ -8039,9 +8039,9 @@
|
|
|
8039
8039
|
height: calc(var(--spacing) * 6);
|
|
8040
8040
|
}
|
|
8041
8041
|
}
|
|
8042
|
-
.lg\:max-h-\[
|
|
8042
|
+
.lg\:max-h-\[687px\] {
|
|
8043
8043
|
@media (width >= 64rem) {
|
|
8044
|
-
max-height:
|
|
8044
|
+
max-height: 687px;
|
|
8045
8045
|
}
|
|
8046
8046
|
}
|
|
8047
8047
|
.lg\:w-3\.5 {
|
|
@@ -8649,3 +8649,4 @@
|
|
|
8649
8649
|
}
|
|
8650
8650
|
}
|
|
8651
8651
|
/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */
|
|
8652
|
+
/*# sourceMappingURL=index.css.map */
|