tailwind-ux-kit 1.0.16 → 1.0.18

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.
@@ -0,0 +1,12 @@
1
+ import { default as React, ReactNode, CSSProperties } from 'react';
2
+ type TooltipPosition = "top" | "bottom" | "left" | "right";
3
+ interface TooltipProps {
4
+ children: ReactNode;
5
+ content: ReactNode;
6
+ position?: TooltipPosition;
7
+ className?: string;
8
+ tooltipClass?: string;
9
+ tooltipStyle?: CSSProperties;
10
+ }
11
+ declare const Tooltip: React.FC<TooltipProps>;
12
+ export default Tooltip;
package/lib/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export { default as Input } from './components/Input';
2
2
  export { default as Button } from './components/Button';
3
+ export { default as Dropdown } from './components/Dropdown';
4
+ export { default as Tooltip } from './components/ToolTip';
3
5
  export { default as Modal } from './components/modal/Modal';
4
6
  export { default as ModalProvider } from './components/modal/ModalProvider';
5
7
  export * from './components/modal/ModalContext';
@@ -1,33 +1,33 @@
1
1
  "use client";
2
- import { jsxs as p, jsx as a } from "react/jsx-runtime";
3
- import x, { forwardRef as V, useState as M, createContext as X, useContext as Y, useEffect as F, useCallback as T } from "react";
4
- const ee = V((e, n) => {
2
+ import { jsxs as m, jsx as d } from "react/jsx-runtime";
3
+ import h, { forwardRef as Q, useState as w, useRef as M, useMemo as V, useCallback as v, useEffect as S, createContext as ee, useContext as te } from "react";
4
+ const re = Q((e, n) => {
5
5
  const {
6
6
  label: r,
7
7
  id: t,
8
- inputSize: l = "md",
9
- shape: c = "rounded",
10
- validate: s,
8
+ inputSize: a = "md",
9
+ shape: u = "rounded",
10
+ validate: i,
11
11
  onValidatedChange: o,
12
- className: i = "",
13
- icon: d,
14
- iconPosition: u = "left",
12
+ className: s = "",
13
+ icon: c,
14
+ iconPosition: l = "left",
15
15
  floatingLabelStyle: f,
16
16
  onChange: g,
17
- isValid: b,
18
- isInvalid: m,
19
- feedback: h,
20
- feedbackType: C = "invalid",
21
- ...y
22
- } = e, [O, N] = M("default"), S = (w) => {
23
- const z = w.target.value, k = (s == null ? void 0 : s(z)) ?? "default";
24
- N(k), o == null || o(w, k), g == null || g(w);
25
- }, j = {
17
+ isValid: p,
18
+ isInvalid: b,
19
+ feedback: x,
20
+ feedbackType: y = "invalid",
21
+ ...C
22
+ } = e, [L, P] = w("default"), j = (O) => {
23
+ const I = O.target.value, z = (i == null ? void 0 : i(I)) ?? "default";
24
+ P(z), o == null || o(O, z), g == null || g(O);
25
+ }, k = {
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
- }, P = {
30
+ }, E = {
31
31
  flat: "rounded-none",
32
32
  rounded: "rounded-md",
33
33
  pill: "rounded-full"
@@ -35,16 +35,16 @@ const ee = V((e, n) => {
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
- }, W = {
38
+ }, H = {
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
- }, H = (w, z, k) => {
43
- if (k)
44
- return "border-red-500 bg-red-50 text-red-900 placeholder-red-700 focus:ring-red-500 focus:border-red-500";
42
+ }, X = (O, I, z) => {
45
43
  if (z)
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)
46
46
  return "border-green-500 bg-green-50 text-green-900 placeholder-green-700 focus:ring-green-500 focus:border-green-500";
47
- switch (w) {
47
+ switch (O) {
48
48
  case "error":
49
49
  return "border-red-500 bg-red-50 focus:ring-red-500";
50
50
  case "warning":
@@ -54,57 +54,57 @@ const ee = V((e, n) => {
54
54
  default:
55
55
  return "border-gray-300 focus:ring-blue-500";
56
56
  }
57
- }, K = j[l] || j.md, U = P[c] || P.flat, q = H(O, b, m), J = u === "start" || u === "left" ? "left-0 ps-3.5" : "right-0 pe-3.5", Q = d && (u === "start" || u === "left") ? "ps-10" : d ? "pe-10" : "", $ = t ?? `input-${(r == null ? void 0 : r.toLowerCase().replace(/\s+/g, "-")) || Math.random().toString(36).slice(2)}`, v = !!f;
58
- return /* @__PURE__ */ p("div", { className: `w-full relative ${v ? "z-0" : ""}`, children: [
59
- !v && r && /* @__PURE__ */ a(
57
+ }, Y = k[a] || k.md, K = E[u] || E.flat, U = X(L, p, b), q = l === "start" || l === "left" ? "left-0 ps-3.5" : "right-0 pe-3.5", J = c && (l === "start" || l === "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 = !!f;
58
+ return /* @__PURE__ */ m("div", { className: `w-full relative ${N ? "z-0" : ""}`, children: [
59
+ !N && r && /* @__PURE__ */ d(
60
60
  "label",
61
61
  {
62
- htmlFor: $,
63
- className: `block mb-1 font-light text-sm ${b ? "text-green-700 dark:text-green-500" : m ? "text-red-700 dark:text-red-500" : "text-gray-700"}`,
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"}`,
64
64
  children: r
65
65
  }
66
66
  ),
67
- /* @__PURE__ */ p("div", { className: "relative w-full", children: [
68
- d && /* @__PURE__ */ a(
67
+ /* @__PURE__ */ m("div", { className: "relative w-full", children: [
68
+ c && /* @__PURE__ */ d(
69
69
  "div",
70
70
  {
71
- className: `absolute inset-y-0 flex items-center ${J}`,
72
- children: /* @__PURE__ */ a("span", { className: "text-gray-500", children: d })
71
+ className: `absolute inset-y-0 flex items-center ${q}`,
72
+ children: /* @__PURE__ */ d("span", { className: "text-gray-500", children: c })
73
73
  }
74
74
  ),
75
- /* @__PURE__ */ a(
75
+ /* @__PURE__ */ d(
76
76
  "input",
77
77
  {
78
- ...y,
79
- id: $,
78
+ ...C,
79
+ id: T,
80
80
  ref: n,
81
- placeholder: v ? " " : y.placeholder,
82
- onChange: S,
81
+ placeholder: N ? " " : C.placeholder,
82
+ onChange: j,
83
83
  className: `border peer w-full block font-light appearance-none focus:outline-none focus:ring-0 transition
84
- ${v && f ? G[f] : K}
85
- ${Q} ${U} ${q} ${i}`
84
+ ${N && f ? G[f] : Y}
85
+ ${J} ${K} ${U} ${s}`
86
86
  }
87
87
  ),
88
- v && r && f && /* @__PURE__ */ a(
88
+ N && r && f && /* @__PURE__ */ d(
89
89
  "label",
90
90
  {
91
- htmlFor: $,
92
- className: `ms-1 ${W[f]} ${i}`,
91
+ htmlFor: T,
92
+ className: `ms-1 ${H[f]} ${s}`,
93
93
  children: r
94
94
  }
95
95
  )
96
96
  ] }),
97
- h && /* @__PURE__ */ a(
97
+ x && /* @__PURE__ */ d(
98
98
  "p",
99
99
  {
100
- className: `mt-1 text-xs ${C === "invalid" ? "text-red-600 dark:text-red-500" : "text-green-600 dark:text-green-500"}`,
101
- children: h
100
+ className: `mt-1 text-xs ${y === "invalid" ? "text-red-600 dark:text-red-500" : "text-green-600 dark:text-green-500"}`,
101
+ children: x
102
102
  }
103
103
  )
104
104
  ] });
105
105
  });
106
- ee.displayName = "Input";
107
- const te = {
106
+ re.displayName = "Input";
107
+ const ne = {
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 te = {
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
- }, re = {
125
+ }, oe = {
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
- }, ne = {
131
+ }, se = {
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
- }, ve = ({
136
+ }, Ce = ({
137
137
  children: e,
138
138
  variant: n = "primary",
139
139
  size: r = "md",
140
140
  type: t = "button",
141
- shape: l = "rounded",
142
- className: c = "",
143
- isLoading: s = !1,
141
+ shape: a = "rounded",
142
+ className: u = "",
143
+ isLoading: i = !1,
144
144
  disabled: o = !1,
145
- ...i
145
+ ...s
146
146
  }) => {
147
- const d = o || s, u = [
147
+ const c = o || i, l = [
148
148
  "inline-flex items-center justify-center font-normal transition duration-150 cursor-pointer",
149
- te[n],
150
- re[r],
151
- ne[l],
152
- l === "flat" ? "shadow-none" : "shadow-sm",
153
- d ? "opacity-50 cursor-not-allowed pointer-events-none" : "",
154
- c
149
+ ne[n],
150
+ oe[r],
151
+ se[a],
152
+ a === "flat" ? "shadow-none" : "shadow-sm",
153
+ c ? "opacity-50 cursor-not-allowed pointer-events-none" : "",
154
+ u
155
155
  ].filter(Boolean).join(" ");
156
- return /* @__PURE__ */ p("button", { type: t, className: u, disabled: d, ...i, children: [
157
- s && /* @__PURE__ */ p(
156
+ return /* @__PURE__ */ m("button", { type: t, className: l, disabled: c, ...s, children: [
157
+ i && /* @__PURE__ */ m(
158
158
  "svg",
159
159
  {
160
160
  "aria-hidden": "true",
@@ -164,14 +164,14 @@ const te = {
164
164
  fill: "none",
165
165
  xmlns: "http://www.w3.org/2000/svg",
166
166
  children: [
167
- /* @__PURE__ */ a(
167
+ /* @__PURE__ */ d(
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__ */ a(
174
+ /* @__PURE__ */ d(
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,87 +183,224 @@ const te = {
183
183
  ),
184
184
  e
185
185
  ] });
186
- }, B = X(null), oe = () => {
187
- const e = Y(B);
186
+ }, Ne = ({
187
+ label: e,
188
+ children: n,
189
+ position: r = "right"
190
+ }) => {
191
+ const [t, a] = w(!1), [u, i] = w(!1), o = M(null), s = M(null), c = V(() => {
192
+ switch (r) {
193
+ case "left":
194
+ return "left-0";
195
+ case "center":
196
+ return "left-1/2 transform -translate-x-1/2";
197
+ case "right":
198
+ default:
199
+ return "right-0";
200
+ }
201
+ }, [r]), l = v((p) => {
202
+ const b = p.target;
203
+ o.current && !o.current.contains(b) && s.current && !s.current.contains(b) && a(!1);
204
+ }, []), f = v(() => {
205
+ if (!s.current || !o.current) return;
206
+ const p = s.current.getBoundingClientRect(), b = o.current.getBoundingClientRect(), x = window.innerHeight - p.bottom, y = p.top;
207
+ i(
208
+ x < b.height && y > b.height
209
+ );
210
+ }, []);
211
+ S(() => {
212
+ if (t)
213
+ return f(), window.addEventListener("resize", f), window.addEventListener("scroll", f, !0), () => {
214
+ window.removeEventListener("resize", f), window.removeEventListener("scroll", f, !0);
215
+ };
216
+ }, [t, f]), S(() => (document.addEventListener("mousedown", l), () => document.removeEventListener("mousedown", l)), [l]);
217
+ const g = v(() => a((p) => !p), []);
218
+ return /* @__PURE__ */ m("div", { className: "relative flex items-center", children: [
219
+ /* @__PURE__ */ d("button", { ref: s, onClick: g, children: e }),
220
+ t && /* @__PURE__ */ d(
221
+ "div",
222
+ {
223
+ ref: o,
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}`,
227
+ children: n
228
+ }
229
+ )
230
+ ] });
231
+ }, Oe = ({
232
+ children: e,
233
+ content: n,
234
+ position: r = "top",
235
+ className: t = "",
236
+ tooltipClass: a = "",
237
+ tooltipStyle: u = {}
238
+ }) => {
239
+ const i = M(null), o = M(null);
240
+ S(() => {
241
+ const c = i.current, l = o.current;
242
+ if (!c || !l) return;
243
+ const f = () => {
244
+ l.style.opacity = "1", l.style.visibility = "visible";
245
+ }, g = () => {
246
+ l.style.opacity = "0", l.style.visibility = "hidden";
247
+ };
248
+ return c.addEventListener("mouseenter", f), c.addEventListener("mouseleave", g), () => {
249
+ c.removeEventListener("mouseenter", f), c.removeEventListener("mouseleave", g);
250
+ };
251
+ }, []);
252
+ const s = (c) => {
253
+ const l = {
254
+ position: "absolute",
255
+ opacity: 0,
256
+ visibility: "hidden",
257
+ transition: "opacity 0.2s ease",
258
+ maxWidth: "240px",
259
+ whiteSpace: "normal",
260
+ wordBreak: "break-word",
261
+ padding: "8px 12px",
262
+ fontSize: "0.875rem",
263
+ backgroundColor: "black",
264
+ color: "white",
265
+ borderRadius: "4px",
266
+ boxShadow: "0px 4px 12px rgba(0, 0, 0, 0.15)",
267
+ zIndex: 9999,
268
+ width: "max-content"
269
+ };
270
+ switch (c) {
271
+ case "top":
272
+ return {
273
+ ...l,
274
+ bottom: "100%",
275
+ left: "50%",
276
+ transform: "translateX(-50%)",
277
+ marginBottom: "8px"
278
+ };
279
+ case "bottom":
280
+ return {
281
+ ...l,
282
+ top: "100%",
283
+ left: "50%",
284
+ transform: "translateX(-50%)",
285
+ marginTop: "8px"
286
+ };
287
+ case "left":
288
+ return {
289
+ ...l,
290
+ right: "100%",
291
+ top: "50%",
292
+ transform: "translateY(-50%)",
293
+ marginRight: "8px"
294
+ };
295
+ case "right":
296
+ return {
297
+ ...l,
298
+ left: "100%",
299
+ top: "50%",
300
+ transform: "translateY(-50%)",
301
+ marginLeft: "8px"
302
+ };
303
+ default:
304
+ return l;
305
+ }
306
+ };
307
+ return /* @__PURE__ */ m("div", { ref: i, className: `relative inline-block ${t}`, children: [
308
+ e,
309
+ /* @__PURE__ */ d(
310
+ "div",
311
+ {
312
+ ref: o,
313
+ role: "tooltip",
314
+ className: a,
315
+ style: {
316
+ ...s(r),
317
+ ...u
318
+ },
319
+ children: n
320
+ }
321
+ )
322
+ ] });
323
+ }, F = ee(null), le = () => {
324
+ const e = te(F);
188
325
  return e || (console.warn(
189
326
  "⚠️ useModal() called outside of ModalProvider. Falling back to standalone modal usage."
190
327
  ), null);
191
328
  };
192
- function we({
329
+ function Se({
193
330
  id: e,
194
331
  title: n,
195
332
  children: r,
196
333
  standalone: t = !1,
197
- showFloatingClose: l = !1,
198
- containerClasses: c = "",
199
- onClose: s
334
+ showFloatingClose: a = !1,
335
+ containerClasses: u = "",
336
+ onClose: i
200
337
  }) {
201
- const o = oe(), i = o && typeof o.openModal == "function", d = !t && i, [u, f] = M(!1), g = d ? o.isOpen(e) : u, b = () => {
202
- d ? o.closeModal(e) : f(!1), s && s();
338
+ const o = le(), s = o && typeof o.openModal == "function", c = !t && s, [l, f] = w(!1), g = c ? o.isOpen(e) : l, p = () => {
339
+ c ? o.closeModal(e) : f(!1), i && i();
203
340
  };
204
- return F(() => (g ? document.body.style.overflow = "hidden" : document.body.style.overflow = "", () => {
341
+ return S(() => (g ? document.body.style.overflow = "hidden" : document.body.style.overflow = "", () => {
205
342
  document.body.style.overflow = "";
206
- }), [g]), g ? /* @__PURE__ */ a("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-[2px]", children: /* @__PURE__ */ p(
343
+ }), [g]), g ? /* @__PURE__ */ d("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-[2px]", children: /* @__PURE__ */ m(
207
344
  "div",
208
345
  {
209
- className: `bg-white rounded-lg shadow-lg w-full max-w-md p-3 transform transition-all duration-300 scale-100 ${c}`,
346
+ className: `bg-white rounded-lg shadow-lg w-full max-w-md p-3 transform transition-all duration-300 scale-100 ${u}`,
210
347
  children: [
211
- /* @__PURE__ */ p("div", { className: "flex justify-between items-center relative", children: [
212
- n && /* @__PURE__ */ a("h2", { className: "text-lg font-semibold", children: n }),
213
- l && /* @__PURE__ */ a(
348
+ /* @__PURE__ */ m("div", { className: "flex justify-between items-center relative", children: [
349
+ n && /* @__PURE__ */ d("h2", { className: "text-lg font-semibold", children: n }),
350
+ a && /* @__PURE__ */ d(
214
351
  "button",
215
352
  {
216
- onClick: () => b(),
353
+ onClick: () => p(),
217
354
  className: "text-gray-500 hover:text-gray-700 absolute top-2 right-3",
218
355
  "aria-label": "Close modal",
219
356
  children: "✕"
220
357
  }
221
358
  )
222
359
  ] }),
223
- /* @__PURE__ */ a("div", { className: "text-sm text-gray-700", children: r })
360
+ /* @__PURE__ */ d("div", { className: "text-sm text-gray-700", children: r })
224
361
  ]
225
362
  }
226
363
  ) }) : null;
227
364
  }
228
- function Ce({ children: e }) {
229
- const [n, r] = M({}), t = T((s) => {
230
- r((o) => ({ ...o, [s]: !0 }));
231
- }, []), l = T((s) => {
232
- r((o) => ({ ...o, [s]: !1 }));
233
- }, []), c = T((s) => !!n[s], [n]);
234
- return /* @__PURE__ */ a(B.Provider, { value: { openModal: t, closeModal: l, isOpen: c }, children: e });
365
+ function Le({ children: e }) {
366
+ const [n, r] = w({}), t = v((i) => {
367
+ r((o) => ({ ...o, [i]: !0 }));
368
+ }, []), a = v((i) => {
369
+ r((o) => ({ ...o, [i]: !1 }));
370
+ }, []), u = v((i) => !!n[i], [n]);
371
+ return /* @__PURE__ */ d(F.Provider, { value: { openModal: t, closeModal: a, isOpen: u }, children: e });
235
372
  }
236
- let _ = null, I = {};
237
- function le(e) {
373
+ let _ = null, D = {};
374
+ function ae(e) {
238
375
  _ = e;
239
376
  }
240
- function Oe(e) {
241
- I = { ...I, ...e };
377
+ function Pe(e) {
378
+ D = { ...D, ...e };
242
379
  }
243
- function se() {
244
- return I;
380
+ function ie() {
381
+ return D;
245
382
  }
246
- function Ne(e, n, r = 3e3, t) {
383
+ function je(e, n, r = 3e3, t) {
247
384
  _ ? _(e, n, r, t) : console.warn("Toast system is not mounted");
248
385
  }
249
- var R = {
386
+ var Z = {
250
387
  color: void 0,
251
388
  size: void 0,
252
389
  className: void 0,
253
390
  style: void 0,
254
391
  attr: void 0
255
- }, D = x.createContext && /* @__PURE__ */ x.createContext(R), ae = ["attr", "size", "title"];
256
- function ie(e, n) {
392
+ }, B = h.createContext && /* @__PURE__ */ h.createContext(Z), ce = ["attr", "size", "title"];
393
+ function de(e, n) {
257
394
  if (e == null) return {};
258
- var r = ce(e, n), t, l;
395
+ var r = ue(e, n), t, a;
259
396
  if (Object.getOwnPropertySymbols) {
260
- var c = Object.getOwnPropertySymbols(e);
261
- for (l = 0; l < c.length; l++)
262
- t = c[l], !(n.indexOf(t) >= 0) && Object.prototype.propertyIsEnumerable.call(e, t) && (r[t] = e[t]);
397
+ var u = Object.getOwnPropertySymbols(e);
398
+ for (a = 0; a < u.length; a++)
399
+ t = u[a], !(n.indexOf(t) >= 0) && Object.prototype.propertyIsEnumerable.call(e, t) && (r[t] = e[t]);
263
400
  }
264
401
  return r;
265
402
  }
266
- function ce(e, n) {
403
+ function ue(e, n) {
267
404
  if (e == null) return {};
268
405
  var r = {};
269
406
  for (var t in e)
@@ -273,45 +410,45 @@ function ce(e, n) {
273
410
  }
274
411
  return r;
275
412
  }
276
- function L() {
277
- return L = Object.assign ? Object.assign.bind() : function(e) {
413
+ function $() {
414
+ return $ = Object.assign ? Object.assign.bind() : function(e) {
278
415
  for (var n = 1; n < arguments.length; n++) {
279
416
  var r = arguments[n];
280
417
  for (var t in r)
281
418
  Object.prototype.hasOwnProperty.call(r, t) && (e[t] = r[t]);
282
419
  }
283
420
  return e;
284
- }, L.apply(this, arguments);
421
+ }, $.apply(this, arguments);
285
422
  }
286
423
  function A(e, n) {
287
424
  var r = Object.keys(e);
288
425
  if (Object.getOwnPropertySymbols) {
289
426
  var t = Object.getOwnPropertySymbols(e);
290
- n && (t = t.filter(function(l) {
291
- return Object.getOwnPropertyDescriptor(e, l).enumerable;
427
+ n && (t = t.filter(function(a) {
428
+ return Object.getOwnPropertyDescriptor(e, a).enumerable;
292
429
  })), r.push.apply(r, t);
293
430
  }
294
431
  return r;
295
432
  }
296
- function E(e) {
433
+ function R(e) {
297
434
  for (var n = 1; n < arguments.length; n++) {
298
435
  var r = arguments[n] != null ? arguments[n] : {};
299
436
  n % 2 ? A(Object(r), !0).forEach(function(t) {
300
- de(e, t, r[t]);
437
+ fe(e, t, r[t]);
301
438
  }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : A(Object(r)).forEach(function(t) {
302
439
  Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t));
303
440
  });
304
441
  }
305
442
  return e;
306
443
  }
307
- function de(e, n, r) {
308
- return n = ue(n), n in e ? Object.defineProperty(e, n, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[n] = r, e;
444
+ function fe(e, n, r) {
445
+ return n = ge(n), n in e ? Object.defineProperty(e, n, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[n] = r, e;
309
446
  }
310
- function ue(e) {
311
- var n = fe(e, "string");
447
+ function ge(e) {
448
+ var n = pe(e, "string");
312
449
  return typeof n == "symbol" ? n : n + "";
313
450
  }
314
- function fe(e, n) {
451
+ function pe(e, n) {
315
452
  if (typeof e != "object" || !e) return e;
316
453
  var r = e[Symbol.toPrimitive];
317
454
  if (r !== void 0) {
@@ -321,77 +458,77 @@ function fe(e, n) {
321
458
  }
322
459
  return (n === "string" ? String : Number)(e);
323
460
  }
324
- function Z(e) {
325
- return e && e.map((n, r) => /* @__PURE__ */ x.createElement(n.tag, E({
461
+ function W(e) {
462
+ return e && e.map((n, r) => /* @__PURE__ */ h.createElement(n.tag, R({
326
463
  key: r
327
- }, n.attr), Z(n.child)));
464
+ }, n.attr), W(n.child)));
328
465
  }
329
- function ge(e) {
330
- return (n) => /* @__PURE__ */ x.createElement(pe, L({
331
- attr: E({}, e.attr)
332
- }, n), Z(e.child));
466
+ function be(e) {
467
+ return (n) => /* @__PURE__ */ h.createElement(me, $({
468
+ attr: R({}, e.attr)
469
+ }, n), W(e.child));
333
470
  }
334
- function pe(e) {
471
+ function me(e) {
335
472
  var n = (r) => {
336
473
  var {
337
474
  attr: t,
338
- size: l,
339
- title: c
340
- } = e, s = ie(e, ae), o = l || r.size || "1em", i;
341
- return r.className && (i = r.className), e.className && (i = (i ? i + " " : "") + e.className), /* @__PURE__ */ x.createElement("svg", L({
475
+ size: a,
476
+ title: u
477
+ } = e, i = de(e, ce), o = a || r.size || "1em", s;
478
+ return r.className && (s = r.className), e.className && (s = (s ? s + " " : "") + e.className), /* @__PURE__ */ h.createElement("svg", $({
342
479
  stroke: "currentColor",
343
480
  fill: "currentColor",
344
481
  strokeWidth: "0"
345
- }, r.attr, t, s, {
346
- className: i,
347
- style: E(E({
482
+ }, r.attr, t, i, {
483
+ className: s,
484
+ style: R(R({
348
485
  color: e.color || r.color
349
486
  }, r.style), e.style),
350
487
  height: o,
351
488
  width: o,
352
489
  xmlns: "http://www.w3.org/2000/svg"
353
- }), c && /* @__PURE__ */ x.createElement("title", null, c), e.children);
490
+ }), u && /* @__PURE__ */ h.createElement("title", null, u), e.children);
354
491
  };
355
- return D !== void 0 ? /* @__PURE__ */ x.createElement(D.Consumer, null, (r) => n(r)) : n(R);
492
+ return B !== void 0 ? /* @__PURE__ */ h.createElement(B.Consumer, null, (r) => n(r)) : n(Z);
356
493
  }
357
- function be(e) {
358
- 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);
494
+ function xe(e) {
495
+ 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);
359
496
  }
360
- const xe = () => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {
497
+ const he = () => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {
361
498
  const n = Math.random() * 16 | 0;
362
499
  return (e === "x" ? n : n & 3 | 8).toString(16);
363
- }), Se = () => {
364
- const [e, n] = M([]);
365
- F(() => {
366
- le((t, l, c, s) => {
367
- const o = xe();
368
- n((i) => [...i, { id: o, type: t, message: l, config: s }]), setTimeout(() => {
369
- n((i) => i.filter((d) => d.id !== o));
370
- }, c);
500
+ }), ke = () => {
501
+ const [e, n] = w([]);
502
+ S(() => {
503
+ ae((t, a, u, i) => {
504
+ const o = he();
505
+ n((s) => [...s, { id: o, type: t, message: a, config: i }]), setTimeout(() => {
506
+ n((s) => s.filter((c) => c.id !== o));
507
+ }, u);
371
508
  });
372
509
  }, []);
373
- const r = se();
374
- return /* @__PURE__ */ a("div", { className: "fixed top-5 right-5 z-[9999] flex flex-col gap-2", children: e.map((t) => {
375
- var i, d, u, f, g, b, m, h, C, y, O, N, S;
376
- const l = ((i = t.config) == null ? void 0 : i.icon) || ((d = r.icons) == null ? void 0 : d[t.type]) || me(t.type), c = ((u = t.config) == null ? void 0 : u.bgColor) || ((g = (f = r.colors) == null ? void 0 : f[t.type]) == null ? void 0 : g.bg) || "bg-white dark:bg-gray-800", s = ((b = t.config) == null ? void 0 : b.textColor) || ((h = (m = r.colors) == null ? void 0 : m[t.type]) == null ? void 0 : h.text) || "text-gray-700 dark:text-gray-300", o = ((C = t.config) == null ? void 0 : C.iconContainerClass) || "w-8 h-8 mr-3 text-xl flex items-center justify-center";
377
- return /* @__PURE__ */ p(
510
+ const r = ie();
511
+ return /* @__PURE__ */ d("div", { className: "fixed top-5 right-5 z-[9999] flex flex-col gap-2", children: e.map((t) => {
512
+ var s, c, l, f, g, p, b, x, y, C, L, P, j;
513
+ const a = ((s = t.config) == null ? void 0 : s.icon) || ((c = r.icons) == null ? void 0 : c[t.type]) || ye(t.type), u = ((l = t.config) == null ? void 0 : l.bgColor) || ((g = (f = r.colors) == null ? void 0 : f[t.type]) == null ? void 0 : g.bg) || "bg-white dark:bg-gray-800", i = ((p = t.config) == null ? void 0 : p.textColor) || ((x = (b = r.colors) == null ? void 0 : b[t.type]) == null ? void 0 : x.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";
514
+ return /* @__PURE__ */ m(
378
515
  "div",
379
516
  {
380
- className: `flex items-center w-full max-w-xs p-4 text-sm rounded-lg shadow ${c} ${s}`,
517
+ className: `flex items-center w-full max-w-xs p-4 text-sm rounded-lg shadow ${u} ${i}`,
381
518
  children: [
382
- /* @__PURE__ */ a("div", { className: o, children: l }),
383
- /* @__PURE__ */ p("div", { className: "flex-1 me-3", children: [
384
- ((y = t.config) == null ? void 0 : y.title) && /* @__PURE__ */ a("div", { className: "font-semibold text-black", children: t.config.title }),
385
- ((O = t.config) == null ? void 0 : O.description) && /* @__PURE__ */ a("div", { className: "text-sm text-gray-500", children: t.config.description }),
386
- !((N = t.config) != null && N.title) && !((S = t.config) != null && S.description) && /* @__PURE__ */ a("div", { className: "text-sm", children: t.message })
519
+ /* @__PURE__ */ d("div", { className: o, children: a }),
520
+ /* @__PURE__ */ m("div", { className: "flex-1 me-3", children: [
521
+ ((C = t.config) == null ? void 0 : C.title) && /* @__PURE__ */ d("div", { className: "font-semibold text-black", children: t.config.title }),
522
+ ((L = t.config) == null ? void 0 : L.description) && /* @__PURE__ */ d("div", { className: "text-sm text-gray-500", children: t.config.description }),
523
+ !((P = t.config) != null && P.title) && !((j = t.config) != null && j.description) && /* @__PURE__ */ d("div", { className: "text-sm", children: t.message })
387
524
  ] }),
388
- /* @__PURE__ */ a(
525
+ /* @__PURE__ */ d(
389
526
  "button",
390
527
  {
391
- onClick: () => n((j) => j.filter((P) => P.id !== t.id)),
528
+ onClick: () => n((k) => k.filter((E) => E.id !== t.id)),
392
529
  className: "ml-auto text-gray-400 hover:text-gray-700 dark:text-gray-500 dark:hover:text-white",
393
530
  "aria-label": "Close",
394
- children: /* @__PURE__ */ a(be, { size: 18 })
531
+ children: /* @__PURE__ */ d(xe, { size: 18 })
395
532
  }
396
533
  )
397
534
  ]
@@ -400,7 +537,7 @@ const xe = () => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, functio
400
537
  );
401
538
  }) });
402
539
  };
403
- function me(e) {
540
+ function ye(e) {
404
541
  switch (e) {
405
542
  case "success":
406
543
  return "✅";
@@ -413,13 +550,15 @@ function me(e) {
413
550
  }
414
551
  }
415
552
  export {
416
- ve as Button,
417
- ee as Input,
418
- we as Modal,
419
- B as ModalContext,
420
- Ce as ModalProvider,
421
- Se as Toast,
422
- Oe as setToastDefaults,
423
- Ne as showToast,
424
- oe as useModal
553
+ Ce as Button,
554
+ Ne as Dropdown,
555
+ re as Input,
556
+ Se as Modal,
557
+ F as ModalContext,
558
+ Le as ModalProvider,
559
+ ke as Toast,
560
+ Oe as Tooltip,
561
+ Pe as setToastDefaults,
562
+ je as showToast,
563
+ le as useModal
425
564
  };
@@ -1,3 +1,5 @@
1
- (function(u,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):(u=typeof globalThis<"u"?globalThis:u||self,o(u.TailwindUiKit={},u.jsxRuntime,u.React))})(this,function(u,o,i){"use strict";"use client";const _=i.forwardRef((e,n)=>{const{label:r,id:t,inputSize:s="md",shape:d="rounded",validate:a,onValidatedChange:l,className:c="",icon:f,iconPosition:g="left",floatingLabelStyle:b,onChange:p,isValid:x,isInvalid:h,feedback:y,feedbackType:N="invalid",...m}=e,[S,j]=i.useState("default"),P=w=>{const I=w.target.value,T=(a==null?void 0:a(I))??"default";j(T),l==null||l(w,T),p==null||p(w)},k={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"},de={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"},ue={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"},fe=(w,I,T)=>{if(T)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(w){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"}},ge=k[s]||k.md,be=M[d]||M.flat,pe=fe(S,x,h),xe=g==="start"||g==="left"?"left-0 ps-3.5":"right-0 pe-3.5",he=f&&(g==="start"||g==="left")?"ps-10":f?"pe-10":"",z=t??`input-${(r==null?void 0:r.toLowerCase().replace(/\s+/g,"-"))||Math.random().toString(36).slice(2)}`,v=!!b;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:[f&&o.jsx("div",{className:`absolute inset-y-0 flex items-center ${xe}`,children:o.jsx("span",{className:"text-gray-500",children:f})}),o.jsx("input",{...m,id:z,ref:n,placeholder:v?" ":m.placeholder,onChange:P,className:`border peer w-full block font-light appearance-none focus:outline-none focus:ring-0 transition
2
- ${v&&b?de[b]:ge}
3
- ${he} ${be} ${pe} ${c}`}),v&&r&&b&&o.jsx("label",{htmlFor:z,className:`ms-1 ${ue[b]} ${c}`,children:r})]}),y&&o.jsx("p",{className:`mt-1 text-xs ${N==="invalid"?"text-red-600 dark:text-red-500":"text-green-600 dark:text-green-500"}`,children:y})]})});_.displayName="Input";const G={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"},W={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"},q={flat:"shadow-none",rounded:"rounded-md",pill:"rounded-full",circle:"rounded-full w-10 h-10 p-0 flex items-center justify-center"},H=({children:e,variant:n="primary",size:r="md",type:t="button",shape:s="rounded",className:d="",isLoading:a=!1,disabled:l=!1,...c})=>{const f=l||a,g=["inline-flex items-center justify-center font-normal transition duration-150 cursor-pointer",G[n],W[r],q[s],s==="flat"?"shadow-none":"shadow-sm",f?"opacity-50 cursor-not-allowed pointer-events-none":"",d].filter(Boolean).join(" ");return o.jsxs("button",{type:t,className:g,disabled:f,...c,children:[a&&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]})},E=i.createContext(null),D=()=>{const e=i.useContext(E);return e||(console.warn("⚠️ useModal() called outside of ModalProvider. Falling back to standalone modal usage."),null)};function K({id:e,title:n,children:r,standalone:t=!1,showFloatingClose:s=!1,containerClasses:d="",onClose:a}){const l=D(),c=l&&typeof l.openModal=="function",f=!t&&c,[g,b]=i.useState(!1),p=f?l.isOpen(e):g,x=()=>{f?l.closeModal(e):b(!1),a&&a()};return i.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 ${d}`,children:[o.jsxs("div",{className:"flex justify-between items-center relative",children:[n&&o.jsx("h2",{className:"text-lg font-semibold",children:n}),s&&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 U({children:e}){const[n,r]=i.useState({}),t=i.useCallback(a=>{r(l=>({...l,[a]:!0}))},[]),s=i.useCallback(a=>{r(l=>({...l,[a]:!1}))},[]),d=i.useCallback(a=>!!n[a],[n]);return o.jsx(E.Provider,{value:{openModal:t,closeModal:s,isOpen:d},children:e})}let L=null,$={};function J(e){L=e}function Q(e){$={...$,...e}}function V(){return $}function X(e,n,r=3e3,t){L?L(e,n,r,t):console.warn("Toast system is not mounted")}var A={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},B=i.createContext&&i.createContext(A),Y=["attr","size","title"];function R(e,n){if(e==null)return{};var r=ee(e,n),t,s;if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(e);for(s=0;s<d.length;s++)t=d[s],!(n.indexOf(t)>=0)&&Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}function ee(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 C(){return C=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},C.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(s){return Object.getOwnPropertyDescriptor(e,s).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){te(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 te(e,n,r){return n=re(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function re(e){var n=ne(e,"string");return typeof n=="symbol"?n:n+""}function ne(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)=>i.createElement(n.tag,O({key:r},n.attr),Z(n.child)))}function oe(e){return n=>i.createElement(le,C({attr:O({},e.attr)},n),Z(e.child))}function le(e){var n=r=>{var{attr:t,size:s,title:d}=e,a=R(e,Y),l=s||r.size||"1em",c;return r.className&&(c=r.className),e.className&&(c=(c?c+" ":"")+e.className),i.createElement("svg",C({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},r.attr,t,a,{className:c,style:O(O({color:e.color||r.color},r.style),e.style),height:l,width:l,xmlns:"http://www.w3.org/2000/svg"}),d&&i.createElement("title",null,d),e.children)};return B!==void 0?i.createElement(B.Consumer,null,r=>n(r)):n(A)}function se(e){return oe({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 ae=()=>"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)}),ie=()=>{const[e,n]=i.useState([]);i.useEffect(()=>{J((t,s,d,a)=>{const l=ae();n(c=>[...c,{id:l,type:t,message:s,config:a}]),setTimeout(()=>{n(c=>c.filter(f=>f.id!==l))},d)})},[]);const r=V();return o.jsx("div",{className:"fixed top-5 right-5 z-[9999] flex flex-col gap-2",children:e.map(t=>{var c,f,g,b,p,x,h,y,N,m,S,j,P;const s=((c=t.config)==null?void 0:c.icon)||((f=r.icons)==null?void 0:f[t.type])||ce(t.type),d=((g=t.config)==null?void 0:g.bgColor)||((p=(b=r.colors)==null?void 0:b[t.type])==null?void 0:p.bg)||"bg-white dark:bg-gray-800",a=((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",l=((N=t.config)==null?void 0:N.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 ${d} ${a}`,children:[o.jsx("div",{className:l,children:s}),o.jsxs("div",{className:"flex-1 me-3",children:[((m=t.config)==null?void 0:m.title)&&o.jsx("div",{className:"font-semibold text-black",children:t.config.title}),((S=t.config)==null?void 0:S.description)&&o.jsx("div",{className:"text-sm text-gray-500",children:t.config.description}),!((j=t.config)!=null&&j.title)&&!((P=t.config)!=null&&P.description)&&o.jsx("div",{className:"text-sm",children:t.message})]}),o.jsx("button",{onClick:()=>n(k=>k.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(se,{size:18})})]},t.id)})})};function ce(e){switch(e){case"success":return"✅";case"error":return"❌";case"warning":return"⚠️";case"info":return"ℹ️"}}u.Button=H,u.Input=_,u.Modal=K,u.ModalContext=E,u.ModalProvider=U,u.Toast=ie,u.setToastDefaults=Q,u.showToast=X,u.useModal=D,Object.defineProperty(u,Symbol.toStringTag,{value:"Module"})});
1
+ (function(p,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):(p=typeof globalThis<"u"?globalThis:p||self,o(p.TailwindUiKit={},p.jsxRuntime,p.React))})(this,function(p,o,s){"use strict";"use client";const D=s.forwardRef((e,n)=>{const{label:r,id:t,inputSize:c="md",shape:f="rounded",validate:d,onValidatedChange:l,className:a="",icon:u,iconPosition:i="left",floatingLabelStyle:g,onChange:b,isValid:x,isInvalid:h,feedback:m,feedbackType:y="invalid",...v}=e,[S,j]=s.useState("default"),k=C=>{const I=C.target.value,L=(d==null?void 0:d(I))??"default";j(L),l==null||l(C,L),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"},P={flat:"rounded-none",rounded:"rounded-md",pill:"rounded-full"},fe={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"},ge={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"},pe=(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"}},be=E[c]||E.md,xe=P[f]||P.flat,he=pe(S,x,h),me=i==="start"||i==="left"?"left-0 ps-3.5":"right-0 pe-3.5",ye=u&&(i==="start"||i==="left")?"ps-10":u?"pe-10":"",$=t??`input-${(r==null?void 0:r.toLowerCase().replace(/\s+/g,"-"))||Math.random().toString(36).slice(2)}`,w=!!g;return o.jsxs("div",{className:`w-full relative ${w?"z-0":""}`,children:[!w&&r&&o.jsx("label",{htmlFor:$,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 ${me}`,children:o.jsx("span",{className:"text-gray-500",children:u})}),o.jsx("input",{...v,id:$,ref:n,placeholder:w?" ":v.placeholder,onChange:k,className:`border peer w-full block font-light appearance-none focus:outline-none focus:ring-0 transition
2
+ ${w&&g?fe[g]:be}
3
+ ${ye} ${xe} ${he} ${a}`}),w&&r&&g&&o.jsx("label",{htmlFor:$,className:`ms-1 ${ge[g]} ${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})]})});D.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:c="rounded",className:f="",isLoading:d=!1,disabled:l=!1,...a})=>{const u=l||d,i=["inline-flex items-center justify-center font-normal transition duration-150 cursor-pointer",W[n],G[r],H[c],c==="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:i,disabled:u,...a,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,c]=s.useState(!1),[f,d]=s.useState(!1),l=s.useRef(null),a=s.useRef(null),u=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]),i=s.useCallback(x=>{const h=x.target;l.current&&!l.current.contains(h)&&a.current&&!a.current.contains(h)&&c(!1)},[]),g=s.useCallback(()=>{if(!a.current||!l.current)return;const x=a.current.getBoundingClientRect(),h=l.current.getBoundingClientRect(),m=window.innerHeight-x.bottom,y=x.top;d(m<h.height&&y>h.height)},[]);s.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]),s.useEffect(()=>(document.addEventListener("mousedown",i),()=>document.removeEventListener("mousedown",i)),[i]);const b=s.useCallback(()=>c(x=>!x),[]);return o.jsxs("div",{className:"relative flex items-center",children:[o.jsx("button",{ref:a,onClick:b,children:e}),t&&o.jsx("div",{ref:l,className:`absolute z-10 bg-white rounded-sm shadow-md overflow-hidden
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:c="",tooltipStyle:f={}})=>{const d=s.useRef(null),l=s.useRef(null);s.useEffect(()=>{const u=d.current,i=l.current;if(!u||!i)return;const g=()=>{i.style.opacity="1",i.style.visibility="visible"},b=()=>{i.style.opacity="0",i.style.visibility="hidden"};return u.addEventListener("mouseenter",g),u.addEventListener("mouseleave",b),()=>{u.removeEventListener("mouseenter",g),u.removeEventListener("mouseleave",b)}},[]);const a=u=>{const i={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{...i,bottom:"100%",left:"50%",transform:"translateX(-50%)",marginBottom:"8px"};case"bottom":return{...i,top:"100%",left:"50%",transform:"translateX(-50%)",marginTop:"8px"};case"left":return{...i,right:"100%",top:"50%",transform:"translateY(-50%)",marginRight:"8px"};case"right":return{...i,left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"8px"};default:return i}};return o.jsxs("div",{ref:d,className:`relative inline-block ${t}`,children:[e,o.jsx("div",{ref:l,role:"tooltip",className:c,style:{...a(r),...f},children:n})]})},T=s.createContext(null),_=()=>{const e=s.useContext(T);return e||(console.warn("⚠️ useModal() called outside of ModalProvider. Falling back to standalone modal usage."),null)};function X({id:e,title:n,children:r,standalone:t=!1,showFloatingClose:c=!1,containerClasses:f="",onClose:d}){const l=_(),a=l&&typeof l.openModal=="function",u=!t&&a,[i,g]=s.useState(!1),b=u?l.isOpen(e):i,x=()=>{u?l.closeModal(e):g(!1),d&&d()};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-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}),c&&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 Y({children:e}){const[n,r]=s.useState({}),t=s.useCallback(d=>{r(l=>({...l,[d]:!0}))},[]),c=s.useCallback(d=>{r(l=>({...l,[d]:!1}))},[]),f=s.useCallback(d=>!!n[d],[n]);return o.jsx(T.Provider,{value:{openModal:t,closeModal:c,isOpen:f},children:e})}let M=null,z={};function J(e){M=e}function Q(e){z={...z,...e}}function V(){return z}function R(e,n,r=3e3,t){M?M(e,n,r,t):console.warn("Toast system is not mounted")}var B={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},A=s.createContext&&s.createContext(B),ee=["attr","size","title"];function te(e,n){if(e==null)return{};var r=re(e,n),t,c;if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(e);for(c=0;c<f.length;c++)t=f[c],!(n.indexOf(t)>=0)&&Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}function re(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(c){return Object.getOwnPropertyDescriptor(e,c).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){ne(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 ne(e,n,r){return n=oe(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function oe(e){var n=se(e,"string");return typeof n=="symbol"?n:n+""}function se(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)=>s.createElement(n.tag,O({key:r},n.attr),Z(n.child)))}function le(e){return n=>s.createElement(ae,N({attr:O({},e.attr)},n),Z(e.child))}function ae(e){var n=r=>{var{attr:t,size:c,title:f}=e,d=te(e,ee),l=c||r.size||"1em",a;return r.className&&(a=r.className),e.className&&(a=(a?a+" ":"")+e.className),s.createElement("svg",N({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},r.attr,t,d,{className:a,style:O(O({color:e.color||r.color},r.style),e.style),height:l,width:l,xmlns:"http://www.w3.org/2000/svg"}),f&&s.createElement("title",null,f),e.children)};return A!==void 0?s.createElement(A.Consumer,null,r=>n(r)):n(B)}function ie(e){return le({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 ce=()=>"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)}),de=()=>{const[e,n]=s.useState([]);s.useEffect(()=>{J((t,c,f,d)=>{const l=ce();n(a=>[...a,{id:l,type:t,message:c,config:d}]),setTimeout(()=>{n(a=>a.filter(u=>u.id!==l))},f)})},[]);const r=V();return o.jsx("div",{className:"fixed top-5 right-5 z-[9999] flex flex-col gap-2",children:e.map(t=>{var a,u,i,g,b,x,h,m,y,v,S,j,k;const c=((a=t.config)==null?void 0:a.icon)||((u=r.icons)==null?void 0:u[t.type])||ue(t.type),f=((i=t.config)==null?void 0:i.bgColor)||((b=(g=r.colors)==null?void 0:g[t.type])==null?void 0:b.bg)||"bg-white dark:bg-gray-800",d=((x=t.config)==null?void 0:x.textColor)||((m=(h=r.colors)==null?void 0:h[t.type])==null?void 0:m.text)||"text-gray-700 dark:text-gray-300",l=((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} ${d}`,children:[o.jsx("div",{className:l,children:c}),o.jsxs("div",{className:"flex-1 me-3",children:[((v=t.config)==null?void 0:v.title)&&o.jsx("div",{className:"font-semibold text-black",children:t.config.title}),((S=t.config)==null?void 0:S.description)&&o.jsx("div",{className:"text-sm text-gray-500",children:t.config.description}),!((j=t.config)!=null&&j.title)&&!((k=t.config)!=null&&k.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(ie,{size:18})})]},t.id)})})};function ue(e){switch(e){case"success":return"✅";case"error":return"❌";case"warning":return"⚠️";case"info":return"ℹ️"}}p.Button=q,p.Dropdown=K,p.Input=D,p.Modal=X,p.ModalContext=T,p.ModalProvider=Y,p.Toast=de,p.Tooltip=U,p.setToastDefaults=Q,p.showToast=R,p.useModal=_,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tailwind-ux-kit",
3
- "version": "1.0.16",
3
+ "version": "1.0.18",
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",