tailwind-ux-kit 1.0.19 → 1.0.20

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 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
- import { ToastContainer, showToast, setToastDefaults } from 'my-toast-lib';
99
- // Optional: Global theming
100
- setToastDefaults({
101
- icons: {
102
- success: '🎉',
103
- error: '🛑',
104
- },
105
- colors: {
106
- success: { bg: 'bg-green-200', text: 'text-green-900' },
107
- },
108
- });
109
- ```
110
-
111
- // Trigger anywhere
112
-
113
- ```
114
- showToast('success', 'Operation completed!');
115
- showToast('success', 'Your file was saved!', 4000, {
116
- title: 'Success',
117
- description: 'Everything worked perfectly.',
118
- icon: <RiCheckFill />,
119
- iconContainerClass: 'bg-green-200 text-green-900 rounded-full p-2',
120
- });
121
- ```
122
-
123
- ##### showToast(type, message, duration?, config?)
124
-
125
- | Parameter | Type | Description |
126
- | ---------- | --------------------------------------------- | ----------------------------------------------------- |
127
- | `type` | `'success' \| 'error' \| 'warning' \| 'info'` | Toast type, controls default styling |
128
- | `message` | `string` | Main message, shown if title/description not provided |
129
- | `duration` | `number` (optional) | Time in ms to auto-dismiss the toast (default: 3000) |
130
- | `config` | `ToastConfig` (optional) | Extra customization options |
131
-
132
- ##### ToastConfig
133
-
134
- | Property | Type | Description |
135
- | --------------------- | --------------------- | ------------------------------------- |
136
- | `title?` | `string \| null` | Optional toast title |
137
- | `description?` | `string \| null` | Optional detailed description |
138
- | `icon?` | `string \| ReactNode` | Custom icon (string or React element) |
139
- | `iconContainerClass?` | `string` | CSS classes for the icon container |
140
- | `bgColor?` | `string` | Override background color class |
141
- | `textColor?` | `string` | Override text color class |
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?: ReactNode;
6
5
  standalone?: boolean;
7
6
  showFloatingClose?: boolean;
8
7
  containerClasses?: string;
9
8
  onClose?: () => void;
9
+ children: ReactNode | ((params: {
10
+ modalData: any;
11
+ }) => ReactNode);
10
12
  };
11
- export default function Modal({ id, title, children, standalone, showFloatingClose, containerClasses, onClose, }: ModalProps): import("react/jsx-runtime").JSX.Element | null;
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
- import { ReactNode } from 'react';
2
- type ModalProviderProps = {
3
- children: ReactNode;
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;
@@ -0,0 +1,7 @@
1
+ type ModalState = {
2
+ isOpen: (id: string) => boolean;
3
+ getModalData: (id: string) => any;
4
+ };
5
+ export declare const ModalStateContext: import('react').Context<ModalState | null>;
6
+ export declare const useModalState: () => ModalState | null;
7
+ export {};
@@ -0,0 +1,6 @@
1
+ export declare function useModalInstance(id: string): {
2
+ open: (data?: any) => void;
3
+ close: () => void;
4
+ isOpen: boolean;
5
+ data: any;
6
+ };
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 * from './components/modal/ModalContext';
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,48 +1,48 @@
1
1
  "use client";
2
- import { jsxs as x, jsx as d } from "react/jsx-runtime";
3
- import h, { forwardRef as Q, useState as v, useRef as z, useMemo as V, useCallback as w, useEffect as k, createContext as ee, useContext as te } from "react";
4
- const re = Q((e, n) => {
2
+ import { jsxs as x, jsx as g } from "react/jsx-runtime";
3
+ import y, { forwardRef as re, useState as w, useRef as $, useMemo as I, useCallback as h, useEffect as k, createContext as B, useContext as F } from "react";
4
+ const ne = re((e, n) => {
5
5
  const {
6
6
  label: r,
7
7
  id: t,
8
- inputSize: s = "md",
9
- shape: u = "rounded",
10
- validate: i,
11
- onValidatedChange: o,
12
- className: l = "",
13
- icon: c,
14
- iconPosition: a = "left",
15
- floatingLabelStyle: g,
16
- onChange: f,
17
- isValid: p,
8
+ inputSize: o = "md",
9
+ shape: d = "rounded",
10
+ validate: u,
11
+ onValidatedChange: s,
12
+ className: a = "",
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: y = "invalid",
20
+ feedbackType: v = "invalid",
21
21
  ...C
22
- } = e, [S, j] = v("default"), L = (O) => {
23
- const I = O.target.value, $ = (i == null ? void 0 : i(I)) ?? "default";
24
- j($), o == null || o(O, $), f == null || f(O);
25
- }, P = {
22
+ } = e, [S, j] = w("default"), P = (O) => {
23
+ const T = O.target.value, E = (u == null ? void 0 : u(T)) ?? "default";
24
+ j(E), s == null || s(O, E), p == null || p(O);
25
+ }, L = {
26
26
  xs: "text-xs px-2 py-1",
27
27
  sm: "text-sm px-3 py-1.5",
28
28
  md: "text-sm px-3 py-3",
29
29
  lg: "text-lg px-5 py-3"
30
- }, E = {
30
+ }, M = {
31
31
  flat: "rounded-none",
32
32
  rounded: "rounded-md",
33
33
  pill: "rounded-full"
34
- }, G = {
34
+ }, K = {
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
- }, H = {
38
+ }, U = {
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
- }, X = (O, I, $) => {
43
- if ($)
42
+ }, q = (O, T, E) => {
43
+ if (E)
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 (I)
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
- }, Y = P[s] || P.md, K = E[u] || E.flat, U = X(S, p, b), q = a === "start" || a === "left" ? "left-0 ps-3.5" : "right-0 pe-3.5", J = c && (a === "start" || a === "left") ? "ps-10" : c ? "pe-10" : "", T = t ?? `input-${(r == null ? void 0 : r.toLowerCase().replace(/\s+/g, "-")) || Math.random().toString(36).slice(2)}`, N = !!g;
57
+ }, J = L[o] || L.md, Q = M[d] || M.flat, V = q(S, f, b), ee = l === "start" || l === "left" ? "left-0 ps-3.5" : "right-0 pe-3.5", te = 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__ */ d(
59
+ !N && r && /* @__PURE__ */ g(
60
60
  "label",
61
61
  {
62
- htmlFor: T,
63
- className: `block mb-1 font-light text-sm ${p ? "text-green-700 dark:text-green-500" : b ? "text-red-700 dark:text-red-500" : "text-gray-700"}`,
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
- c && /* @__PURE__ */ d(
68
+ i && /* @__PURE__ */ g(
69
69
  "div",
70
70
  {
71
- className: `absolute inset-y-0 flex items-center ${q}`,
72
- children: /* @__PURE__ */ d("span", { className: "text-gray-500", children: c })
71
+ className: `absolute inset-y-0 flex items-center ${ee}`,
72
+ children: /* @__PURE__ */ g("span", { className: "text-gray-500", children: i })
73
73
  }
74
74
  ),
75
- /* @__PURE__ */ d(
75
+ /* @__PURE__ */ g(
76
76
  "input",
77
77
  {
78
78
  ...C,
79
- id: T,
79
+ id: R,
80
80
  ref: n,
81
81
  placeholder: N ? " " : C.placeholder,
82
- onChange: L,
82
+ onChange: P,
83
83
  className: `border peer w-full block font-light appearance-none focus:outline-none focus:ring-0 transition
