tailwind-ux-kit 1.0.19 â 1.0.21
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/README.md +85 -45
- package/lib/components/modal/Modal.d.ts +5 -3
- package/lib/components/modal/ModalActionContext.d.ts +7 -0
- package/lib/components/modal/ModalContext.d.ts +2 -1
- package/lib/components/modal/ModalProvider.d.ts +3 -6
- package/lib/components/modal/ModalStateContext.d.ts +7 -0
- package/lib/components/modal/useModalInstance.d.ts +6 -0
- package/lib/index.d.ts +3 -1
- package/lib/tailwind-ux-kit.es.js +248 -229
- package/lib/tailwind-ux-kit.umd.js +4 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -86,6 +86,38 @@ Or for tailwind > 4, add the following to your `.css` file:
|
|
|
86
86
|
### 6. Modals & Popups
|
|
87
87
|
|
|
88
88
|
- Basic Modal
|
|
89
|
+
|
|
90
|
+
##### Features
|
|
91
|
+
|
|
92
|
+
- Global modal state management with React Context
|
|
93
|
+
- Separate context for modal actions and modal state to reduce unnecessary re-renders
|
|
94
|
+
- Pass arbitrary data to modals when opening them
|
|
95
|
+
- TypeScript-ready with strong typings
|
|
96
|
+
- Easy to use API (`openModal`, `closeModal`, `isOpen`, `getModalData`)
|
|
97
|
+
- Supports standalone or context-controlled modals
|
|
98
|
+
- Clean modular structure with centralized exports
|
|
99
|
+
- Compatible with React 18+, Vite, Next.js
|
|
100
|
+
|
|
101
|
+
## Usage
|
|
102
|
+
|
|
103
|
+
### 1. Wrap your app with `ModalProvider`
|
|
104
|
+
|
|
105
|
+
```tsx
|
|
106
|
+
import { ModalProvider } from "@/components/modals";
|
|
107
|
+
|
|
108
|
+
export default function RootLayout({ children }) {
|
|
109
|
+
return <ModalProvider>{children}</ModalProvider>;
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
| Hook / Component | Description |
|
|
114
|
+
| ---------------------- | --------------------------------------------------- |
|
|
115
|
+
| `ModalProvider` | Context provider to wrap your app |
|
|
116
|
+
| `Modal` | Modal component that renders UI based on open state |
|
|
117
|
+
| `useModalActions()` | Returns `{ openModal(id, data?), closeModal(id) }` |
|
|
118
|
+
| `useModalState()` | Returns `{ isOpen(id), getModalData(id) }` |
|
|
119
|
+
| `useModalInstance(id)` | Convenience hook for modal state + actions by ID |
|
|
120
|
+
|
|
89
121
|
- Confirmation Dialog
|
|
90
122
|
- Form Modal
|
|
91
123
|
- Slide-over Panels
|
|
@@ -94,51 +126,55 @@ Or for tailwind > 4, add the following to your `.css` file:
|
|
|
94
126
|
|
|
95
127
|
- Toast Notifications
|
|
96
128
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
import { ToastContainer, showToast, setToastDefaults } from 'my-toast-lib';
|
|
132
|
+
// Optional: Global theming
|
|
133
|
+
setToastDefaults({
|
|
134
|
+
icons: {
|
|
135
|
+
success: 'đ',
|
|
136
|
+
error: 'đ',
|
|
137
|
+
},
|
|
138
|
+
colors: {
|
|
139
|
+
success: { bg: 'bg-green-200', text: 'text-green-900' },
|
|
140
|
+
},
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
// Trigger anywhere
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
showToast('success', 'Operation completed!');
|
|
150
|
+
showToast('success', 'Your file was saved!', 4000, {
|
|
151
|
+
title: 'Success',
|
|
152
|
+
description: 'Everything worked perfectly.',
|
|
153
|
+
icon: <RiCheckFill />,
|
|
154
|
+
iconContainerClass: 'bg-green-200 text-green-900 rounded-full p-2',
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
##### showToast(type, message, duration?, config?)
|
|
160
|
+
|
|
161
|
+
| Parameter | Type | Description |
|
|
162
|
+
| ---------- | --------------------------------------------- | ----------------------------------------------------- |
|
|
163
|
+
| `type` | `'success' \| 'error' \| 'warning' \| 'info'` | Toast type, controls default styling |
|
|
164
|
+
| `message` | `string` | Main message, shown if title/description not provided |
|
|
165
|
+
| `duration` | `number` (optional) | Time in ms to auto-dismiss the toast (default: 3000) |
|
|
166
|
+
| `config` | `ToastConfig` (optional) | Extra customization options |
|
|
167
|
+
|
|
168
|
+
##### ToastConfig
|
|
169
|
+
|
|
170
|
+
| Property | Type | Description |
|
|
171
|
+
| --------------------- | --------------------- | ------------------------------------- |
|
|
172
|
+
| `title?` | `string \| null` | Optional toast title |
|
|
173
|
+
| `description?` | `string \| null` | Optional detailed description |
|
|
174
|
+
| `icon?` | `string \| ReactNode` | Custom icon (string or React element) |
|
|
175
|
+
| `iconContainerClass?` | `string` | CSS classes for the icon container |
|
|
176
|
+
| `bgColor?` | `string` | Override background color class |
|
|
177
|
+
| `textColor?` | `string` | Override text color class |
|
|
142
178
|
|
|
143
179
|
- Success / Error / Warning Alerts
|
|
144
180
|
- Banners
|
|
@@ -197,3 +233,7 @@ Or for tailwind > 4, add the following to your `.css` file:
|
|
|
197
233
|
- Loaders / Spinners
|
|
198
234
|
- Timeline
|
|
199
235
|
- Tags / Chips
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
```
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import { ReactNode, ReactElement } from 'react';
|
|
2
2
|
type ModalProps = {
|
|
3
3
|
id: string;
|
|
4
4
|
title?: string;
|
|
5
|
-
children
|
|
5
|
+
children: ReactNode | ((params: {
|
|
6
|
+
modalData: any;
|
|
7
|
+
}) => ReactNode);
|
|
6
8
|
standalone?: boolean;
|
|
7
9
|
showFloatingClose?: boolean;
|
|
8
10
|
containerClasses?: string;
|
|
9
11
|
onClose?: () => void;
|
|
10
12
|
};
|
|
11
|
-
export default function Modal({ id, title, children, standalone, showFloatingClose, containerClasses, onClose, }: ModalProps):
|
|
13
|
+
export default function Modal({ id, title, children, standalone, showFloatingClose, containerClasses, onClose, }: ModalProps): ReactElement | null;
|
|
12
14
|
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
type ModalActions = {
|
|
2
|
+
openModal: (id: string, data?: any) => void;
|
|
3
|
+
closeModal: (id: string) => void;
|
|
4
|
+
};
|
|
5
|
+
export declare const ModalActionContext: import('react').Context<ModalActions | null>;
|
|
6
|
+
export declare const useModalActions: () => ModalActions | null;
|
|
7
|
+
export {};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
type ModalContextType = {
|
|
2
|
-
openModal: (id: string) => void;
|
|
2
|
+
openModal: (id: string, data?: any) => void;
|
|
3
3
|
closeModal: (id: string) => void;
|
|
4
4
|
isOpen: (id: string) => boolean;
|
|
5
|
+
getModalData: (id: string) => any;
|
|
5
6
|
} | null;
|
|
6
7
|
export declare const ModalContext: import('react').Context<ModalContextType>;
|
|
7
8
|
export declare const useModal: () => ModalContextType;
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
export default function ModalProvider({ children }: ModalProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
-
export {};
|
|
1
|
+
export default function ModalProvider({ children, }: {
|
|
2
|
+
children: React.ReactNode;
|
|
3
|
+
}): import("react/jsx-runtime").JSX.Element;
|
package/lib/index.d.ts
CHANGED
|
@@ -5,7 +5,9 @@ export { default as Tooltip } from './components/ToolTip';
|
|
|
5
5
|
export { default as Badge } from './components/Badge';
|
|
6
6
|
export { default as Modal } from './components/modal/Modal';
|
|
7
7
|
export { default as ModalProvider } from './components/modal/ModalProvider';
|
|
8
|
-
export
|
|
8
|
+
export { useModalActions } from './components/modal/ModalActionContext';
|
|
9
|
+
export { useModalState } from './components/modal/ModalStateContext';
|
|
10
|
+
export { useModalInstance } from './components/modal/useModalInstance';
|
|
9
11
|
export { default as Toast } from './components/Toast';
|
|
10
12
|
export { showToast, setToastDefaults } from './utils/toast';
|
|
11
13
|
export type { ToastType, ToastConfig, ToastDefaults } from './utils/toast';
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsxs as x, jsx as
|
|
3
|
-
import
|
|
4
|
-
const
|
|
2
|
+
import { jsxs as x, jsx as g } from "react/jsx-runtime";
|
|
3
|
+
import y, { forwardRef as oe, useState as w, useRef as M, useMemo as I, useCallback as h, useEffect as S, createContext as Z, useContext as W } from "react";
|
|
4
|
+
const se = oe((e, n) => {
|
|
5
5
|
const {
|
|
6
6
|
label: r,
|
|
7
7
|
id: t,
|
|
8
|
-
inputSize:
|
|
9
|
-
shape:
|
|
10
|
-
validate:
|
|
11
|
-
onValidatedChange:
|
|
12
|
-
className:
|
|
13
|
-
icon:
|
|
14
|
-
iconPosition:
|
|
15
|
-
floatingLabelStyle:
|
|
16
|
-
onChange:
|
|
17
|
-
isValid:
|
|
8
|
+
inputSize: o = "md",
|
|
9
|
+
shape: d = "rounded",
|
|
10
|
+
validate: u,
|
|
11
|
+
onValidatedChange: a,
|
|
12
|
+
className: s = "",
|
|
13
|
+
icon: i,
|
|
14
|
+
iconPosition: l = "left",
|
|
15
|
+
floatingLabelStyle: c,
|
|
16
|
+
onChange: p,
|
|
17
|
+
isValid: f,
|
|
18
18
|
isInvalid: b,
|
|
19
19
|
feedback: m,
|
|
20
|
-
feedbackType:
|
|
20
|
+
feedbackType: v = "invalid",
|
|
21
21
|
...C
|
|
22
|
-
} = e, [
|
|
23
|
-
const
|
|
24
|
-
j($),
|
|
22
|
+
} = e, [k, j] = w("default"), L = (O) => {
|
|
23
|
+
const T = O.target.value, $ = (u == null ? void 0 : u(T)) ?? "default";
|
|
24
|
+
j($), a == null || a(O, $), p == null || p(O);
|
|
25
25
|
}, P = {
|
|
26
26
|
xs: "text-xs px-2 py-1",
|
|
27
27
|
sm: "text-sm px-3 py-1.5",
|
|
@@ -31,18 +31,18 @@ const re = Q((e, n) => {
|
|
|
31
31
|
flat: "rounded-none",
|
|
32
32
|
rounded: "rounded-md",
|
|
33
33
|
pill: "rounded-full"
|
|
34
|
-
},
|
|
34
|
+
}, q = {
|
|
35
35
|
filled: "rounded-t-lg px-2.5 pb-2.5 pt-5 bg-gray-50 border-b-2",
|
|
36
36
|
outlined: "rounded-lg px-2.5 pb-2.5 pt-4 bg-transparent border",
|
|
37
37
|
standard: "px-0 py-2.5 bg-transparent border-0 border-b-2"
|
|
38
|
-
},
|
|
38
|
+
}, J = {
|
|
39
39
|
filled: "absolute duration-300 transform -translate-y-4 scale-75 top-4 z-10 origin-[0] start-2.5 peer-placeholder-shown:translate-y-0 peer-placeholder-shown:scale-100 peer-focus:scale-75 peer-focus:-translate-y-4 peer-focus:text-blue-600",
|
|
40
40
|
outlined: "absolute duration-300 transform -translate-y-4 scale-75 top-2 z-10 origin-[0] bg-white px-2 peer-placeholder-shown:scale-100 peer-placeholder-shown:top-1/2 peer-placeholder-shown:-translate-y-1/2 peer-focus:top-2 peer-focus:scale-75 peer-focus:-translate-y-4 peer-focus:text-blue-600",
|
|
41
41
|
standard: "absolute duration-300 transform -translate-y-6 scale-75 top-3 origin-[0] peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0 peer-focus:scale-75 peer-focus:-translate-y-6 peer-focus:text-blue-600"
|
|
42
|
-
},
|
|
42
|
+
}, Q = (O, T, $) => {
|
|
43
43
|
if ($)
|
|
44
44
|
return "border-red-500 bg-red-50 text-red-900 placeholder-red-700 focus:ring-red-500 focus:border-red-500";
|
|
45
|
-
if (
|
|
45
|
+
if (T)
|
|
46
46
|
return "border-green-500 bg-green-50 text-green-900 placeholder-green-700 focus:ring-green-500 focus:border-green-500";
|
|
47
47
|
switch (O) {
|
|
48
48
|
case "error":
|
|
@@ -54,57 +54,57 @@ const re = Q((e, n) => {
|
|
|
54
54
|
default:
|
|
55
55
|
return "border-gray-300 focus:ring-blue-500";
|
|
56
56
|
}
|
|
57
|
-
},
|
|
57
|
+
}, V = P[o] || P.md, ee = E[d] || E.flat, te = Q(k, f, b), re = l === "start" || l === "left" ? "left-0 ps-3.5" : "right-0 pe-3.5", ne = i && (l === "start" || l === "left") ? "ps-10" : i ? "pe-10" : "", R = t ?? `input-${(r == null ? void 0 : r.toLowerCase().replace(/\s+/g, "-")) || Math.random().toString(36).slice(2)}`, N = !!c;
|
|
58
58
|
return /* @__PURE__ */ x("div", { className: `w-full relative ${N ? "z-0" : ""}`, children: [
|
|
59
|
-
!N && r && /* @__PURE__ */
|
|
59
|
+
!N && r && /* @__PURE__ */ g(
|
|
60
60
|
"label",
|
|
61
61
|
{
|
|
62
|
-
htmlFor:
|
|
63
|
-
className: `block mb-1 font-light text-sm ${
|
|
62
|
+
htmlFor: R,
|
|
63
|
+
className: `block mb-1 font-light text-sm ${f ? "text-green-700 dark:text-green-500" : b ? "text-red-700 dark:text-red-500" : "text-gray-700"}`,
|
|
64
64
|
children: r
|
|
65
65
|
}
|
|
66
66
|
),
|
|
67
67
|
/* @__PURE__ */ x("div", { className: "relative w-full", children: [
|
|
68
|
-
|
|
68
|
+
i && /* @__PURE__ */ g(
|
|
69
69
|
"div",
|
|
70
70
|
{
|
|
71
|
-
className: `absolute inset-y-0 flex items-center ${
|
|
72
|
-
children: /* @__PURE__ */
|
|
71
|
+
className: `absolute inset-y-0 flex items-center ${re}`,
|
|
72
|
+
children: /* @__PURE__ */ g("span", { className: "text-gray-500", children: i })
|
|
73
73
|
}
|
|
74
74
|
),
|
|
75
|
-
/* @__PURE__ */
|
|
75
|
+
/* @__PURE__ */ g(
|
|
76
76
|
"input",
|
|
77
77
|
{
|
|
78
78
|
...C,
|
|
79
|
-
id:
|
|
79
|
+
id: R,
|
|
80
80
|
ref: n,
|
|
81
81
|
placeholder: N ? " " : C.placeholder,
|
|
82
82
|
onChange: L,
|
|
83
83
|
className: `border peer w-full block font-light appearance-none focus:outline-none focus:ring-0 transition
|
|
84
|
-
${N &&
|
|
85
|
-
${
|
|
84
|
+
${N && c ? q[c] : V}
|
|
85
|
+
${ne} ${ee} ${te} ${s}`
|
|
86
86
|
}
|
|
87
87
|
),
|
|
88
|
-
N && r &&
|
|
88
|
+
N && r && c && /* @__PURE__ */ g(
|
|
89
89
|
"label",
|
|
90
90
|
{
|
|
91
|
-
htmlFor:
|
|
92
|
-
className: `ms-1 ${
|
|
91
|
+
htmlFor: R,
|
|
92
|
+
className: `ms-1 ${J[c]} ${s}`,
|
|
93
93
|
children: r
|
|
94
94
|
}
|
|
95
95
|
)
|
|
96
96
|
] }),
|
|
97
|
-
m && /* @__PURE__ */
|
|
97
|
+
m && /* @__PURE__ */ g(
|
|
98
98
|
"p",
|
|
99
99
|
{
|
|
100
|
-
className: `mt-1 text-xs ${
|
|
100
|
+
className: `mt-1 text-xs ${v === "invalid" ? "text-red-600 dark:text-red-500" : "text-green-600 dark:text-green-500"}`,
|
|
101
101
|
children: m
|
|
102
102
|
}
|
|
103
103
|
)
|
|
104
104
|
] });
|
|
105
105
|
});
|
|
106
|
-
|
|
107
|
-
const
|
|
106
|
+
se.displayName = "Input";
|
|
107
|
+
const ae = {
|
|
108
108
|
primary: "bg-blue-600 text-white hover:bg-blue-700",
|
|
109
109
|
secondary: "bg-gray-600 text-white hover:bg-gray-700",
|
|
110
110
|
success: "bg-green-600 text-white hover:bg-green-700",
|
|
@@ -122,39 +122,39 @@ const ne = {
|
|
|
122
122
|
"outline-info": "border border-cyan-600 text-cyan-600 hover:bg-cyan-50",
|
|
123
123
|
"outline-dark": "border border-gray-900 text-gray-900 hover:bg-gray-100",
|
|
124
124
|
"outline-light": "border border-gray-100 text-gray-500 hover:bg-gray-200"
|
|
125
|
-
},
|
|
125
|
+
}, le = {
|
|
126
126
|
xs: "px-3 py-2 text-xs",
|
|
127
127
|
sm: "px-3 py-2 text-sm",
|
|
128
128
|
md: "px-5 py-2.5 text-sm",
|
|
129
129
|
lg: "px-5 py-3 text-base",
|
|
130
130
|
xl: "px-6 py-3.5 text-base"
|
|
131
|
-
},
|
|
131
|
+
}, ie = {
|
|
132
132
|
flat: "shadow-none",
|
|
133
133
|
rounded: "rounded-md",
|
|
134
134
|
pill: "rounded-full",
|
|
135
135
|
circle: "rounded-full w-10 h-10 p-0 flex items-center justify-center"
|
|
136
|
-
},
|
|
136
|
+
}, je = ({
|
|
137
137
|
children: e,
|
|
138
138
|
variant: n = "primary",
|
|
139
139
|
size: r = "md",
|
|
140
140
|
type: t = "button",
|
|
141
|
-
shape:
|
|
142
|
-
className:
|
|
143
|
-
isLoading:
|
|
144
|
-
disabled:
|
|
145
|
-
...
|
|
141
|
+
shape: o = "rounded",
|
|
142
|
+
className: d = "",
|
|
143
|
+
isLoading: u = !1,
|
|
144
|
+
disabled: a = !1,
|
|
145
|
+
...s
|
|
146
146
|
}) => {
|
|
147
|
-
const
|
|
147
|
+
const i = a || u, l = [
|
|
148
148
|
"inline-flex items-center justify-center font-normal transition duration-150 cursor-pointer",
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
149
|
+
ae[n],
|
|
150
|
+
le[r],
|
|
151
|
+
ie[o],
|
|
152
|
+
o === "flat" ? "shadow-none" : "shadow-sm",
|
|
153
|
+
i ? "opacity-50 cursor-not-allowed pointer-events-none" : "",
|
|
154
|
+
d
|
|
155
155
|
].filter(Boolean).join(" ");
|
|
156
|
-
return /* @__PURE__ */ x("button", { type: t, className:
|
|
157
|
-
|
|
156
|
+
return /* @__PURE__ */ x("button", { type: t, className: l, disabled: i, ...s, children: [
|
|
157
|
+
u && /* @__PURE__ */ x(
|
|
158
158
|
"svg",
|
|
159
159
|
{
|
|
160
160
|
"aria-hidden": "true",
|
|
@@ -164,14 +164,14 @@ const ne = {
|
|
|
164
164
|
fill: "none",
|
|
165
165
|
xmlns: "http://www.w3.org/2000/svg",
|
|
166
166
|
children: [
|
|
167
|
-
/* @__PURE__ */
|
|
167
|
+
/* @__PURE__ */ g(
|
|
168
168
|
"path",
|
|
169
169
|
{
|
|
170
170
|
d: "M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",
|
|
171
171
|
fill: "currentColor"
|
|
172
172
|
}
|
|
173
173
|
),
|
|
174
|
-
/* @__PURE__ */
|
|
174
|
+
/* @__PURE__ */ g(
|
|
175
175
|
"path",
|
|
176
176
|
{
|
|
177
177
|
d: "M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",
|
|
@@ -183,12 +183,12 @@ const ne = {
|
|
|
183
183
|
),
|
|
184
184
|
e
|
|
185
185
|
] });
|
|
186
|
-
},
|
|
186
|
+
}, Le = ({
|
|
187
187
|
label: e,
|
|
188
188
|
children: n,
|
|
189
189
|
position: r = "right"
|
|
190
190
|
}) => {
|
|
191
|
-
const [t,
|
|
191
|
+
const [t, o] = w(!1), [d, u] = w(!1), a = M(null), s = M(null), i = I(() => {
|
|
192
192
|
switch (r) {
|
|
193
193
|
case "left":
|
|
194
194
|
return "left-0";
|
|
@@ -198,59 +198,59 @@ const ne = {
|
|
|
198
198
|
default:
|
|
199
199
|
return "right-0";
|
|
200
200
|
}
|
|
201
|
-
}, [r]),
|
|
202
|
-
const b =
|
|
203
|
-
|
|
204
|
-
}, []),
|
|
205
|
-
if (!
|
|
206
|
-
const
|
|
207
|
-
|
|
208
|
-
m < b.height &&
|
|
201
|
+
}, [r]), l = h((f) => {
|
|
202
|
+
const b = f.target;
|
|
203
|
+
a.current && !a.current.contains(b) && s.current && !s.current.contains(b) && o(!1);
|
|
204
|
+
}, []), c = h(() => {
|
|
205
|
+
if (!s.current || !a.current) return;
|
|
206
|
+
const f = s.current.getBoundingClientRect(), b = a.current.getBoundingClientRect(), m = window.innerHeight - f.bottom, v = f.top;
|
|
207
|
+
u(
|
|
208
|
+
m < b.height && v > b.height
|
|
209
209
|
);
|
|
210
210
|
}, []);
|
|
211
|
-
|
|
211
|
+
S(() => {
|
|
212
212
|
if (t)
|
|
213
|
-
return
|
|
214
|
-
window.removeEventListener("resize",
|
|
213
|
+
return c(), window.addEventListener("resize", c), window.addEventListener("scroll", c, !0), () => {
|
|
214
|
+
window.removeEventListener("resize", c), window.removeEventListener("scroll", c, !0);
|
|
215
215
|
};
|
|
216
|
-
}, [t,
|
|
217
|
-
const
|
|
216
|
+
}, [t, c]), S(() => (document.addEventListener("mousedown", l), () => document.removeEventListener("mousedown", l)), [l]);
|
|
217
|
+
const p = h(() => o((f) => !f), []);
|
|
218
218
|
return /* @__PURE__ */ x("div", { className: "relative flex items-center", children: [
|
|
219
|
-
/* @__PURE__ */
|
|
220
|
-
t && /* @__PURE__ */
|
|
219
|
+
/* @__PURE__ */ g("button", { ref: s, onClick: p, children: e }),
|
|
220
|
+
t && /* @__PURE__ */ g(
|
|
221
221
|
"div",
|
|
222
222
|
{
|
|
223
|
-
ref:
|
|
223
|
+
ref: a,
|
|
224
224
|
className: `absolute z-10 bg-white rounded-sm shadow-md overflow-hidden
|
|
225
|
-
${
|
|
226
|
-
${
|
|
225
|
+
${d ? "bottom-full mb-2" : "top-full mt-2"}
|
|
226
|
+
${i}`,
|
|
227
227
|
children: n
|
|
228
228
|
}
|
|
229
229
|
)
|
|
230
230
|
] });
|
|
231
|
-
},
|
|
231
|
+
}, Pe = ({
|
|
232
232
|
children: e,
|
|
233
233
|
content: n,
|
|
234
234
|
position: r = "top",
|
|
235
235
|
className: t = "",
|
|
236
|
-
tooltipClass:
|
|
237
|
-
tooltipStyle:
|
|
236
|
+
tooltipClass: o = "",
|
|
237
|
+
tooltipStyle: d = {}
|
|
238
238
|
}) => {
|
|
239
|
-
const
|
|
240
|
-
|
|
241
|
-
const
|
|
242
|
-
if (!
|
|
243
|
-
const
|
|
244
|
-
|
|
245
|
-
},
|
|
246
|
-
|
|
239
|
+
const u = M(null), a = M(null);
|
|
240
|
+
S(() => {
|
|
241
|
+
const i = u.current, l = a.current;
|
|
242
|
+
if (!i || !l) return;
|
|
243
|
+
const c = () => {
|
|
244
|
+
l.style.opacity = "1", l.style.visibility = "visible";
|
|
245
|
+
}, p = () => {
|
|
246
|
+
l.style.opacity = "0", l.style.visibility = "hidden";
|
|
247
247
|
};
|
|
248
|
-
return
|
|
249
|
-
|
|
248
|
+
return i.addEventListener("mouseenter", c), i.addEventListener("mouseleave", p), () => {
|
|
249
|
+
i.removeEventListener("mouseenter", c), i.removeEventListener("mouseleave", p);
|
|
250
250
|
};
|
|
251
251
|
}, []);
|
|
252
|
-
const
|
|
253
|
-
const
|
|
252
|
+
const s = (i) => {
|
|
253
|
+
const l = {
|
|
254
254
|
position: "absolute",
|
|
255
255
|
opacity: 0,
|
|
256
256
|
visibility: "hidden",
|
|
@@ -267,10 +267,10 @@ const ne = {
|
|
|
267
267
|
zIndex: 9999,
|
|
268
268
|
width: "max-content"
|
|
269
269
|
};
|
|
270
|
-
switch (
|
|
270
|
+
switch (i) {
|
|
271
271
|
case "top":
|
|
272
272
|
return {
|
|
273
|
-
...
|
|
273
|
+
...l,
|
|
274
274
|
bottom: "100%",
|
|
275
275
|
left: "50%",
|
|
276
276
|
transform: "translateX(-50%)",
|
|
@@ -278,7 +278,7 @@ const ne = {
|
|
|
278
278
|
};
|
|
279
279
|
case "bottom":
|
|
280
280
|
return {
|
|
281
|
-
...
|
|
281
|
+
...l,
|
|
282
282
|
top: "100%",
|
|
283
283
|
left: "50%",
|
|
284
284
|
transform: "translateX(-50%)",
|
|
@@ -286,7 +286,7 @@ const ne = {
|
|
|
286
286
|
};
|
|
287
287
|
case "left":
|
|
288
288
|
return {
|
|
289
|
-
...
|
|
289
|
+
...l,
|
|
290
290
|
right: "100%",
|
|
291
291
|
top: "50%",
|
|
292
292
|
transform: "translateY(-50%)",
|
|
@@ -294,33 +294,33 @@ const ne = {
|
|
|
294
294
|
};
|
|
295
295
|
case "right":
|
|
296
296
|
return {
|
|
297
|
-
...
|
|
297
|
+
...l,
|
|
298
298
|
left: "100%",
|
|
299
299
|
top: "50%",
|
|
300
300
|
transform: "translateY(-50%)",
|
|
301
301
|
marginLeft: "8px"
|
|
302
302
|
};
|
|
303
303
|
default:
|
|
304
|
-
return
|
|
304
|
+
return l;
|
|
305
305
|
}
|
|
306
306
|
};
|
|
307
|
-
return /* @__PURE__ */ x("div", { ref:
|
|
307
|
+
return /* @__PURE__ */ x("div", { ref: u, className: `relative inline-block ${t}`, children: [
|
|
308
308
|
e,
|
|
309
|
-
/* @__PURE__ */
|
|
309
|
+
/* @__PURE__ */ g(
|
|
310
310
|
"div",
|
|
311
311
|
{
|
|
312
|
-
ref:
|
|
312
|
+
ref: a,
|
|
313
313
|
role: "tooltip",
|
|
314
|
-
className:
|
|
314
|
+
className: o,
|
|
315
315
|
style: {
|
|
316
|
-
...
|
|
317
|
-
...
|
|
316
|
+
...s(r),
|
|
317
|
+
...d
|
|
318
318
|
},
|
|
319
319
|
children: n
|
|
320
320
|
}
|
|
321
321
|
)
|
|
322
322
|
] });
|
|
323
|
-
},
|
|
323
|
+
}, ce = {
|
|
324
324
|
primary: "bg-blue-500 text-white",
|
|
325
325
|
secondary: "bg-gray-500 text-white",
|
|
326
326
|
success: "bg-green-500 text-white",
|
|
@@ -338,123 +338,141 @@ const ne = {
|
|
|
338
338
|
"outline-info": "border border-cyan-500 text-cyan-500 bg-transparent",
|
|
339
339
|
"outline-dark": "border border-black text-black bg-transparent",
|
|
340
340
|
"outline-light": "border border-gray-100 text-gray-800 bg-transparent"
|
|
341
|
-
},
|
|
341
|
+
}, de = {
|
|
342
342
|
xs: "text-xs px-2 py-0.5",
|
|
343
343
|
sm: "text-sm px-2.5 py-0.5",
|
|
344
344
|
md: "text-base px-3 py-1",
|
|
345
345
|
lg: "text-lg px-3.5 py-1.5",
|
|
346
346
|
xl: "text-xl px-4 py-2"
|
|
347
|
-
},
|
|
347
|
+
}, ue = {
|
|
348
348
|
flat: "rounded-none",
|
|
349
349
|
rounded: "rounded-sm",
|
|
350
350
|
pill: "rounded-full",
|
|
351
351
|
circle: "rounded-full p-2 w-8 h-8 justify-center"
|
|
352
|
-
},
|
|
352
|
+
}, Ee = ({
|
|
353
353
|
label: e,
|
|
354
354
|
variant: n = "primary",
|
|
355
355
|
size: r = "sm",
|
|
356
356
|
shape: t = "rounded",
|
|
357
|
-
icon:
|
|
358
|
-
dismissible:
|
|
359
|
-
onDismiss:
|
|
360
|
-
className:
|
|
361
|
-
...
|
|
357
|
+
icon: o,
|
|
358
|
+
dismissible: d,
|
|
359
|
+
onDismiss: u,
|
|
360
|
+
className: a = "",
|
|
361
|
+
...s
|
|
362
362
|
}) => {
|
|
363
|
-
const
|
|
364
|
-
return /* @__PURE__ */ x("span", { className:
|
|
365
|
-
|
|
363
|
+
const i = !e && !!o, l = `inline-flex items-center font-medium ${ce[n] || ""} ${de[r] || ""} ${ue[t] || ""} ${i ? "justify-center p-2 w-8 h-8" : ""} ` + a;
|
|
364
|
+
return /* @__PURE__ */ x("span", { className: l.trim(), ...s, children: [
|
|
365
|
+
o && /* @__PURE__ */ g("span", { className: e ? "mr-1" : "", children: o }),
|
|
366
366
|
e,
|
|
367
|
-
|
|
367
|
+
d && /* @__PURE__ */ g(
|
|
368
368
|
"button",
|
|
369
369
|
{
|
|
370
370
|
type: "button",
|
|
371
|
-
onClick:
|
|
371
|
+
onClick: u,
|
|
372
372
|
className: "ml-2 text-xs font-bold leading-none focus:outline-none",
|
|
373
373
|
children: "Ã"
|
|
374
374
|
}
|
|
375
375
|
)
|
|
376
376
|
] });
|
|
377
|
-
},
|
|
378
|
-
|
|
379
|
-
return e || (console.warn(
|
|
380
|
-
"â ī¸ useModal() called outside of ModalProvider. Falling back to standalone modal usage."
|
|
381
|
-
), null);
|
|
382
|
-
};
|
|
383
|
-
function Pe({
|
|
377
|
+
}, G = Z(null), H = () => W(G), X = Z(null), Y = () => W(X);
|
|
378
|
+
function $e({
|
|
384
379
|
id: e,
|
|
385
380
|
title: n,
|
|
386
381
|
children: r,
|
|
387
382
|
standalone: t = !1,
|
|
388
|
-
showFloatingClose:
|
|
389
|
-
containerClasses:
|
|
390
|
-
onClose:
|
|
383
|
+
showFloatingClose: o = !1,
|
|
384
|
+
containerClasses: d = "",
|
|
385
|
+
onClose: u
|
|
391
386
|
}) {
|
|
392
|
-
const
|
|
393
|
-
|
|
387
|
+
const a = Y(), s = H(), i = !t && !!a && !!s, [l, c] = w(!1), p = i ? a.isOpen(e) : l, f = i ? a.getModalData(e) : null, b = () => {
|
|
388
|
+
i ? s.closeModal(e) : c(!1), u == null || u();
|
|
394
389
|
};
|
|
395
|
-
return
|
|
390
|
+
return S(() => (p ? document.body.style.overflow = "hidden" : document.body.style.overflow = "", () => {
|
|
396
391
|
document.body.style.overflow = "";
|
|
397
|
-
}), [
|
|
392
|
+
}), [p]), p ? /* @__PURE__ */ g("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-[2px]", children: /* @__PURE__ */ x(
|
|
398
393
|
"div",
|
|
399
394
|
{
|
|
400
|
-
className: `bg-white rounded-lg shadow-lg w-full max-w-md p-
|
|
395
|
+
className: `bg-white rounded-lg shadow-lg w-full max-w-md p-4 transform transition-all duration-300 scale-100 ${d}`,
|
|
401
396
|
children: [
|
|
402
397
|
/* @__PURE__ */ x("div", { className: "flex justify-between items-center relative", children: [
|
|
403
|
-
n && /* @__PURE__ */
|
|
404
|
-
|
|
398
|
+
n && /* @__PURE__ */ g("h2", { className: "text-lg font-semibold", children: n }),
|
|
399
|
+
o && /* @__PURE__ */ g(
|
|
405
400
|
"button",
|
|
406
401
|
{
|
|
407
|
-
onClick:
|
|
402
|
+
onClick: b,
|
|
408
403
|
className: "text-gray-500 hover:text-gray-700 absolute top-2 right-3",
|
|
409
404
|
"aria-label": "Close modal",
|
|
410
405
|
children: "â"
|
|
411
406
|
}
|
|
412
407
|
)
|
|
413
408
|
] }),
|
|
414
|
-
/* @__PURE__ */
|
|
409
|
+
/* @__PURE__ */ g("div", { className: "mt-3 text-sm text-gray-700", children: typeof r == "function" ? r({ modalData: f }) : r })
|
|
415
410
|
]
|
|
416
411
|
}
|
|
417
412
|
) }) : null;
|
|
418
413
|
}
|
|
419
|
-
function
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
}, []),
|
|
423
|
-
r((
|
|
424
|
-
}, []), u =
|
|
425
|
-
|
|
414
|
+
function Me({
|
|
415
|
+
children: e
|
|
416
|
+
}) {
|
|
417
|
+
const [n, r] = w({}), [t, o] = w({}), d = h((c, p) => {
|
|
418
|
+
r((f) => ({ ...f, [c]: !0 })), p && o((f) => ({ ...f, [c]: p }));
|
|
419
|
+
}, []), u = h((c) => {
|
|
420
|
+
r((p) => ({ ...p, [c]: !1 })), o((p) => {
|
|
421
|
+
const f = { ...p };
|
|
422
|
+
return delete f[c], f;
|
|
423
|
+
});
|
|
424
|
+
}, []), a = h((c) => !!n[c], [n]), s = h(
|
|
425
|
+
(c) => t[c],
|
|
426
|
+
[t]
|
|
427
|
+
), i = I(
|
|
428
|
+
() => ({ openModal: d, closeModal: u }),
|
|
429
|
+
[d, u]
|
|
430
|
+
), l = I(
|
|
431
|
+
() => ({ isOpen: a, getModalData: s }),
|
|
432
|
+
[a, s]
|
|
433
|
+
);
|
|
434
|
+
return /* @__PURE__ */ g(G.Provider, { value: i, children: /* @__PURE__ */ g(X.Provider, { value: l, children: e }) });
|
|
435
|
+
}
|
|
436
|
+
function ze(e) {
|
|
437
|
+
const { openModal: n, closeModal: r } = H(), { isOpen: t, getModalData: o } = Y();
|
|
438
|
+
return {
|
|
439
|
+
open: (d) => n(e, d),
|
|
440
|
+
close: () => r(e),
|
|
441
|
+
isOpen: t(e),
|
|
442
|
+
data: o(e)
|
|
443
|
+
};
|
|
426
444
|
}
|
|
427
|
-
let _ = null,
|
|
428
|
-
function
|
|
445
|
+
let _ = null, A = {};
|
|
446
|
+
function ge(e) {
|
|
429
447
|
_ = e;
|
|
430
448
|
}
|
|
431
|
-
function
|
|
432
|
-
|
|
449
|
+
function De(e) {
|
|
450
|
+
A = { ...A, ...e };
|
|
433
451
|
}
|
|
434
|
-
function
|
|
435
|
-
return
|
|
452
|
+
function pe() {
|
|
453
|
+
return A;
|
|
436
454
|
}
|
|
437
|
-
function
|
|
455
|
+
function Re(e, n, r = 3e3, t) {
|
|
438
456
|
_ ? _(e, n, r, t) : console.warn("Toast system is not mounted");
|
|
439
457
|
}
|
|
440
|
-
var
|
|
458
|
+
var K = {
|
|
441
459
|
color: void 0,
|
|
442
460
|
size: void 0,
|
|
443
461
|
className: void 0,
|
|
444
462
|
style: void 0,
|
|
445
463
|
attr: void 0
|
|
446
|
-
},
|
|
447
|
-
function
|
|
464
|
+
}, B = y.createContext && /* @__PURE__ */ y.createContext(K), fe = ["attr", "size", "title"];
|
|
465
|
+
function be(e, n) {
|
|
448
466
|
if (e == null) return {};
|
|
449
|
-
var r =
|
|
467
|
+
var r = xe(e, n), t, o;
|
|
450
468
|
if (Object.getOwnPropertySymbols) {
|
|
451
|
-
var
|
|
452
|
-
for (
|
|
453
|
-
t =
|
|
469
|
+
var d = Object.getOwnPropertySymbols(e);
|
|
470
|
+
for (o = 0; o < d.length; o++)
|
|
471
|
+
t = d[o], !(n.indexOf(t) >= 0) && Object.prototype.propertyIsEnumerable.call(e, t) && (r[t] = e[t]);
|
|
454
472
|
}
|
|
455
473
|
return r;
|
|
456
474
|
}
|
|
457
|
-
function
|
|
475
|
+
function xe(e, n) {
|
|
458
476
|
if (e == null) return {};
|
|
459
477
|
var r = {};
|
|
460
478
|
for (var t in e)
|
|
@@ -464,45 +482,45 @@ function pe(e, n) {
|
|
|
464
482
|
}
|
|
465
483
|
return r;
|
|
466
484
|
}
|
|
467
|
-
function
|
|
468
|
-
return
|
|
485
|
+
function z() {
|
|
486
|
+
return z = Object.assign ? Object.assign.bind() : function(e) {
|
|
469
487
|
for (var n = 1; n < arguments.length; n++) {
|
|
470
488
|
var r = arguments[n];
|
|
471
489
|
for (var t in r)
|
|
472
490
|
Object.prototype.hasOwnProperty.call(r, t) && (e[t] = r[t]);
|
|
473
491
|
}
|
|
474
492
|
return e;
|
|
475
|
-
},
|
|
493
|
+
}, z.apply(this, arguments);
|
|
476
494
|
}
|
|
477
|
-
function
|
|
495
|
+
function F(e, n) {
|
|
478
496
|
var r = Object.keys(e);
|
|
479
497
|
if (Object.getOwnPropertySymbols) {
|
|
480
498
|
var t = Object.getOwnPropertySymbols(e);
|
|
481
|
-
n && (t = t.filter(function(
|
|
482
|
-
return Object.getOwnPropertyDescriptor(e,
|
|
499
|
+
n && (t = t.filter(function(o) {
|
|
500
|
+
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
483
501
|
})), r.push.apply(r, t);
|
|
484
502
|
}
|
|
485
503
|
return r;
|
|
486
504
|
}
|
|
487
|
-
function
|
|
505
|
+
function D(e) {
|
|
488
506
|
for (var n = 1; n < arguments.length; n++) {
|
|
489
507
|
var r = arguments[n] != null ? arguments[n] : {};
|
|
490
|
-
n % 2 ?
|
|
491
|
-
|
|
492
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) :
|
|
508
|
+
n % 2 ? F(Object(r), !0).forEach(function(t) {
|
|
509
|
+
me(e, t, r[t]);
|
|
510
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : F(Object(r)).forEach(function(t) {
|
|
493
511
|
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t));
|
|
494
512
|
});
|
|
495
513
|
}
|
|
496
514
|
return e;
|
|
497
515
|
}
|
|
498
|
-
function
|
|
499
|
-
return n =
|
|
516
|
+
function me(e, n, r) {
|
|
517
|
+
return n = he(n), n in e ? Object.defineProperty(e, n, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[n] = r, e;
|
|
500
518
|
}
|
|
501
|
-
function
|
|
502
|
-
var n =
|
|
519
|
+
function he(e) {
|
|
520
|
+
var n = ye(e, "string");
|
|
503
521
|
return typeof n == "symbol" ? n : n + "";
|
|
504
522
|
}
|
|
505
|
-
function
|
|
523
|
+
function ye(e, n) {
|
|
506
524
|
if (typeof e != "object" || !e) return e;
|
|
507
525
|
var r = e[Symbol.toPrimitive];
|
|
508
526
|
if (r !== void 0) {
|
|
@@ -512,77 +530,77 @@ function me(e, n) {
|
|
|
512
530
|
}
|
|
513
531
|
return (n === "string" ? String : Number)(e);
|
|
514
532
|
}
|
|
515
|
-
function
|
|
516
|
-
return e && e.map((n, r) => /* @__PURE__ */
|
|
533
|
+
function U(e) {
|
|
534
|
+
return e && e.map((n, r) => /* @__PURE__ */ y.createElement(n.tag, D({
|
|
517
535
|
key: r
|
|
518
|
-
}, n.attr),
|
|
536
|
+
}, n.attr), U(n.child)));
|
|
519
537
|
}
|
|
520
|
-
function
|
|
521
|
-
return (n) => /* @__PURE__ */
|
|
522
|
-
attr:
|
|
523
|
-
}, n),
|
|
538
|
+
function we(e) {
|
|
539
|
+
return (n) => /* @__PURE__ */ y.createElement(ve, z({
|
|
540
|
+
attr: D({}, e.attr)
|
|
541
|
+
}, n), U(e.child));
|
|
524
542
|
}
|
|
525
|
-
function
|
|
543
|
+
function ve(e) {
|
|
526
544
|
var n = (r) => {
|
|
527
545
|
var {
|
|
528
546
|
attr: t,
|
|
529
|
-
size:
|
|
530
|
-
title:
|
|
531
|
-
} = e,
|
|
532
|
-
return r.className && (
|
|
547
|
+
size: o,
|
|
548
|
+
title: d
|
|
549
|
+
} = e, u = be(e, fe), a = o || r.size || "1em", s;
|
|
550
|
+
return r.className && (s = r.className), e.className && (s = (s ? s + " " : "") + e.className), /* @__PURE__ */ y.createElement("svg", z({
|
|
533
551
|
stroke: "currentColor",
|
|
534
552
|
fill: "currentColor",
|
|
535
553
|
strokeWidth: "0"
|
|
536
|
-
}, r.attr, t,
|
|
537
|
-
className:
|
|
538
|
-
style:
|
|
554
|
+
}, r.attr, t, u, {
|
|
555
|
+
className: s,
|
|
556
|
+
style: D(D({
|
|
539
557
|
color: e.color || r.color
|
|
540
558
|
}, r.style), e.style),
|
|
541
|
-
height:
|
|
542
|
-
width:
|
|
559
|
+
height: a,
|
|
560
|
+
width: a,
|
|
543
561
|
xmlns: "http://www.w3.org/2000/svg"
|
|
544
|
-
}),
|
|
562
|
+
}), d && /* @__PURE__ */ y.createElement("title", null, d), e.children);
|
|
545
563
|
};
|
|
546
|
-
return
|
|
564
|
+
return B !== void 0 ? /* @__PURE__ */ y.createElement(B.Consumer, null, (r) => n(r)) : n(K);
|
|
547
565
|
}
|
|
548
|
-
function
|
|
549
|
-
return
|
|
566
|
+
function Ce(e) {
|
|
567
|
+
return we({ attr: { viewBox: "0 0 15 15", fill: "none" }, child: [{ tag: "path", attr: { fillRule: "evenodd", clipRule: "evenodd", d: "M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z", fill: "currentColor" }, child: [] }] })(e);
|
|
550
568
|
}
|
|
551
|
-
const
|
|
569
|
+
const Ne = () => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {
|
|
552
570
|
const n = Math.random() * 16 | 0;
|
|
553
571
|
return (e === "x" ? n : n & 3 | 8).toString(16);
|
|
554
|
-
}),
|
|
555
|
-
const [e, n] =
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
const
|
|
559
|
-
n((
|
|
560
|
-
n((
|
|
561
|
-
},
|
|
572
|
+
}), Te = () => {
|
|
573
|
+
const [e, n] = w([]);
|
|
574
|
+
S(() => {
|
|
575
|
+
ge((t, o, d, u) => {
|
|
576
|
+
const a = Ne();
|
|
577
|
+
n((s) => [...s, { id: a, type: t, message: o, config: u }]), setTimeout(() => {
|
|
578
|
+
n((s) => s.filter((i) => i.id !== a));
|
|
579
|
+
}, d);
|
|
562
580
|
});
|
|
563
581
|
}, []);
|
|
564
|
-
const r =
|
|
565
|
-
return /* @__PURE__ */
|
|
566
|
-
var
|
|
567
|
-
const
|
|
582
|
+
const r = pe();
|
|
583
|
+
return /* @__PURE__ */ g("div", { className: "fixed top-5 right-5 z-[9999] flex flex-col gap-2", children: e.map((t) => {
|
|
584
|
+
var s, i, l, c, p, f, b, m, v, C, k, j, L;
|
|
585
|
+
const o = ((s = t.config) == null ? void 0 : s.icon) || ((i = r.icons) == null ? void 0 : i[t.type]) || Oe(t.type), d = ((l = t.config) == null ? void 0 : l.bgColor) || ((p = (c = r.colors) == null ? void 0 : c[t.type]) == null ? void 0 : p.bg) || "bg-white dark:bg-gray-800", u = ((f = t.config) == null ? void 0 : f.textColor) || ((m = (b = r.colors) == null ? void 0 : b[t.type]) == null ? void 0 : m.text) || "text-gray-700 dark:text-gray-300", a = ((v = t.config) == null ? void 0 : v.iconContainerClass) || "w-8 h-8 mr-3 text-xl flex items-center justify-center";
|
|
568
586
|
return /* @__PURE__ */ x(
|
|
569
587
|
"div",
|
|
570
588
|
{
|
|
571
|
-
className: `flex items-center w-full max-w-xs p-4 text-sm rounded-lg shadow ${
|
|
589
|
+
className: `flex items-center w-full max-w-xs p-4 text-sm rounded-lg shadow ${d} ${u}`,
|
|
572
590
|
children: [
|
|
573
|
-
/* @__PURE__ */
|
|
591
|
+
/* @__PURE__ */ g("div", { className: a, children: o }),
|
|
574
592
|
/* @__PURE__ */ x("div", { className: "flex-1 me-3", children: [
|
|
575
|
-
((C = t.config) == null ? void 0 : C.title) && /* @__PURE__ */
|
|
576
|
-
((
|
|
577
|
-
!((j = t.config) != null && j.title) && !((L = t.config) != null && L.description) && /* @__PURE__ */
|
|
593
|
+
((C = t.config) == null ? void 0 : C.title) && /* @__PURE__ */ g("div", { className: "font-semibold text-black", children: t.config.title }),
|
|
594
|
+
((k = t.config) == null ? void 0 : k.description) && /* @__PURE__ */ g("div", { className: "text-sm text-gray-500", children: t.config.description }),
|
|
595
|
+
!((j = t.config) != null && j.title) && !((L = t.config) != null && L.description) && /* @__PURE__ */ g("div", { className: "text-sm", children: t.message })
|
|
578
596
|
] }),
|
|
579
|
-
/* @__PURE__ */
|
|
597
|
+
/* @__PURE__ */ g(
|
|
580
598
|
"button",
|
|
581
599
|
{
|
|
582
600
|
onClick: () => n((P) => P.filter((E) => E.id !== t.id)),
|
|
583
601
|
className: "ml-auto text-gray-400 hover:text-gray-700 dark:text-gray-500 dark:hover:text-white",
|
|
584
602
|
"aria-label": "Close",
|
|
585
|
-
children: /* @__PURE__ */
|
|
603
|
+
children: /* @__PURE__ */ g(Ce, { size: 18 })
|
|
586
604
|
}
|
|
587
605
|
)
|
|
588
606
|
]
|
|
@@ -591,7 +609,7 @@ const ve = () => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, functio
|
|
|
591
609
|
);
|
|
592
610
|
}) });
|
|
593
611
|
};
|
|
594
|
-
function
|
|
612
|
+
function Oe(e) {
|
|
595
613
|
switch (e) {
|
|
596
614
|
case "success":
|
|
597
615
|
return "â
";
|
|
@@ -604,16 +622,17 @@ function Ce(e) {
|
|
|
604
622
|
}
|
|
605
623
|
}
|
|
606
624
|
export {
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
625
|
+
Ee as Badge,
|
|
626
|
+
je as Button,
|
|
627
|
+
Le as Dropdown,
|
|
628
|
+
se as Input,
|
|
629
|
+
$e as Modal,
|
|
630
|
+
Me as ModalProvider,
|
|
631
|
+
Te as Toast,
|
|
632
|
+
Pe as Tooltip,
|
|
633
|
+
De as setToastDefaults,
|
|
634
|
+
Re as showToast,
|
|
635
|
+
H as useModalActions,
|
|
636
|
+
ze as useModalInstance,
|
|
637
|
+
Y as useModalState
|
|
619
638
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
(function(
|
|
2
|
-
${v&&
|
|
3
|
-
${
|
|
1
|
+
(function(x,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("react/jsx-runtime"),require("react")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react"],o):(x=typeof globalThis<"u"?globalThis:x||self,o(x.TailwindUiKit={},x.jsxRuntime,x.React))})(this,function(x,o,s){"use strict";"use client";const A=s.forwardRef((e,n)=>{const{label:r,id:t,inputSize:l="md",shape:f="rounded",validate:g,onValidatedChange:i,className:a="",icon:d,iconPosition:c="left",floatingLabelStyle:u,onChange:b,isValid:p,isInvalid:h,feedback:m,feedbackType:y="invalid",...w}=e,[O,k]=s.useState("default"),j=C=>{const I=C.target.value,P=(g==null?void 0:g(I))??"default";k(P),i==null||i(C,P),b==null||b(C)},E={xs:"text-xs px-2 py-1",sm:"text-sm px-3 py-1.5",md:"text-sm px-3 py-3",lg:"text-lg px-5 py-3"},M={flat:"rounded-none",rounded:"rounded-md",pill:"rounded-full"},ye={filled:"rounded-t-lg px-2.5 pb-2.5 pt-5 bg-gray-50 border-b-2",outlined:"rounded-lg px-2.5 pb-2.5 pt-4 bg-transparent border",standard:"px-0 py-2.5 bg-transparent border-0 border-b-2"},we={filled:"absolute duration-300 transform -translate-y-4 scale-75 top-4 z-10 origin-[0] start-2.5 peer-placeholder-shown:translate-y-0 peer-placeholder-shown:scale-100 peer-focus:scale-75 peer-focus:-translate-y-4 peer-focus:text-blue-600",outlined:"absolute duration-300 transform -translate-y-4 scale-75 top-2 z-10 origin-[0] bg-white px-2 peer-placeholder-shown:scale-100 peer-placeholder-shown:top-1/2 peer-placeholder-shown:-translate-y-1/2 peer-focus:top-2 peer-focus:scale-75 peer-focus:-translate-y-4 peer-focus:text-blue-600",standard:"absolute duration-300 transform -translate-y-6 scale-75 top-3 origin-[0] peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0 peer-focus:scale-75 peer-focus:-translate-y-6 peer-focus:text-blue-600"},ve=(C,I,P)=>{if(P)return"border-red-500 bg-red-50 text-red-900 placeholder-red-700 focus:ring-red-500 focus:border-red-500";if(I)return"border-green-500 bg-green-50 text-green-900 placeholder-green-700 focus:ring-green-500 focus:border-green-500";switch(C){case"error":return"border-red-500 bg-red-50 focus:ring-red-500";case"warning":return"border-yellow-500 bg-yellow-50 focus:ring-yellow-500";case"success":return"border-green-500 bg-green-50 focus:ring-green-500";default:return"border-gray-300 focus:ring-blue-500"}},Ce=E[l]||E.md,Se=M[f]||M.flat,Ne=ve(O,p,h),Oe=c==="start"||c==="left"?"left-0 ps-3.5":"right-0 pe-3.5",ke=d&&(c==="start"||c==="left")?"ps-10":d?"pe-10":"",D=t??`input-${(r==null?void 0:r.toLowerCase().replace(/\s+/g,"-"))||Math.random().toString(36).slice(2)}`,v=!!u;return o.jsxs("div",{className:`w-full relative ${v?"z-0":""}`,children:[!v&&r&&o.jsx("label",{htmlFor:D,className:`block mb-1 font-light text-sm ${p?"text-green-700 dark:text-green-500":h?"text-red-700 dark:text-red-500":"text-gray-700"}`,children:r}),o.jsxs("div",{className:"relative w-full",children:[d&&o.jsx("div",{className:`absolute inset-y-0 flex items-center ${Oe}`,children:o.jsx("span",{className:"text-gray-500",children:d})}),o.jsx("input",{...w,id:D,ref:n,placeholder:v?" ":w.placeholder,onChange:j,className:`border peer w-full block font-light appearance-none focus:outline-none focus:ring-0 transition
|
|
2
|
+
${v&&u?ye[u]:Ce}
|
|
3
|
+
${ke} ${Se} ${Ne} ${a}`}),v&&r&&u&&o.jsx("label",{htmlFor:D,className:`ms-1 ${we[u]} ${a}`,children:r})]}),m&&o.jsx("p",{className:`mt-1 text-xs ${y==="invalid"?"text-red-600 dark:text-red-500":"text-green-600 dark:text-green-500"}`,children:m})]})});A.displayName="Input";const H={primary:"bg-blue-600 text-white hover:bg-blue-700",secondary:"bg-gray-600 text-white hover:bg-gray-700",success:"bg-green-600 text-white hover:bg-green-700",danger:"bg-red-600 text-white hover:bg-red-700",warning:"bg-yellow-500 text-white hover:bg-yellow-600",info:"bg-cyan-600 text-white hover:bg-cyan-700",dark:"bg-gray-900 text-white hover:bg-black",light:"bg-gray-100 text-black hover:bg-gray-200",link:"bg-transparent text-blue-600 hover:underline [&&]:p-0 [&&]:shadow-none","outline-primary":"border border-blue-600 text-blue-600 hover:bg-blue-50","outline-secondary":"border border-gray-600 text-gray-600 hover:bg-gray-50","outline-success":"border border-green-600 text-green-600 hover:bg-green-50","outline-danger":"border border-red-600 text-red-600 hover:bg-red-50","outline-warning":"border border-yellow-500 text-yellow-600 hover:bg-yellow-50","outline-info":"border border-cyan-600 text-cyan-600 hover:bg-cyan-50","outline-dark":"border border-gray-900 text-gray-900 hover:bg-gray-100","outline-light":"border border-gray-100 text-gray-500 hover:bg-gray-200"},q={xs:"px-3 py-2 text-xs",sm:"px-3 py-2 text-sm",md:"px-5 py-2.5 text-sm",lg:"px-5 py-3 text-base",xl:"px-6 py-3.5 text-base"},K={flat:"shadow-none",rounded:"rounded-md",pill:"rounded-full",circle:"rounded-full w-10 h-10 p-0 flex items-center justify-center"},U=({children:e,variant:n="primary",size:r="md",type:t="button",shape:l="rounded",className:f="",isLoading:g=!1,disabled:i=!1,...a})=>{const d=i||g,c=["inline-flex items-center justify-center font-normal transition duration-150 cursor-pointer",H[n],q[r],K[l],l==="flat"?"shadow-none":"shadow-sm",d?"opacity-50 cursor-not-allowed pointer-events-none":"",f].filter(Boolean).join(" ");return o.jsxs("button",{type:t,className:c,disabled:d,...a,children:[g&&o.jsxs("svg",{"aria-hidden":"true",role:"status",className:"inline w-4 h-4 me-3 text-gray-200 animate-spin dark:text-gray-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[o.jsx("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),o.jsx("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"#1C64F2"})]}),e]})},X=({label:e,children:n,position:r="right"})=>{const[t,l]=s.useState(!1),[f,g]=s.useState(!1),i=s.useRef(null),a=s.useRef(null),d=s.useMemo(()=>{switch(r){case"left":return"left-0";case"center":return"left-1/2 transform -translate-x-1/2";case"right":default:return"right-0"}},[r]),c=s.useCallback(p=>{const h=p.target;i.current&&!i.current.contains(h)&&a.current&&!a.current.contains(h)&&l(!1)},[]),u=s.useCallback(()=>{if(!a.current||!i.current)return;const p=a.current.getBoundingClientRect(),h=i.current.getBoundingClientRect(),m=window.innerHeight-p.bottom,y=p.top;g(m<h.height&&y>h.height)},[]);s.useEffect(()=>{if(t)return u(),window.addEventListener("resize",u),window.addEventListener("scroll",u,!0),()=>{window.removeEventListener("resize",u),window.removeEventListener("scroll",u,!0)}},[t,u]),s.useEffect(()=>(document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)),[c]);const b=s.useCallback(()=>l(p=>!p),[]);return o.jsxs("div",{className:"relative flex items-center",children:[o.jsx("button",{ref:a,onClick:b,children:e}),t&&o.jsx("div",{ref:i,className:`absolute z-10 bg-white rounded-sm shadow-md overflow-hidden
|
|
4
4
|
${f?"bottom-full mb-2":"top-full mt-2"}
|
|
5
|
-
${u}`,children:n})]})},U=({children:e,content:n,position:r="top",className:t="",tooltipClass:a="",tooltipStyle:f={}})=>{const d=l.useRef(null),s=l.useRef(null);l.useEffect(()=>{const u=d.current,c=s.current;if(!u||!c)return;const g=()=>{c.style.opacity="1",c.style.visibility="visible"},p=()=>{c.style.opacity="0",c.style.visibility="hidden"};return u.addEventListener("mouseenter",g),u.addEventListener("mouseleave",p),()=>{u.removeEventListener("mouseenter",g),u.removeEventListener("mouseleave",p)}},[]);const i=u=>{const c={position:"absolute",opacity:0,visibility:"hidden",transition:"opacity 0.2s ease",maxWidth:"240px",whiteSpace:"normal",wordBreak:"break-word",padding:"8px 12px",fontSize:"0.875rem",backgroundColor:"black",color:"white",borderRadius:"4px",boxShadow:"0px 4px 12px rgba(0, 0, 0, 0.15)",zIndex:9999,width:"max-content"};switch(u){case"top":return{...c,bottom:"100%",left:"50%",transform:"translateX(-50%)",marginBottom:"8px"};case"bottom":return{...c,top:"100%",left:"50%",transform:"translateX(-50%)",marginTop:"8px"};case"left":return{...c,right:"100%",top:"50%",transform:"translateY(-50%)",marginRight:"8px"};case"right":return{...c,left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"8px"};default:return c}};return o.jsxs("div",{ref:d,className:`relative inline-block ${t}`,children:[e,o.jsx("div",{ref:s,role:"tooltip",className:a,style:{...i(r),...f},children:n})]})},X={primary:"bg-blue-500 text-white",secondary:"bg-gray-500 text-white",success:"bg-green-500 text-white",danger:"bg-red-500 text-white",warning:"bg-yellow-400 text-black",info:"bg-cyan-500 text-white",dark:"bg-black text-white",light:"bg-gray-100 text-gray-800",link:"bg-transparent text-blue-500 underline","outline-primary":"border border-blue-500 text-blue-500 bg-transparent","outline-secondary":"border border-gray-500 text-gray-500 bg-transparent","outline-success":"border border-green-500 text-green-500 bg-transparent","outline-danger":"border border-red-500 text-red-500 bg-transparent","outline-warning":"border border-yellow-400 text-yellow-500 bg-transparent","outline-info":"border border-cyan-500 text-cyan-500 bg-transparent","outline-dark":"border border-black text-black bg-transparent","outline-light":"border border-gray-100 text-gray-800 bg-transparent"},Y={xs:"text-xs px-2 py-0.5",sm:"text-sm px-2.5 py-0.5",md:"text-base px-3 py-1",lg:"text-lg px-3.5 py-1.5",xl:"text-xl px-4 py-2"},J={flat:"rounded-none",rounded:"rounded-sm",pill:"rounded-full",circle:"rounded-full p-2 w-8 h-8 justify-center"},Q=({label:e,variant:n="primary",size:r="sm",shape:t="rounded",icon:a,dismissible:f,onDismiss:d,className:s="",...i})=>{const u=!e&&!!a,c=`inline-flex items-center font-medium ${X[n]||""} ${Y[r]||""} ${J[t]||""} ${u?"justify-center p-2 w-8 h-8":""} `+s;return o.jsxs("span",{className:c.trim(),...i,children:[a&&o.jsx("span",{className:e?"mr-1":"",children:a}),e,f&&o.jsx("button",{type:"button",onClick:d,className:"ml-2 text-xs font-bold leading-none focus:outline-none",children:"Ã"})]})},T=l.createContext(null),D=()=>{const e=l.useContext(T);return e||(console.warn("â ī¸ useModal() called outside of ModalProvider. Falling back to standalone modal usage."),null)};function V({id:e,title:n,children:r,standalone:t=!1,showFloatingClose:a=!1,containerClasses:f="",onClose:d}){const s=D(),i=s&&typeof s.openModal=="function",u=!t&&i,[c,g]=l.useState(!1),p=u?s.isOpen(e):c,x=()=>{u?s.closeModal(e):g(!1),d&&d()};return l.useEffect(()=>(p?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[p]),p?o.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-[2px]",children:o.jsxs("div",{className:`bg-white rounded-lg shadow-lg w-full max-w-md p-3 transform transition-all duration-300 scale-100 ${f}`,children:[o.jsxs("div",{className:"flex justify-between items-center relative",children:[n&&o.jsx("h2",{className:"text-lg font-semibold",children:n}),a&&o.jsx("button",{onClick:()=>x(),className:"text-gray-500 hover:text-gray-700 absolute top-2 right-3","aria-label":"Close modal",children:"â"})]}),o.jsx("div",{className:"text-sm text-gray-700",children:r})]})}):null}function R({children:e}){const[n,r]=l.useState({}),t=l.useCallback(d=>{r(s=>({...s,[d]:!0}))},[]),a=l.useCallback(d=>{r(s=>({...s,[d]:!1}))},[]),f=l.useCallback(d=>!!n[d],[n]);return o.jsx(T.Provider,{value:{openModal:t,closeModal:a,isOpen:f},children:e})}let $=null,M={};function ee(e){$=e}function te(e){M={...M,...e}}function re(){return M}function ne(e,n,r=3e3,t){$?$(e,n,r,t):console.warn("Toast system is not mounted")}var _={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},A=l.createContext&&l.createContext(_),oe=["attr","size","title"];function se(e,n){if(e==null)return{};var r=le(e,n),t,a;if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(e);for(a=0;a<f.length;a++)t=f[a],!(n.indexOf(t)>=0)&&Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}function le(e,n){if(e==null)return{};var r={};for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t)){if(n.indexOf(t)>=0)continue;r[t]=e[t]}return r}function N(){return N=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},N.apply(this,arguments)}function F(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,t)}return r}function O(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?F(Object(r),!0).forEach(function(t){ae(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):F(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function ae(e,n,r){return n=ie(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function ie(e){var n=ce(e,"string");return typeof n=="symbol"?n:n+""}function ce(e,n){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var t=r.call(e,n);if(typeof t!="object")return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function Z(e){return e&&e.map((n,r)=>l.createElement(n.tag,O({key:r},n.attr),Z(n.child)))}function de(e){return n=>l.createElement(ue,N({attr:O({},e.attr)},n),Z(e.child))}function ue(e){var n=r=>{var{attr:t,size:a,title:f}=e,d=se(e,oe),s=a||r.size||"1em",i;return r.className&&(i=r.className),e.className&&(i=(i?i+" ":"")+e.className),l.createElement("svg",N({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},r.attr,t,d,{className:i,style:O(O({color:e.color||r.color},r.style),e.style),height:s,width:s,xmlns:"http://www.w3.org/2000/svg"}),f&&l.createElement("title",null,f),e.children)};return A!==void 0?l.createElement(A.Consumer,null,r=>n(r)):n(_)}function fe(e){return de({attr:{viewBox:"0 0 15 15",fill:"none"},child:[{tag:"path",attr:{fillRule:"evenodd",clipRule:"evenodd",d:"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",fill:"currentColor"},child:[]}]})(e)}const ge=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const n=Math.random()*16|0;return(e==="x"?n:n&3|8).toString(16)}),be=()=>{const[e,n]=l.useState([]);l.useEffect(()=>{ee((t,a,f,d)=>{const s=ge();n(i=>[...i,{id:s,type:t,message:a,config:d}]),setTimeout(()=>{n(i=>i.filter(u=>u.id!==s))},f)})},[]);const r=re();return o.jsx("div",{className:"fixed top-5 right-5 z-[9999] flex flex-col gap-2",children:e.map(t=>{var i,u,c,g,p,x,h,y,m,w,k,S,j;const a=((i=t.config)==null?void 0:i.icon)||((u=r.icons)==null?void 0:u[t.type])||pe(t.type),f=((c=t.config)==null?void 0:c.bgColor)||((p=(g=r.colors)==null?void 0:g[t.type])==null?void 0:p.bg)||"bg-white dark:bg-gray-800",d=((x=t.config)==null?void 0:x.textColor)||((y=(h=r.colors)==null?void 0:h[t.type])==null?void 0:y.text)||"text-gray-700 dark:text-gray-300",s=((m=t.config)==null?void 0:m.iconContainerClass)||"w-8 h-8 mr-3 text-xl flex items-center justify-center";return o.jsxs("div",{className:`flex items-center w-full max-w-xs p-4 text-sm rounded-lg shadow ${f} ${d}`,children:[o.jsx("div",{className:s,children:a}),o.jsxs("div",{className:"flex-1 me-3",children:[((w=t.config)==null?void 0:w.title)&&o.jsx("div",{className:"font-semibold text-black",children:t.config.title}),((k=t.config)==null?void 0:k.description)&&o.jsx("div",{className:"text-sm text-gray-500",children:t.config.description}),!((S=t.config)!=null&&S.title)&&!((j=t.config)!=null&&j.description)&&o.jsx("div",{className:"text-sm",children:t.message})]}),o.jsx("button",{onClick:()=>n(E=>E.filter(P=>P.id!==t.id)),className:"ml-auto text-gray-400 hover:text-gray-700 dark:text-gray-500 dark:hover:text-white","aria-label":"Close",children:o.jsx(fe,{size:18})})]},t.id)})})};function pe(e){switch(e){case"success":return"â
";case"error":return"â";case"warning":return"â ī¸";case"info":return"âšī¸"}}b.Badge=Q,b.Button=q,b.Dropdown=K,b.Input=B,b.Modal=V,b.ModalContext=T,b.ModalProvider=R,b.Toast=be,b.Tooltip=U,b.setToastDefaults=te,b.showToast=ne,b.useModal=D,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
|
|
5
|
+
${d}`,children:n})]})},Y=({children:e,content:n,position:r="top",className:t="",tooltipClass:l="",tooltipStyle:f={}})=>{const g=s.useRef(null),i=s.useRef(null);s.useEffect(()=>{const d=g.current,c=i.current;if(!d||!c)return;const u=()=>{c.style.opacity="1",c.style.visibility="visible"},b=()=>{c.style.opacity="0",c.style.visibility="hidden"};return d.addEventListener("mouseenter",u),d.addEventListener("mouseleave",b),()=>{d.removeEventListener("mouseenter",u),d.removeEventListener("mouseleave",b)}},[]);const a=d=>{const c={position:"absolute",opacity:0,visibility:"hidden",transition:"opacity 0.2s ease",maxWidth:"240px",whiteSpace:"normal",wordBreak:"break-word",padding:"8px 12px",fontSize:"0.875rem",backgroundColor:"black",color:"white",borderRadius:"4px",boxShadow:"0px 4px 12px rgba(0, 0, 0, 0.15)",zIndex:9999,width:"max-content"};switch(d){case"top":return{...c,bottom:"100%",left:"50%",transform:"translateX(-50%)",marginBottom:"8px"};case"bottom":return{...c,top:"100%",left:"50%",transform:"translateX(-50%)",marginTop:"8px"};case"left":return{...c,right:"100%",top:"50%",transform:"translateY(-50%)",marginRight:"8px"};case"right":return{...c,left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"8px"};default:return c}};return o.jsxs("div",{ref:g,className:`relative inline-block ${t}`,children:[e,o.jsx("div",{ref:i,role:"tooltip",className:l,style:{...a(r),...f},children:n})]})},J={primary:"bg-blue-500 text-white",secondary:"bg-gray-500 text-white",success:"bg-green-500 text-white",danger:"bg-red-500 text-white",warning:"bg-yellow-400 text-black",info:"bg-cyan-500 text-white",dark:"bg-black text-white",light:"bg-gray-100 text-gray-800",link:"bg-transparent text-blue-500 underline","outline-primary":"border border-blue-500 text-blue-500 bg-transparent","outline-secondary":"border border-gray-500 text-gray-500 bg-transparent","outline-success":"border border-green-500 text-green-500 bg-transparent","outline-danger":"border border-red-500 text-red-500 bg-transparent","outline-warning":"border border-yellow-400 text-yellow-500 bg-transparent","outline-info":"border border-cyan-500 text-cyan-500 bg-transparent","outline-dark":"border border-black text-black bg-transparent","outline-light":"border border-gray-100 text-gray-800 bg-transparent"},Q={xs:"text-xs px-2 py-0.5",sm:"text-sm px-2.5 py-0.5",md:"text-base px-3 py-1",lg:"text-lg px-3.5 py-1.5",xl:"text-xl px-4 py-2"},V={flat:"rounded-none",rounded:"rounded-sm",pill:"rounded-full",circle:"rounded-full p-2 w-8 h-8 justify-center"},R=({label:e,variant:n="primary",size:r="sm",shape:t="rounded",icon:l,dismissible:f,onDismiss:g,className:i="",...a})=>{const d=!e&&!!l,c=`inline-flex items-center font-medium ${J[n]||""} ${Q[r]||""} ${V[t]||""} ${d?"justify-center p-2 w-8 h-8":""} `+i;return o.jsxs("span",{className:c.trim(),...a,children:[l&&o.jsx("span",{className:e?"mr-1":"",children:l}),e,f&&o.jsx("button",{type:"button",onClick:g,className:"ml-2 text-xs font-bold leading-none focus:outline-none",children:"Ã"})]})},B=s.createContext(null),L=()=>s.useContext(B),_=s.createContext(null),T=()=>s.useContext(_);function ee({id:e,title:n,children:r,standalone:t=!1,showFloatingClose:l=!1,containerClasses:f="",onClose:g}){const i=T(),a=L(),d=!t&&!!i&&!!a,[c,u]=s.useState(!1),b=d?i.isOpen(e):c,p=d?i.getModalData(e):null,h=()=>{d?a.closeModal(e):u(!1),g==null||g()};return s.useEffect(()=>(b?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[b]),b?o.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-[2px]",children:o.jsxs("div",{className:`bg-white rounded-lg shadow-lg w-full max-w-md p-4 transform transition-all duration-300 scale-100 ${f}`,children:[o.jsxs("div",{className:"flex justify-between items-center relative",children:[n&&o.jsx("h2",{className:"text-lg font-semibold",children:n}),l&&o.jsx("button",{onClick:h,className:"text-gray-500 hover:text-gray-700 absolute top-2 right-3","aria-label":"Close modal",children:"â"})]}),o.jsx("div",{className:"mt-3 text-sm text-gray-700",children:typeof r=="function"?r({modalData:p}):r})]})}):null}function te({children:e}){const[n,r]=s.useState({}),[t,l]=s.useState({}),f=s.useCallback((u,b)=>{r(p=>({...p,[u]:!0})),b&&l(p=>({...p,[u]:b}))},[]),g=s.useCallback(u=>{r(b=>({...b,[u]:!1})),l(b=>{const p={...b};return delete p[u],p})},[]),i=s.useCallback(u=>!!n[u],[n]),a=s.useCallback(u=>t[u],[t]),d=s.useMemo(()=>({openModal:f,closeModal:g}),[f,g]),c=s.useMemo(()=>({isOpen:i,getModalData:a}),[i,a]);return o.jsx(B.Provider,{value:d,children:o.jsx(_.Provider,{value:c,children:e})})}function re(e){const{openModal:n,closeModal:r}=L(),{isOpen:t,getModalData:l}=T();return{open:f=>n(e,f),close:()=>r(e),isOpen:t(e),data:l(e)}}let $=null,z={};function ne(e){$=e}function oe(e){z={...z,...e}}function se(){return z}function le(e,n,r=3e3,t){$?$(e,n,r,t):console.warn("Toast system is not mounted")}var F={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Z=s.createContext&&s.createContext(F),ae=["attr","size","title"];function ie(e,n){if(e==null)return{};var r=ce(e,n),t,l;if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(e);for(l=0;l<f.length;l++)t=f[l],!(n.indexOf(t)>=0)&&Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}function ce(e,n){if(e==null)return{};var r={};for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t)){if(n.indexOf(t)>=0)continue;r[t]=e[t]}return r}function S(){return S=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},S.apply(this,arguments)}function W(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),r.push.apply(r,t)}return r}function N(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?W(Object(r),!0).forEach(function(t){de(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):W(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function de(e,n,r){return n=ue(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function ue(e){var n=fe(e,"string");return typeof n=="symbol"?n:n+""}function fe(e,n){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var t=r.call(e,n);if(typeof t!="object")return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function G(e){return e&&e.map((n,r)=>s.createElement(n.tag,N({key:r},n.attr),G(n.child)))}function ge(e){return n=>s.createElement(be,S({attr:N({},e.attr)},n),G(e.child))}function be(e){var n=r=>{var{attr:t,size:l,title:f}=e,g=ie(e,ae),i=l||r.size||"1em",a;return r.className&&(a=r.className),e.className&&(a=(a?a+" ":"")+e.className),s.createElement("svg",S({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},r.attr,t,g,{className:a,style:N(N({color:e.color||r.color},r.style),e.style),height:i,width:i,xmlns:"http://www.w3.org/2000/svg"}),f&&s.createElement("title",null,f),e.children)};return Z!==void 0?s.createElement(Z.Consumer,null,r=>n(r)):n(F)}function pe(e){return ge({attr:{viewBox:"0 0 15 15",fill:"none"},child:[{tag:"path",attr:{fillRule:"evenodd",clipRule:"evenodd",d:"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",fill:"currentColor"},child:[]}]})(e)}const xe=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const n=Math.random()*16|0;return(e==="x"?n:n&3|8).toString(16)}),he=()=>{const[e,n]=s.useState([]);s.useEffect(()=>{ne((t,l,f,g)=>{const i=xe();n(a=>[...a,{id:i,type:t,message:l,config:g}]),setTimeout(()=>{n(a=>a.filter(d=>d.id!==i))},f)})},[]);const r=se();return o.jsx("div",{className:"fixed top-5 right-5 z-[9999] flex flex-col gap-2",children:e.map(t=>{var a,d,c,u,b,p,h,m,y,w,O,k,j;const l=((a=t.config)==null?void 0:a.icon)||((d=r.icons)==null?void 0:d[t.type])||me(t.type),f=((c=t.config)==null?void 0:c.bgColor)||((b=(u=r.colors)==null?void 0:u[t.type])==null?void 0:b.bg)||"bg-white dark:bg-gray-800",g=((p=t.config)==null?void 0:p.textColor)||((m=(h=r.colors)==null?void 0:h[t.type])==null?void 0:m.text)||"text-gray-700 dark:text-gray-300",i=((y=t.config)==null?void 0:y.iconContainerClass)||"w-8 h-8 mr-3 text-xl flex items-center justify-center";return o.jsxs("div",{className:`flex items-center w-full max-w-xs p-4 text-sm rounded-lg shadow ${f} ${g}`,children:[o.jsx("div",{className:i,children:l}),o.jsxs("div",{className:"flex-1 me-3",children:[((w=t.config)==null?void 0:w.title)&&o.jsx("div",{className:"font-semibold text-black",children:t.config.title}),((O=t.config)==null?void 0:O.description)&&o.jsx("div",{className:"text-sm text-gray-500",children:t.config.description}),!((k=t.config)!=null&&k.title)&&!((j=t.config)!=null&&j.description)&&o.jsx("div",{className:"text-sm",children:t.message})]}),o.jsx("button",{onClick:()=>n(E=>E.filter(M=>M.id!==t.id)),className:"ml-auto text-gray-400 hover:text-gray-700 dark:text-gray-500 dark:hover:text-white","aria-label":"Close",children:o.jsx(pe,{size:18})})]},t.id)})})};function me(e){switch(e){case"success":return"â
";case"error":return"â";case"warning":return"â ī¸";case"info":return"âšī¸"}}x.Badge=R,x.Button=U,x.Dropdown=X,x.Input=A,x.Modal=ee,x.ModalProvider=te,x.Toast=he,x.Tooltip=Y,x.setToastDefaults=oe,x.showToast=le,x.useModalActions=L,x.useModalInstance=re,x.useModalState=T,Object.defineProperty(x,Symbol.toStringTag,{value:"Module"})});
|