tailwind-ux-kit 1.0.42 → 1.0.44

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.
@@ -5,7 +5,7 @@ type Status = "default" | "error" | "warning" | "success";
5
5
  type FloatingLabelStyle = "filled" | "outlined" | "standard";
6
6
  type IconPosition = "start" | "end" | "left" | "right";
7
7
  interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "onChange" | "size"> {
8
- label?: string;
8
+ label?: string | React.ReactNode;
9
9
  id?: string;
10
10
  inputSize?: InputSize;
11
11
  shape?: Shape;
@@ -5,7 +5,7 @@ type Status = "default" | "error" | "warning" | "success";
5
5
  type FloatingLabelStyle = "filled" | "outlined" | "standard";
6
6
  type IconPosition = "start" | "end" | "left" | "right";
7
7
  interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, "size" | "onChange"> {
8
- label?: string;
8
+ label?: string | React.ReactNode;
9
9
  id?: string;
10
10
  inputSize?: InputSize;
11
11
  shape?: Shape;
@@ -1,66 +1,72 @@
1
1
  "use client";
2
2
  import { jsxs as h, jsx as g } from "react/jsx-runtime";
3
- import I, { forwardRef as J, useState as O, useRef as _, useMemo as R, useCallback as L, useEffect as D, createContext as Q, useContext as V } from "react";
4
- const le = J((e, n) => {
3
+ import P, { forwardRef as q, useState as L, useMemo as $, useId as se, useRef as M, useCallback as E, useEffect as A, createContext as X, useContext as Y } from "react";
4
+ const H = {
5
+ xs: "text-xs px-2 py-1",
6
+ sm: "text-sm px-3 py-1.5",
7
+ md: "text-sm px-3 py-3",
8
+ lg: "text-lg px-5 py-3"
9
+ }, W = {
10
+ flat: "rounded-none",
11
+ rounded: "rounded-sm",
12
+ pill: "rounded-full"
13
+ }, ae = {
14
+ filled: "rounded-t-lg px-2.5 pb-2.5 pt-5 bg-gray-50 border-b-2",
15
+ outlined: "rounded-lg px-2.5 pb-2.5 pt-4 bg-transparent border",
16
+ standard: "px-0 py-2.5 bg-transparent border-0 border-b-2"
17
+ }, le = {
18
+ 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",
19
+ 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",
20
+ 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"
21
+ }, ie = (e, n, t) => {
22
+ if (t)
23
+ return "border-red-500 bg-red-50 text-red-900 placeholder-red-700 focus:ring-red-500 focus:border-red-500";
24
+ if (n)
25
+ return "border-green-500 bg-green-50 text-green-900 placeholder-green-700 focus:ring-green-500 focus:border-green-500";
26
+ switch (e) {
27
+ case "error":
28
+ return "border-red-500 bg-red-50 focus:ring-red-500";
29
+ case "warning":
30
+ return "border-yellow-500 bg-yellow-50 focus:ring-yellow-500";
31
+ case "success":
32
+ return "border-green-500 bg-green-50 focus:ring-green-500";
33
+ default:
34
+ return "border-gray-300 focus:ring-blue-500";
35
+ }
36
+ }, ce = q((e, n) => {
5
37
  const {
6
38
  label: t,
7
39
  id: r,
8
40
  inputSize: s = "md",
9
- shape: f = "rounded",
10
- validate: p,
11
- onValidatedChange: d,
41
+ shape: p = "rounded",
42
+ validate: f,
43
+ onValidatedChange: c,
12
44
  className: a = "",
13
45
  icon: u,
14
46
  iconPosition: o = "left",
15
- floatingLabelStyle: l,
16
- onChange: i,
17
- isValid: c,
47
+ floatingLabelStyle: d,
48
+ onChange: l,
49
+ isValid: i,
18
50
  isInvalid: x,
19
51
  feedback: m,
20
52
  feedbackType: y = "invalid",
21
53
  ...w
22
- } = e, [$, S] = O("default"), P = (C) => {
23
- const E = C.target.value, j = (p == null ? void 0 : p(E)) ?? "default";
24
- S(j), d == null || d(C, j), i == null || i(C);
25
- }, N = {
26
- xs: "text-xs px-2 py-1",
27
- sm: "text-sm px-3 py-1.5",
28
- md: "text-sm px-3 py-3",
29
- lg: "text-lg px-5 py-3"
30
- }, b = {
31
- flat: "rounded-none",
32
- rounded: "rounded-sm",
33
- pill: "rounded-full"
34
- }, v = {
35
- filled: "rounded-t-lg px-2.5 pb-2.5 pt-5 bg-gray-50 border-b-2",
36
- outlined: "rounded-lg px-2.5 pb-2.5 pt-4 bg-transparent border",
37
- standard: "px-0 py-2.5 bg-transparent border-0 border-b-2"
38
- }, A = {
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
- 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
- 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
- }, z = (C, E, j) => {
43
- if (j)
44
- return "border-red-500 bg-red-50 text-red-900 placeholder-red-700 focus:ring-red-500 focus:border-red-500";
45
- if (E)
46
- return "border-green-500 bg-green-50 text-green-900 placeholder-green-700 focus:ring-green-500 focus:border-green-500";
47
- switch (C) {
48
- case "error":
49
- return "border-red-500 bg-red-50 focus:ring-red-500";
50
- case "warning":
51
- return "border-yellow-500 bg-yellow-50 focus:ring-yellow-500";
52
- case "success":
53
- return "border-green-500 bg-green-50 focus:ring-green-500";
54
- default:
55
- return "border-gray-300 focus:ring-blue-500";
56
- }
57
- }, Z = N[s] || N.md, G = b[f] || b.flat, H = z($, c, x), W = o === "start" || o === "left" ? "left-0 ps-3.5" : "right-0 pe-3.5", K = u && (o === "start" || o === "left") ? "ps-10" : u ? "pe-10" : "", M = r ?? `input-${(t == null ? void 0 : t.toLowerCase().replace(/\s+/g, "-")) || Math.random().toString(36).slice(2)}`, k = !!l;
58
- return /* @__PURE__ */ h("div", { className: `w-full relative ${k ? "z-0" : ""}`, children: [
59
- !k && t && /* @__PURE__ */ g(
54
+ } = e, [S, N] = L("default"), O = P.useCallback(
55
+ (z) => {
56
+ const Z = z.target.value, I = (f == null ? void 0 : f(Z)) ?? "default";
57
+ N(I), c == null || c(z, I), l == null || l(z);
58
+ },
59
+ [f, c, l]
60
+ ), v = $(() => r || (typeof t == "string" ? `input-${t.toLowerCase().replace(/\s+/g, "-")}` : `input-${Math.random().toString(36).slice(2)}`), [r, t]), b = !!d, C = H[s] || H.md, k = W[p] || W.flat, j = $(
61
+ () => ie(S, i, x),
62
+ [S, i, x]
63
+ ), _ = $(() => o === "start" || o === "left" ? "left-0 ps-3.5" : "right-0 pe-3.5", [o]), B = $(() => u ? o === "start" || o === "left" ? "ps-10" : "pe-10" : "", [u, o]);
64
+ return /* @__PURE__ */ h("div", { className: `w-full relative ${b ? "z-0" : ""}`, children: [
65
+ !b && t && /* @__PURE__ */ g(
60
66
  "label",
61
67
  {
62
- htmlFor: M,
63
- className: `block mb-1 text-sm ${c ? "text-green-700 dark:text-green-500" : x ? "text-red-700 dark:text-red-500" : "text-gray-700"}`,
68
+ htmlFor: v,
69
+ className: `block mb-1 text-sm ${i ? "text-green-700 dark:text-green-500" : x ? "text-red-700 dark:text-red-500" : "text-gray-700"}`,
64
70
  children: t
65
71
  }
66
72
  ),
@@ -68,7 +74,8 @@ const le = J((e, n) => {
68
74
  u && /* @__PURE__ */ g(
69
75
  "div",
70
76
  {
71
- className: `absolute inset-y-0 flex items-center ${W}`,
77
+ className: `absolute inset-y-0 flex items-center ${_}`,
78
+ "aria-hidden": "true",
72
79
  children: /* @__PURE__ */ g("span", { className: "text-gray-500", children: u })
73
80
  }
74
81
  ),
@@ -76,21 +83,21 @@ const le = J((e, n) => {
76
83
  "input",
77
84
  {
78
85
  ...w,
79
- id: M,
86
+ id: v,
80
87
  ref: n,
81
- placeholder: k ? " " : w.placeholder,
82
- onChange: P,
88
+ placeholder: b ? " " : w.placeholder,
89
+ onChange: O,
83
90
  className: `border peer w-full block font-normal appearance-none focus:outline-none focus:ring-0 transition text-gray-900 placeholder-gray-600 border-gray-400
84
- ${Z}
85
- ${k && l && v[l]}
86
- ${K} ${G} ${H} ${a}`
91
+ ${C}
92
+ ${b && d && ae[d]}
93
+ ${B} ${k} ${j} ${a}`
87
94
  }
88
95
  ),
89
- k && t && l && /* @__PURE__ */ g(
96
+ b && t && d && /* @__PURE__ */ g(
90
97
  "label",
91
98
  {
92
- htmlFor: M,
93
- className: `ms-1 ${A[l]} ${a}`,
99
+ htmlFor: v,
100
+ className: `ms-1 ${le[d]} ${a}`,
94
101
  children: t
95
102
  }
96
103
  )
@@ -99,73 +106,75 @@ const le = J((e, n) => {
99
106
  "p",
100
107
  {
101
108
  className: `mt-1 text-xs ${y === "invalid" ? "text-red-600 dark:text-red-500" : "text-green-600 dark:text-green-500"}`,
109
+ role: y === "invalid" ? "alert" : void 0,
102
110
  children: m
103
111
  }
104
112
  )
105
113
  ] });
106
114
  });
107
- le.displayName = "Input";
108
- const ie = J((e, n) => {
115
+ ce.displayName = "Input";
116
+ const de = {
117
+ xs: "text-xs px-2 py-1",
118
+ sm: "text-sm px-3 py-1.5",
119
+ md: "text-sm px-3 py-3",
120
+ lg: "text-lg px-5 py-3"
121
+ }, ue = {
122
+ flat: "rounded-none",
123
+ rounded: "rounded-sm",
124
+ pill: "rounded-full"
125
+ }, fe = {
126
+ filled: "rounded-t-lg px-2.5 pb-2.5 pt-5 bg-gray-50 border-b-2",
127
+ outlined: "rounded-lg px-2.5 pb-2.5 pt-4 bg-transparent border",
128
+ standard: "px-0 py-2.5 bg-transparent border-0 border-b-2"
129
+ }, ge = {
130
+ 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",
131
+ 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",
132
+ 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"
133
+ }, pe = (e, n, t) => {
134
+ if (t)
135
+ return "border-red-500 bg-red-50 text-red-900 focus:ring-red-500 focus:border-red-500";
136
+ if (n)
137
+ return "border-green-500 bg-green-50 text-green-900 focus:ring-green-500 focus:border-green-500";
138
+ const r = "focus:ring focus:border";
139
+ switch (e) {
140
+ case "error":
141
+ return `${r}-red-500 border-red-500 bg-red-50`;
142
+ case "warning":
143
+ return `${r}-yellow-500 border-yellow-500 bg-yellow-50`;
144
+ case "success":
145
+ return `${r}-green-500 border-green-500 bg-green-50`;
146
+ default:
147
+ return "border-gray-300 focus:ring-blue-500";
148
+ }
149
+ }, be = q((e, n) => {
109
150
  const {
110
151
  label: t,
111
152
  id: r,
112
153
  inputSize: s = "md",
113
- shape: f = "rounded",
114
- validate: p,
115
- onValidatedChange: d,
154
+ shape: p = "rounded",
155
+ validate: f,
156
+ onValidatedChange: c,
116
157
  className: a = "",
117
158
  icon: u,
118
159
  iconPosition: o = "left",
119
- floatingLabelStyle: l,
120
- onChange: i,
121
- isValid: c,
160
+ floatingLabelStyle: d,
161
+ onChange: l,
162
+ isValid: i,
122
163
  isInvalid: x,
123
164
  feedback: m,
124
165
  feedbackType: y = "invalid",
125
166
  children: w,
126
- ...$
127
- } = e, [S, P] = O("default"), N = (E) => {
128
- const j = E.target.value, T = (p == null ? void 0 : p(j)) ?? "default";
129
- P(T), d == null || d(E, T), i == null || i(E);
130
- }, b = {
131
- xs: "text-xs px-2 py-1",
132
- sm: "text-sm px-3 py-1.5",
133
- md: "text-sm px-3 py-3",
134
- lg: "text-lg px-5 py-3"
135
- }, v = {
136
- flat: "rounded-none",
137
- rounded: "rounded-sm",
138
- pill: "rounded-full"
139
- }, A = {
140
- filled: "rounded-t-lg px-2.5 pb-2.5 pt-5 bg-gray-50 border-b-2",
141
- outlined: "rounded-lg px-2.5 pb-2.5 pt-4 bg-transparent border",
142
- standard: "px-0 py-2.5 bg-transparent border-0 border-b-2"
143
- }, z = {
144
- 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",
145
- 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",
146
- 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"
147
- }, Z = (E, j, T) => {
148
- if (T)
149
- return "border-red-500 bg-red-50 text-red-900 focus:ring-red-500 focus:border-red-500";
150
- if (j)
151
- return "border-green-500 bg-green-50 text-green-900 focus:ring-green-500 focus:border-green-500";
152
- switch (E) {
153
- case "error":
154
- return "border-red-500 bg-red-50 focus:ring-red-500";
155
- case "warning":
156
- return "border-yellow-500 bg-yellow-50 focus:ring-yellow-500";
157
- case "success":
158
- return "border-green-500 bg-green-50 focus:ring-green-500";
159
- default:
160
- return "border-gray-300 focus:ring-blue-500";
161
- }
162
- }, G = b[s] || b.md, H = v[f] || v.flat, W = Z(S, c, x), K = o === "start" || o === "left" ? "left-0 ps-3.5" : "right-0 pe-3.5", M = u && (o === "start" || o === "left") ? "ps-10" : u ? "pe-10" : "", k = r ?? `select-${(t == null ? void 0 : t.toLowerCase().replace(/\s+/g, "-")) || Math.random().toString(36).slice(2)}`, C = !!l;
163
- return /* @__PURE__ */ h("div", { className: `w-full relative ${C ? "z-0" : ""}`, children: [
164
- !C && t && /* @__PURE__ */ g(
167
+ ...S
168
+ } = e, [N, O] = L("default"), v = se(), b = $(() => r || (typeof t == "string" ? `select-${t.toLowerCase().replace(/\s+/g, "-")}` : v), [r, t, v]), C = (I) => {
169
+ const oe = I.target.value, G = (f == null ? void 0 : f(oe)) ?? "default";
170
+ O(G), c == null || c(I, G), l == null || l(I);
171
+ }, k = !!d, j = de[s], _ = ue[p], B = pe(N, i, x);
172
+ return /* @__PURE__ */ h("div", { className: `w-full relative ${k ? "z-0" : ""}`, children: [
173
+ !k && t && /* @__PURE__ */ g(
165
174
  "label",
166
175
  {
167
- htmlFor: k,
168
- className: `block mb-1 text-sm ${c ? "text-green-700" : x ? "text-red-700" : "text-gray-700"}`,
176
+ htmlFor: b,
177
+ className: `block mb-1 text-sm ${i ? "text-green-700" : x ? "text-red-700" : "text-gray-700"}`,
169
178
  children: t
170
179
  }
171
180
  ),
@@ -173,29 +182,29 @@ const ie = J((e, n) => {
173
182
  u && /* @__PURE__ */ g(
174
183
  "div",
175
184
  {
176
- className: `absolute inset-y-0 flex items-center ${K}`,
185
+ className: `absolute inset-y-0 flex items-center ${o === "start" || o === "left" ? "left-0 ps-3.5" : "right-0 pe-3.5"}`,
177
186
  children: /* @__PURE__ */ g("span", { className: "text-gray-500", children: u })
178
187
  }
179
188
  ),
180
189
  /* @__PURE__ */ g(
181
190
  "select",
182
191
  {
183
- ...$,
184
- id: k,
192
+ ...S,
193
+ id: b,
185
194
  ref: n,
186
- onChange: N,
195
+ onChange: C,
187
196
  className: `border peer w-full block font-normal appearance-none focus:outline-none focus:ring-0 transition text-gray-600 placeholder-[#798ba5] border-gray-400
188
- ${G}
189
- ${C && l && A[l]}
190
- ${M} ${H} ${W} ${a}`,
197
+ ${j} ${u && (o === "start" || o === "left") ? "ps-10" : u ? "pe-10" : ""}
198
+ ${k && d && fe[d]}
199
+ ${_} ${B} ${a}`,
191
200
  children: w
192
201
  }
193
202
  ),
194
- C && t && l && /* @__PURE__ */ g(
203
+ k && t && d && /* @__PURE__ */ g(
195
204
  "label",
196
205
  {
197
- htmlFor: k,
198
- className: `ms-1 ${z[l]} ${a}`,
206
+ htmlFor: b,
207
+ className: `ms-1 ${ge[d]} ${a}`,
199
208
  children: t
200
209
  }
201
210
  )
@@ -209,8 +218,8 @@ const ie = J((e, n) => {
209
218
  )
210
219
  ] });
211
220
  });
212
- ie.displayName = "Select";
213
- const ce = {
221
+ be.displayName = "Select";
222
+ const xe = {
214
223
  primary: "bg-blue-600 text-white hover:bg-blue-700",
215
224
  secondary: "bg-gray-600 text-white hover:bg-gray-700",
216
225
  success: "bg-green-600 text-white hover:bg-green-700",
@@ -228,39 +237,39 @@ const ce = {
228
237
  "outline-info": "border border-cyan-600 text-cyan-600 hover:bg-cyan-50",
229
238
  "outline-dark": "border border-gray-900 text-gray-900 hover:bg-gray-100",
230
239
  "outline-light": "border border-gray-100 text-gray-500 hover:bg-gray-200"
231
- }, de = {
240
+ }, me = {
232
241
  xs: "px-3 py-2 text-xs",
233
242
  sm: "px-3 py-2 text-sm",
234
243
  md: "px-5 py-2.5 text-sm",
235
244
  lg: "px-5 py-3 text-base",
236
245
  xl: "px-6 py-3.5 text-base"
237
- }, ue = {
246
+ }, he = {
238
247
  flat: "shadow-none",
239
248
  rounded: "rounded-sm",
240
249
  pill: "rounded-full",
241
250
  circle: "rounded-full w-10 h-10 p-0 flex items-center justify-center"
242
- }, Pe = ({
251
+ }, Te = ({
243
252
  children: e,
244
253
  variant: n = "primary",
245
254
  size: t = "md",
246
255
  type: r = "button",
247
256
  shape: s = "rounded",
248
- className: f = "",
249
- isLoading: p = !1,
250
- disabled: d = !1,
257
+ className: p = "",
258
+ isLoading: f = !1,
259
+ disabled: c = !1,
251
260
  ...a
252
261
  }) => {
253
- const u = d || p, o = [
262
+ const u = c || f, o = [
254
263
  "inline-flex items-center justify-center font-normal transition duration-150 cursor-pointer",
255
- ce[n],
256
- de[t],
257
- ue[s],
264
+ xe[n],
265
+ me[t],
266
+ he[s],
258
267
  s === "flat" ? "shadow-none" : "shadow-sm",
259
268
  u ? "opacity-50 cursor-not-allowed pointer-events-none" : "",
260
- f
269
+ p
261
270
  ].filter(Boolean).join(" ");
262
271
  return /* @__PURE__ */ h("button", { type: r, className: o, disabled: u, ...a, children: [
263
- p && /* @__PURE__ */ h(
272
+ f && /* @__PURE__ */ h(
264
273
  "svg",
265
274
  {
266
275
  "aria-hidden": "true",
@@ -289,12 +298,12 @@ const ce = {
289
298
  ),
290
299
  e
291
300
  ] });
292
- }, je = ({
301
+ }, _e = ({
293
302
  label: e,
294
303
  children: n,
295
304
  position: t = "right"
296
305
  }) => {
297
- const [r, s] = O(!1), [f, p] = O(!1), d = _(null), a = _(null), u = R(() => {
306
+ const [r, s] = L(!1), [p, f] = L(!1), c = M(null), a = M(null), u = $(() => {
298
307
  switch (t) {
299
308
  case "left":
300
309
  return "left-0";
@@ -304,55 +313,55 @@ const ce = {
304
313
  default:
305
314
  return "right-0";
306
315
  }
307
- }, [t]), o = L((c) => {
308
- const x = c.target;
309
- d.current && !d.current.contains(x) && a.current && !a.current.contains(x) && s(!1);
310
- }, []), l = L(() => {
311
- if (!a.current || !d.current) return;
312
- const c = a.current.getBoundingClientRect(), x = d.current.getBoundingClientRect(), m = window.innerHeight - c.bottom, y = c.top;
313
- p(
316
+ }, [t]), o = E((i) => {
317
+ const x = i.target;
318
+ c.current && !c.current.contains(x) && a.current && !a.current.contains(x) && s(!1);
319
+ }, []), d = E(() => {
320
+ if (!a.current || !c.current) return;
321
+ const i = a.current.getBoundingClientRect(), x = c.current.getBoundingClientRect(), m = window.innerHeight - i.bottom, y = i.top;
322
+ f(
314
323
  m < x.height && y > x.height
315
324
  );
316
325
  }, []);
317
- D(() => {
326
+ A(() => {
318
327
  if (r)
319
- return l(), window.addEventListener("resize", l), window.addEventListener("scroll", l, !0), () => {
320
- window.removeEventListener("resize", l), window.removeEventListener("scroll", l, !0);
328
+ return d(), window.addEventListener("resize", d), window.addEventListener("scroll", d, !0), () => {
329
+ window.removeEventListener("resize", d), window.removeEventListener("scroll", d, !0);
321
330
  };
322
- }, [r, l]), D(() => (document.addEventListener("mousedown", o), () => document.removeEventListener("mousedown", o)), [o]);
323
- const i = L(() => s((c) => !c), []);
331
+ }, [r, d]), A(() => (document.addEventListener("mousedown", o), () => document.removeEventListener("mousedown", o)), [o]);
332
+ const l = E(() => s((i) => !i), []);
324
333
  return /* @__PURE__ */ h("div", { className: "relative flex items-center", children: [
325
- /* @__PURE__ */ g("button", { ref: a, onClick: i, children: e }),
334
+ /* @__PURE__ */ g("button", { ref: a, onClick: l, children: e }),
326
335
  r && /* @__PURE__ */ g(
327
336
  "div",
328
337
  {
329
- ref: d,
338
+ ref: c,
330
339
  className: `absolute z-10 bg-white rounded-sm shadow-md overflow-hidden
331
- ${f ? "bottom-full mb-2" : "top-full mt-2"}
340
+ ${p ? "bottom-full mb-2" : "top-full mt-2"}
332
341
  ${u}`,
333
342
  children: n
334
343
  }
335
344
  )
336
345
  ] });
337
- }, Ie = ({
346
+ }, Be = ({
338
347
  children: e,
339
348
  content: n,
340
349
  position: t = "top",
341
350
  className: r = "",
342
351
  tooltipClass: s = "",
343
- tooltipStyle: f = {}
352
+ tooltipStyle: p = {}
344
353
  }) => {
345
- const p = _(null), d = _(null);
346
- D(() => {
347
- const u = p.current, o = d.current;
354
+ const f = M(null), c = M(null);
355
+ A(() => {
356
+ const u = f.current, o = c.current;
348
357
  if (!u || !o) return;
349
- const l = () => {
358
+ const d = () => {
350
359
  o.style.opacity = "1", o.style.visibility = "visible";
351
- }, i = () => {
360
+ }, l = () => {
352
361
  o.style.opacity = "0", o.style.visibility = "hidden";
353
362
  };
354
- return u.addEventListener("mouseenter", l), u.addEventListener("mouseleave", i), () => {
355
- u.removeEventListener("mouseenter", l), u.removeEventListener("mouseleave", i);
363
+ return u.addEventListener("mouseenter", d), u.addEventListener("mouseleave", l), () => {
364
+ u.removeEventListener("mouseenter", d), u.removeEventListener("mouseleave", l);
356
365
  };
357
366
  }, []);
358
367
  const a = (u) => {
@@ -410,23 +419,23 @@ const ce = {
410
419
  return o;
411
420
  }
412
421
  };
413
- return /* @__PURE__ */ h("div", { ref: p, className: `relative inline-block ${r}`, children: [
422
+ return /* @__PURE__ */ h("div", { ref: f, className: `relative inline-block ${r}`, children: [
414
423
  e,
415
424
  /* @__PURE__ */ g(
416
425
  "div",
417
426
  {
418
- ref: d,
427
+ ref: c,
419
428
  role: "tooltip",
420
429
  className: s,
421
430
  style: {
422
431
  ...a(t),
423
- ...f
432
+ ...p
424
433
  },
425
434
  children: n
426
435
  }
427
436
  )
428
437
  ] });
429
- }, ge = {
438
+ }, ye = {
430
439
  primary: "bg-blue-500 text-white",
431
440
  secondary: "bg-gray-500 text-white",
432
441
  success: "bg-green-500 text-white",
@@ -444,61 +453,61 @@ const ce = {
444
453
  "outline-info": "border border-cyan-500 text-cyan-500 bg-transparent",
445
454
  "outline-dark": "border border-black text-black bg-transparent",
446
455
  "outline-light": "border border-gray-100 text-gray-800 bg-transparent"
447
- }, pe = {
456
+ }, we = {
448
457
  xs: "text-xs px-2 py-0.5",
449
458
  sm: "text-sm px-2.5 py-0.5",
450
459
  md: "text-base px-3 py-1",
451
460
  lg: "text-lg px-3.5 py-1.5",
452
461
  xl: "text-xl px-4 py-2"
453
- }, fe = {
462
+ }, ve = {
454
463
  flat: "rounded-none",
455
464
  rounded: "rounded-sm",
456
465
  pill: "rounded-full",
457
466
  circle: "rounded-full p-2 w-8 h-8 justify-center"
458
- }, Ae = ({
467
+ }, Re = ({
459
468
  label: e,
460
469
  variant: n = "primary",
461
470
  size: t = "sm",
462
471
  shape: r = "rounded",
463
472
  icon: s,
464
- dismissible: f,
465
- onDismiss: p,
466
- className: d = "",
473
+ dismissible: p,
474
+ onDismiss: f,
475
+ className: c = "",
467
476
  ...a
468
477
  }) => {
469
- const u = !e && !!s, o = `inline-flex items-center font-medium ${ge[n] || ""} ${pe[t] || ""} ${fe[r] || ""} ${u ? "justify-center p-2 w-8 h-8" : ""} ` + d;
478
+ const u = !e && !!s, o = `inline-flex items-center font-medium ${ye[n] || ""} ${we[t] || ""} ${ve[r] || ""} ${u ? "justify-center p-2 w-8 h-8" : ""} ` + c;
470
479
  return /* @__PURE__ */ h("span", { className: o.trim(), ...a, children: [
471
480
  s && /* @__PURE__ */ g("span", { className: e ? "mr-1" : "", children: s }),
472
481
  e,
473
- f && /* @__PURE__ */ g(
482
+ p && /* @__PURE__ */ g(
474
483
  "button",
475
484
  {
476
485
  type: "button",
477
- onClick: p,
486
+ onClick: f,
478
487
  className: "ml-2 text-xs font-bold leading-none focus:outline-none",
479
488
  children: "×"
480
489
  }
481
490
  )
482
491
  ] });
483
492
  };
484
- var ee = {
493
+ var J = {
485
494
  color: void 0,
486
495
  size: void 0,
487
496
  className: void 0,
488
497
  style: void 0,
489
498
  attr: void 0
490
- }, X = I.createContext && /* @__PURE__ */ I.createContext(ee), be = ["attr", "size", "title"];
491
- function xe(e, n) {
499
+ }, K = P.createContext && /* @__PURE__ */ P.createContext(J), Ce = ["attr", "size", "title"];
500
+ function Se(e, n) {
492
501
  if (e == null) return {};
493
- var t = me(e, n), r, s;
502
+ var t = Ne(e, n), r, s;
494
503
  if (Object.getOwnPropertySymbols) {
495
- var f = Object.getOwnPropertySymbols(e);
496
- for (s = 0; s < f.length; s++)
497
- r = f[s], !(n.indexOf(r) >= 0) && Object.prototype.propertyIsEnumerable.call(e, r) && (t[r] = e[r]);
504
+ var p = Object.getOwnPropertySymbols(e);
505
+ for (s = 0; s < p.length; s++)
506
+ r = p[s], !(n.indexOf(r) >= 0) && Object.prototype.propertyIsEnumerable.call(e, r) && (t[r] = e[r]);
498
507
  }
499
508
  return t;
500
509
  }
501
- function me(e, n) {
510
+ function Ne(e, n) {
502
511
  if (e == null) return {};
503
512
  var t = {};
504
513
  for (var r in e)
@@ -508,17 +517,17 @@ function me(e, n) {
508
517
  }
509
518
  return t;
510
519
  }
511
- function B() {
512
- return B = Object.assign ? Object.assign.bind() : function(e) {
520
+ function D() {
521
+ return D = Object.assign ? Object.assign.bind() : function(e) {
513
522
  for (var n = 1; n < arguments.length; n++) {
514
523
  var t = arguments[n];
515
524
  for (var r in t)
516
525
  Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
517
526
  }
518
527
  return e;
519
- }, B.apply(this, arguments);
528
+ }, D.apply(this, arguments);
520
529
  }
521
- function Y(e, n) {
530
+ function U(e, n) {
522
531
  var t = Object.keys(e);
523
532
  if (Object.getOwnPropertySymbols) {
524
533
  var r = Object.getOwnPropertySymbols(e);
@@ -528,25 +537,25 @@ function Y(e, n) {
528
537
  }
529
538
  return t;
530
539
  }
531
- function F(e) {
540
+ function T(e) {
532
541
  for (var n = 1; n < arguments.length; n++) {
533
542
  var t = arguments[n] != null ? arguments[n] : {};
534
- n % 2 ? Y(Object(t), !0).forEach(function(r) {
535
- he(e, r, t[r]);
536
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : Y(Object(t)).forEach(function(r) {
543
+ n % 2 ? U(Object(t), !0).forEach(function(r) {
544
+ ke(e, r, t[r]);
545
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : U(Object(t)).forEach(function(r) {
537
546
  Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
538
547
  });
539
548
  }
540
549
  return e;
541
550
  }
542
- function he(e, n, t) {
543
- return n = ye(n), n in e ? Object.defineProperty(e, n, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[n] = t, e;
551
+ function ke(e, n, t) {
552
+ return n = $e(n), n in e ? Object.defineProperty(e, n, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[n] = t, e;
544
553
  }
545
- function ye(e) {
546
- var n = we(e, "string");
554
+ function $e(e) {
555
+ var n = Ee(e, "string");
547
556
  return typeof n == "symbol" ? n : n + "";
548
557
  }
549
- function we(e, n) {
558
+ function Ee(e, n) {
550
559
  if (typeof e != "object" || !e) return e;
551
560
  var t = e[Symbol.toPrimitive];
552
561
  if (t !== void 0) {
@@ -556,58 +565,58 @@ function we(e, n) {
556
565
  }
557
566
  return (n === "string" ? String : Number)(e);
558
567
  }
559
- function te(e) {
560
- return e && e.map((n, t) => /* @__PURE__ */ I.createElement(n.tag, F({
568
+ function Q(e) {
569
+ return e && e.map((n, t) => /* @__PURE__ */ P.createElement(n.tag, T({
561
570
  key: t
562
- }, n.attr), te(n.child)));
571
+ }, n.attr), Q(n.child)));
563
572
  }
564
- function re(e) {
565
- return (n) => /* @__PURE__ */ I.createElement(ve, B({
566
- attr: F({}, e.attr)
567
- }, n), te(e.child));
573
+ function V(e) {
574
+ return (n) => /* @__PURE__ */ P.createElement(Le, D({
575
+ attr: T({}, e.attr)
576
+ }, n), Q(e.child));
568
577
  }
569
- function ve(e) {
578
+ function Le(e) {
570
579
  var n = (t) => {
571
580
  var {
572
581
  attr: r,
573
582
  size: s,
574
- title: f
575
- } = e, p = xe(e, be), d = s || t.size || "1em", a;
576
- return t.className && (a = t.className), e.className && (a = (a ? a + " " : "") + e.className), /* @__PURE__ */ I.createElement("svg", B({
583
+ title: p
584
+ } = e, f = Se(e, Ce), c = s || t.size || "1em", a;
585
+ return t.className && (a = t.className), e.className && (a = (a ? a + " " : "") + e.className), /* @__PURE__ */ P.createElement("svg", D({
577
586
  stroke: "currentColor",
578
587
  fill: "currentColor",
579
588
  strokeWidth: "0"
580
- }, t.attr, r, p, {
589
+ }, t.attr, r, f, {
581
590
  className: a,
582
- style: F(F({
591
+ style: T(T({
583
592
  color: e.color || t.color
584
593
  }, t.style), e.style),
585
- height: d,
586
- width: d,
594
+ height: c,
595
+ width: c,
587
596
  xmlns: "http://www.w3.org/2000/svg"
588
- }), f && /* @__PURE__ */ I.createElement("title", null, f), e.children);
597
+ }), p && /* @__PURE__ */ P.createElement("title", null, p), e.children);
589
598
  };
590
- return X !== void 0 ? /* @__PURE__ */ I.createElement(X.Consumer, null, (t) => n(t)) : n(ee);
599
+ return K !== void 0 ? /* @__PURE__ */ P.createElement(K.Consumer, null, (t) => n(t)) : n(J);
591
600
  }
592
- function Ce(e) {
593
- return re({ attr: { viewBox: "0 0 512 512" }, child: [{ tag: "path", attr: { d: "M256 294.1L383 167c9.4-9.4 24.6-9.4 33.9 0s9.3 24.6 0 34L273 345c-9.1 9.1-23.7 9.3-33.1.7L95 201.1c-4.7-4.7-7-10.9-7-17s2.3-12.3 7-17c9.4-9.4 24.6-9.4 33.9 0l127.1 127z" }, child: [] }] })(e);
601
+ function Oe(e) {
602
+ return V({ attr: { viewBox: "0 0 512 512" }, child: [{ tag: "path", attr: { d: "M256 294.1L383 167c9.4-9.4 24.6-9.4 33.9 0s9.3 24.6 0 34L273 345c-9.1 9.1-23.7 9.3-33.1.7L95 201.1c-4.7-4.7-7-10.9-7-17s2.3-12.3 7-17c9.4-9.4 24.6-9.4 33.9 0l127.1 127z" }, child: [] }] })(e);
594
603
  }
595
- const ze = ({
604
+ const Fe = ({
596
605
  items: e,
597
606
  allowMultipleOpen: n = !1,
598
607
  className: t = "",
599
608
  tileClasses: r = "",
600
609
  open: s,
601
- onChange: f,
602
- renderTitle: p,
603
- renderContent: d
610
+ onChange: p,
611
+ renderTitle: f,
612
+ renderContent: c
604
613
  }) => {
605
- const [a, u] = O(/* @__PURE__ */ new Set()), o = R(() => s ? new Set(s) : a, [s, a]), l = L(
606
- (i) => {
607
- const c = new Set(o);
608
- c.has(i) ? c.delete(i) : (n || c.clear(), c.add(i)), s && f ? f(Array.from(c)) : u(c);
614
+ const [a, u] = L(/* @__PURE__ */ new Set()), o = $(() => s ? new Set(s) : a, [s, a]), d = E(
615
+ (l) => {
616
+ const i = new Set(o);
617
+ i.has(l) ? i.delete(l) : (n || i.clear(), i.add(l)), s && p ? p(Array.from(i)) : u(i);
609
618
  },
610
- [o, s, f, n]
619
+ [o, s, p, n]
611
620
  );
612
621
  return /* @__PURE__ */ g(
613
622
  "div",
@@ -615,8 +624,8 @@ const ze = ({
615
624
  className: "accordion",
616
625
  role: "region",
617
626
  "aria-multiselectable": n,
618
- children: e.map((i) => {
619
- const c = o.has(i.id), x = `accordion-heading-${i.id}`, m = `accordion-panel-${i.id}`;
627
+ children: e.map((l) => {
628
+ const i = o.has(l.id), x = `accordion-heading-${l.id}`, m = `accordion-panel-${l.id}`;
620
629
  return /* @__PURE__ */ h(
621
630
  "div",
622
631
  {
@@ -627,13 +636,13 @@ const ze = ({
627
636
  {
628
637
  id: x,
629
638
  type: "button",
630
- "aria-expanded": c,
639
+ "aria-expanded": i,
631
640
  "aria-controls": m,
632
- onClick: () => l(i.id),
641
+ onClick: () => d(l.id),
633
642
  className: `flex justify-between items-center w-full p-1.5 text-left text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 focus:outline-none gap-3 ${r}`,
634
643
  children: [
635
- p ? p(i, c) : i.title,
636
- /* @__PURE__ */ g(Ce, {})
644
+ f ? f(l, i) : l.title,
645
+ /* @__PURE__ */ g(Oe, {})
637
646
  ]
638
647
  }
639
648
  ),
@@ -643,74 +652,74 @@ const ze = ({
643
652
  id: m,
644
653
  role: "region",
645
654
  "aria-labelledby": x,
646
- hidden: !c,
655
+ hidden: !i,
647
656
  className: "p-4 border-t border-gray-200 dark:border-gray-700 text-gray-600 dark:text-gray-400",
648
- children: d ? d(i, c) : i.content
657
+ children: c ? c(l, i) : l.content
649
658
  }
650
659
  )
651
660
  ]
652
661
  },
653
- i.id
662
+ l.id
654
663
  );
655
664
  })
656
665
  }
657
666
  );
658
- }, ne = Q(null), oe = () => {
659
- const e = V(ne);
667
+ }, ee = X(null), te = () => {
668
+ const e = Y(ee);
660
669
  if (!e)
661
670
  throw new Error(
662
671
  "useModalActions must be used within a ModalActionProvider"
663
672
  );
664
673
  return e;
665
- }, se = Q(null), ae = () => V(se);
666
- function Me({
674
+ }, re = X(null), ne = () => Y(re);
675
+ function Ze({
667
676
  id: e,
668
677
  title: n,
669
678
  children: t,
670
679
  standalone: r = !1,
671
680
  showFloatingClose: s = !1,
672
- containerClasses: f = "",
673
- onClose: p,
674
- disableEscapeClose: d = !1
681
+ containerClasses: p = "",
682
+ onClose: f,
683
+ disableEscapeClose: c = !1
675
684
  }) {
676
- const a = ae(), u = oe(), o = !r && !!a && !!u, [l, i] = O(!1), c = o ? a.isOpen(e) : l, x = o ? a.getModalData(e) : null, m = L(() => {
677
- o ? u.closeModal(e) : i(!1), p == null || p();
678
- }, [o, u, e, p]);
679
- return D(() => {
685
+ const a = ne(), u = te(), o = !r && !!a && !!u, [d, l] = L(!1), i = o ? a.isOpen(e) : d, x = o ? a.getModalData(e) : null, m = E(() => {
686
+ o ? u.closeModal(e) : l(!1), f == null || f();
687
+ }, [o, u, e, f]);
688
+ return A(() => {
680
689
  const y = document.activeElement;
681
690
  console.log(e);
682
691
  const w = document.getElementById(e);
683
692
  console.log("modalEl=", w);
684
- const $ = [
693
+ const S = [
685
694
  "a[href]",
686
695
  "button:not([disabled])",
687
696
  "textarea:not([disabled])",
688
697
  "input:not([disabled])",
689
698
  "select:not([disabled])",
690
699
  '[tabindex]:not([tabindex="-1"])'
691
- ], S = () => {
700
+ ], N = () => {
692
701
  if (!w) return [];
693
702
  const b = w.querySelectorAll(
694
- $.join(",")
703
+ S.join(",")
695
704
  );
696
- return Array.from(b).filter((v) => v.offsetParent !== null);
697
- }, P = (b) => {
705
+ return Array.from(b).filter((C) => C.offsetParent !== null);
706
+ }, O = (b) => {
698
707
  if (b.key === "Tab") {
699
- const v = S();
700
- if (v.length === 0) return;
701
- const A = v[0], z = v[v.length - 1];
702
- b.shiftKey ? document.activeElement === A && (b.preventDefault(), z.focus()) : document.activeElement === z && (b.preventDefault(), A.focus());
708
+ const C = N();
709
+ if (C.length === 0) return;
710
+ const k = C[0], j = C[C.length - 1];
711
+ b.shiftKey ? document.activeElement === k && (b.preventDefault(), j.focus()) : document.activeElement === j && (b.preventDefault(), k.focus());
703
712
  }
704
- }, N = (b) => {
705
- b.key === "Escape" && !d && m(), P(b);
713
+ }, v = (b) => {
714
+ b.key === "Escape" && !c && m(), O(b);
706
715
  };
707
- return c && (document.body.style.overflow = "hidden", setTimeout(() => {
708
- const b = S();
716
+ return i && (document.body.style.overflow = "hidden", setTimeout(() => {
717
+ const b = N();
709
718
  b.length && b[0].focus();
710
- }, 0), window.addEventListener("keydown", N)), () => {
711
- document.body.style.overflow = "", y && y.focus(), window.removeEventListener("keydown", N);
719
+ }, 0), window.addEventListener("keydown", v)), () => {
720
+ document.body.style.overflow = "", y && y.focus(), window.removeEventListener("keydown", v);
712
721
  };
713
- }, [c, d, m, e]), c ? /* @__PURE__ */ g(
722
+ }, [i, c, m, e]), i ? /* @__PURE__ */ g(
714
723
  "div",
715
724
  {
716
725
  className: "fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-[2px]",
@@ -718,7 +727,7 @@ function Me({
718
727
  children: /* @__PURE__ */ h(
719
728
  "div",
720
729
  {
721
- className: `bg-white rounded-lg shadow-lg w-full max-w-md p-4 transform transition-all duration-300 scale-100 ${f}`,
730
+ className: `bg-white rounded-lg shadow-lg w-full max-w-md p-4 transform transition-all duration-300 scale-100 ${p}`,
722
731
  children: [
723
732
  /* @__PURE__ */ h("div", { className: "flex justify-between items-center relative", children: [
724
733
  n && /* @__PURE__ */ g("h2", { className: "text-lg font-semibold", children: n }),
@@ -739,88 +748,88 @@ function Me({
739
748
  }
740
749
  ) : null;
741
750
  }
742
- function De({
751
+ function Ge({
743
752
  children: e
744
753
  }) {
745
- const [n, t] = O({}), [r, s] = O({}), f = L((l, i) => {
746
- t((c) => ({ ...c, [l]: !0 })), i && s((c) => ({ ...c, [l]: i }));
747
- }, []), p = L((l) => {
748
- t((i) => ({ ...i, [l]: !1 })), s((i) => {
749
- const c = { ...i };
750
- return delete c[l], c;
754
+ const [n, t] = L({}), [r, s] = L({}), p = E((d, l) => {
755
+ t((i) => ({ ...i, [d]: !0 })), l && s((i) => ({ ...i, [d]: l }));
756
+ }, []), f = E((d) => {
757
+ t((l) => ({ ...l, [d]: !1 })), s((l) => {
758
+ const i = { ...l };
759
+ return delete i[d], i;
751
760
  });
752
- }, []), d = L((l) => !!n[l], [n]), a = L(
753
- (l) => r[l],
761
+ }, []), c = E((d) => !!n[d], [n]), a = E(
762
+ (d) => r[d],
754
763
  [r]
755
- ), u = R(
756
- () => ({ openModal: f, closeModal: p }),
757
- [f, p]
758
- ), o = R(
759
- () => ({ isOpen: d, getModalData: a }),
760
- [d, a]
764
+ ), u = $(
765
+ () => ({ openModal: p, closeModal: f }),
766
+ [p, f]
767
+ ), o = $(
768
+ () => ({ isOpen: c, getModalData: a }),
769
+ [c, a]
761
770
  );
762
- return /* @__PURE__ */ g(ne.Provider, { value: u, children: /* @__PURE__ */ g(se.Provider, { value: o, children: e }) });
771
+ return /* @__PURE__ */ g(ee.Provider, { value: u, children: /* @__PURE__ */ g(re.Provider, { value: o, children: e }) });
763
772
  }
764
- function Te(e) {
765
- const { openModal: n, closeModal: t } = oe(), { isOpen: r, getModalData: s } = ae();
773
+ function He(e) {
774
+ const { openModal: n, closeModal: t } = te(), { isOpen: r, getModalData: s } = ne();
766
775
  return {
767
- open: (f) => n(e, f),
776
+ open: (p) => n(e, p),
768
777
  close: () => t(e),
769
778
  isOpen: r(e),
770
779
  data: s(e)
771
780
  };
772
781
  }
773
- let U = null, q = {};
774
- function Se(e) {
775
- U = e;
782
+ let R = null, F = {};
783
+ function Pe(e) {
784
+ R = e;
776
785
  }
777
- function _e(e) {
778
- q = { ...q, ...e };
786
+ function We(e) {
787
+ F = { ...F, ...e };
779
788
  }
780
- function Ne() {
781
- return q;
789
+ function je() {
790
+ return F;
782
791
  }
783
- function Re(e, n, t = 3e3, r) {
784
- U ? U(e, n, t, r) : console.warn("Toast system is not mounted");
792
+ function Ke(e, n, t = 3e3, r) {
793
+ R ? R(e, n, t, r) : console.warn("Toast system is not mounted");
785
794
  }
786
- function ke(e) {
787
- return re({ 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);
795
+ function Ie(e) {
796
+ return V({ 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);
788
797
  }
789
- const Ee = () => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {
798
+ const Ae = () => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {
790
799
  const n = Math.random() * 16 | 0;
791
800
  return (e === "x" ? n : n & 3 | 8).toString(16);
792
- }), Be = () => {
793
- const [e, n] = O([]);
794
- D(() => {
795
- Se((r, s, f, p) => {
796
- const d = Ee();
797
- n((a) => [...a, { id: d, type: r, message: s, config: p }]), setTimeout(() => {
798
- n((a) => a.filter((u) => u.id !== d));
799
- }, f);
801
+ }), Ue = () => {
802
+ const [e, n] = L([]);
803
+ A(() => {
804
+ Pe((r, s, p, f) => {
805
+ const c = Ae();
806
+ n((a) => [...a, { id: c, type: r, message: s, config: f }]), setTimeout(() => {
807
+ n((a) => a.filter((u) => u.id !== c));
808
+ }, p);
800
809
  });
801
810
  }, []);
802
- const t = Ne();
811
+ const t = je();
803
812
  return /* @__PURE__ */ g("div", { className: "fixed top-5 right-5 z-[9999] flex flex-col gap-2", children: e.map((r) => {
804
- var a, u, o, l, i, c, x, m, y, w, $, S, P;
805
- const s = ((a = r.config) == null ? void 0 : a.icon) || ((u = t.icons) == null ? void 0 : u[r.type]) || Le(r.type), f = ((o = r.config) == null ? void 0 : o.bgColor) || ((i = (l = t.colors) == null ? void 0 : l[r.type]) == null ? void 0 : i.bg) || "bg-white dark:bg-gray-800", p = ((c = r.config) == null ? void 0 : c.textColor) || ((m = (x = t.colors) == null ? void 0 : x[r.type]) == null ? void 0 : m.text) || "text-gray-700 dark:text-gray-300", d = ((y = r.config) == null ? void 0 : y.iconContainerClass) || "w-8 h-8 mr-3 text-xl flex items-center justify-center";
813
+ var a, u, o, d, l, i, x, m, y, w, S, N, O;
814
+ const s = ((a = r.config) == null ? void 0 : a.icon) || ((u = t.icons) == null ? void 0 : u[r.type]) || ze(r.type), p = ((o = r.config) == null ? void 0 : o.bgColor) || ((l = (d = t.colors) == null ? void 0 : d[r.type]) == null ? void 0 : l.bg) || "bg-white dark:bg-gray-800", f = ((i = r.config) == null ? void 0 : i.textColor) || ((m = (x = t.colors) == null ? void 0 : x[r.type]) == null ? void 0 : m.text) || "text-gray-700 dark:text-gray-300", c = ((y = r.config) == null ? void 0 : y.iconContainerClass) || "w-8 h-8 mr-3 text-xl flex items-center justify-center";
806
815
  return /* @__PURE__ */ h(
807
816
  "div",
808
817
  {
809
- className: `flex items-center w-full max-w-xs p-4 text-sm rounded-lg shadow ${f} ${p}`,
818
+ className: `flex items-center w-full max-w-xs p-4 text-sm rounded-lg shadow ${p} ${f}`,
810
819
  children: [
811
- /* @__PURE__ */ g("div", { className: d, children: s }),
820
+ /* @__PURE__ */ g("div", { className: c, children: s }),
812
821
  /* @__PURE__ */ h("div", { className: "flex-1 me-3", children: [
813
822
  ((w = r.config) == null ? void 0 : w.title) && /* @__PURE__ */ g("div", { className: "font-semibold text-black", children: r.config.title }),
814
- (($ = r.config) == null ? void 0 : $.description) && /* @__PURE__ */ g("div", { className: "text-sm text-gray-500", children: r.config.description }),
815
- !((S = r.config) != null && S.title) && !((P = r.config) != null && P.description) && /* @__PURE__ */ g("div", { className: "text-sm", children: r.message })
823
+ ((S = r.config) == null ? void 0 : S.description) && /* @__PURE__ */ g("div", { className: "text-sm text-gray-500", children: r.config.description }),
824
+ !((N = r.config) != null && N.title) && !((O = r.config) != null && O.description) && /* @__PURE__ */ g("div", { className: "text-sm", children: r.message })
816
825
  ] }),
817
826
  /* @__PURE__ */ g(
818
827
  "button",
819
828
  {
820
- onClick: () => n((N) => N.filter((b) => b.id !== r.id)),
829
+ onClick: () => n((v) => v.filter((b) => b.id !== r.id)),
821
830
  className: "ml-auto text-gray-400 hover:text-gray-700 dark:text-gray-500 dark:hover:text-white",
822
831
  "aria-label": "Close",
823
- children: /* @__PURE__ */ g(ke, { size: 18 })
832
+ children: /* @__PURE__ */ g(Ie, { size: 18 })
824
833
  }
825
834
  )
826
835
  ]
@@ -829,7 +838,7 @@ const Ee = () => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, functio
829
838
  );
830
839
  }) });
831
840
  };
832
- function Le(e) {
841
+ function ze(e) {
833
842
  switch (e) {
834
843
  case "success":
835
844
  return "✅";
@@ -842,19 +851,19 @@ function Le(e) {
842
851
  }
843
852
  }
844
853
  export {
845
- ze as Accordion,
846
- Ae as Badge,
847
- Pe as Button,
848
- je as Dropdown,
849
- le as Input,
850
- Me as Modal,
851
- De as ModalProvider,
852
- ie as Select,
853
- Be as Toast,
854
- Ie as Tooltip,
855
- _e as setToastDefaults,
856
- Re as showToast,
857
- oe as useModalActions,
858
- Te as useModalInstance,
859
- ae as useModalState
854
+ Fe as Accordion,
855
+ Re as Badge,
856
+ Te as Button,
857
+ _e as Dropdown,
858
+ ce as Input,
859
+ Ze as Modal,
860
+ Ge as ModalProvider,
861
+ be as Select,
862
+ Ue as Toast,
863
+ Be as Tooltip,
864
+ We as setToastDefaults,
865
+ Ke as showToast,
866
+ te as useModalActions,
867
+ He as useModalInstance,
868
+ ne as useModalState
860
869
  };
@@ -1,9 +1,9 @@
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 U=s.forwardRef((e,n)=>{const{label:t,id:r,inputSize:l="md",shape:b="rounded",validate:p,onValidatedChange:f,className:i="",icon:g,iconPosition:a="left",floatingLabelStyle:c,onChange:d,isValid:u,isInvalid:y,feedback:m,feedbackType:w="invalid",...v}=e,[O,N]=s.useState("default"),$=S=>{const L=S.target.value,P=(p==null?void 0:p(L))??"default";N(P),f==null||f(S,P),d==null||d(S)},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"},h={flat:"rounded-none",rounded:"rounded-sm",pill:"rounded-full"},C={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"},j={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"},M=(S,L,P)=>{if(P)return"border-red-500 bg-red-50 text-red-900 placeholder-red-700 focus:ring-red-500 focus:border-red-500";if(L)return"border-green-500 bg-green-50 text-green-900 placeholder-green-700 focus:ring-green-500 focus:border-green-500";switch(S){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"}},Z=k[l]||k.md,G=h[b]||h.flat,q=M(O,u,y),H=a==="start"||a==="left"?"left-0 ps-3.5":"right-0 pe-3.5",K=g&&(a==="start"||a==="left")?"ps-10":g?"pe-10":"",I=r??`input-${(t==null?void 0:t.toLowerCase().replace(/\s+/g,"-"))||Math.random().toString(36).slice(2)}`,E=!!c;return o.jsxs("div",{className:`w-full relative ${E?"z-0":""}`,children:[!E&&t&&o.jsx("label",{htmlFor:I,className:`block mb-1 text-sm ${u?"text-green-700 dark:text-green-500":y?"text-red-700 dark:text-red-500":"text-gray-700"}`,children:t}),o.jsxs("div",{className:"relative w-full",children:[g&&o.jsx("div",{className:`absolute inset-y-0 flex items-center ${H}`,children:o.jsx("span",{className:"text-gray-500",children:g})}),o.jsx("input",{...v,id:I,ref:n,placeholder:E?" ":v.placeholder,onChange:$,className:`border peer w-full block font-normal appearance-none focus:outline-none focus:ring-0 transition text-gray-900 placeholder-gray-600 border-gray-400
2
- ${Z}
3
- ${E&&c&&C[c]}
4
- ${K} ${G} ${q} ${i}`}),E&&t&&c&&o.jsx("label",{htmlFor:I,className:`ms-1 ${j[c]} ${i}`,children:t})]}),m&&o.jsx("p",{className:`mt-1 text-xs ${w==="invalid"?"text-red-600 dark:text-red-500":"text-green-600 dark:text-green-500"}`,children:m})]})});U.displayName="Input";const W=s.forwardRef((e,n)=>{const{label:t,id:r,inputSize:l="md",shape:b="rounded",validate:p,onValidatedChange:f,className:i="",icon:g,iconPosition:a="left",floatingLabelStyle:c,onChange:d,isValid:u,isInvalid:y,feedback:m,feedbackType:w="invalid",children:v,...O}=e,[N,$]=s.useState("default"),k=L=>{const P=L.target.value,z=(p==null?void 0:p(P))??"default";$(z),f==null||f(L,z),d==null||d(L)},h={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"},C={flat:"rounded-none",rounded:"rounded-sm",pill:"rounded-full"},j={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"},M={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"},Z=(L,P,z)=>{if(z)return"border-red-500 bg-red-50 text-red-900 focus:ring-red-500 focus:border-red-500";if(P)return"border-green-500 bg-green-50 text-green-900 focus:ring-green-500 focus:border-green-500";switch(L){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"}},G=h[l]||h.md,q=C[b]||C.flat,H=Z(N,u,y),K=a==="start"||a==="left"?"left-0 ps-3.5":"right-0 pe-3.5",I=g&&(a==="start"||a==="left")?"ps-10":g?"pe-10":"",E=r??`select-${(t==null?void 0:t.toLowerCase().replace(/\s+/g,"-"))||Math.random().toString(36).slice(2)}`,S=!!c;return o.jsxs("div",{className:`w-full relative ${S?"z-0":""}`,children:[!S&&t&&o.jsx("label",{htmlFor:E,className:`block mb-1 text-sm ${u?"text-green-700":y?"text-red-700":"text-gray-700"}`,children:t}),o.jsxs("div",{className:"relative w-full",children:[g&&o.jsx("div",{className:`absolute inset-y-0 flex items-center ${K}`,children:o.jsx("span",{className:"text-gray-500",children:g})}),o.jsx("select",{...O,id:E,ref:n,onChange:k,className:`border peer w-full block font-normal appearance-none focus:outline-none focus:ring-0 transition text-gray-600 placeholder-[#798ba5] border-gray-400
5
- ${G}
6
- ${S&&c&&j[c]}
7
- ${I} ${q} ${H} ${i}`,children:v}),S&&t&&c&&o.jsx("label",{htmlFor:E,className:`ms-1 ${M[c]} ${i}`,children:t})]}),m&&o.jsx("p",{className:`mt-1 text-xs ${w==="invalid"?"text-red-600":"text-green-600"}`,children:m})]})});W.displayName="Select";const te={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"},re={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"},ne={flat:"shadow-none",rounded:"rounded-sm",pill:"rounded-full",circle:"rounded-full w-10 h-10 p-0 flex items-center justify-center"},oe=({children:e,variant:n="primary",size:t="md",type:r="button",shape:l="rounded",className:b="",isLoading:p=!1,disabled:f=!1,...i})=>{const g=f||p,a=["inline-flex items-center justify-center font-normal transition duration-150 cursor-pointer",te[n],re[t],ne[l],l==="flat"?"shadow-none":"shadow-sm",g?"opacity-50 cursor-not-allowed pointer-events-none":"",b].filter(Boolean).join(" ");return o.jsxs("button",{type:r,className:a,disabled:g,...i,children:[p&&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]})},se=({label:e,children:n,position:t="right"})=>{const[r,l]=s.useState(!1),[b,p]=s.useState(!1),f=s.useRef(null),i=s.useRef(null),g=s.useMemo(()=>{switch(t){case"left":return"left-0";case"center":return"left-1/2 transform -translate-x-1/2";case"right":default:return"right-0"}},[t]),a=s.useCallback(u=>{const y=u.target;f.current&&!f.current.contains(y)&&i.current&&!i.current.contains(y)&&l(!1)},[]),c=s.useCallback(()=>{if(!i.current||!f.current)return;const u=i.current.getBoundingClientRect(),y=f.current.getBoundingClientRect(),m=window.innerHeight-u.bottom,w=u.top;p(m<y.height&&w>y.height)},[]);s.useEffect(()=>{if(r)return c(),window.addEventListener("resize",c),window.addEventListener("scroll",c,!0),()=>{window.removeEventListener("resize",c),window.removeEventListener("scroll",c,!0)}},[r,c]),s.useEffect(()=>(document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)),[a]);const d=s.useCallback(()=>l(u=>!u),[]);return o.jsxs("div",{className:"relative flex items-center",children:[o.jsx("button",{ref:i,onClick:d,children:e}),r&&o.jsx("div",{ref:f,className:`absolute z-10 bg-white rounded-sm shadow-md overflow-hidden
8
- ${b?"bottom-full mb-2":"top-full mt-2"}
9
- ${g}`,children:n})]})},ae=({children:e,content:n,position:t="top",className:r="",tooltipClass:l="",tooltipStyle:b={}})=>{const p=s.useRef(null),f=s.useRef(null);s.useEffect(()=>{const g=p.current,a=f.current;if(!g||!a)return;const c=()=>{a.style.opacity="1",a.style.visibility="visible"},d=()=>{a.style.opacity="0",a.style.visibility="hidden"};return g.addEventListener("mouseenter",c),g.addEventListener("mouseleave",d),()=>{g.removeEventListener("mouseenter",c),g.removeEventListener("mouseleave",d)}},[]);const i=g=>{const a={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(g){case"top":return{...a,bottom:"100%",left:"50%",transform:"translateX(-50%)",marginBottom:"8px"};case"bottom":return{...a,top:"100%",left:"50%",transform:"translateX(-50%)",marginTop:"8px"};case"left":return{...a,right:"100%",top:"50%",transform:"translateY(-50%)",marginRight:"8px"};case"right":return{...a,left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"8px"};default:return a}};return o.jsxs("div",{ref:p,className:`relative inline-block ${r}`,children:[e,o.jsx("div",{ref:f,role:"tooltip",className:l,style:{...i(t),...b},children:n})]})},le={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"},ie={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"},ce={flat:"rounded-none",rounded:"rounded-sm",pill:"rounded-full",circle:"rounded-full p-2 w-8 h-8 justify-center"},de=({label:e,variant:n="primary",size:t="sm",shape:r="rounded",icon:l,dismissible:b,onDismiss:p,className:f="",...i})=>{const g=!e&&!!l,a=`inline-flex items-center font-medium ${le[n]||""} ${ie[t]||""} ${ce[r]||""} ${g?"justify-center p-2 w-8 h-8":""} `+f;return o.jsxs("span",{className:a.trim(),...i,children:[l&&o.jsx("span",{className:e?"mr-1":"",children:l}),e,b&&o.jsx("button",{type:"button",onClick:p,className:"ml-2 text-xs font-bold leading-none focus:outline-none",children:"×"})]})};var X={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Y=s.createContext&&s.createContext(X),ue=["attr","size","title"];function fe(e,n){if(e==null)return{};var t=ge(e,n),r,l;if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(e);for(l=0;l<b.length;l++)r=b[l],!(n.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(t[r]=e[r])}return t}function ge(e,n){if(e==null)return{};var t={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(n.indexOf(r)>=0)continue;t[r]=e[r]}return t}function A(){return A=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},A.apply(this,arguments)}function J(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),t.push.apply(t,r)}return t}function T(e){for(var n=1;n<arguments.length;n++){var t=arguments[n]!=null?arguments[n]:{};n%2?J(Object(t),!0).forEach(function(r){pe(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):J(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function pe(e,n,t){return n=be(n),n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function be(e){var n=xe(e,"string");return typeof n=="symbol"?n:n+""}function xe(e,n){if(typeof e!="object"||!e)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var r=t.call(e,n);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function Q(e){return e&&e.map((n,t)=>s.createElement(n.tag,T({key:t},n.attr),Q(n.child)))}function V(e){return n=>s.createElement(he,A({attr:T({},e.attr)},n),Q(e.child))}function he(e){var n=t=>{var{attr:r,size:l,title:b}=e,p=fe(e,ue),f=l||t.size||"1em",i;return t.className&&(i=t.className),e.className&&(i=(i?i+" ":"")+e.className),s.createElement("svg",A({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,r,p,{className:i,style:T(T({color:e.color||t.color},t.style),e.style),height:f,width:f,xmlns:"http://www.w3.org/2000/svg"}),b&&s.createElement("title",null,b),e.children)};return Y!==void 0?s.createElement(Y.Consumer,null,t=>n(t)):n(X)}function ye(e){return V({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 294.1L383 167c9.4-9.4 24.6-9.4 33.9 0s9.3 24.6 0 34L273 345c-9.1 9.1-23.7 9.3-33.1.7L95 201.1c-4.7-4.7-7-10.9-7-17s2.3-12.3 7-17c9.4-9.4 24.6-9.4 33.9 0l127.1 127z"},child:[]}]})(e)}const me=({items:e,allowMultipleOpen:n=!1,className:t="",tileClasses:r="",open:l,onChange:b,renderTitle:p,renderContent:f})=>{const[i,g]=s.useState(new Set),a=s.useMemo(()=>l?new Set(l):i,[l,i]),c=s.useCallback(d=>{const u=new Set(a);u.has(d)?u.delete(d):(n||u.clear(),u.add(d)),l&&b?b(Array.from(u)):g(u)},[a,l,b,n]);return o.jsx("div",{className:"accordion",role:"region","aria-multiselectable":n,children:e.map(d=>{const u=a.has(d.id),y=`accordion-heading-${d.id}`,m=`accordion-panel-${d.id}`;return o.jsxs("div",{className:`accordion-item border rounded border-gray-300 dark:border-gray-700 ${t}`,children:[o.jsxs("button",{id:y,type:"button","aria-expanded":u,"aria-controls":m,onClick:()=>c(d.id),className:`flex justify-between items-center w-full p-1.5 text-left text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 focus:outline-none gap-3 ${r}`,children:[p?p(d,u):d.title,o.jsx(ye,{})]}),o.jsx("div",{id:m,role:"region","aria-labelledby":y,hidden:!u,className:"p-4 border-t border-gray-200 dark:border-gray-700 text-gray-600 dark:text-gray-400",children:f?f(d,u):d.content})]},d.id)})})},R=s.createContext(null),D=()=>{const e=s.useContext(R);if(!e)throw new Error("useModalActions must be used within a ModalActionProvider");return e},ee=s.createContext(null),_=()=>s.useContext(ee);function we({id:e,title:n,children:t,standalone:r=!1,showFloatingClose:l=!1,containerClasses:b="",onClose:p,disableEscapeClose:f=!1}){const i=_(),g=D(),a=!r&&!!i&&!!g,[c,d]=s.useState(!1),u=a?i.isOpen(e):c,y=a?i.getModalData(e):null,m=s.useCallback(()=>{a?g.closeModal(e):d(!1),p==null||p()},[a,g,e,p]);return s.useEffect(()=>{const w=document.activeElement;console.log(e);const v=document.getElementById(e);console.log("modalEl=",v);const O=["a[href]","button:not([disabled])","textarea:not([disabled])","input:not([disabled])","select:not([disabled])",'[tabindex]:not([tabindex="-1"])'],N=()=>{if(!v)return[];const h=v.querySelectorAll(O.join(","));return Array.from(h).filter(C=>C.offsetParent!==null)},$=h=>{if(h.key==="Tab"){const C=N();if(C.length===0)return;const j=C[0],M=C[C.length-1];h.shiftKey?document.activeElement===j&&(h.preventDefault(),M.focus()):document.activeElement===M&&(h.preventDefault(),j.focus())}},k=h=>{h.key==="Escape"&&!f&&m(),$(h)};return u&&(document.body.style.overflow="hidden",setTimeout(()=>{const h=N();h.length&&h[0].focus()},0),window.addEventListener("keydown",k)),()=>{document.body.style.overflow="",w&&w.focus(),window.removeEventListener("keydown",k)}},[u,f,m,e]),u?o.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-[2px]",id:e,children:o.jsxs("div",{className:`bg-white rounded-lg shadow-lg w-full max-w-md p-4 transform transition-all duration-300 scale-100 ${b}`,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:m,className:"text-gray-500 hover:text-black absolute top-2 right-3 hover:bg-gray-200 rounded-full aspect-square w-8","aria-label":"Close modal",children:"✕"})]}),o.jsx("div",{className:"mt-3 text-sm text-gray-700",children:typeof t=="function"?t({modalData:y}):t})]})}):null}function ve({children:e}){const[n,t]=s.useState({}),[r,l]=s.useState({}),b=s.useCallback((c,d)=>{t(u=>({...u,[c]:!0})),d&&l(u=>({...u,[c]:d}))},[]),p=s.useCallback(c=>{t(d=>({...d,[c]:!1})),l(d=>{const u={...d};return delete u[c],u})},[]),f=s.useCallback(c=>!!n[c],[n]),i=s.useCallback(c=>r[c],[r]),g=s.useMemo(()=>({openModal:b,closeModal:p}),[b,p]),a=s.useMemo(()=>({isOpen:f,getModalData:i}),[f,i]);return o.jsx(R.Provider,{value:g,children:o.jsx(ee.Provider,{value:a,children:e})})}function Ce(e){const{openModal:n,closeModal:t}=D(),{isOpen:r,getModalData:l}=_();return{open:b=>n(e,b),close:()=>t(e),isOpen:r(e),data:l(e)}}let B=null,F={};function Se(e){B=e}function Ne(e){F={...F,...e}}function ke(){return F}function Ee(e,n,t=3e3,r){B?B(e,n,t,r):console.warn("Toast system is not mounted")}function Le(e){return V({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 Oe=()=>"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)}),$e=()=>{const[e,n]=s.useState([]);s.useEffect(()=>{Se((r,l,b,p)=>{const f=Oe();n(i=>[...i,{id:f,type:r,message:l,config:p}]),setTimeout(()=>{n(i=>i.filter(g=>g.id!==f))},b)})},[]);const t=ke();return o.jsx("div",{className:"fixed top-5 right-5 z-[9999] flex flex-col gap-2",children:e.map(r=>{var i,g,a,c,d,u,y,m,w,v,O,N,$;const l=((i=r.config)==null?void 0:i.icon)||((g=t.icons)==null?void 0:g[r.type])||Pe(r.type),b=((a=r.config)==null?void 0:a.bgColor)||((d=(c=t.colors)==null?void 0:c[r.type])==null?void 0:d.bg)||"bg-white dark:bg-gray-800",p=((u=r.config)==null?void 0:u.textColor)||((m=(y=t.colors)==null?void 0:y[r.type])==null?void 0:m.text)||"text-gray-700 dark:text-gray-300",f=((w=r.config)==null?void 0:w.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 ${b} ${p}`,children:[o.jsx("div",{className:f,children:l}),o.jsxs("div",{className:"flex-1 me-3",children:[((v=r.config)==null?void 0:v.title)&&o.jsx("div",{className:"font-semibold text-black",children:r.config.title}),((O=r.config)==null?void 0:O.description)&&o.jsx("div",{className:"text-sm text-gray-500",children:r.config.description}),!((N=r.config)!=null&&N.title)&&!(($=r.config)!=null&&$.description)&&o.jsx("div",{className:"text-sm",children:r.message})]}),o.jsx("button",{onClick:()=>n(k=>k.filter(h=>h.id!==r.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(Le,{size:18})})]},r.id)})})};function Pe(e){switch(e){case"success":return"✅";case"error":return"❌";case"warning":return"⚠️";case"info":return"ℹ️"}}x.Accordion=me,x.Badge=de,x.Button=oe,x.Dropdown=se,x.Input=U,x.Modal=we,x.ModalProvider=ve,x.Select=W,x.Toast=$e,x.Tooltip=ae,x.setToastDefaults=Ne,x.showToast=Ee,x.useModalActions=D,x.useModalInstance=Ce,x.useModalState=_,Object.defineProperty(x,Symbol.toStringTag,{value:"Module"})});
1
+ (function(h,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):(h=typeof globalThis<"u"?globalThis:h||self,o(h.TailwindUiKit={},h.jsxRuntime,h.React))})(this,function(h,o,s){"use strict";"use client";const F={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"},Z={flat:"rounded-none",rounded:"rounded-sm",pill:"rounded-full"},V={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"},R={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"},ee=(e,n,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(n)return"border-green-500 bg-green-50 text-green-900 placeholder-green-700 focus:ring-green-500 focus:border-green-500";switch(e){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"}},G=s.forwardRef((e,n)=>{const{label:t,id:r,inputSize:a="md",shape:p="rounded",validate:b,onValidatedChange:u,className:i="",icon:g,iconPosition:l="left",floatingLabelStyle:f,onChange:c,isValid:d,isInvalid:y,feedback:m,feedbackType:w="invalid",...v}=e,[N,k]=s.useState("default"),$=s.useCallback(M=>{const B=M.target.value,O=(b==null?void 0:b(B))??"default";k(O),u==null||u(M,O),c==null||c(M)},[b,u,c]),C=s.useMemo(()=>r||(typeof t=="string"?`input-${t.toLowerCase().replace(/\s+/g,"-")}`:`input-${Math.random().toString(36).slice(2)}`),[r,t]),x=!!f,S=F[a]||F.md,E=Z[p]||Z.flat,L=s.useMemo(()=>ee(N,d,y),[N,d,y]),D=s.useMemo(()=>l==="start"||l==="left"?"left-0 ps-3.5":"right-0 pe-3.5",[l]),_=s.useMemo(()=>g?l==="start"||l==="left"?"ps-10":"pe-10":"",[g,l]);return o.jsxs("div",{className:`w-full relative ${x?"z-0":""}`,children:[!x&&t&&o.jsx("label",{htmlFor:C,className:`block mb-1 text-sm ${d?"text-green-700 dark:text-green-500":y?"text-red-700 dark:text-red-500":"text-gray-700"}`,children:t}),o.jsxs("div",{className:"relative w-full",children:[g&&o.jsx("div",{className:`absolute inset-y-0 flex items-center ${D}`,"aria-hidden":"true",children:o.jsx("span",{className:"text-gray-500",children:g})}),o.jsx("input",{...v,id:C,ref:n,placeholder:x?" ":v.placeholder,onChange:$,className:`border peer w-full block font-normal appearance-none focus:outline-none focus:ring-0 transition text-gray-900 placeholder-gray-600 border-gray-400
2
+ ${S}
3
+ ${x&&f&&V[f]}
4
+ ${_} ${E} ${L} ${i}`}),x&&t&&f&&o.jsx("label",{htmlFor:C,className:`ms-1 ${R[f]} ${i}`,children:t})]}),m&&o.jsx("p",{className:`mt-1 text-xs ${w==="invalid"?"text-red-600 dark:text-red-500":"text-green-600 dark:text-green-500"}`,role:w==="invalid"?"alert":void 0,children:m})]})});G.displayName="Input";const te={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"},re={flat:"rounded-none",rounded:"rounded-sm",pill:"rounded-full"},ne={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"},oe={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"},se=(e,n,t)=>{if(t)return"border-red-500 bg-red-50 text-red-900 focus:ring-red-500 focus:border-red-500";if(n)return"border-green-500 bg-green-50 text-green-900 focus:ring-green-500 focus:border-green-500";const r="focus:ring focus:border";switch(e){case"error":return`${r}-red-500 border-red-500 bg-red-50`;case"warning":return`${r}-yellow-500 border-yellow-500 bg-yellow-50`;case"success":return`${r}-green-500 border-green-500 bg-green-50`;default:return"border-gray-300 focus:ring-blue-500"}},q=s.forwardRef((e,n)=>{const{label:t,id:r,inputSize:a="md",shape:p="rounded",validate:b,onValidatedChange:u,className:i="",icon:g,iconPosition:l="left",floatingLabelStyle:f,onChange:c,isValid:d,isInvalid:y,feedback:m,feedbackType:w="invalid",children:v,...N}=e,[k,$]=s.useState("default"),C=s.useId(),x=s.useMemo(()=>r||(typeof t=="string"?`select-${t.toLowerCase().replace(/\s+/g,"-")}`:C),[r,t,C]),S=O=>{const ze=O.target.value,Q=(b==null?void 0:b(ze))??"default";$(Q),u==null||u(O,Q),c==null||c(O)},E=!!f,L=te[a],D=re[p],_=se(k,d,y),M=g&&(l==="start"||l==="left")?"ps-10":g?"pe-10":"",B=l==="start"||l==="left"?"left-0 ps-3.5":"right-0 pe-3.5";return o.jsxs("div",{className:`w-full relative ${E?"z-0":""}`,children:[!E&&t&&o.jsx("label",{htmlFor:x,className:`block mb-1 text-sm ${d?"text-green-700":y?"text-red-700":"text-gray-700"}`,children:t}),o.jsxs("div",{className:"relative w-full",children:[g&&o.jsx("div",{className:`absolute inset-y-0 flex items-center ${B}`,children:o.jsx("span",{className:"text-gray-500",children:g})}),o.jsx("select",{...N,id:x,ref:n,onChange:S,className:`border peer w-full block font-normal appearance-none focus:outline-none focus:ring-0 transition text-gray-600 placeholder-[#798ba5] border-gray-400
5
+ ${L} ${M}
6
+ ${E&&f&&ne[f]}
7
+ ${D} ${_} ${i}`,children:v}),E&&t&&f&&o.jsx("label",{htmlFor:x,className:`ms-1 ${oe[f]} ${i}`,children:t})]}),m&&o.jsx("p",{className:`mt-1 text-xs ${w==="invalid"?"text-red-600":"text-green-600"}`,children:m})]})});q.displayName="Select";const le={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"},ae={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"},ie={flat:"shadow-none",rounded:"rounded-sm",pill:"rounded-full",circle:"rounded-full w-10 h-10 p-0 flex items-center justify-center"},ce=({children:e,variant:n="primary",size:t="md",type:r="button",shape:a="rounded",className:p="",isLoading:b=!1,disabled:u=!1,...i})=>{const g=u||b,l=["inline-flex items-center justify-center font-normal transition duration-150 cursor-pointer",le[n],ae[t],ie[a],a==="flat"?"shadow-none":"shadow-sm",g?"opacity-50 cursor-not-allowed pointer-events-none":"",p].filter(Boolean).join(" ");return o.jsxs("button",{type:r,className:l,disabled:g,...i,children:[b&&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]})},de=({label:e,children:n,position:t="right"})=>{const[r,a]=s.useState(!1),[p,b]=s.useState(!1),u=s.useRef(null),i=s.useRef(null),g=s.useMemo(()=>{switch(t){case"left":return"left-0";case"center":return"left-1/2 transform -translate-x-1/2";case"right":default:return"right-0"}},[t]),l=s.useCallback(d=>{const y=d.target;u.current&&!u.current.contains(y)&&i.current&&!i.current.contains(y)&&a(!1)},[]),f=s.useCallback(()=>{if(!i.current||!u.current)return;const d=i.current.getBoundingClientRect(),y=u.current.getBoundingClientRect(),m=window.innerHeight-d.bottom,w=d.top;b(m<y.height&&w>y.height)},[]);s.useEffect(()=>{if(r)return f(),window.addEventListener("resize",f),window.addEventListener("scroll",f,!0),()=>{window.removeEventListener("resize",f),window.removeEventListener("scroll",f,!0)}},[r,f]),s.useEffect(()=>(document.addEventListener("mousedown",l),()=>document.removeEventListener("mousedown",l)),[l]);const c=s.useCallback(()=>a(d=>!d),[]);return o.jsxs("div",{className:"relative flex items-center",children:[o.jsx("button",{ref:i,onClick:c,children:e}),r&&o.jsx("div",{ref:u,className:`absolute z-10 bg-white rounded-sm shadow-md overflow-hidden
8
+ ${p?"bottom-full mb-2":"top-full mt-2"}
9
+ ${g}`,children:n})]})},ue=({children:e,content:n,position:t="top",className:r="",tooltipClass:a="",tooltipStyle:p={}})=>{const b=s.useRef(null),u=s.useRef(null);s.useEffect(()=>{const g=b.current,l=u.current;if(!g||!l)return;const f=()=>{l.style.opacity="1",l.style.visibility="visible"},c=()=>{l.style.opacity="0",l.style.visibility="hidden"};return g.addEventListener("mouseenter",f),g.addEventListener("mouseleave",c),()=>{g.removeEventListener("mouseenter",f),g.removeEventListener("mouseleave",c)}},[]);const i=g=>{const l={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(g){case"top":return{...l,bottom:"100%",left:"50%",transform:"translateX(-50%)",marginBottom:"8px"};case"bottom":return{...l,top:"100%",left:"50%",transform:"translateX(-50%)",marginTop:"8px"};case"left":return{...l,right:"100%",top:"50%",transform:"translateY(-50%)",marginRight:"8px"};case"right":return{...l,left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"8px"};default:return l}};return o.jsxs("div",{ref:b,className:`relative inline-block ${r}`,children:[e,o.jsx("div",{ref:u,role:"tooltip",className:a,style:{...i(t),...p},children:n})]})},fe={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"},ge={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"},be={flat:"rounded-none",rounded:"rounded-sm",pill:"rounded-full",circle:"rounded-full p-2 w-8 h-8 justify-center"},pe=({label:e,variant:n="primary",size:t="sm",shape:r="rounded",icon:a,dismissible:p,onDismiss:b,className:u="",...i})=>{const g=!e&&!!a,l=`inline-flex items-center font-medium ${fe[n]||""} ${ge[t]||""} ${be[r]||""} ${g?"justify-center p-2 w-8 h-8":""} `+u;return o.jsxs("span",{className:l.trim(),...i,children:[a&&o.jsx("span",{className:e?"mr-1":"",children:a}),e,p&&o.jsx("button",{type:"button",onClick:b,className:"ml-2 text-xs font-bold leading-none focus:outline-none",children:"×"})]})};var H={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},K=s.createContext&&s.createContext(H),xe=["attr","size","title"];function he(e,n){if(e==null)return{};var t=ye(e,n),r,a;if(Object.getOwnPropertySymbols){var p=Object.getOwnPropertySymbols(e);for(a=0;a<p.length;a++)r=p[a],!(n.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(t[r]=e[r])}return t}function ye(e,n){if(e==null)return{};var t={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(n.indexOf(r)>=0)continue;t[r]=e[r]}return t}function P(){return P=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},P.apply(this,arguments)}function U(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),t.push.apply(t,r)}return t}function j(e){for(var n=1;n<arguments.length;n++){var t=arguments[n]!=null?arguments[n]:{};n%2?U(Object(t),!0).forEach(function(r){me(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):U(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function me(e,n,t){return n=we(n),n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function we(e){var n=ve(e,"string");return typeof n=="symbol"?n:n+""}function ve(e,n){if(typeof e!="object"||!e)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var r=t.call(e,n);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function W(e){return e&&e.map((n,t)=>s.createElement(n.tag,j({key:t},n.attr),W(n.child)))}function X(e){return n=>s.createElement(Ce,P({attr:j({},e.attr)},n),W(e.child))}function Ce(e){var n=t=>{var{attr:r,size:a,title:p}=e,b=he(e,xe),u=a||t.size||"1em",i;return t.className&&(i=t.className),e.className&&(i=(i?i+" ":"")+e.className),s.createElement("svg",P({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,r,b,{className:i,style:j(j({color:e.color||t.color},t.style),e.style),height:u,width:u,xmlns:"http://www.w3.org/2000/svg"}),p&&s.createElement("title",null,p),e.children)};return K!==void 0?s.createElement(K.Consumer,null,t=>n(t)):n(H)}function Se(e){return X({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 294.1L383 167c9.4-9.4 24.6-9.4 33.9 0s9.3 24.6 0 34L273 345c-9.1 9.1-23.7 9.3-33.1.7L95 201.1c-4.7-4.7-7-10.9-7-17s2.3-12.3 7-17c9.4-9.4 24.6-9.4 33.9 0l127.1 127z"},child:[]}]})(e)}const Ne=({items:e,allowMultipleOpen:n=!1,className:t="",tileClasses:r="",open:a,onChange:p,renderTitle:b,renderContent:u})=>{const[i,g]=s.useState(new Set),l=s.useMemo(()=>a?new Set(a):i,[a,i]),f=s.useCallback(c=>{const d=new Set(l);d.has(c)?d.delete(c):(n||d.clear(),d.add(c)),a&&p?p(Array.from(d)):g(d)},[l,a,p,n]);return o.jsx("div",{className:"accordion",role:"region","aria-multiselectable":n,children:e.map(c=>{const d=l.has(c.id),y=`accordion-heading-${c.id}`,m=`accordion-panel-${c.id}`;return o.jsxs("div",{className:`accordion-item border rounded border-gray-300 dark:border-gray-700 ${t}`,children:[o.jsxs("button",{id:y,type:"button","aria-expanded":d,"aria-controls":m,onClick:()=>f(c.id),className:`flex justify-between items-center w-full p-1.5 text-left text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 focus:outline-none gap-3 ${r}`,children:[b?b(c,d):c.title,o.jsx(Se,{})]}),o.jsx("div",{id:m,role:"region","aria-labelledby":y,hidden:!d,className:"p-4 border-t border-gray-200 dark:border-gray-700 text-gray-600 dark:text-gray-400",children:u?u(c,d):c.content})]},c.id)})})},Y=s.createContext(null),I=()=>{const e=s.useContext(Y);if(!e)throw new Error("useModalActions must be used within a ModalActionProvider");return e},J=s.createContext(null),A=()=>s.useContext(J);function ke({id:e,title:n,children:t,standalone:r=!1,showFloatingClose:a=!1,containerClasses:p="",onClose:b,disableEscapeClose:u=!1}){const i=A(),g=I(),l=!r&&!!i&&!!g,[f,c]=s.useState(!1),d=l?i.isOpen(e):f,y=l?i.getModalData(e):null,m=s.useCallback(()=>{l?g.closeModal(e):c(!1),b==null||b()},[l,g,e,b]);return s.useEffect(()=>{const w=document.activeElement;console.log(e);const v=document.getElementById(e);console.log("modalEl=",v);const N=["a[href]","button:not([disabled])","textarea:not([disabled])","input:not([disabled])","select:not([disabled])",'[tabindex]:not([tabindex="-1"])'],k=()=>{if(!v)return[];const x=v.querySelectorAll(N.join(","));return Array.from(x).filter(S=>S.offsetParent!==null)},$=x=>{if(x.key==="Tab"){const S=k();if(S.length===0)return;const E=S[0],L=S[S.length-1];x.shiftKey?document.activeElement===E&&(x.preventDefault(),L.focus()):document.activeElement===L&&(x.preventDefault(),E.focus())}},C=x=>{x.key==="Escape"&&!u&&m(),$(x)};return d&&(document.body.style.overflow="hidden",setTimeout(()=>{const x=k();x.length&&x[0].focus()},0),window.addEventListener("keydown",C)),()=>{document.body.style.overflow="",w&&w.focus(),window.removeEventListener("keydown",C)}},[d,u,m,e]),d?o.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-[2px]",id:e,children:o.jsxs("div",{className:`bg-white rounded-lg shadow-lg w-full max-w-md p-4 transform transition-all duration-300 scale-100 ${p}`,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:m,className:"text-gray-500 hover:text-black absolute top-2 right-3 hover:bg-gray-200 rounded-full aspect-square w-8","aria-label":"Close modal",children:"✕"})]}),o.jsx("div",{className:"mt-3 text-sm text-gray-700",children:typeof t=="function"?t({modalData:y}):t})]})}):null}function Ee({children:e}){const[n,t]=s.useState({}),[r,a]=s.useState({}),p=s.useCallback((f,c)=>{t(d=>({...d,[f]:!0})),c&&a(d=>({...d,[f]:c}))},[]),b=s.useCallback(f=>{t(c=>({...c,[f]:!1})),a(c=>{const d={...c};return delete d[f],d})},[]),u=s.useCallback(f=>!!n[f],[n]),i=s.useCallback(f=>r[f],[r]),g=s.useMemo(()=>({openModal:p,closeModal:b}),[p,b]),l=s.useMemo(()=>({isOpen:u,getModalData:i}),[u,i]);return o.jsx(Y.Provider,{value:g,children:o.jsx(J.Provider,{value:l,children:e})})}function $e(e){const{openModal:n,closeModal:t}=I(),{isOpen:r,getModalData:a}=A();return{open:p=>n(e,p),close:()=>t(e),isOpen:r(e),data:a(e)}}let T=null,z={};function Le(e){T=e}function Oe(e){z={...z,...e}}function Me(){return z}function Pe(e,n,t=3e3,r){T?T(e,n,t,r):console.warn("Toast system is not mounted")}function je(e){return X({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 Ie=()=>"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)}),Ae=()=>{const[e,n]=s.useState([]);s.useEffect(()=>{Le((r,a,p,b)=>{const u=Ie();n(i=>[...i,{id:u,type:r,message:a,config:b}]),setTimeout(()=>{n(i=>i.filter(g=>g.id!==u))},p)})},[]);const t=Me();return o.jsx("div",{className:"fixed top-5 right-5 z-[9999] flex flex-col gap-2",children:e.map(r=>{var i,g,l,f,c,d,y,m,w,v,N,k,$;const a=((i=r.config)==null?void 0:i.icon)||((g=t.icons)==null?void 0:g[r.type])||Te(r.type),p=((l=r.config)==null?void 0:l.bgColor)||((c=(f=t.colors)==null?void 0:f[r.type])==null?void 0:c.bg)||"bg-white dark:bg-gray-800",b=((d=r.config)==null?void 0:d.textColor)||((m=(y=t.colors)==null?void 0:y[r.type])==null?void 0:m.text)||"text-gray-700 dark:text-gray-300",u=((w=r.config)==null?void 0:w.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 ${p} ${b}`,children:[o.jsx("div",{className:u,children:a}),o.jsxs("div",{className:"flex-1 me-3",children:[((v=r.config)==null?void 0:v.title)&&o.jsx("div",{className:"font-semibold text-black",children:r.config.title}),((N=r.config)==null?void 0:N.description)&&o.jsx("div",{className:"text-sm text-gray-500",children:r.config.description}),!((k=r.config)!=null&&k.title)&&!(($=r.config)!=null&&$.description)&&o.jsx("div",{className:"text-sm",children:r.message})]}),o.jsx("button",{onClick:()=>n(C=>C.filter(x=>x.id!==r.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(je,{size:18})})]},r.id)})})};function Te(e){switch(e){case"success":return"✅";case"error":return"❌";case"warning":return"⚠️";case"info":return"ℹ️"}}h.Accordion=Ne,h.Badge=pe,h.Button=ce,h.Dropdown=de,h.Input=G,h.Modal=ke,h.ModalProvider=Ee,h.Select=q,h.Toast=Ae,h.Tooltip=ue,h.setToastDefaults=Oe,h.showToast=Pe,h.useModalActions=I,h.useModalInstance=$e,h.useModalState=A,Object.defineProperty(h,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tailwind-ux-kit",
3
- "version": "1.0.42",
3
+ "version": "1.0.44",
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",