84
- ${N && g ? G[g] : Y}
85
- ${J} ${K} ${U} ${l}`
84
+ ${N && c ? K[c] : J}
85
+ ${te} ${Q} ${V} ${a}`
86
86
  }
87
87
  ),
88
- N && r && g && /* @__PURE__ */ d(
88
+ N && r && c && /* @__PURE__ */ g(
89
89
  "label",
90
90
  {
91
- htmlFor: T,
92
- className: `ms-1 ${H[g]} ${l}`,
91
+ htmlFor: R,
92
+ className: `ms-1 ${U[c]} ${a}`,
93
93
  children: r
94
94
  }
95
95
  )
96
96
  ] }),
97
- m && /* @__PURE__ */ d(
97
+ m && /* @__PURE__ */ g(
98
98
  "p",
99
99
  {
100
- className: `mt-1 text-xs ${y === "invalid" ? "text-red-600 dark:text-red-500" : "text-green-600 dark:text-green-500"}`,
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
- re.displayName = "Input";
107
- const ne = {
106
+ ne.displayName = "Input";
107
+ const oe = {
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
- }, oe = {
125
+ }, se = {
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
- }, se = {
131
+ }, ae = {
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
- }, ke = ({
136
+ }, Le = ({
137
137
  children: e,
138
138
  variant: n = "primary",
139
139
  size: r = "md",
140
140
  type: t = "button",
141
- shape: s = "rounded",
142
- className: u = "",
143
- isLoading: i = !1,
144
- disabled: o = !1,
145
- ...l
141
+ shape: o = "rounded",
142
+ className: d = "",
143
+ isLoading: u = !1,
144
+ disabled: s = !1,
145
+ ...a
146
146
  }) => {
147
- const c = o || i, a = [
147
+ const i = s || u, l = [
148
148
  "inline-flex items-center justify-center font-normal transition duration-150 cursor-pointer",
149
- ne[n],
150
- oe[r],
151
- se[s],
152
- s === "flat" ? "shadow-none" : "shadow-sm",
153
- c ? "opacity-50 cursor-not-allowed pointer-events-none" : "",
154
- u
149
+ oe[n],
150
+ se[r],
151
+ ae[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: a, disabled: c, ...l, children: [
157
- i && /* @__PURE__ */ x(
156
+ return /* @__PURE__ */ x("button", { type: t, className: l, disabled: i, ...a, 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__ */ d(
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__ */ d(
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
- }, Se = ({
186
+ }, Me = ({
187
187
  label: e,
188
188
  children: n,
189
189
  position: r = "right"
190
190
  }) => {
191
- const [t, s] = v(!1), [u, i] = v(!1), o = z(null), l = z(null), c = V(() => {
191
+ const [t, o] = w(!1), [d, u] = w(!1), s = $(null), a = $(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]), a = w((p) => {
202
- const b = p.target;
203
- o.current && !o.current.contains(b) && l.current && !l.current.contains(b) && s(!1);
204
- }, []), g = w(() => {
205
- if (!l.current || !o.current) return;
206
- const p = l.current.getBoundingClientRect(), b = o.current.getBoundingClientRect(), m = window.innerHeight - p.bottom, y = p.top;
207
- i(
208
- m < b.height && y > b.height
201
+ }, [r]), l = h((f) => {
202
+ const b = f.target;
203
+ s.current && !s.current.contains(b) && a.current && !a.current.contains(b) && o(!1);
204
+ }, []), c = h(() => {
205
+ if (!a.current || !s.current) return;
206
+ const f = a.current.getBoundingClientRect(), b = s.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
  k(() => {
212
212
  if (t)
213
- return g(), window.addEventListener("resize", g), window.addEventListener("scroll", g, !0), () => {
214
- window.removeEventListener("resize", g), window.removeEventListener("scroll", g, !0);
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, g]), k(() => (document.addEventListener("mousedown", a), () => document.removeEventListener("mousedown", a)), [a]);
217
- const f = w(() => s((p) => !p), []);
216
+ }, [t, c]), k(() => (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__ */ d("button", { ref: l, onClick: f, children: e }),
220
- t && /* @__PURE__ */ d(
219
+ /* @__PURE__ */ g("button", { ref: a, onClick: p, children: e }),
220
+ t && /* @__PURE__ */ g(
221
221
  "div",
222
222
  {
223
- ref: o,
223
+ ref: s,
224
224
  className: `absolute z-10 bg-white rounded-sm shadow-md overflow-hidden
225
- ${u ? "bottom-full mb-2" : "top-full mt-2"}
226
- ${c}`,
225
+ ${d ? "bottom-full mb-2" : "top-full mt-2"}
226
+ ${i}`,
227
227
  children: n
228
228
  }
229
229
  )
230
230
  ] });
231
- }, je = ({
231
+ }, Ee = ({
232
232
  children: e,
233
233
  content: n,
234
234
  position: r = "top",
235
235
  className: t = "",
236
- tooltipClass: s = "",
237
- tooltipStyle: u = {}
236
+ tooltipClass: o = "",
237
+ tooltipStyle: d = {}
238
238
  }) => {
239
- const i = z(null), o = z(null);
239
+ const u = $(null), s = $(null);
240
240
  k(() => {
241
- const c = i.current, a = o.current;
242
- if (!c || !a) return;
243
- const g = () => {
244
- a.style.opacity = "1", a.style.visibility = "visible";
245
- }, f = () => {
246
- a.style.opacity = "0", a.style.visibility = "hidden";
241
+ const i = u.current, l = s.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 c.addEventListener("mouseenter", g), c.addEventListener("mouseleave", f), () => {
249
- c.removeEventListener("mouseenter", g), c.removeEventListener("mouseleave", f);
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 l = (c) => {
253
- const a = {
252
+ const a = (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 (c) {
270
+ switch (i) {
271
271
  case "top":
272
272
  return {
273
- ...a,
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
- ...a,
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
- ...a,
289
+ ...l,
290
290
  right: "100%",
291
291
  top: "50%",
292
292
  transform: "translateY(-50%)",
@@ -294,27 +294,27 @@ const ne = {
294
294
  };
295
295
  case "right":
296
296
  return {
297
- ...a,
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 a;
304
+ return l;
305
305
  }
306
306
  };
307
- return /* @__PURE__ */ x("div", { ref: i, className: `relative inline-block ${t}`, children: [
307
+ return /* @__PURE__ */ x("div", { ref: u, className: `relative inline-block ${t}`, children: [
308
308
  e,
309
- /* @__PURE__ */ d(
309
+ /* @__PURE__ */ g(
310
310
  "div",
311
311
  {
312
- ref: o,
312
+ ref: s,
313
313
  role: "tooltip",
314
- className: s,
314
+ className: o,
315
315
  style: {
316
- ...l(r),
317
- ...u
316
+ ...a(r),
317
+ ...d
318
318
  },
319
319
  children: n
320
320
  }
@@ -338,123 +338,147 @@ 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
- }, ae = {
341
+ }, ie = {
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
- }, ie = {
347
+ }, ce = {
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
- }, Le = ({
352
+ }, $e = ({
353
353
  label: e,
354
354
  variant: n = "primary",
355
355
  size: r = "sm",
356
356
  shape: t = "rounded",
357
- icon: s,
358
- dismissible: u,
359
- onDismiss: i,
360
- className: o = "",
361
- ...l
357
+ icon: o,
358
+ dismissible: d,
359
+ onDismiss: u,
360
+ className: s = "",
361
+ ...a
362
362
  }) => {
363
- const c = !e && !!s, a = `inline-flex items-center font-medium ${le[n] || ""} ${ae[r] || ""} ${ie[t] || ""} ${c ? "justify-center p-2 w-8 h-8" : ""} ` + o;
364
- return /* @__PURE__ */ x("span", { className: a.trim(), ...l, children: [
365
- s && /* @__PURE__ */ d("span", { className: e ? "mr-1" : "", children: s }),
363
+ const i = !e && !!o, l = `inline-flex items-center font-medium ${le[n] || ""} ${ie[r] || ""} ${ce[t] || ""} ${i ? "justify-center p-2 w-8 h-8" : ""} ` + s;
364
+ return /* @__PURE__ */ x("span", { className: l.trim(), ...a, children: [
365
+ o && /* @__PURE__ */ g("span", { className: e ? "mr-1" : "", children: o }),
366
366
  e,
367
- u && /* @__PURE__ */ d(
367
+ d && /* @__PURE__ */ g(
368
368
  "button",
369
369
  {
370
370
  type: "button",
371
- onClick: i,
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
- }, F = ee(null), ce = () => {
378
- const e = te(F);
377
+ }, de = B(null), ue = () => {
378
+ const e = F(de);
379
379
  return e || (console.warn(
380
380
  "âš ī¸ useModal() called outside of ModalProvider. Falling back to standalone modal usage."
381
381
  ), null);
382
382
  };
383
- function Pe({
383
+ function ze({
384
384
  id: e,
385
385
  title: n,
386
386
  children: r,
387
387
  standalone: t = !1,
388
- showFloatingClose: s = !1,
389
- containerClasses: u = "",
390
- onClose: i
388
+ showFloatingClose: o = !1,
389
+ containerClasses: d = "",
390
+ onClose: u
391
391
  }) {
392
- const o = ce(), l = o && typeof o.openModal == "function", c = !t && l, [a, g] = v(!1), f = c ? o.isOpen(e) : a, p = () => {
393
- c ? o.closeModal(e) : g(!1), i && i();
392
+ const s = ue(), a = s && typeof s.openModal == "function", i = !t && a, [l, c] = w(!1), p = i ? s.isOpen(e) : l, f = i ? s.getModalData(e) : null, b = () => {
393
+ i ? s.closeModal(e) : c(!1), u == null || u();
394
394
  };
395
- return k(() => (f ? document.body.style.overflow = "hidden" : document.body.style.overflow = "", () => {
395
+ return k(() => (p ? document.body.style.overflow = "hidden" : document.body.style.overflow = "", () => {
396
396
  document.body.style.overflow = "";
397
- }), [f]), f ? /* @__PURE__ */ d("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-[2px]", children: /* @__PURE__ */ x(
397
+ }), [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
398
  "div",
399
399
  {
400
- className: `bg-white rounded-lg shadow-lg w-full max-w-md p-3 transform transition-all duration-300 scale-100 ${u}`,
400
+ className: `bg-white rounded-lg shadow-lg w-full max-w-md p-3 transform transition-all duration-300 scale-100 ${d}`,
401
401
  children: [
402
402
  /* @__PURE__ */ x("div", { className: "flex justify-between items-center relative", children: [
403
- n && /* @__PURE__ */ d("h2", { className: "text-lg font-semibold", children: n }),
404
- s && /* @__PURE__ */ d(
403
+ n && /* @__PURE__ */ g("h2", { className: "text-lg font-semibold", children: n }),
404
+ o && /* @__PURE__ */ g(
405
405
  "button",
406
406
  {
407
- onClick: () => p(),
407
+ onClick: b,
408
408
  className: "text-gray-500 hover:text-gray-700 absolute top-2 right-3",
409
409
  "aria-label": "Close modal",
410
410
  children: "✕"
411
411
  }
412
412
  )
413
413
  ] }),
414
- /* @__PURE__ */ d("div", { className: "text-sm text-gray-700", children: r })
414
+ /* @__PURE__ */ g("div", { className: "mt-3 text-sm text-gray-700", children: typeof r == "function" ? r({ modalData: f }) : r })
415
415
  ]
416
416
  }
417
417
  ) }) : null;
418
418
  }
419
- function Ee({ children: e }) {
420
- const [n, r] = v({}), t = w((i) => {
421
- r((o) => ({ ...o, [i]: !0 }));
422
- }, []), s = w((i) => {
423
- r((o) => ({ ...o, [i]: !1 }));
424
- }, []), u = w((i) => !!n[i], [n]);
425
- return /* @__PURE__ */ d(F.Provider, { value: { openModal: t, closeModal: s, isOpen: u }, children: e });
419
+ const G = B(null), ge = () => F(G), H = B(null), pe = () => F(H);
420
+ function De({
421
+ children: e
422
+ }) {
423
+ const [n, r] = w({}), [t, o] = w({}), d = h((c, p) => {
424
+ r((f) => ({ ...f, [c]: !0 })), p && o((f) => ({ ...f, [c]: p }));
425
+ }, []), u = h((c) => {
426
+ r((p) => ({ ...p, [c]: !1 })), o((p) => {
427
+ const f = { ...p };
428
+ return delete f[c], f;
429
+ });
430
+ }, []), s = h((c) => !!n[c], [n]), a = h(
431
+ (c) => t[c],
432
+ [t]
433
+ ), i = I(
434
+ () => ({ openModal: d, closeModal: u }),
435
+ [d, u]
436
+ ), l = I(
437
+ () => ({ isOpen: s, getModalData: a }),
438
+ [s, a]
439
+ );
440
+ return /* @__PURE__ */ g(G.Provider, { value: i, children: /* @__PURE__ */ g(H.Provider, { value: l, children: e }) });
441
+ }
442
+ function Re(e) {
443
+ const { openModal: n, closeModal: r } = ge(), { isOpen: t, getModalData: o } = pe();
444
+ return {
445
+ open: (d) => n(e, d),
446
+ close: () => r(e),
447
+ isOpen: t(e),
448
+ data: o(e)
449
+ };
426
450
  }
427
- let _ = null, B = {};
428
- function de(e) {
451
+ let _ = null, A = {};
452
+ function fe(e) {
429
453
  _ = e;
430
454
  }
431
- function $e(e) {
432
- B = { ...B, ...e };
455
+ function Te(e) {
456
+ A = { ...A, ...e };
433
457
  }
434
- function ue() {
435
- return B;
458
+ function be() {
459
+ return A;
436
460
  }
437
- function ze(e, n, r = 3e3, t) {
461
+ function Ie(e, n, r = 3e3, t) {
438
462
  _ ? _(e, n, r, t) : console.warn("Toast system is not mounted");
439
463
  }
440
- var Z = {
464
+ var X = {
441
465
  color: void 0,
442
466
  size: void 0,
443
467
  className: void 0,
444
468
  style: void 0,
445
469
  attr: void 0
446
- }, D = h.createContext && /* @__PURE__ */ h.createContext(Z), ge = ["attr", "size", "title"];
447
- function fe(e, n) {
470
+ }, Z = y.createContext && /* @__PURE__ */ y.createContext(X), xe = ["attr", "size", "title"];
471
+ function me(e, n) {
448
472
  if (e == null) return {};
449
- var r = pe(e, n), t, s;
473
+ var r = he(e, n), t, o;
450
474
  if (Object.getOwnPropertySymbols) {
451
- var u = Object.getOwnPropertySymbols(e);
452
- for (s = 0; s < u.length; s++)
453
- t = u[s], !(n.indexOf(t) >= 0) && Object.prototype.propertyIsEnumerable.call(e, t) && (r[t] = e[t]);
475
+ var d = Object.getOwnPropertySymbols(e);
476
+ for (o = 0; o < d.length; o++)
477
+ t = d[o], !(n.indexOf(t) >= 0) && Object.prototype.propertyIsEnumerable.call(e, t) && (r[t] = e[t]);
454
478
  }
455
479
  return r;
456
480
  }
457
- function pe(e, n) {
481
+ function he(e, n) {
458
482
  if (e == null) return {};
459
483
  var r = {};
460
484
  for (var t in e)
@@ -464,45 +488,45 @@ function pe(e, n) {
464
488
  }
465
489
  return r;
466
490
  }
467
- function M() {
468
- return M = Object.assign ? Object.assign.bind() : function(e) {
491
+ function z() {
492
+ return z = Object.assign ? Object.assign.bind() : function(e) {
469
493
  for (var n = 1; n < arguments.length; n++) {
470
494
  var r = arguments[n];
471
495
  for (var t in r)
472
496
  Object.prototype.hasOwnProperty.call(r, t) && (e[t] = r[t]);
473
497
  }
474
498
  return e;
475
- }, M.apply(this, arguments);
499
+ }, z.apply(this, arguments);
476
500
  }
477
- function A(e, n) {
501
+ function W(e, n) {
478
502
  var r = Object.keys(e);
479
503
  if (Object.getOwnPropertySymbols) {
480
504
  var t = Object.getOwnPropertySymbols(e);
481
- n && (t = t.filter(function(s) {
482
- return Object.getOwnPropertyDescriptor(e, s).enumerable;
505
+ n && (t = t.filter(function(o) {
506
+ return Object.getOwnPropertyDescriptor(e, o).enumerable;
483
507
  })), r.push.apply(r, t);
484
508
  }
485
509
  return r;
486
510
  }
487
- function R(e) {
511
+ function D(e) {
488
512
  for (var n = 1; n < arguments.length; n++) {
489
513
  var r = arguments[n] != null ? arguments[n] : {};
490
- n % 2 ? A(Object(r), !0).forEach(function(t) {
491
- be(e, t, r[t]);
492
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : A(Object(r)).forEach(function(t) {
514
+ n % 2 ? W(Object(r), !0).forEach(function(t) {
515
+ ye(e, t, r[t]);
516
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : W(Object(r)).forEach(function(t) {
493
517
  Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t));
494
518
  });
495
519
  }
496
520
  return e;
497
521
  }
498
- function be(e, n, r) {
499
- return n = xe(n), n in e ? Object.defineProperty(e, n, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[n] = r, e;
522
+ function ye(e, n, r) {
523
+ return n = we(n), n in e ? Object.defineProperty(e, n, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[n] = r, e;
500
524
  }
501
- function xe(e) {
502
- var n = me(e, "string");
525
+ function we(e) {
526
+ var n = ve(e, "string");
503
527
  return typeof n == "symbol" ? n : n + "";
504
528
  }
505
- function me(e, n) {
529
+ function ve(e, n) {
506
530
  if (typeof e != "object" || !e) return e;
507
531
  var r = e[Symbol.toPrimitive];
508
532
  if (r !== void 0) {
@@ -512,77 +536,77 @@ function me(e, n) {
512
536
  }
513
537
  return (n === "string" ? String : Number)(e);
514
538
  }
515
- function W(e) {
516
- return e && e.map((n, r) => /* @__PURE__ */ h.createElement(n.tag, R({
539
+ function Y(e) {
540
+ return e && e.map((n, r) => /* @__PURE__ */ y.createElement(n.tag, D({
517
541
  key: r
518
- }, n.attr), W(n.child)));
542
+ }, n.attr), Y(n.child)));
519
543
  }
520
- function he(e) {
521
- return (n) => /* @__PURE__ */ h.createElement(ye, M({
522
- attr: R({}, e.attr)
523
- }, n), W(e.child));
544
+ function Ce(e) {
545
+ return (n) => /* @__PURE__ */ y.createElement(Ne, z({
546
+ attr: D({}, e.attr)
547
+ }, n), Y(e.child));
524
548
  }
525
- function ye(e) {
549
+ function Ne(e) {
526
550
  var n = (r) => {
527
551
  var {
528
552
  attr: t,
529
- size: s,
530
- title: u
531
- } = e, i = fe(e, ge), o = s || r.size || "1em", l;
532
- return r.className && (l = r.className), e.className && (l = (l ? l + " " : "") + e.className), /* @__PURE__ */ h.createElement("svg", M({
553
+ size: o,
554
+ title: d
555
+ } = e, u = me(e, xe), s = o || r.size || "1em", a;
556
+ return r.className && (a = r.className), e.className && (a = (a ? a + " " : "") + e.className), /* @__PURE__ */ y.createElement("svg", z({
533
557
  stroke: "currentColor",
534
558
  fill: "currentColor",
535
559
  strokeWidth: "0"
536
- }, r.attr, t, i, {
537
- className: l,
538
- style: R(R({
560
+ }, r.attr, t, u, {
561
+ className: a,
562
+ style: D(D({
539
563
  color: e.color || r.color
540
564
  }, r.style), e.style),
541
- height: o,
542
- width: o,
565
+ height: s,
566
+ width: s,
543
567
  xmlns: "http://www.w3.org/2000/svg"
544
- }), u && /* @__PURE__ */ h.createElement("title", null, u), e.children);
568
+ }), d && /* @__PURE__ */ y.createElement("title", null, d), e.children);
545
569
  };
546
- return D !== void 0 ? /* @__PURE__ */ h.createElement(D.Consumer, null, (r) => n(r)) : n(Z);
570
+ return Z !== void 0 ? /* @__PURE__ */ y.createElement(Z.Consumer, null, (r) => n(r)) : n(X);
547
571
  }
548
- function we(e) {
549
- return he({ 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);
572
+ function Oe(e) {
573
+ return Ce({ 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
574
  }
551
- const ve = () => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {
575
+ const ke = () => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {
552
576
  const n = Math.random() * 16 | 0;
553
577
  return (e === "x" ? n : n & 3 | 8).toString(16);
554
- }), Me = () => {
555
- const [e, n] = v([]);
578
+ }), _e = () => {
579
+ const [e, n] = w([]);
556
580
  k(() => {
557
- de((t, s, u, i) => {
558
- const o = ve();
559
- n((l) => [...l, { id: o, type: t, message: s, config: i }]), setTimeout(() => {
560
- n((l) => l.filter((c) => c.id !== o));
561
- }, u);
581
+ fe((t, o, d, u) => {
582
+ const s = ke();
583
+ n((a) => [...a, { id: s, type: t, message: o, config: u }]), setTimeout(() => {
584
+ n((a) => a.filter((i) => i.id !== s));
585
+ }, d);
562
586
  });
563
587
  }, []);
564
- const r = ue();
565
- return /* @__PURE__ */ d("div", { className: "fixed top-5 right-5 z-[9999] flex flex-col gap-2", children: e.map((t) => {
566
- var l, c, a, g, f, p, b, m, y, C, S, j, L;
567
- const s = ((l = t.config) == null ? void 0 : l.icon) || ((c = r.icons) == null ? void 0 : c[t.type]) || Ce(t.type), u = ((a = t.config) == null ? void 0 : a.bgColor) || ((f = (g = r.colors) == null ? void 0 : g[t.type]) == null ? void 0 : f.bg) || "bg-white dark:bg-gray-800", i = ((p = t.config) == null ? void 0 : p.textColor) || ((m = (b = r.colors) == null ? void 0 : b[t.type]) == null ? void 0 : m.text) || "text-gray-700 dark:text-gray-300", o = ((y = t.config) == null ? void 0 : y.iconContainerClass) || "w-8 h-8 mr-3 text-xl flex items-center justify-center";
588
+ const r = be();
589
+ return /* @__PURE__ */ g("div", { className: "fixed top-5 right-5 z-[9999] flex flex-col gap-2", children: e.map((t) => {
590
+ var a, i, l, c, p, f, b, m, v, C, S, j, P;
591
+ const o = ((a = t.config) == null ? void 0 : a.icon) || ((i = r.icons) == null ? void 0 : i[t.type]) || Se(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", s = ((v = t.config) == null ? void 0 : v.iconContainerClass) || "w-8 h-8 mr-3 text-xl flex items-center justify-center";
568
592
  return /* @__PURE__ */ x(
569
593
  "div",
570
594
  {
571
- className: `flex items-center w-full max-w-xs p-4 text-sm rounded-lg shadow ${u} ${i}`,
595
+ className: `flex items-center w-full max-w-xs p-4 text-sm rounded-lg shadow ${d} ${u}`,
572
596
  children: [
573
- /* @__PURE__ */ d("div", { className: o, children: s }),
597
+ /* @__PURE__ */ g("div", { className: s, children: o }),
574
598
  /* @__PURE__ */ x("div", { className: "flex-1 me-3", children: [
575
- ((C = t.config) == null ? void 0 : C.title) && /* @__PURE__ */ d("div", { className: "font-semibold text-black", children: t.config.title }),
576
- ((S = t.config) == null ? void 0 : S.description) && /* @__PURE__ */ d("div", { className: "text-sm text-gray-500", children: t.config.description }),
577
- !((j = t.config) != null && j.title) && !((L = t.config) != null && L.description) && /* @__PURE__ */ d("div", { className: "text-sm", children: t.message })
599
+ ((C = t.config) == null ? void 0 : C.title) && /* @__PURE__ */ g("div", { className: "font-semibold text-black", children: t.config.title }),
600
+ ((S = t.config) == null ? void 0 : S.description) && /* @__PURE__ */ g("div", { className: "text-sm text-gray-500", children: t.config.description }),
601
+ !((j = t.config) != null && j.title) && !((P = t.config) != null && P.description) && /* @__PURE__ */ g("div", { className: "text-sm", children: t.message })
578
602
  ] }),
579
- /* @__PURE__ */ d(
603
+ /* @__PURE__ */ g(
580
604
  "button",
581
605
  {
582
- onClick: () => n((P) => P.filter((E) => E.id !== t.id)),
606
+ onClick: () => n((L) => L.filter((M) => M.id !== t.id)),
583
607
  className: "ml-auto text-gray-400 hover:text-gray-700 dark:text-gray-500 dark:hover:text-white",
584
608
  "aria-label": "Close",
585
- children: /* @__PURE__ */ d(we, { size: 18 })
609
+ children: /* @__PURE__ */ g(Oe, { size: 18 })
586
610
  }
587
611
  )
588
612
  ]
@@ -591,7 +615,7 @@ const ve = () => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, functio
591
615
  );
592
616
  }) });
593
617
  };
594
- function Ce(e) {
618
+ function Se(e) {
595
619
  switch (e) {
596
620
  case "success":
597
621
  return "✅";
@@ -604,16 +628,17 @@ function Ce(e) {
604
628
  }
605
629
  }
606
630
  export {
607
- Le as Badge,
608
- ke as Button,
609
- Se as Dropdown,
610
- re as Input,
611
- Pe as Modal,
612
- F as ModalContext,
613
- Ee as ModalProvider,
614
- Me as Toast,
615
- je as Tooltip,
616
- $e as setToastDefaults,
617
- ze as showToast,
618
- ce as useModal
631
+ $e as Badge,
632
+ Le as Button,
633
+ Me as Dropdown,
634
+ ne as Input,
635
+ ze as Modal,
636
+ De as ModalProvider,
637
+ _e as Toast,
638
+ Ee as Tooltip,
639
+ Te as setToastDefaults,
640
+ Ie as showToast,
641
+ ge as useModalActions,
642
+ Re as useModalInstance,
643
+ pe as useModalState
619
644
  };
@@ -1,5 +1,5 @@
1
- (function(b,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):(b=typeof globalThis<"u"?globalThis:b||self,o(b.TailwindUiKit={},b.jsxRuntime,b.React))})(this,function(b,o,l){"use strict";"use client";const B=l.forwardRef((e,n)=>{const{label:r,id:t,inputSize:a="md",shape:f="rounded",validate:d,onValidatedChange:s,className:i="",icon:u,iconPosition:c="left",floatingLabelStyle:g,onChange:p,isValid:x,isInvalid:h,feedback:y,feedbackType:m="invalid",...w}=e,[k,S]=l.useState("default"),j=C=>{const I=C.target.value,L=(d==null?void 0:d(I))??"default";S(L),s==null||s(C,L),p==null||p(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"},P={flat:"rounded-none",rounded:"rounded-md",pill:"rounded-full"},xe={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"},he={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"},ye=(C,I,L)=>{if(L)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"}},me=E[a]||E.md,we=P[f]||P.flat,ve=ye(k,x,h),Ce=c==="start"||c==="left"?"left-0 ps-3.5":"right-0 pe-3.5",Ne=u&&(c==="start"||c==="left")?"ps-10":u?"pe-10":"",z=t??`input-${(r==null?void 0:r.toLowerCase().replace(/\s+/g,"-"))||Math.random().toString(36).slice(2)}`,v=!!g;return o.jsxs("div",{className:`w-full relative ${v?"z-0":""}`,children:[!v&&r&&o.jsx("label",{htmlFor:z,className:`block mb-1 font-light text-sm ${x?"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:[u&&o.jsx("div",{className:`absolute inset-y-0 flex items-center ${Ce}`,children:o.jsx("span",{className:"text-gray-500",children:u})}),o.jsx("input",{...w,id:z,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&&g?xe[g]:me}
3
- ${Ne} ${we} ${ve} ${i}`}),v&&r&&g&&o.jsx("label",{htmlFor:z,className:`ms-1 ${he[g]} ${i}`,children:r})]}),y&&o.jsx("p",{className:`mt-1 text-xs ${m==="invalid"?"text-red-600 dark:text-red-500":"text-green-600 dark:text-green-500"}`,children:y})]})});B.displayName="Input";const W={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"},G={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"},H={flat:"shadow-none",rounded:"rounded-md",pill:"rounded-full",circle:"rounded-full w-10 h-10 p-0 flex items-center justify-center"},q=({children:e,variant:n="primary",size:r="md",type:t="button",shape:a="rounded",className:f="",isLoading:d=!1,disabled:s=!1,...i})=>{const u=s||d,c=["inline-flex items-center justify-center font-normal transition duration-150 cursor-pointer",W[n],G[r],H[a],a==="flat"?"shadow-none":"shadow-sm",u?"opacity-50 cursor-not-allowed pointer-events-none":"",f].filter(Boolean).join(" ");return o.jsxs("button",{type:t,className:c,disabled:u,...i,children:[d&&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]})},K=({label:e,children:n,position:r="right"})=>{const[t,a]=l.useState(!1),[f,d]=l.useState(!1),s=l.useRef(null),i=l.useRef(null),u=l.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=l.useCallback(x=>{const h=x.target;s.current&&!s.current.contains(h)&&i.current&&!i.current.contains(h)&&a(!1)},[]),g=l.useCallback(()=>{if(!i.current||!s.current)return;const x=i.current.getBoundingClientRect(),h=s.current.getBoundingClientRect(),y=window.innerHeight-x.bottom,m=x.top;d(y<h.height&&m>h.height)},[]);l.useEffect(()=>{if(t)return g(),window.addEventListener("resize",g),window.addEventListener("scroll",g,!0),()=>{window.removeEventListener("resize",g),window.removeEventListener("scroll",g,!0)}},[t,g]),l.useEffect(()=>(document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)),[c]);const p=l.useCallback(()=>a(x=>!x),[]);return o.jsxs("div",{className:"relative flex items-center",children:[o.jsx("button",{ref:i,onClick:p,children:e}),t&&o.jsx("div",{ref:s,className:`absolute z-10 bg-white rounded-sm shadow-md overflow-hidden
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 D=s.forwardRef((e,n)=>{const{label:r,id:t,inputSize:l="md",shape:f="rounded",validate:g,onValidatedChange:a,className:i="",icon:d,iconPosition:c="left",floatingLabelStyle:u,onChange:p,isValid:b,isInvalid:h,feedback:m,feedbackType:y="invalid",...w}=e,[O,k]=s.useState("default"),M=C=>{const z=C.target.value,E=(g==null?void 0:g(z))??"default";k(E),a==null||a(C,E),p==null||p(C)},j={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"},P={flat:"rounded-none",rounded:"rounded-md",pill:"rounded-full"},ve={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"},Ce={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"},Ne=(C,z,E)=>{if(E)return"border-red-500 bg-red-50 text-red-900 placeholder-red-700 focus:ring-red-500 focus:border-red-500";if(z)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"}},Se=j[l]||j.md,Oe=P[f]||P.flat,ke=Ne(O,b,h),Me=c==="start"||c==="left"?"left-0 ps-3.5":"right-0 pe-3.5",je=d&&(c==="start"||c==="left")?"ps-10":d?"pe-10":"",$=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:$,className:`block mb-1 font-light text-sm ${b?"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 ${Me}`,children:o.jsx("span",{className:"text-gray-500",children:d})}),o.jsx("input",{...w,id:$,ref:n,placeholder:v?" ":w.placeholder,onChange:M,className:`border peer w-full block font-light appearance-none focus:outline-none focus:ring-0 transition
2
+ ${v&&u?ve[u]:Se}
3
+ ${je} ${Oe} ${ke} ${i}`}),v&&r&&u&&o.jsx("label",{htmlFor:$,className:`ms-1 ${Ce[u]} ${i}`,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})]})});D.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:a=!1,...i})=>{const d=a||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,...i,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),a=s.useRef(null),i=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(b=>{const h=b.target;a.current&&!a.current.contains(h)&&i.current&&!i.current.contains(h)&&l(!1)},[]),u=s.useCallback(()=>{if(!i.current||!a.current)return;const b=i.current.getBoundingClientRect(),h=a.current.getBoundingClientRect(),m=window.innerHeight-b.bottom,y=b.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 p=s.useCallback(()=>l(b=>!b),[]);return o.jsxs("div",{className:"relative flex items-center",children:[o.jsx("button",{ref:i,onClick:p,children:e}),t&&o.jsx("div",{ref:a,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),a=s.useRef(null);s.useEffect(()=>{const d=g.current,c=a.current;if(!d||!c)return;const u=()=>{c.style.opacity="1",c.style.visibility="visible"},p=()=>{c.style.opacity="0",c.style.visibility="hidden"};return d.addEventListener("mouseenter",u),d.addEventListener("mouseleave",p),()=>{d.removeEventListener("mouseenter",u),d.removeEventListener("mouseleave",p)}},[]);const i=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:a,role:"tooltip",className:l,style:{...i(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:a="",...i})=>{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":""} `+a;return o.jsxs("span",{className:c.trim(),...i,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:"×"})]})},ee=s.createContext(null),te=()=>{const e=s.useContext(ee);return e||(console.warn("âš ī¸ useModal() called outside of ModalProvider. Falling back to standalone modal usage."),null)};function re({id:e,title:n,children:r,standalone:t=!1,showFloatingClose:l=!1,containerClasses:f="",onClose:g}){const a=te(),i=a&&typeof a.openModal=="function",d=!t&&i,[c,u]=s.useState(!1),p=d?a.isOpen(e):c,b=d?a.getModalData(e):null,h=()=>{d?a.closeModal(e):u(!1),g==null||g()};return s.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}),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:b}):r})]})}):null}const I=s.createContext(null),B=()=>s.useContext(I),_=s.createContext(null),A=()=>s.useContext(_);function ne({children:e}){const[n,r]=s.useState({}),[t,l]=s.useState({}),f=s.useCallback((u,p)=>{r(b=>({...b,[u]:!0})),p&&l(b=>({...b,[u]:p}))},[]),g=s.useCallback(u=>{r(p=>({...p,[u]:!1})),l(p=>{const b={...p};return delete b[u],b})},[]),a=s.useCallback(u=>!!n[u],[n]),i=s.useCallback(u=>t[u],[t]),d=s.useMemo(()=>({openModal:f,closeModal:g}),[f,g]),c=s.useMemo(()=>({isOpen:a,getModalData:i}),[a,i]);return o.jsx(I.Provider,{value:d,children:o.jsx(_.Provider,{value:c,children:e})})}function oe(e){const{openModal:n,closeModal:r}=B(),{isOpen:t,getModalData:l}=A();return{open:f=>n(e,f),close:()=>r(e),isOpen:t(e),data:l(e)}}let L=null,T={};function se(e){L=e}function le(e){T={...T,...e}}function ae(){return T}function ie(e,n,r=3e3,t){L?L(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),ce=["attr","size","title"];function de(e,n){if(e==null)return{};var r=ue(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 ue(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 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 S(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){fe(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 fe(e,n,r){return n=ge(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function ge(e){var n=pe(e,"string");return typeof n=="symbol"?n:n+""}function pe(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,S({key:r},n.attr),G(n.child)))}function be(e){return n=>s.createElement(xe,N({attr:S({},e.attr)},n),G(e.child))}function xe(e){var n=r=>{var{attr:t,size:l,title:f}=e,g=de(e,ce),a=l||r.size||"1em",i;return r.className&&(i=r.className),e.className&&(i=(i?i+" ":"")+e.className),s.createElement("svg",N({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},r.attr,t,g,{className:i,style:S(S({color:e.color||r.color},r.style),e.style),height:a,width:a,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 he(e){return be({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 me=()=>"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)}),ye=()=>{const[e,n]=s.useState([]);s.useEffect(()=>{se((t,l,f,g)=>{const a=me();n(i=>[...i,{id:a,type:t,message:l,config:g}]),setTimeout(()=>{n(i=>i.filter(d=>d.id!==a))},f)})},[]);const r=ae();return o.jsx("div",{className:"fixed top-5 right-5 z-[9999] flex flex-col gap-2",children:e.map(t=>{var i,d,c,u,p,b,h,m,y,w,O,k,M;const l=((i=t.config)==null?void 0:i.icon)||((d=r.icons)==null?void 0:d[t.type])||we(t.type),f=((c=t.config)==null?void 0:c.bgColor)||((p=(u=r.colors)==null?void 0:u[t.type])==null?void 0:p.bg)||"bg-white dark:bg-gray-800",g=((b=t.config)==null?void 0:b.textColor)||((m=(h=r.colors)==null?void 0:h[t.type])==null?void 0:m.text)||"text-gray-700 dark:text-gray-300",a=((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:a,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)&&!((M=t.config)!=null&&M.description)&&o.jsx("div",{className:"text-sm",children:t.message})]}),o.jsx("button",{onClick:()=>n(j=>j.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(he,{size:18})})]},t.id)})})};function we(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=D,x.Modal=re,x.ModalProvider=ne,x.Toast=ye,x.Tooltip=Y,x.setToastDefaults=le,x.showToast=ie,x.useModalActions=B,x.useModalInstance=oe,x.useModalState=A,Object.defineProperty(x,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tailwind-ux-kit",
3
- "version": "1.0.19",
3
+ "version": "1.0.20",
4
4
  "main": "lib/tailwind-ux-kit.es.js",
5
5
  "module": "lib/tailwind-ux-kit.umd.js",
6
6
  "types": "lib/tailwind-ux-kit.es.d.ts",