@shlinkio/shlink-frontend-kit 0.9.9 → 0.9.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/tailwind.js CHANGED
@@ -1,24 +1,24 @@
1
- import { jsxs as p, jsx as n, Fragment as _ } from "react/jsx-runtime";
2
- import w, { clsx as f } from "clsx";
3
- import { useRef as T, useState as R, useEffect as B, forwardRef as y, useCallback as P, createContext as q, useContext as O, useId as $, useMemo as W } from "react";
4
- import { Link as G, NavLink as mt } from "react-router";
5
- import { faClose as pt, faEyeSlash as bt, faEye as gt, faCircleNotch as nt, faSearch as ut, faCaretDown as ht, faChevronLeft as V, faChevronRight as tt, faEllipsisV as ft, faSortAmountUp as xt, faSortAmountDown as yt, faCheck as kt } from "@fortawesome/free-solid-svg-icons";
6
- import { FontAwesomeIcon as v } from "@fortawesome/react-fontawesome";
7
- import { u as vt, b as Nt, a as Ct, e as Tt, c as It } from "./ordering-B_hekQuu.js";
8
- import { useFloating as ot, flip as Pt, offset as Ot, useClick as Dt, useInteractions as at, autoPlacement as Lt, arrow as Mt, useHover as Bt, useTransitionStyles as Rt } from "@floating-ui/react";
9
- import { createPortal as Ft } from "react-dom";
1
+ import { jsxs as m, jsx as n, Fragment as F } from "react/jsx-runtime";
2
+ import w, { clsx as y } from "clsx";
3
+ import { useRef as P, useState as M, useEffect as T, forwardRef as v, useCallback as I, createContext as X, useContext as E, useId as H, useImperativeHandle as ut, useMemo as K } from "react";
4
+ import { Link as J, NavLink as bt } from "react-router";
5
+ import { faClose as gt, faEyeSlash as ht, faEye as ft, faCircleNotch as at, faSearch as xt, faCaretDown as yt, faChevronLeft as tt, faChevronRight as et, faEllipsisV as kt, faSortAmountUp as vt, faSortAmountDown as Nt, faCheck as Ct } from "@fortawesome/free-solid-svg-icons";
6
+ import { FontAwesomeIcon as C } from "@fortawesome/react-fontawesome";
7
+ import { u as It, b as Rt, i as Pt, a as Ot, e as Lt, c as St } from "./ordering-pAYMfJPl.js";
8
+ import { useFloating as lt, flip as Dt, offset as Et, useClick as Mt, useInteractions as dt, autoPlacement as Bt, arrow as At, useHover as Tt, useTransitionStyles as _t } from "@floating-ui/react";
9
+ import { createPortal as $t } from "react-dom";
10
10
  import "reactstrap";
11
- import { faClone as Et } from "@fortawesome/free-regular-svg-icons";
12
- const Oe = ({ children: r, summary: e, summaryClasses: t, ...o }) => {
13
- const a = T(null), [l, d] = R(!1);
14
- return B(() => {
15
- const i = a.current, s = () => d(!!(i != null && i.open));
11
+ import { faClone as jt } from "@fortawesome/free-regular-svg-icons";
12
+ const _e = ({ children: r, summary: e, summaryClasses: t, ...o }) => {
13
+ const l = P(null), [a, d] = M(!1);
14
+ return T(() => {
15
+ const i = l.current, s = () => d(!!(i != null && i.open));
16
16
  return i == null || i.addEventListener("toggle", s), () => i == null ? void 0 : i.removeEventListener("toggle", s);
17
- }, []), /* @__PURE__ */ p("details", { ref: a, ...o, children: [
18
- /* @__PURE__ */ n("summary", { className: f("tw:focus-ring tw:px-1 tw:-mx-1 tw:rounded-sm", t), children: e }),
19
- l && /* @__PURE__ */ n("div", { className: "tw:mt-3 tw:flex tw:flex-col tw:gap-y-3", children: r })
17
+ }, []), /* @__PURE__ */ m("details", { ref: l, ...o, children: [
18
+ /* @__PURE__ */ n("summary", { className: y("tw:focus-ring tw:px-1 tw:-mx-1 tw:rounded-sm", t), children: e }),
19
+ a && /* @__PURE__ */ n("div", { className: "tw:mt-3 tw:flex tw:flex-col tw:gap-y-3", children: r })
20
20
  ] });
21
- }, St = y(({ className: r, ...e }, t) => /* @__PURE__ */ n(
21
+ }, Ft = v(({ className: r, ...e }, t) => /* @__PURE__ */ n(
22
22
  "div",
23
23
  {
24
24
  className: w(
@@ -29,7 +29,7 @@ const Oe = ({ children: r, summary: e, summaryClasses: t, ...o }) => {
29
29
  ...e,
30
30
  ref: t
31
31
  }
32
- )), jt = y(({ className: r, ...e }, t) => /* @__PURE__ */ n(
32
+ )), Ht = v(({ className: r, ...e }, t) => /* @__PURE__ */ n(
33
33
  "div",
34
34
  {
35
35
  className: w(
@@ -40,7 +40,7 @@ const Oe = ({ children: r, summary: e, summaryClasses: t, ...o }) => {
40
40
  ...e,
41
41
  ref: t
42
42
  }
43
- )), At = y(({ className: r, ...e }, t) => /* @__PURE__ */ n(
43
+ )), Wt = v(({ className: r, ...e }, t) => /* @__PURE__ */ n(
44
44
  "div",
45
45
  {
46
46
  className: w(
@@ -51,7 +51,7 @@ const Oe = ({ children: r, summary: e, summaryClasses: t, ...o }) => {
51
51
  ...e,
52
52
  ref: t
53
53
  }
54
- )), _t = y(({ className: r, ...e }, t) => /* @__PURE__ */ n(
54
+ )), Ut = v(({ className: r, ...e }, t) => /* @__PURE__ */ n(
55
55
  "div",
56
56
  {
57
57
  className: w(
@@ -62,83 +62,83 @@ const Oe = ({ children: r, summary: e, summaryClasses: t, ...o }) => {
62
62
  ...e,
63
63
  ref: t
64
64
  }
65
- )), C = Object.assign(_t, { Body: jt, Header: St, Footer: At }), $t = y(({ bodyClassName: r, children: e, ...t }, o) => {
66
- const { title: a, titleSize: l = "md", ...d } = "title" in t ? t : {
65
+ )), L = Object.assign(Ut, { Body: Ht, Header: Ft, Footer: Wt }), Kt = v(({ bodyClassName: r, children: e, ...t }, o) => {
66
+ const { title: l, titleSize: a = "md", ...d } = "title" in t ? t : {
67
67
  ...t,
68
68
  title: void 0,
69
69
  titleSize: void 0
70
70
  };
71
- return /* @__PURE__ */ p(C, { ...d, ref: o, children: [
72
- a && /* @__PURE__ */ p(C.Header, { children: [
73
- l === "lg" && /* @__PURE__ */ n("h4", { children: a }),
74
- l === "md" && /* @__PURE__ */ n("h5", { children: a }),
75
- l === "sm" && /* @__PURE__ */ n("h6", { children: a })
71
+ return /* @__PURE__ */ m(L, { ...d, ref: o, children: [
72
+ l && /* @__PURE__ */ m(L.Header, { children: [
73
+ a === "lg" && /* @__PURE__ */ n("h4", { children: l }),
74
+ a === "md" && /* @__PURE__ */ n("h5", { children: l }),
75
+ a === "sm" && /* @__PURE__ */ n("h6", { children: l })
76
76
  ] }),
77
- /* @__PURE__ */ n(C.Body, { className: r, children: e })
77
+ /* @__PURE__ */ n(L.Body, { className: r, children: e })
78
78
  ] });
79
79
  });
80
- function Ht({
80
+ function Gt({
81
81
  id: r,
82
82
  items: e,
83
83
  onSelectItem: t,
84
84
  onActiveItemChange: o,
85
- renderItem: a,
86
- className: l,
85
+ renderItem: l,
86
+ className: a,
87
87
  noItemsMessage: d = "No items",
88
88
  anchor: i,
89
89
  "aria-label": s = "Items",
90
90
  ...c
91
91
  }) {
92
- const [m, g] = R(0), u = P((x) => {
93
- if (g(x), o) {
94
- const [b, h] = [...e.entries()][x];
95
- o(b, h);
92
+ const [f, u] = M(0), p = I((k) => {
93
+ if (u(k), o) {
94
+ const [x, b] = [...e.entries()][k];
95
+ o(x, b);
96
96
  }
97
97
  }, [e, o]);
98
- return B(() => {
99
- const x = i == null ? void 0 : i.current;
100
- if (!x)
98
+ return T(() => {
99
+ const k = i == null ? void 0 : i.current;
100
+ if (!k)
101
101
  return;
102
- const b = (h) => {
103
- ["Enter", "ArrowUp", "ArrowDown"].includes(h.key) && h.preventDefault(), h.key === "ArrowDown" ? u(Math.min(m + 1, e.size - 1)) : h.key === "ArrowUp" ? u(Math.max(m - 1, 0)) : h.key === "Enter" && t([...e.values()][m]);
102
+ const x = (b) => {
103
+ ["Enter", "ArrowUp", "ArrowDown"].includes(b.key) && b.preventDefault(), b.key === "ArrowDown" ? p(Math.min(f + 1, e.size - 1)) : b.key === "ArrowUp" ? p(Math.max(f - 1, 0)) : b.key === "Enter" && t([...e.values()][f]);
104
104
  };
105
- return x.addEventListener("keydown", b), () => x.removeEventListener("keydown", b);
106
- }, [m, i, u, e, t]), /* @__PURE__ */ p(
107
- C,
105
+ return k.addEventListener("keydown", x), () => k.removeEventListener("keydown", x);
106
+ }, [f, i, p, e, t]), /* @__PURE__ */ m(
107
+ L,
108
108
  {
109
109
  id: r,
110
- className: w("tw:py-1 tw:flex tw:flex-col", l),
110
+ className: w("tw:py-1 tw:flex tw:flex-col", a),
111
111
  role: "listbox",
112
112
  "aria-orientation": "vertical",
113
113
  "aria-label": s,
114
114
  ...c,
115
115
  children: [
116
116
  e.size === 0 && /* @__PURE__ */ n("i", { role: "option", "aria-disabled": !0, "aria-selected": !1, "data-testid": "no-items", className: "tw:px-2 tw:py-1", children: d }),
117
- [...e.entries()].map(([x, b], h) => /* @__PURE__ */ n(
117
+ [...e.entries()].map(([k, x], b) => /* @__PURE__ */ n(
118
118
  "button",
119
119
  {
120
- id: `${r}_${x}`,
120
+ id: `${r}_${k}`,
121
121
  type: "button",
122
122
  role: "option",
123
- "aria-selected": h === m,
123
+ "aria-selected": b === f,
124
124
  className: w(
125
125
  "tw:px-2 tw:py-1 tw:text-left tw:truncate",
126
- { "tw:bg-lm-secondary tw:dark:bg-dm-secondary": h === m }
126
+ { "tw:bg-lm-secondary tw:dark:bg-dm-secondary": b === f }
127
127
  ),
128
128
  tabIndex: -1,
129
- onClick: () => t(b),
130
- onMouseOver: () => u(h),
131
- children: a(b)
129
+ onClick: () => t(x),
130
+ onMouseOver: () => p(b),
131
+ children: l(x)
132
132
  },
133
- x
133
+ k
134
134
  ))
135
135
  ]
136
136
  }
137
137
  );
138
138
  }
139
- const H = q(void 0), F = q({ responsive: !0, size: "md" }), Ut = ({ children: r, className: e }) => {
140
- const { responsive: t } = O(F);
141
- return /* @__PURE__ */ n(H.Provider, { value: { section: "head" }, children: /* @__PURE__ */ n(
139
+ const W = X(void 0), _ = X({ responsive: !0, size: "md" }), qt = ({ children: r, className: e }) => {
140
+ const { responsive: t } = E(_);
141
+ return /* @__PURE__ */ n(W.Provider, { value: { section: "head" }, children: /* @__PURE__ */ n(
142
142
  "thead",
143
143
  {
144
144
  className: w(
@@ -148,9 +148,9 @@ const H = q(void 0), F = q({ responsive: !0, size: "md" }), Ut = ({ children: r,
148
148
  children: r
149
149
  }
150
150
  ) });
151
- }, Wt = ({ children: r, className: e }) => {
152
- const { responsive: t } = O(F);
153
- return /* @__PURE__ */ n(H.Provider, { value: { section: "body" }, children: /* @__PURE__ */ n(
151
+ }, Xt = ({ children: r, className: e }) => {
152
+ const { responsive: t } = E(_);
153
+ return /* @__PURE__ */ n(W.Provider, { value: { section: "body" }, children: /* @__PURE__ */ n(
154
154
  "tbody",
155
155
  {
156
156
  className: w(
@@ -160,9 +160,9 @@ const H = q(void 0), F = q({ responsive: !0, size: "md" }), Ut = ({ children: r,
160
160
  children: r
161
161
  }
162
162
  ) });
163
- }, Kt = ({ children: r, className: e }) => {
164
- const { responsive: t } = O(F);
165
- return /* @__PURE__ */ n(H.Provider, { value: { section: "footer" }, children: /* @__PURE__ */ n(
163
+ }, Jt = ({ children: r, className: e }) => {
164
+ const { responsive: t } = E(_);
165
+ return /* @__PURE__ */ n(W.Provider, { value: { section: "footer" }, children: /* @__PURE__ */ n(
166
166
  "tfoot",
167
167
  {
168
168
  className: w(
@@ -172,19 +172,19 @@ const H = q(void 0), F = q({ responsive: !0, size: "md" }), Ut = ({ children: r,
172
172
  children: r
173
173
  }
174
174
  ) });
175
- }, zt = ({ children: r, className: e, ...t }) => {
176
- const o = O(H), a = (o == null ? void 0 : o.section) === "body", { responsive: l } = O(F);
175
+ }, Qt = ({ children: r, className: e, ...t }) => {
176
+ const o = E(W), l = (o == null ? void 0 : o.section) === "body", { responsive: a } = E(_);
177
177
  return /* @__PURE__ */ n(
178
178
  "tr",
179
179
  {
180
180
  className: w(
181
181
  "tw:group",
182
182
  {
183
- "tw:lg:table-row tw:flex tw:flex-col": l,
184
- "tw:lg:border-0 tw:border-y-2 tw:border-lm-border tw:dark:border-dm-border": l,
185
- "tw:hover:bg-lm-primary tw:dark:hover:bg-dm-primary": a,
183
+ "tw:lg:table-row tw:flex tw:flex-col": a,
184
+ "tw:lg:border-0 tw:border-y-2 tw:border-lm-border tw:dark:border-dm-border": a,
185
+ "tw:hover:bg-lm-primary tw:dark:hover:bg-dm-primary": l,
186
186
  // Use a different hover bg color depending on the table being inside a card or not
187
- "tw:group-[&]/card:hover:bg-lm-secondary tw:dark:group-[&]/card:hover:bg-dm-secondary": a
187
+ "tw:group-[&]/card:hover:bg-lm-secondary tw:dark:group-[&]/card:hover:bg-dm-secondary": l
188
188
  },
189
189
  e
190
190
  ),
@@ -192,8 +192,8 @@ const H = q(void 0), F = q({ responsive: !0, size: "md" }), Ut = ({ children: r,
192
192
  children: r
193
193
  }
194
194
  );
195
- }, qt = ({ children: r, className: e, columnName: t, type: o, ...a }) => {
196
- const l = O(H), d = o ?? ((l == null ? void 0 : l.section) !== "body" ? "th" : "td"), { responsive: i, size: s } = O(F);
195
+ }, Yt = ({ children: r, className: e, columnName: t, type: o, ...l }) => {
196
+ const a = E(W), d = o ?? ((a == null ? void 0 : a.section) !== "body" ? "th" : "td"), { responsive: i, size: s } = E(_);
197
197
  return /* @__PURE__ */ n(
198
198
  d,
199
199
  {
@@ -206,38 +206,39 @@ const H = q(void 0), F = q({ responsive: !0, size: "md" }), Ut = ({ children: r,
206
206
  "tw:p-3": s === "lg",
207
207
  "tw:border-b-1": !i,
208
208
  "tw:block tw:lg:table-cell tw:not-last:border-b-1 tw:lg:border-b-1": i,
209
+ "tw:text-left": d === "th",
209
210
  // For responsive tables, display the content in data-column attribute for md sizes and lower
210
211
  "tw:before:lg:hidden tw:before:content-[attr(data-column)] tw:before:font-bold tw:before:mr-1": i && d === "td"
211
212
  },
212
213
  e
213
214
  ),
214
- ...a,
215
+ ...l,
215
216
  children: r
216
217
  }
217
218
  );
218
- }, Gt = ({ header: r, footer: e, children: t, responsive: o = !0, size: a = "md", ...l }) => /* @__PURE__ */ n(F.Provider, { value: { responsive: o, size: a }, children: /* @__PURE__ */ p("table", { className: "tw:w-full", ...l, children: [
219
- /* @__PURE__ */ n(Ut, { children: r }),
220
- /* @__PURE__ */ n(Wt, { children: t }),
221
- e && /* @__PURE__ */ n(Kt, { children: e })
222
- ] }) }), De = Object.assign(Gt, { Row: zt, Cell: qt }), Jt = y(({
219
+ }, Zt = ({ header: r, footer: e, children: t, responsive: o = !0, size: l = "md", ...a }) => /* @__PURE__ */ n(_.Provider, { value: { responsive: o, size: l }, children: /* @__PURE__ */ m("table", { className: "tw:w-full", ...a, children: [
220
+ /* @__PURE__ */ n(qt, { children: r }),
221
+ /* @__PURE__ */ n(Xt, { children: t }),
222
+ e && /* @__PURE__ */ n(Jt, { children: e })
223
+ ] }) }), $e = Object.assign(Zt, { Row: Qt, Cell: Yt }), zt = v(({
223
224
  className: r,
224
225
  disabled: e,
225
226
  variant: t = "primary",
226
227
  size: o = "md",
227
- inline: a = !1,
228
- solid: l = !1,
228
+ inline: l = !1,
229
+ solid: a = !1,
229
230
  type: d = "button",
230
231
  ...i
231
232
  }, s) => {
232
- const c = "to" in i, m = c ? G : "button", g = c ? void 0 : d;
233
+ const c = "to" in i && typeof i.to == "string", f = c ? J : "button", u = c ? void 0 : d;
233
234
  return /* @__PURE__ */ n(
234
- m,
235
+ f,
235
236
  {
236
237
  ref: s,
237
238
  className: w(
238
239
  {
239
- "tw:inline-flex": a,
240
- "tw:flex": !a
240
+ "tw:inline-flex": l,
241
+ "tw:flex": !l
241
242
  },
242
243
  "tw:gap-2 tw:items-center tw:justify-center",
243
244
  "tw:border tw:rounded-md tw:no-underline",
@@ -254,13 +255,13 @@ const H = q(void 0), F = q({ responsive: !0, size: "md" }), Ut = ({ children: r,
254
255
  },
255
256
  {
256
257
  "tw:border-lm-brand tw:dark:border-dm-brand": t === "primary",
257
- "tw:text-lm-brand tw:dark:text-dm-brand": t === "primary" && !l,
258
+ "tw:text-lm-brand tw:dark:text-dm-brand": t === "primary" && !a,
258
259
  "tw:border-zinc-500": t === "secondary",
259
- "tw:text-zinc-500": t === "secondary" && !l,
260
+ "tw:text-zinc-500": t === "secondary" && !a,
260
261
  "tw:border-danger": t === "danger",
261
- "tw:text-danger": t === "danger" && !l
262
+ "tw:text-danger": t === "danger" && !a
262
263
  },
263
- l && {
264
+ a && {
264
265
  "tw:text-white": !0,
265
266
  "tw:bg-lm-brand tw:dark:bg-dm-brand": t === "primary",
266
267
  "tw:highlight:bg-lm-brand-dark tw:dark:highlight:bg-dm-brand-dark": t === "primary",
@@ -271,30 +272,31 @@ const H = q(void 0), F = q({ responsive: !0, size: "md" }), Ut = ({ children: r,
271
272
  "tw:highlight:bg-danger-dark tw:highlight:border-danger-dark": t === "danger"
272
273
  },
273
274
  !e && {
274
- "tw:highlight:text-white": !l,
275
+ "tw:highlight:text-white": !a,
275
276
  "tw:highlight:bg-lm-brand tw:dark:highlight:bg-dm-brand": t === "primary",
276
277
  "tw:highlight:bg-zinc-500": t === "secondary",
277
278
  "tw:highlight:bg-danger": t === "danger"
278
279
  },
279
280
  {
281
+ "tw:cursor-pointer": !e,
280
282
  "tw:pointer-events-none tw:opacity-65": e
281
283
  },
282
284
  r
283
285
  ),
284
286
  disabled: c ? void 0 : e,
285
287
  "aria-disabled": c ? e : void 0,
286
- type: g,
288
+ type: u,
287
289
  ...i
288
290
  }
289
291
  );
290
- }), lt = y(({ className: r, onChange: e, ...t }, o) => {
291
- const a = P((l) => e == null ? void 0 : e(l.target.checked, l), [e]);
292
+ }), it = v(({ className: r, onChange: e, ...t }, o) => {
293
+ const l = I((a) => e == null ? void 0 : e(a.target.checked, a), [e]);
292
294
  return /* @__PURE__ */ n(
293
295
  "input",
294
296
  {
295
297
  ref: o,
296
298
  type: "checkbox",
297
- className: f(
299
+ className: y(
298
300
  "tw:appearance-none tw:focus-ring tw:cursor-[inherit]",
299
301
  "tw:border-1 tw:border-lm-input-border tw:dark:border-dm-input-border",
300
302
  "tw:bg-lm-primary tw:dark:bg-dm-primary tw:checked:bg-lm-brand tw:dark:checked:bg-dm-brand tw:bg-no-repeat",
@@ -302,71 +304,73 @@ const H = q(void 0), F = q({ responsive: !0, size: "md" }), Ut = ({ children: r,
302
304
  "tw:group-[&]/card:bg-lm-input tw:group-[&]/card:dark:bg-dm-input",
303
305
  r
304
306
  ),
305
- onChange: a,
307
+ onChange: l,
306
308
  ...t
307
309
  }
308
310
  );
309
- }), Le = y(({ className: r, ...e }, t) => /* @__PURE__ */ n(
310
- lt,
311
+ }), je = v(({ className: r, ...e }, t) => /* @__PURE__ */ n(
312
+ it,
311
313
  {
312
314
  ref: t,
313
- className: f("tw:rounded-sm tw:w-4 tw:h-4 tw:checked:bg-(image:--tick) tw:bg-center", r),
315
+ className: y("tw:rounded-sm tw:w-4 tw:h-4 tw:checked:bg-(image:--tick) tw:bg-center", r),
314
316
  ...e
315
317
  }
316
- )), et = y(({ onClick: r, className: e, label: t = "Close" }, o) => /* @__PURE__ */ n(
318
+ )), G = v(({ onClick: r, className: e, label: t = "Close", size: o = "lg", solid: l }, a) => /* @__PURE__ */ n(
317
319
  "button",
318
320
  {
319
- ref: o,
321
+ ref: a,
320
322
  type: "button",
321
323
  onClick: r,
322
324
  className: w(
323
- "tw:opacity-50 tw:highlight:opacity-80 tw:transition-opacity",
324
- "tw:rounded-md tw:focus-ring",
325
+ "tw:rounded-md tw:focus-ring tw:cursor-pointer",
326
+ {
327
+ "tw:opacity-50 tw:highlight:opacity-80 tw:transition-opacity": !l
328
+ },
325
329
  e
326
330
  ),
327
331
  "aria-label": t,
328
- children: /* @__PURE__ */ n(v, { icon: pt, size: "xl" })
332
+ children: /* @__PURE__ */ n(C, { icon: gt, size: o === "lg" ? "xl" : o === "md" ? "lg" : void 0 })
329
333
  }
330
- )), J = y(({
334
+ )), Q = v(({
331
335
  borderless: r = !1,
332
336
  size: e = "md",
333
337
  feedback: t,
334
- className: o,
338
+ variant: o = "default",
339
+ className: l,
335
340
  disabled: a,
336
- ...l
337
- }, d) => /* @__PURE__ */ n(
341
+ ...d
342
+ }, i) => /* @__PURE__ */ n(
338
343
  "input",
339
344
  {
340
- ref: d,
345
+ ref: i,
341
346
  className: w(
342
- "tw:w-full",
343
- {
344
- "tw:focus-ring": !t,
345
- "tw:focus-ring-danger": t === "error"
346
- },
347
- {
348
- "tw:px-2 tw:py-1 tw:text-sm": e === "sm",
349
- "tw:px-3 tw:py-1.5": e === "md",
350
- "tw:px-4 tw:py-2 tw:text-xl": e === "lg"
351
- },
352
- {
353
- "tw:rounded-md tw:border": !r,
354
- "tw:border-lm-input-border tw:dark:border-dm-input-border": !r && !t,
355
- "tw:border-danger": !r && t === "error",
356
- "tw:bg-lm-disabled-input tw:dark:bg-dm-disabled-input": a,
357
- "tw:bg-lm-primary tw:dark:bg-dm-primary": !a,
358
- // Use different background color when rendered inside a card
359
- "tw:group-[&]/card:bg-lm-input tw:group-[&]/card:dark:bg-dm-input": !a
360
- },
361
- o
347
+ "tw:outline-none",
348
+ o === "default" && [
349
+ "tw:w-full",
350
+ {
351
+ "tw:focus-ring": !t,
352
+ "tw:focus-ring-danger": t === "error",
353
+ "tw:px-2 tw:py-1 tw:text-sm": e === "sm",
354
+ "tw:px-3 tw:py-1.5": e === "md",
355
+ "tw:px-4 tw:py-2 tw:text-xl": e === "lg",
356
+ "tw:rounded-md tw:border": !r,
357
+ "tw:border-lm-input-border tw:dark:border-dm-input-border": !r && !t,
358
+ "tw:border-danger": !r && t === "error",
359
+ "tw:bg-lm-disabled-input tw:dark:bg-dm-disabled-input": a,
360
+ "tw:bg-lm-primary tw:dark:bg-dm-primary": !a,
361
+ // Use different background color when rendered inside a card
362
+ "tw:group-[&]/card:bg-lm-input tw:group-[&]/card:dark:bg-dm-input": !a
363
+ }
364
+ ],
365
+ l
362
366
  ),
363
367
  disabled: a,
364
- ...l
368
+ ...d
365
369
  }
366
- )), Q = ({ required: r, children: e, className: t, ...o }) => /* @__PURE__ */ p("label", { className: f("tw:cursor-pointer", t), ...o, children: [
370
+ )), Y = ({ required: r, children: e, className: t, ...o }) => /* @__PURE__ */ m("label", { className: y("tw:cursor-pointer", t), ...o, children: [
367
371
  e,
368
372
  r && /* @__PURE__ */ n("span", { className: "tw:text-danger tw:ml-1", "data-testid": "required-indicator", children: "*" })
369
- ] }), X = ({ children: r, helpText: e, error: t, "data-testid": o }) => /* @__PURE__ */ p("div", { className: "tw:flex tw:flex-col tw:gap-1", "data-testid": o, children: [
373
+ ] }), Z = ({ children: r, helpText: e, error: t, "data-testid": o }) => /* @__PURE__ */ m("div", { className: "tw:flex tw:flex-col tw:gap-1", "data-testid": o, children: [
370
374
  r,
371
375
  e && /* @__PURE__ */ n(
372
376
  "small",
@@ -377,40 +381,40 @@ const H = q(void 0), F = q({ responsive: !0, size: "md" }), Ut = ({ children: r,
377
381
  }
378
382
  ),
379
383
  t && /* @__PURE__ */ n("span", { "data-testid": o ? `${o}-error` : "error", className: "tw:text-danger", children: t })
380
- ] }), Me = y(({ label: r, inputClassName: e, required: t, hiddenRequired: o, error: a, helpText: l, "data-testid": d, ...i }, s) => {
381
- const c = $();
382
- return /* @__PURE__ */ p(X, { error: a, helpText: l, "data-testid": d, children: [
383
- /* @__PURE__ */ n(Q, { htmlFor: c, required: t, children: r }),
384
+ ] }), Fe = v(({ label: r, inputClassName: e, required: t, hiddenRequired: o, error: l, helpText: a, "data-testid": d, ...i }, s) => {
385
+ const c = H();
386
+ return /* @__PURE__ */ m(Z, { error: l, helpText: a, "data-testid": d, children: [
387
+ /* @__PURE__ */ n(Y, { htmlFor: c, required: t, children: r }),
384
388
  /* @__PURE__ */ n(
385
- J,
389
+ Q,
386
390
  {
387
391
  ref: s,
388
392
  id: c,
389
393
  className: e,
390
394
  required: t || o,
391
- feedback: a ? "error" : void 0,
395
+ feedback: l ? "error" : void 0,
392
396
  ...i
393
397
  }
394
398
  )
395
399
  ] });
396
- }), Qt = y(({ containerClassName: r, className: e, size: t, ...o }, a) => {
397
- const [l, d, , i] = vt(!1), s = T(null), c = P(({ relatedTarget: m }) => {
398
- var g;
399
- (g = s.current) != null && g.contains(m) || i();
400
+ }), Vt = v(({ containerClassName: r, className: e, size: t, ...o }, l) => {
401
+ const [a, d, , i] = It(!1), s = P(null), c = I(({ relatedTarget: f }) => {
402
+ var u;
403
+ (u = s.current) != null && u.contains(f) || i();
400
404
  }, [s, i]);
401
- return /* @__PURE__ */ p(
405
+ return /* @__PURE__ */ m(
402
406
  "div",
403
407
  {
404
- className: f("tw:group tw:relative", r),
408
+ className: y("tw:group tw:relative", r),
405
409
  ref: s,
406
410
  onBlurCapture: c,
407
411
  children: [
408
412
  /* @__PURE__ */ n(
409
- J,
413
+ Q,
410
414
  {
411
- ref: a,
412
- type: l ? "text" : "password",
413
- className: f(
415
+ ref: l,
416
+ type: a ? "text" : "password",
417
+ className: y(
414
418
  {
415
419
  "tw:pr-10": t !== "sm",
416
420
  "tw:pr-8": t === "sm"
@@ -427,10 +431,10 @@ const H = q(void 0), F = q({ responsive: !0, size: "md" }), Ut = ({ children: r,
427
431
  {
428
432
  type: "button",
429
433
  onClick: d,
430
- title: l ? "Hide password" : "Show password",
431
- "aria-label": l ? "Hide password" : "Show password",
432
- className: f(
433
- "tw:absolute tw:top-[50%] tw:translate-y-[-50%] tw:px-1",
434
+ title: a ? "Hide password" : "Show password",
435
+ "aria-label": a ? "Hide password" : "Show password",
436
+ className: y(
437
+ "tw:absolute tw:top-[50%] tw:translate-y-[-50%] tw:px-1 tw:cursor-pointer",
434
438
  "tw:text-placeholder tw:hover:text-lm-text tw:hover:dark:text-dm-text tw:transition-colors",
435
439
  {
436
440
  "tw:right-1.5": t !== "sm",
@@ -438,35 +442,35 @@ const H = q(void 0), F = q({ responsive: !0, size: "md" }), Ut = ({ children: r,
438
442
  }
439
443
  ),
440
444
  tabIndex: -1,
441
- children: /* @__PURE__ */ n(v, { fixedWidth: !0, icon: l ? bt : gt })
445
+ children: /* @__PURE__ */ n(C, { fixedWidth: !0, icon: a ? ht : ft })
442
446
  }
443
447
  )
444
448
  ]
445
449
  }
446
450
  );
447
- }), Be = y(({ label: r, inputClassName: e, required: t, hiddenRequired: o, error: a, helpText: l, "data-testid": d, ...i }, s) => {
448
- const c = $();
449
- return /* @__PURE__ */ p(X, { error: a, helpText: l, "data-testid": d, children: [
450
- /* @__PURE__ */ n(Q, { htmlFor: c, required: t, children: r }),
451
+ }), He = v(({ label: r, inputClassName: e, required: t, hiddenRequired: o, error: l, helpText: a, "data-testid": d, ...i }, s) => {
452
+ const c = H();
453
+ return /* @__PURE__ */ m(Z, { error: l, helpText: a, "data-testid": d, children: [
454
+ /* @__PURE__ */ n(Y, { htmlFor: c, required: t, children: r }),
451
455
  /* @__PURE__ */ n(
452
- Qt,
456
+ Vt,
453
457
  {
454
458
  ref: s,
455
459
  id: c,
456
460
  className: e,
457
461
  required: t || o,
458
- feedback: a ? "error" : void 0,
462
+ feedback: l ? "error" : void 0,
459
463
  ...i
460
464
  }
461
465
  )
462
466
  ] });
463
- }), Xt = y(({
467
+ }), te = v(({
464
468
  className: r,
465
469
  size: e = "md",
466
470
  feedback: t,
467
471
  style: o = {},
468
- disabled: a,
469
- ...l
472
+ disabled: l,
473
+ ...a
470
474
  }, d) => /* @__PURE__ */ n(
471
475
  "select",
472
476
  {
@@ -487,9 +491,9 @@ const H = q(void 0), F = q({ responsive: !0, size: "md" }), Ut = ({ children: r,
487
491
  "tw:pl-2 tw:py-1 tw:text-sm": e === "sm",
488
492
  "tw:pl-3 tw:py-1.5": e === "md",
489
493
  "tw:pl-4 tw:py-2 tw:text-xl": e === "lg",
490
- "tw:bg-lm-disabled-input tw:dark:bg-dm-disabled-input": a,
494
+ "tw:bg-lm-disabled-input tw:dark:bg-dm-disabled-input": l,
491
495
  // Apply different background color when rendered inside a card
492
- "tw:bg-lm-primary tw:dark:bg-dm-primary tw:group-[&]/card:bg-lm-input tw:group-[&]/card:dark:bg-dm-input": !a
496
+ "tw:bg-lm-primary tw:dark:bg-dm-primary tw:group-[&]/card:bg-lm-input tw:group-[&]/card:dark:bg-dm-input": !l
493
497
  },
494
498
  r
495
499
  ),
@@ -497,43 +501,45 @@ const H = q(void 0), F = q({ responsive: !0, size: "md" }), Ut = ({ children: r,
497
501
  ...o,
498
502
  background: "right 0.75rem center / 16px 12px"
499
503
  },
500
- disabled: a,
501
- ...l
504
+ disabled: l,
505
+ ...a
502
506
  }
503
- )), Re = y(({ selectClassName: r, label: e, error: t, helpText: o, required: a, hiddenRequired: l, "data-testid": d, ...i }, s) => {
504
- const c = $();
505
- return /* @__PURE__ */ p(X, { error: t, helpText: o, "data-testid": d, children: [
506
- /* @__PURE__ */ n(Q, { htmlFor: c, required: a, children: e }),
507
+ )), We = v(({ selectClassName: r, label: e, error: t, helpText: o, required: l, hiddenRequired: a, "data-testid": d, ...i }, s) => {
508
+ const c = H();
509
+ return /* @__PURE__ */ m(Z, { error: t, helpText: o, "data-testid": d, children: [
510
+ /* @__PURE__ */ n(Y, { htmlFor: c, required: l, children: e }),
507
511
  /* @__PURE__ */ n(
508
- Xt,
512
+ te,
509
513
  {
510
514
  ref: s,
511
515
  id: c,
512
516
  className: r,
513
- required: a || l,
517
+ required: l || a,
514
518
  feedback: t ? "error" : void 0,
515
519
  ...i
516
520
  }
517
521
  )
518
522
  ] });
519
- }), Yt = y(({
523
+ }), ee = v(({
520
524
  onChange: r,
521
525
  containerClassName: e,
522
526
  inputClassName: t,
523
527
  // Inputs have a default 'md' size. Search inputs are usually 'lg' as they are rendered at the top of sections
524
528
  size: o = "lg",
525
- loading: a = !1,
526
- ...l
527
- }, d) => {
528
- const { setTimeout: i, clearCurrentTimeout: s } = Nt(500), c = P((m) => {
529
- m ? i(() => r(m)) : (s(), r(m));
530
- }, [s, r, i]);
531
- return /* @__PURE__ */ p("div", { className: w("tw:group tw:relative tw:focus-within:z-10", e), children: [
532
- /* @__PURE__ */ n(
533
- v,
529
+ loading: l = !1,
530
+ variant: a = "default",
531
+ immediate: d = !1,
532
+ ...i
533
+ }, s) => {
534
+ const { setTimeout: c, clearCurrentTimeout: f } = Rt(500), u = I((p) => {
535
+ !p || d ? (f(), r(p)) : c(() => r(p));
536
+ }, [f, d, r, c]);
537
+ return /* @__PURE__ */ m("div", { className: w("tw:group tw:relative tw:focus-within:z-10", e), children: [
538
+ a === "default" && /* @__PURE__ */ n(
539
+ C,
534
540
  {
535
- icon: a ? nt : ut,
536
- spin: a,
541
+ icon: l ? at : xt,
542
+ spin: l,
537
543
  className: w(
538
544
  "tw:absolute tw:top-[50%] tw:translate-y-[-50%] tw:transition-colors",
539
545
  "tw:text-placeholder tw:group-focus-within:text-lm-text tw:dark:group-focus-within:text-dm-text",
@@ -545,84 +551,90 @@ const H = q(void 0), F = q({ responsive: !0, size: "md" }), Ut = ({ children: r,
545
551
  }
546
552
  ),
547
553
  /* @__PURE__ */ n(
548
- J,
554
+ Q,
549
555
  {
550
- ref: d,
556
+ ref: s,
557
+ variant: a,
551
558
  type: "search",
552
559
  className: w(
553
- {
560
+ a === "default" && {
554
561
  "tw:pl-9": o !== "sm",
555
562
  "tw:pl-7": o === "sm"
556
563
  },
557
564
  t
558
565
  ),
559
566
  placeholder: "Search...",
560
- onChange: (m) => c(m.target.value),
567
+ onChange: (p) => u(p.target.value),
561
568
  size: o,
562
- ...l
569
+ ...i
563
570
  }
564
571
  )
565
572
  ] });
566
573
  });
567
- function Fe({
574
+ function re({
568
575
  searchResults: r,
569
576
  onSearch: e,
570
577
  onSelectSearchResult: t,
571
578
  renderSearchResult: o,
572
- size: a = "md",
579
+ size: l = "md",
573
580
  // SearchInput defaults its size to 'lg'. Change it to 'md'
574
- listboxSpan: l = "full",
581
+ listboxSpan: a = "full",
575
582
  onFocus: d,
576
- ...i
577
- }) {
578
- const s = T(null), c = $(), [m, g] = R(), u = W(
579
- () => r ? m ?? [...r.keys()][0] : void 0,
580
- [m, r]
581
- ), x = P((b) => {
582
- t(b), e(""), s.current.value = "";
583
- }, [e, t]);
584
- return /* @__PURE__ */ p(
583
+ containerClassName: i,
584
+ listboxClassName: s,
585
+ ...c
586
+ }, f) {
587
+ const u = H(), [p, k] = M(), x = P(null);
588
+ ut(f, () => x.current);
589
+ const b = K(
590
+ () => r ? p ?? [...r.keys()][0] : void 0,
591
+ [p, r]
592
+ ), h = I((g) => {
593
+ t(g), e(""), x.current.value = "";
594
+ }, [e, t, x]);
595
+ return /* @__PURE__ */ m(
585
596
  "div",
586
597
  {
587
- className: "tw:relative",
588
- onBlur: (b) => {
589
- b.currentTarget.contains(b.relatedTarget) || e("");
598
+ className: w("tw:relative", i),
599
+ onBlur: (g) => {
600
+ g.currentTarget.contains(g.relatedTarget) || e("");
590
601
  },
591
602
  children: [
592
603
  /* @__PURE__ */ n(
593
- Yt,
604
+ ee,
594
605
  {
595
606
  onChange: e,
596
- size: a,
597
- ref: s,
607
+ size: l,
608
+ ref: x,
598
609
  role: "combobox",
599
610
  "aria-autocomplete": "list",
600
611
  "aria-expanded": !!r,
601
- "aria-controls": c,
602
- "aria-activedescendant": u ? `${c}_${u}` : void 0,
612
+ "aria-controls": u,
613
+ "aria-activedescendant": b ? `${u}_${b}` : void 0,
603
614
  autoComplete: "off",
604
615
  autoCorrect: "off",
605
- onFocus: (b) => {
606
- d == null || d(b), e(b.target.value);
616
+ onFocus: (g) => {
617
+ d == null || d(g), e(g.target.value);
607
618
  },
608
- ...i
619
+ ...c
609
620
  }
610
621
  ),
611
622
  r && /* @__PURE__ */ n(
612
- Ht,
623
+ Gt,
613
624
  {
614
- id: c,
625
+ id: u,
615
626
  items: r,
616
- anchor: s,
617
- onSelectItem: x,
618
- onActiveItemChange: g,
627
+ anchor: x,
628
+ onSelectItem: h,
629
+ onActiveItemChange: k,
619
630
  renderItem: o,
620
631
  className: w(
621
632
  "tw:absolute tw:top-full tw:mt-1 tw:z-10",
622
633
  {
623
- "tw:min-w-60 tw:max-w-full": l === "auto",
624
- "tw:w-full": l === "full"
625
- }
634
+ "tw:min-w-60": a === "auto",
635
+ "tw:w-full": a === "full"
636
+ },
637
+ s
626
638
  ),
627
639
  "aria-label": "Matching items",
628
640
  noItemsMessage: "No results found matching search"
@@ -632,11 +644,132 @@ function Fe({
632
644
  }
633
645
  );
634
646
  }
635
- const Ee = y(({ className: r, ...e }, t) => /* @__PURE__ */ n(
636
- lt,
647
+ const ne = v(re), oe = ({ name: r, color: e }) => /* @__PURE__ */ m("div", { className: "tw:inline-flex tw:items-center tw:gap-2", children: [
648
+ /* @__PURE__ */ n("div", { "aria-hidden": !0, className: "tw:w-4 tw:h-4 tw:rounded-full", style: { backgroundColor: e } }),
649
+ r
650
+ ] }), ae = ({ tag: r, color: e, size: t, onRemove: o }) => (
651
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions
652
+ /* @__PURE__ */ m(
653
+ "li",
654
+ {
655
+ className: y(
656
+ "tw:inline-flex tw:items-center tw:gap-1 tw:font-bold tw:[&]:rounded-md",
657
+ {
658
+ "tw:px-1 tw:text-sm": t === "sm",
659
+ "tw:py-0.25 tw:px-1.5": t === "md",
660
+ "tw:py-0.5 tw:px-1.5": t === "lg"
661
+ }
662
+ ),
663
+ style: {
664
+ backgroundColor: e,
665
+ color: Pt(e) ? "#000" : "#fff"
666
+ },
667
+ onClick: (l) => l.stopPropagation(),
668
+ children: [
669
+ r,
670
+ /* @__PURE__ */ n(G, { label: `Remove ${r}`, solid: !0, size: "sm", onClick: () => o(r) })
671
+ ]
672
+ }
673
+ )
674
+ ), le = /\s+/g, rt = "#99a1af", nt = (r) => r.trim().toLowerCase().replace(le, "-"), Ue = ({
675
+ tags: r,
676
+ selectedTags: e = [],
677
+ onTagsChange: t,
678
+ getColorForTag: o,
679
+ searchMode: l = "startsWith",
680
+ immutable: a = !1,
681
+ size: d = "md",
682
+ disabled: i,
683
+ containerClassName: s,
684
+ ...c
685
+ }) => {
686
+ const [f, u] = M(), p = I((h) => {
687
+ const g = h.toLowerCase().trim();
688
+ if (!g) {
689
+ u(void 0);
690
+ return;
691
+ }
692
+ const O = r.filter((N) => {
693
+ if (e.includes(N))
694
+ return !1;
695
+ const D = N.toLowerCase();
696
+ return l === "startsWith" ? D.startsWith(g) : D.includes(g);
697
+ }).slice(0, 5);
698
+ a || O.push(`Add "${g.split(",").map(nt).join(",")}" tag`), u(new Map(O.map((N) => [N, N])));
699
+ }, [a, l, e, r]), k = I((h) => {
700
+ const g = h.match(/Add\s+"([^"]+)"\s+tag/), O = ((g == null ? void 0 : g[1]) ?? h).split(",").map(nt);
701
+ t == null || t([.../* @__PURE__ */ new Set([...e, ...O])]);
702
+ }, [t, e]), x = I(
703
+ (h) => t == null ? void 0 : t(e.filter((g) => g !== h)),
704
+ [t, e]
705
+ ), b = P(null);
706
+ return (
707
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
708
+ /* @__PURE__ */ m(
709
+ "div",
710
+ {
711
+ className: y(
712
+ "tw:rounded-md tw:flex tw:flex-wrap tw:gap-1",
713
+ "tw:border tw:border-lm-input-border tw:dark:border-dm-input-border",
714
+ "tw:cursor-text tw:focus-within:focus-within-ring",
715
+ {
716
+ "tw:p-0.5": d === "sm",
717
+ "tw:p-1.25": d === "md",
718
+ "tw:p-2": d === "lg",
719
+ "tw:bg-lm-disabled-input tw:dark:bg-dm-disabled-input": i,
720
+ "tw:bg-lm-primary tw:dark:bg-dm-primary": !i,
721
+ // Use different background color when rendered inside a card
722
+ "tw:group-[&]/card:bg-lm-input tw:group-[&]/card:dark:bg-dm-input": !i
723
+ },
724
+ s
725
+ ),
726
+ onClick: (h) => {
727
+ var g;
728
+ h.target !== b.current && ((g = b.current) == null || g.focus());
729
+ },
730
+ children: [
731
+ /* @__PURE__ */ n("ul", { className: "tw:m-0 tw:p-0 tw:flex tw:flex-wrap tw:gap-1", children: e.map((h, g) => {
732
+ const O = (o == null ? void 0 : o(h)) ?? rt;
733
+ return /* @__PURE__ */ n(ae, { tag: h, color: O, onRemove: x, size: d }, `${h}${g}`);
734
+ }) }),
735
+ /* @__PURE__ */ n(
736
+ ne,
737
+ {
738
+ variant: "unstyled",
739
+ listboxSpan: "auto",
740
+ containerClassName: "tw:flex tw:items-center",
741
+ listboxClassName: "tw:whitespace-nowrap",
742
+ inputClassName: y(
743
+ "tw:no-clear-button",
744
+ {
745
+ "tw:px-1 tw:text-sm": d === "sm",
746
+ "tw:px-2 tw:h-[26px]": d === "md",
747
+ "tw:px-3 tw:text-xl": d === "lg"
748
+ }
749
+ ),
750
+ searchResults: f,
751
+ onSearch: p,
752
+ onSelectSearchResult: k,
753
+ renderSearchResult: (h) => h.match(/Add\s+"([^"]+)"\s+tag/) ? h : /* @__PURE__ */ n(oe, { name: h, color: (o == null ? void 0 : o(h)) ?? rt }),
754
+ onKeyDown: (h) => {
755
+ h.key === "Backspace" && !f && x(e[e.length - 1]);
756
+ },
757
+ size: d,
758
+ disabled: i,
759
+ ref: b,
760
+ immediate: !0,
761
+ ...c
762
+ }
763
+ )
764
+ ]
765
+ }
766
+ )
767
+ );
768
+ }, Ke = v(({ className: r, ...e }, t) => /* @__PURE__ */ n(
769
+ it,
637
770
  {
638
771
  ref: t,
639
- className: f(
772
+ className: y(
640
773
  "tw:rounded-full tw:w-8 tw:h-4",
641
774
  "tw:bg-(image:--circle-grey-dark) tw:dark:bg-(image:--circle-grey-light) tw:checked:bg-(image:--circle-white)",
642
775
  "tw:focus-visible:not-checked:bg-(image:--circle-light-blue)",
@@ -645,20 +778,22 @@ const Ee = y(({ className: r, ...e }, t) => /* @__PURE__ */ n(
645
778
  ),
646
779
  ...e
647
780
  }
648
- )), Zt = ({ className: r, selected: e, disabled: t, ...o }) => {
649
- const a = "to" in o;
781
+ )), de = ({ className: r, selected: e, disabled: t, ...o }) => {
782
+ const l = "to" in o && typeof o.to == "string";
650
783
  return (
651
784
  // @ts-expect-error The Tag is inferred from provided props, so they should always match
652
785
  /* @__PURE__ */ n(
653
- a ? G : "button",
786
+ l ? J : "button",
654
787
  {
655
788
  role: "menuitem",
656
789
  "data-selected": e,
657
- className: f(
658
- "tw:flex tw:items-center tw:w-full tw:px-3 tw:py-1.5 tw:focus-ring",
790
+ className: y(
791
+ "tw:flex tw:items-center tw:gap-2",
792
+ "tw:w-full tw:px-3 tw:py-1.5 tw:focus-ring",
659
793
  // Overwrite link styles in case a Link is being used
660
794
  "tw:no-underline tw:text-inherit",
661
795
  {
796
+ "tw:cursor-pointer": !t,
662
797
  "tw:pointer-events-none tw:opacity-50": t,
663
798
  "tw:bg-lm-secondary tw:dark:bg-dm-secondary": e && !t,
664
799
  "tw:highlight:bg-lm-secondary tw:dark:highlight:bg-dm-secondary tw:highlight:z-1 tw:relative": !e && !t
@@ -666,109 +801,110 @@ const Ee = y(({ className: r, ...e }, t) => /* @__PURE__ */ n(
666
801
  r
667
802
  ),
668
803
  tabIndex: -1,
669
- disabled: a ? void 0 : t,
670
- "aria-disabled": a ? t : void 0,
804
+ disabled: l ? void 0 : t,
805
+ "aria-disabled": l ? t : void 0,
671
806
  ...o
672
807
  }
673
808
  )
674
809
  );
675
- }, Vt = () => (
810
+ }, ie = () => (
676
811
  // TODO Use an <hr /> tag once tailwind styles are not set with !important
677
812
  /* @__PURE__ */ n("div", { role: "separator", "aria-hidden": !0, className: "tw:border-b tw:border-lm-border tw:dark:border-dm-border tw:my-2" })
678
- ), te = ({ children: r }) => /* @__PURE__ */ n(
813
+ ), se = ({ children: r }) => /* @__PURE__ */ n(
679
814
  "div",
680
815
  {
681
816
  role: "heading",
682
817
  "aria-level": 6,
683
818
  "aria-hidden": !0,
684
- className: f(
819
+ className: y(
685
820
  "tw:flex tw:items-center tw:w-full tw:px-3 tw:py-1.5",
686
821
  "tw:text-gray-500 tw:text-sm tw:font-semibold"
687
822
  ),
688
823
  onClick: (e) => e.stopPropagation(),
689
824
  children: r
690
825
  }
691
- ), ee = ({ className: r, onClick: e, ...t }) => (
826
+ ), ce = ({ className: r, onClick: e, ...t }) => (
692
827
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
693
828
  /* @__PURE__ */ n(
694
829
  "div",
695
830
  {
696
- className: f("tw:px-3 tw:py-1.5", r),
831
+ className: y("tw:px-3 tw:py-1.5", r),
697
832
  ...t,
698
833
  onClick: (o) => {
699
834
  o.stopPropagation(), e == null || e(o);
700
835
  }
701
836
  }
702
837
  )
703
- ), re = ({
838
+ ), we = ({
704
839
  children: r,
705
840
  className: e,
706
841
  focusableElementsSelector: t = '[role="menuitem"]:not([disabled]):not([aria-disabled])',
707
842
  focusFirstItem: o = !1,
708
- ...a
843
+ ...l
709
844
  }) => {
710
- const l = T(null);
711
- return Ct(l, { elementsSelector: t, focusFirstItem: o }), /* @__PURE__ */ n(C, { ref: l, role: "menu", className: f("tw:py-2 tw:whitespace-nowrap", e), ...a, children: r });
712
- }, j = Object.assign(re, { Item: Zt, Separator: Vt, Title: te, Misc: ee }), ne = ({
845
+ const a = P(null);
846
+ return Ot(a, { elementsSelector: t, focusFirstItem: o }), /* @__PURE__ */ n(L, { ref: a, role: "menu", className: y("tw:py-2 tw:whitespace-nowrap", e), ...l, children: r });
847
+ }, $ = Object.assign(we, { Item: de, Separator: ie, Title: se, Misc: ce }), me = ({
713
848
  children: r,
714
849
  menuAlignment: e = "left",
715
850
  buttonVariant: t = "button",
716
851
  buttonContent: o,
717
- buttonClassName: a,
718
- buttonSize: l = "md",
852
+ buttonClassName: l,
853
+ buttonSize: a = "md",
719
854
  buttonDisabled: d = !1,
720
855
  containerClassName: i,
721
856
  menuClassName: s,
722
857
  caretless: c,
723
- buttonLabel: m
858
+ buttonLabel: f
724
859
  }) => {
725
- const [g, u] = R(!1), x = T(null), { refs: b, floatingStyles: h, context: D } = ot({
726
- open: g,
727
- onOpenChange: u,
860
+ const [u, p] = M(!1), k = P(null), { refs: x, floatingStyles: b, context: h } = lt({
861
+ open: u,
862
+ onOpenChange: p,
728
863
  placement: e === "right" ? "bottom-end" : "bottom-start",
729
- middleware: [Pt(), Ot(3)],
864
+ middleware: [Dt(), Et(3)],
730
865
  // eslint-disable-next-line react-compiler/react-compiler
731
- elements: { reference: x.current }
732
- }), E = Dt(D), { getReferenceProps: K, getFloatingProps: k } = at([
733
- E
734
- ]), S = $(), L = T(null);
735
- return B(() => {
736
- const N = L.current, Y = x.current;
737
- if (!N || !Y)
866
+ elements: { reference: k.current }
867
+ }), g = Mt(h), { getReferenceProps: O, getFloatingProps: N } = dt([
868
+ g
869
+ ]), D = H(), B = P(null);
870
+ return T(() => {
871
+ const R = B.current, z = k.current;
872
+ if (!R || !z)
738
873
  return () => {
739
874
  };
740
- const Z = new AbortController();
741
- return document.body.addEventListener("click", (wt) => {
742
- wt.composedPath().includes(Y) || u(!1);
743
- }, { signal: Z.signal }), () => Z.abort();
875
+ const V = new AbortController();
876
+ return document.body.addEventListener("click", (pt) => {
877
+ pt.composedPath().includes(z) || p(!1);
878
+ }, { signal: V.signal }), () => V.abort();
744
879
  }, []), // eslint-disable-next-line jsx-a11y/no-static-element-interactions
745
- /* @__PURE__ */ p(
880
+ /* @__PURE__ */ m(
746
881
  "div",
747
882
  {
748
- ref: L,
749
- className: f("tw:relative tw:inline-block", i),
750
- onKeyDown: (N) => {
751
- N.key === "Escape" && u(!1);
883
+ ref: B,
884
+ className: y("tw:relative tw:inline-block", i),
885
+ onKeyDown: (R) => {
886
+ R.key === "Escape" && p(!1);
752
887
  },
753
- onBlur: (N) => {
754
- N.relatedTarget && !L.current.contains(N.relatedTarget) && u(!1);
888
+ onBlur: (R) => {
889
+ R.relatedTarget && !B.current.contains(R.relatedTarget) && p(!1);
755
890
  },
756
891
  children: [
757
- /* @__PURE__ */ p(
892
+ /* @__PURE__ */ m(
758
893
  "button",
759
894
  {
760
- ref: x,
761
- ...K(),
895
+ ref: k,
896
+ ...O(),
762
897
  type: "button",
763
898
  "aria-haspopup": !0,
764
- "aria-expanded": g,
765
- "aria-controls": S,
766
- "aria-label": m,
899
+ "aria-expanded": u,
900
+ "aria-controls": D,
901
+ "aria-label": f,
767
902
  disabled: d,
768
- className: f(
903
+ className: y(
769
904
  "tw:flex tw:items-center tw:rounded-md tw:focus-ring",
770
905
  {
771
906
  "tw:justify-between": !c,
907
+ "tw:cursor-pointer": !d,
772
908
  "tw:pointer-events-none tw:opacity-50": d,
773
909
  // Button variant
774
910
  "tw:border tw:border-lm-border tw:dark:border-dm-border": t === "button",
@@ -779,33 +915,33 @@ const Ee = y(({ className: r, ...e }, t) => /* @__PURE__ */ n(
779
915
  "tw:text-lm-brand tw:dark:text-dm-brand": t === "link",
780
916
  "tw:highlight:text-lm-brand-dark tw:dark:highlight:text-dm-brand-dark tw:highlight:underline": t === "link",
781
917
  // Button sizes
782
- "tw:px-1.5 tw:py-1 tw:text-sm tw:gap-x-1.5": l === "sm",
783
- "tw:px-3 tw:py-1.5 tw:gap-x-2": l === "md",
784
- "tw:px-4 tw:py-2 tw:text-lg tw:gap-x-2": l === "lg"
918
+ "tw:px-1.5 tw:py-1 tw:text-sm tw:gap-x-1.5": a === "sm",
919
+ "tw:px-3 tw:py-1.5 tw:gap-x-2": a === "md",
920
+ "tw:px-4 tw:py-2 tw:text-lg tw:gap-x-2": a === "lg"
785
921
  },
786
- a
922
+ l
787
923
  ),
788
- onKeyDown: (N) => {
789
- N.key === "ArrowDown" && (N.preventDefault(), u(!0));
924
+ onKeyDown: (R) => {
925
+ R.key === "ArrowDown" && (R.preventDefault(), p(!0));
790
926
  },
791
927
  children: [
792
928
  o,
793
- !c && /* @__PURE__ */ n(v, { icon: ht, size: "xs" })
929
+ !c && /* @__PURE__ */ n(C, { icon: yt, size: "xs" })
794
930
  ]
795
931
  }
796
932
  ),
797
- g && /* @__PURE__ */ n(
933
+ u && /* @__PURE__ */ n(
798
934
  "div",
799
935
  {
800
- ref: b.setFloating,
801
- style: h,
936
+ ref: x.setFloating,
937
+ style: b,
802
938
  className: "tw:min-w-full tw:z-1000",
803
- ...k(),
939
+ ...N(),
804
940
  children: /* @__PURE__ */ n(
805
- j,
941
+ $,
806
942
  {
807
943
  className: s,
808
- id: S,
944
+ id: D,
809
945
  focusableElementsSelector: '[role="menuitem"]:not([disabled]):not([aria-disabled]),input:not([disabled]),select:not([disabled])',
810
946
  focusFirstItem: !0,
811
947
  children: r
@@ -816,12 +952,12 @@ const Ee = y(({ className: r, ...e }, t) => /* @__PURE__ */ n(
816
952
  ]
817
953
  }
818
954
  );
819
- }, I = Object.assign(ne, {
820
- Item: j.Item,
821
- Separator: j.Separator,
822
- Title: j.Title,
823
- Misc: j.Misc
824
- }), oe = y(({ className: r, disabled: e, size: t = "md", type: o = "button", ...a }, l) => /* @__PURE__ */ n(
955
+ }, S = Object.assign(me, {
956
+ Item: $.Item,
957
+ Separator: $.Separator,
958
+ Title: $.Title,
959
+ Misc: $.Misc
960
+ }), pe = v(({ className: r, disabled: e, size: t = "md", type: o = "button", ...l }, a) => /* @__PURE__ */ n(
825
961
  "button",
826
962
  {
827
963
  className: w(
@@ -832,32 +968,33 @@ const Ee = y(({ className: r, ...e }, t) => /* @__PURE__ */ n(
832
968
  "tw:px-1.5 tw:py-1 tw:text-sm": t === "sm",
833
969
  "tw:px-3 tw:py-1.5": t === "md",
834
970
  "tw:px-4 tw:py-2 tw:text-lg": t === "lg",
971
+ "tw:cursor-pointer": !e,
835
972
  "tw:pointer-events-none tw:opacity-65": e
836
973
  },
837
974
  r
838
975
  ),
839
976
  disabled: e,
840
977
  type: o,
841
- ...a,
842
- ref: l
978
+ ...l,
979
+ ref: a
843
980
  }
844
- )), dt = q(null), ae = ({ className: r, to: e, ...t }) => {
845
- const o = O(dt);
981
+ )), st = X(null), ue = ({ className: r, to: e, ...t }) => {
982
+ const o = E(st);
846
983
  return /* @__PURE__ */ n(
847
- mt,
984
+ bt,
848
985
  {
849
986
  role: "menuitem",
850
987
  to: e,
851
- className: ({ isActive: a }) => w(
988
+ className: ({ isActive: l }) => w(
852
989
  "tw:px-4 tw:pt-2 tw:pb-[calc(0.5rem-3px)] tw:border-b-3",
853
990
  "tw:highlight:text-lm-brand tw:dark:highlight:text-dm-brand",
854
991
  "tw:font-bold tw:text-center tw:no-underline tw:transition-colors",
855
992
  "tw:rounded-none tw:outline-none tw:focus-visible:inset-ring-2",
856
993
  "tw:focus-visible:inset-ring-lm-brand/50 tw:dark:focus-visible:inset-ring-dm-brand/50",
857
994
  {
858
- "tw:text-lm-brand tw:dark:text-dm-brand": a,
859
- "tw:border-b-lm-brand tw:dark:border-b-dm-brand active": a,
860
- "tw:border-b-transparent tw:text-gray-500": !a,
995
+ "tw:text-lm-brand tw:dark:text-dm-brand": l,
996
+ "tw:border-b-lm-brand tw:dark:border-b-dm-brand active": l,
997
+ "tw:border-b-transparent tw:text-gray-500": !l,
861
998
  "tw:flex-grow": o == null ? void 0 : o.fill
862
999
  },
863
1000
  r
@@ -865,18 +1002,18 @@ const Ee = y(({ className: r, ...e }, t) => /* @__PURE__ */ n(
865
1002
  ...t
866
1003
  }
867
1004
  );
868
- }, le = ({ children: r, className: e, fill: t }) => /* @__PURE__ */ n(dt.Provider, { value: { fill: t }, children: /* @__PURE__ */ n(C, { role: "menubar", className: w("tw:flex tw:overflow-hidden", e), children: r }) }), Se = Object.assign(le, { Pill: ae }), de = new Intl.NumberFormat("en-US"), ie = (r) => de.format(Number(r)), rt = 10, je = (r) => Math.ceil(r / rt) * rt, M = 2, U = "...", se = (r, e) => Array.from({ length: e - r }, (t, o) => r + o), ce = (r, e) => {
869
- const t = se(
870
- Math.max(M, r - M),
871
- Math.min(e - 1, r + M) + 1
1005
+ }, be = ({ children: r, className: e, fill: t }) => /* @__PURE__ */ n(st.Provider, { value: { fill: t }, children: /* @__PURE__ */ n(L, { role: "menubar", className: w("tw:flex tw:overflow-hidden", e), children: r }) }), Ge = Object.assign(be, { Pill: ue }), ge = new Intl.NumberFormat("en-US"), he = (r) => ge.format(Number(r)), ot = 10, qe = (r) => Math.ceil(r / ot) * ot, A = 2, U = "...", fe = (r, e) => Array.from({ length: e - r }, (t, o) => r + o), xe = (r, e) => {
1006
+ const t = fe(
1007
+ Math.max(A, r - A),
1008
+ Math.min(e - 1, r + A) + 1
872
1009
  );
873
- return r - M > M && t.unshift(U), r + M < e - 1 && t.push(U), t.unshift(1), t.push(e), t;
874
- }, A = (r) => r === U, we = (r) => A(r) ? r : ie(r), me = (r, e) => A(r) ? `${r}_${e}` : `${r}`, it = [
1010
+ return r - A > A && t.unshift(U), r + A < e - 1 && t.push(U), t.unshift(1), t.push(e), t;
1011
+ }, j = (r) => r === U, ye = (r) => j(r) ? r : he(r), ke = (r, e) => j(r) ? `${r}_${e}` : `${r}`, ct = [
875
1012
  "tw:border tw:border-r-0 tw:last:border-r tw:border-lm-border tw:dark:border-dm-border",
876
1013
  "tw:rounded-none tw:first:rounded-l tw:last:rounded-r"
877
- ], st = (r = !1) => w(
878
- it,
879
- "tw:px-3 py-2 tw:cursor-pointer tw:no-underline",
1014
+ ], wt = (r = !1) => w(
1015
+ ct,
1016
+ "tw:px-3 tw:py-2 tw:cursor-pointer tw:no-underline",
880
1017
  "tw:focus-ring tw:focus-visible:z-1",
881
1018
  !r && [
882
1019
  "tw:text-lm-brand tw:dark:text-dm-brand",
@@ -884,42 +1021,42 @@ const Ee = y(({ className: r, ...e }, t) => /* @__PURE__ */ n(
884
1021
  "tw:highlight:bg-lm-secondary tw:dark:highlight:bg-dm-secondary"
885
1022
  ],
886
1023
  r && "tw:bg-lm-main tw:dark:bg-dm-main tw:text-white"
887
- ), z = ({ children: r }) => /* @__PURE__ */ n("span", { "aria-hidden": !0, className: w(it, "tw:px-3 py-2 tw:text-gray-400"), children: r }), ct = () => /* @__PURE__ */ n(z, { children: U });
888
- function pe({ children: r, active: e, isEllipsis: t, href: o, ...a }) {
889
- const l = W(() => st(e), [e]);
890
- return t ? /* @__PURE__ */ n(ct, {}) : /* @__PURE__ */ n(G, { className: l, to: o, ...a, children: r });
1024
+ ), q = ({ children: r }) => /* @__PURE__ */ n("span", { "aria-hidden": !0, className: w(ct, "tw:px-3 tw:py-2 tw:text-gray-400"), children: r }), mt = () => /* @__PURE__ */ n(q, { children: U });
1025
+ function ve({ children: r, active: e, isEllipsis: t, href: o, ...l }) {
1026
+ const a = K(() => wt(e), [e]);
1027
+ return t ? /* @__PURE__ */ n(mt, {}) : /* @__PURE__ */ n(J, { className: a, to: o, ...l, children: r });
891
1028
  }
892
- function be({ children: r, active: e, isEllipsis: t, ...o }) {
893
- const a = W(() => st(e), [e]);
894
- return t ? /* @__PURE__ */ n(ct, {}) : /* @__PURE__ */ n("button", { type: "button", className: a, ...o, children: r });
1029
+ function Ne({ children: r, active: e, isEllipsis: t, ...o }) {
1030
+ const l = K(() => wt(e), [e]);
1031
+ return t ? /* @__PURE__ */ n(mt, {}) : /* @__PURE__ */ n("button", { type: "button", className: l, ...o, children: r });
895
1032
  }
896
- const Ae = ({ currentPage: r, pagesCount: e, ...t }) => {
897
- const o = "urlForPage" in t, a = o ? pe : be, l = P(
898
- (d) => o ? { href: A(d) ? void 0 : t.urlForPage(d) } : { onClick: () => !A(d) && t.onPageChange(d) },
1033
+ const Xe = ({ currentPage: r, pagesCount: e, ...t }) => {
1034
+ const o = "urlForPage" in t, l = o ? ve : Ne, a = I(
1035
+ (d) => o ? { href: j(d) ? void 0 : t.urlForPage(d) } : { onClick: () => !j(d) && t.onPageChange(d) },
899
1036
  [o, t]
900
1037
  );
901
- return e < 2 ? null : /* @__PURE__ */ p("div", { className: "tw:select-none tw:flex", "data-testid": "paginator", children: [
902
- r === 1 ? /* @__PURE__ */ n(z, { children: /* @__PURE__ */ n(v, { size: "xs", icon: V }) }) : /* @__PURE__ */ n(a, { ...l(Math.max(1, r - 1)), "aria-label": "Previous", children: /* @__PURE__ */ n(v, { size: "xs", icon: V }) }),
903
- ce(r, e).map((d, i) => /* @__PURE__ */ n(
904
- a,
1038
+ return e < 2 ? null : /* @__PURE__ */ m("div", { className: "tw:select-none tw:flex", "data-testid": "paginator", children: [
1039
+ r === 1 ? /* @__PURE__ */ n(q, { children: /* @__PURE__ */ n(C, { size: "xs", icon: tt }) }) : /* @__PURE__ */ n(l, { ...a(Math.max(1, r - 1)), "aria-label": "Previous", children: /* @__PURE__ */ n(C, { size: "xs", icon: tt }) }),
1040
+ xe(r, e).map((d, i) => /* @__PURE__ */ n(
1041
+ l,
905
1042
  {
906
1043
  active: d === r,
907
- isEllipsis: A(d),
908
- ...l(d),
909
- children: we(d)
1044
+ isEllipsis: j(d),
1045
+ ...a(d),
1046
+ children: ye(d)
910
1047
  },
911
- me(d, i)
1048
+ ke(d, i)
912
1049
  )),
913
- r === e ? /* @__PURE__ */ n(z, { children: /* @__PURE__ */ n(v, { size: "xs", icon: tt }) }) : /* @__PURE__ */ n(a, { ...l(Math.min(e, r + 1)), "aria-label": "Next", children: /* @__PURE__ */ n(v, { size: "xs", icon: tt }) })
1050
+ r === e ? /* @__PURE__ */ n(q, { children: /* @__PURE__ */ n(C, { size: "xs", icon: et }) }) : /* @__PURE__ */ n(l, { ...a(Math.min(e, r + 1)), "aria-label": "Next", children: /* @__PURE__ */ n(C, { size: "xs", icon: et }) })
914
1051
  ] });
915
- }, ge = ({ buttonLabel: r = "Options", buttonSize: e = "md", ...t }) => /* @__PURE__ */ n(
916
- I,
1052
+ }, Ce = ({ buttonLabel: r = "Options", buttonSize: e = "md", ...t }) => /* @__PURE__ */ n(
1053
+ S,
917
1054
  {
918
1055
  buttonContent: /* @__PURE__ */ n(
919
- v,
1056
+ C,
920
1057
  {
921
- icon: ft,
922
- className: f({ "tw:px-1": e === "sm" })
1058
+ icon: kt,
1059
+ className: y({ "tw:px-1": e === "sm" })
923
1060
  }
924
1061
  ),
925
1062
  caretless: !0,
@@ -927,102 +1064,102 @@ const Ae = ({ currentPage: r, pagesCount: e, ...t }) => {
927
1064
  buttonSize: e,
928
1065
  ...t
929
1066
  }
930
- ), _e = Object.assign(ge, {
931
- Item: I.Item,
932
- Separator: I.Separator,
933
- Title: I.Title,
934
- Misc: I.Misc
935
- }), ue = ({
1067
+ ), Je = Object.assign(Ce, {
1068
+ Item: S.Item,
1069
+ Separator: S.Separator,
1070
+ Title: S.Title,
1071
+ Misc: S.Misc
1072
+ }), Ie = ({
936
1073
  open: r,
937
1074
  children: e,
938
1075
  className: t,
939
1076
  onClose: o,
940
- ...a
1077
+ ...l
941
1078
  }) => {
942
- const l = T(null);
943
- return B(() => {
944
- var c, m;
1079
+ const a = P(null);
1080
+ return T(() => {
1081
+ var c, f;
945
1082
  const d = document.body, i = d.style.overflow, s = d.style.paddingRight;
946
1083
  if (r) {
947
- const g = window.outerWidth - d.clientWidth, u = d.scrollHeight > d.clientHeight;
948
- d.style.overflow = "hidden", u && (d.style.paddingRight = `${g}px`), (c = l.current) == null || c.showModal();
1084
+ const u = window.outerWidth - d.clientWidth, p = d.scrollHeight > d.clientHeight;
1085
+ d.style.overflow = "hidden", p && (d.style.paddingRight = `${u}px`), (c = a.current) == null || c.showModal();
949
1086
  } else
950
- (m = l.current) == null || m.close();
1087
+ (f = a.current) == null || f.close();
951
1088
  return () => {
952
1089
  d.style.overflow = i, d.style.paddingRight = s;
953
1090
  };
954
- }, [r]), Ft(
1091
+ }, [r]), $t(
955
1092
  /* @__PURE__ */ n(
956
1093
  "dialog",
957
1094
  {
958
- ref: l,
1095
+ ref: a,
959
1096
  className: w("tw:bg-transparent tw:backdrop:bg-black/50", t),
960
1097
  onCancel: (d) => {
961
1098
  d.preventDefault(), o();
962
1099
  },
963
- ...a,
1100
+ ...l,
964
1101
  children: r && e
965
1102
  }
966
1103
  ),
967
1104
  document.body
968
1105
  );
969
- }, $e = ({
1106
+ }, Qe = ({
970
1107
  open: r,
971
1108
  onClose: e,
972
1109
  variant: t = "default",
973
1110
  title: o,
974
- children: a,
975
- className: l,
1111
+ children: l,
1112
+ className: a,
976
1113
  ...d
977
1114
  }) => {
978
1115
  const {
979
1116
  size: i = "md",
980
1117
  confirmText: s = "Confirm",
981
1118
  cancelText: c = "Cancel",
982
- confirmDisabled: m,
983
- onConfirm: g,
984
- onClosed: u,
985
- ...x
986
- } = "onConfirm" in d ? d : { ...d }, [b, h] = R(r), D = T(null), E = T("cancel"), K = P((k) => {
987
- k.preventDefault(), k.stopPropagation(), E.current = "confirm", g == null || g();
988
- }, [g]);
989
- return B(() => {
1119
+ confirmDisabled: f,
1120
+ onConfirm: u,
1121
+ onClosed: p,
1122
+ ...k
1123
+ } = "onConfirm" in d ? d : { ...d }, [x, b] = M(r), h = P(null), g = P("cancel"), O = I((N) => {
1124
+ N.preventDefault(), N.stopPropagation(), g.current = "confirm", u == null || u();
1125
+ }, [u]);
1126
+ return T(() => {
990
1127
  if (r) {
991
- E.current = "cancel", h(!0);
1128
+ g.current = "cancel", b(!0);
992
1129
  return;
993
1130
  }
994
- const k = D.current;
995
- if (k) {
996
- delete D.current.dataset.open;
997
- let S = !1;
998
- const L = (N) => {
999
- S || N.target !== k || (S = !0, h(!1), u == null || u(E.current));
1131
+ const N = h.current;
1132
+ if (N) {
1133
+ delete h.current.dataset.open;
1134
+ let D = !1;
1135
+ const B = (R) => {
1136
+ D || R.target !== N || (D = !0, b(!1), p == null || p(g.current));
1000
1137
  };
1001
- return k.addEventListener("transitionend", L), () => {
1002
- k.removeEventListener("transitionend", L);
1138
+ return N.addEventListener("transitionend", B), () => {
1139
+ N.removeEventListener("transitionend", B);
1003
1140
  };
1004
1141
  }
1005
- }, [u, r]), B(() => {
1006
- const k = D.current;
1007
- b && k && (k.dataset.open = "");
1008
- }, [b]), /* @__PURE__ */ n(
1009
- ue,
1142
+ }, [p, r]), T(() => {
1143
+ const N = h.current;
1144
+ x && N && (N.dataset.open = "");
1145
+ }, [x]), /* @__PURE__ */ n(
1146
+ Ie,
1010
1147
  {
1011
- open: b,
1148
+ open: x,
1012
1149
  onClose: e,
1013
1150
  className: w(
1014
1151
  {
1015
- "tw:flex tw:w-screen tw:h-screen tw:max-w-screen tw:max-h-screen": b,
1152
+ "tw:flex tw:w-screen tw:h-screen tw:max-w-screen tw:max-h-screen": x,
1016
1153
  "tw:overflow-hidden": t === "cover"
1017
1154
  },
1018
- l
1155
+ a
1019
1156
  ),
1020
- ...x,
1157
+ ...k,
1021
1158
  children: /* @__PURE__ */ n(
1022
1159
  "form",
1023
1160
  {
1024
1161
  "data-testid": "transition-container",
1025
- ref: D,
1162
+ ref: h,
1026
1163
  className: w(
1027
1164
  "tw:w-full tw:m-auto tw:p-4 tw:sm:p-6",
1028
1165
  // CSS transitions are based on the presence of the `data-open` attribute
@@ -1037,12 +1174,12 @@ const Ae = ({ currentPage: r, pagesCount: e, ...t }) => {
1037
1174
  },
1038
1175
  { "tw:h-full": t === "cover" }
1039
1176
  ),
1040
- onSubmit: K,
1041
- children: /* @__PURE__ */ n(C, { className: w(
1177
+ onSubmit: O,
1178
+ children: /* @__PURE__ */ n(L, { className: w(
1042
1179
  "tw:w-full",
1043
1180
  { "tw:h-full tw:relative tw:overflow-auto": t === "cover" }
1044
- ), children: t === "cover" ? /* @__PURE__ */ p(_, { children: [
1045
- /* @__PURE__ */ p(
1181
+ ), children: t === "cover" ? /* @__PURE__ */ m(F, { children: [
1182
+ /* @__PURE__ */ m(
1046
1183
  "div",
1047
1184
  {
1048
1185
  className: w(
@@ -1053,22 +1190,22 @@ const Ae = ({ currentPage: r, pagesCount: e, ...t }) => {
1053
1190
  ),
1054
1191
  children: [
1055
1192
  /* @__PURE__ */ n("h5", { children: o }),
1056
- /* @__PURE__ */ n(et, { onClick: e, label: "Close dialog" })
1193
+ /* @__PURE__ */ n(G, { onClick: e, label: "Close dialog" })
1057
1194
  ]
1058
1195
  }
1059
1196
  ),
1060
- a
1061
- ] }) : /* @__PURE__ */ p(_, { children: [
1062
- /* @__PURE__ */ p(C.Header, { className: w(
1197
+ l
1198
+ ] }) : /* @__PURE__ */ m(F, { children: [
1199
+ /* @__PURE__ */ m(L.Header, { className: w(
1063
1200
  "tw:sticky tw:top-0",
1064
1201
  "tw:flex tw:items-center tw:justify-between tw:gap-x-2"
1065
1202
  ), children: [
1066
1203
  /* @__PURE__ */ n("h5", { className: w({ "tw:text-danger": t === "danger" }), children: o }),
1067
- /* @__PURE__ */ n(et, { onClick: e, label: "Close dialog" })
1204
+ /* @__PURE__ */ n(G, { onClick: e, label: "Close dialog" })
1068
1205
  ] }),
1069
- /* @__PURE__ */ n(C.Body, { children: a }),
1070
- g && /* @__PURE__ */ p(
1071
- C.Footer,
1206
+ /* @__PURE__ */ n(L.Body, { children: l }),
1207
+ u && /* @__PURE__ */ m(
1208
+ L.Footer,
1072
1209
  {
1073
1210
  "data-testid": "footer",
1074
1211
  className: w(
@@ -1076,13 +1213,13 @@ const Ae = ({ currentPage: r, pagesCount: e, ...t }) => {
1076
1213
  "tw:[&]:px-3 tw:sticky tw:bottom-0"
1077
1214
  ),
1078
1215
  children: [
1079
- /* @__PURE__ */ n(oe, { onClick: e, children: c }),
1216
+ /* @__PURE__ */ n(pe, { onClick: e, children: c }),
1080
1217
  /* @__PURE__ */ n(
1081
- Jt,
1218
+ zt,
1082
1219
  {
1083
1220
  solid: !0,
1084
1221
  variant: t === "danger" ? "danger" : "primary",
1085
- disabled: m,
1222
+ disabled: f,
1086
1223
  type: "submit",
1087
1224
  children: s
1088
1225
  }
@@ -1095,19 +1232,19 @@ const Ae = ({ currentPage: r, pagesCount: e, ...t }) => {
1095
1232
  )
1096
1233
  }
1097
1234
  );
1098
- }, He = ({ className: r, children: e, loading: t = !1, variant: o = "default" }) => /* @__PURE__ */ n($t, { className: f({ "tw:[&]:border-danger": o === "error" }, r), children: /* @__PURE__ */ p("h3", { className: f("tw:text-center", {
1235
+ }, Ye = ({ className: r, children: e, loading: t = !1, variant: o = "default" }) => /* @__PURE__ */ n(Kt, { className: y({ "tw:[&]:border-danger": o === "error" }, r), children: /* @__PURE__ */ m("h3", { className: y("tw:text-center", {
1099
1236
  "tw:text-gray-500 tw:dark:text-gray-400": o === "default",
1100
1237
  "tw:text-danger": o === "error"
1101
1238
  }), children: [
1102
- t && /* @__PURE__ */ p(_, { children: [
1103
- /* @__PURE__ */ n(v, { icon: nt, spin: !0 }),
1239
+ t && /* @__PURE__ */ m(F, { children: [
1240
+ /* @__PURE__ */ n(C, { icon: at, spin: !0 }),
1104
1241
  /* @__PURE__ */ n("span", { className: "tw:ml-2", children: e ?? "Loading..." })
1105
1242
  ] }),
1106
1243
  !t && e
1107
- ] }) }), Ue = ({ variant: r, className: e, size: t = "md", children: o }) => /* @__PURE__ */ n(
1244
+ ] }) }), Ze = ({ variant: r, className: e, size: t = "md", children: o }) => /* @__PURE__ */ n(
1108
1245
  "div",
1109
1246
  {
1110
- className: f(
1247
+ className: y(
1111
1248
  "tw:rounded-md tw:text-center",
1112
1249
  {
1113
1250
  "tw:p-2": t === "sm",
@@ -1122,47 +1259,47 @@ const Ae = ({ currentPage: r, pagesCount: e, ...t }) => {
1122
1259
  ),
1123
1260
  children: o
1124
1261
  }
1125
- ), We = ({ placement: r = "auto" } = {}) => {
1126
- const e = T(null), t = (() => {
1127
- const h = [];
1128
- return r === "auto" && h.push(Lt()), h.push(Mt({ element: e })), h;
1129
- })(), [o, a] = R(!1), { refs: l, floatingStyles: d, context: i, middlewareData: s } = ot({
1262
+ ), ze = ({ placement: r = "auto" } = {}) => {
1263
+ const e = P(null), t = (() => {
1264
+ const b = [];
1265
+ return r === "auto" && b.push(Bt()), b.push(At({ element: e })), b;
1266
+ })(), [o, l] = M(!1), { refs: a, floatingStyles: d, context: i, middlewareData: s } = lt({
1130
1267
  placement: r === "auto" ? void 0 : r,
1131
1268
  open: o,
1132
- onOpenChange: a,
1269
+ onOpenChange: l,
1133
1270
  middleware: t
1134
- }), c = Bt(i, {
1271
+ }), c = Tt(i, {
1135
1272
  delay: { open: 300 },
1136
1273
  move: !0
1137
- }), { getFloatingProps: m, getReferenceProps: g } = at([c]), { isMounted: u, styles: x } = Rt(i, { duration: 200 }), b = W(() => {
1138
- const h = i.placement.split("-")[0];
1274
+ }), { getFloatingProps: f, getReferenceProps: u } = dt([c]), { isMounted: p, styles: k } = _t(i, { duration: 200 }), x = K(() => {
1275
+ const b = i.placement.split("-")[0];
1139
1276
  return {
1140
1277
  top: "bottom",
1141
1278
  right: "left",
1142
1279
  bottom: "top",
1143
1280
  left: "right"
1144
- }[h] ?? "";
1281
+ }[b] ?? "";
1145
1282
  }, [i.placement]);
1146
1283
  return {
1147
- anchor: { ...g(), ref: l.setReference },
1284
+ anchor: { ...u(), ref: a.setReference },
1148
1285
  tooltip: {
1149
- ...m(),
1150
- refSetter: l.setFloating,
1151
- isMounted: u,
1152
- styles: { ...d, ...x },
1286
+ ...f(),
1287
+ refSetter: a.setFloating,
1288
+ isMounted: p,
1289
+ styles: { ...d, ...k },
1153
1290
  arrowPos: s.arrow,
1154
1291
  arrowRef: e,
1155
- arrowSide: b
1292
+ arrowSide: x
1156
1293
  }
1157
1294
  };
1158
- }, Ke = ({ children: r, isMounted: e, styles: t, refSetter: o, arrowRef: a, arrowPos: l, arrowSide: d, ...i }) => {
1295
+ }, Ve = ({ children: r, isMounted: e, styles: t, refSetter: o, arrowRef: l, arrowPos: a, arrowSide: d, ...i }) => {
1159
1296
  var s;
1160
1297
  return e && /* @__PURE__ */ n(
1161
1298
  "div",
1162
1299
  {
1163
1300
  role: "tooltip",
1164
1301
  "aria-live": "polite",
1165
- className: f(
1302
+ className: y(
1166
1303
  "tw:z-1000 tw:max-w-64",
1167
1304
  // Add space between anchor and tooltip via padding, so that if the tooltip is inside the anchor, you can hover it
1168
1305
  // and it's never closed
@@ -1176,14 +1313,14 @@ const Ae = ({ currentPage: r, pagesCount: e, ...t }) => {
1176
1313
  ref: o,
1177
1314
  style: t,
1178
1315
  ...i,
1179
- children: /* @__PURE__ */ p("div", { className: "tw:relative tw:px-1.5 tw:py-1 tw:rounded tw:bg-black/90 tw:text-white tw:text-center", children: [
1316
+ children: /* @__PURE__ */ m("div", { className: "tw:relative tw:px-1.5 tw:py-1 tw:rounded tw:bg-black/90 tw:text-white tw:text-center", children: [
1180
1317
  /* @__PURE__ */ n("span", { className: "tw:sr-only", children: "Tooltip: " }),
1181
1318
  r,
1182
1319
  /* @__PURE__ */ n(
1183
1320
  "div",
1184
1321
  {
1185
- ref: a,
1186
- className: f(
1322
+ ref: l,
1323
+ className: y(
1187
1324
  "tw:absolute",
1188
1325
  // Render as a triangle
1189
1326
  "tw:border-l-6 tw:border-r-6 tw:border-b-6 tw:border-l-transparent tw:border-r-transparent tw:border-b-black/90",
@@ -1195,9 +1332,9 @@ const Ae = ({ currentPage: r, pagesCount: e, ...t }) => {
1195
1332
  }
1196
1333
  ),
1197
1334
  style: {
1198
- left: l == null ? void 0 : l.x,
1199
- top: l == null ? void 0 : l.y,
1200
- [d]: `${-(((s = a.current) == null ? void 0 : s.offsetWidth) ?? 0) / 2}px`
1335
+ left: a == null ? void 0 : a.x,
1336
+ top: a == null ? void 0 : a.y,
1337
+ [d]: `${-(((s = l.current) == null ? void 0 : s.offsetWidth) ?? 0) / 2}px`
1201
1338
  },
1202
1339
  "data-testid": "arrow"
1203
1340
  }
@@ -1206,57 +1343,57 @@ const Ae = ({ currentPage: r, pagesCount: e, ...t }) => {
1206
1343
  }
1207
1344
  );
1208
1345
  };
1209
- function ze({ items: r, order: e, onChange: t, prefixed: o = !0, buttonVariant: a = "button", ...l }) {
1210
- const d = P((s) => {
1211
- const c = Tt({ currentOrderDir: e.dir, currentField: e.field, newField: s });
1346
+ function tr({ items: r, order: e, onChange: t, prefixed: o = !0, buttonVariant: l = "button", ...a }) {
1347
+ const d = I((s) => {
1348
+ const c = Lt({ currentOrderDir: e.dir, currentField: e.field, newField: s });
1212
1349
  t(c);
1213
- }, [t, e.dir, e.field]), i = a === "button";
1214
- return /* @__PURE__ */ p(
1215
- I,
1350
+ }, [t, e.dir, e.field]), i = l === "button";
1351
+ return /* @__PURE__ */ m(
1352
+ S,
1216
1353
  {
1217
- buttonContent: /* @__PURE__ */ p(_, { children: [
1354
+ buttonContent: /* @__PURE__ */ m(F, { children: [
1218
1355
  !i && "Order by",
1219
1356
  i && !e.field && /* @__PURE__ */ n("i", { children: "Order by..." }),
1220
- i && e.field && /* @__PURE__ */ p(_, { children: [
1357
+ i && e.field && /* @__PURE__ */ m(F, { children: [
1221
1358
  o && "Order by: ",
1222
1359
  r[e.field],
1223
1360
  " - ",
1224
1361
  e.dir ?? "DESC"
1225
1362
  ] })
1226
1363
  ] }),
1227
- buttonVariant: a,
1228
- ...l,
1364
+ buttonVariant: l,
1365
+ ...a,
1229
1366
  children: [
1230
- Object.entries(r).map(([s, c]) => /* @__PURE__ */ p(
1231
- I.Item,
1367
+ Object.entries(r).map(([s, c]) => /* @__PURE__ */ m(
1368
+ S.Item,
1232
1369
  {
1233
1370
  selected: e.field === s,
1234
1371
  onClick: () => d(s),
1235
- className: "tw:flex tw:items-center tw:justify-between",
1372
+ className: "tw:flex tw:items-center tw:justify-between tw:gap-2",
1236
1373
  children: [
1237
1374
  c,
1238
- e.field === s && /* @__PURE__ */ n(v, { icon: e.dir === "ASC" ? xt : yt })
1375
+ e.field === s && /* @__PURE__ */ n(C, { icon: e.dir === "ASC" ? vt : Nt })
1239
1376
  ]
1240
1377
  },
1241
1378
  s
1242
1379
  )),
1243
- /* @__PURE__ */ n(I.Separator, {}),
1244
- /* @__PURE__ */ n(I.Item, { disabled: !e.field, onClick: () => t({}), children: /* @__PURE__ */ n("i", { children: "Clear selection" }) })
1380
+ /* @__PURE__ */ n(S.Separator, {}),
1381
+ /* @__PURE__ */ n(S.Item, { disabled: !e.field, onClick: () => t({}), children: /* @__PURE__ */ n("i", { children: "Clear selection" }) })
1245
1382
  ]
1246
1383
  }
1247
1384
  );
1248
1385
  }
1249
- const qe = ({ text: r, className: e, size: t = "lg", initialCopied: o = !1, navigator_: a = globalThis.navigator, ...l }) => {
1250
- const [d, i] = It(o), s = P(
1251
- () => a.clipboard.writeText(r).then(i),
1252
- [a.clipboard, r, i]
1386
+ const er = ({ text: r, className: e, size: t = "lg", initialCopied: o = !1, navigator_: l = globalThis.navigator, ...a }) => {
1387
+ const [d, i] = St(o), s = I(
1388
+ () => l.clipboard.writeText(r).then(i),
1389
+ [l.clipboard, r, i]
1253
1390
  );
1254
1391
  return /* @__PURE__ */ n(
1255
1392
  "button",
1256
1393
  {
1257
1394
  type: "button",
1258
- className: f(
1259
- "tw:focus-ring tw:rounded-sm",
1395
+ className: y(
1396
+ "tw:focus-ring tw:rounded-sm tw:cursor-pointer",
1260
1397
  {
1261
1398
  "tw:text-md": t === "sm",
1262
1399
  "tw:text-lg": t === "md",
@@ -1267,49 +1404,50 @@ const qe = ({ text: r, className: e, size: t = "lg", initialCopied: o = !1, navi
1267
1404
  "aria-label": `Copy ${r} to clipboard`,
1268
1405
  title: "Copy to clipboard",
1269
1406
  onClick: s,
1270
- ...l,
1271
- children: /* @__PURE__ */ n(v, { icon: d ? kt : Et, fixedWidth: !0 })
1407
+ ...a,
1408
+ children: /* @__PURE__ */ n(C, { icon: d ? Ct : jt, fixedWidth: !0 })
1272
1409
  }
1273
1410
  );
1274
1411
  };
1275
1412
  export {
1276
- Jt as Button,
1277
- C as Card,
1278
- $e as CardModal,
1279
- Le as Checkbox,
1280
- et as CloseButton,
1281
- qe as CopyToClipboardButton,
1282
- Oe as Details,
1283
- I as Dropdown,
1413
+ zt as Button,
1414
+ L as Card,
1415
+ Qe as CardModal,
1416
+ je as Checkbox,
1417
+ G as CloseButton,
1418
+ er as CopyToClipboardButton,
1419
+ _e as Details,
1420
+ S as Dropdown,
1284
1421
  U as ELLIPSIS,
1285
- J as Input,
1286
- Q as Label,
1287
- Me as LabelledInput,
1288
- Be as LabelledRevealablePasswordInput,
1289
- Re as LabelledSelect,
1290
- oe as LinkButton,
1291
- Ht as Listbox,
1292
- j as Menu,
1293
- He as Message,
1294
- ue as ModalDialog,
1295
- Se as NavPills,
1296
- ze as OrderingDropdown,
1297
- Ae as Paginator,
1298
- Ue as Result,
1299
- Qt as RevealablePasswordInput,
1300
- _e as RowDropdown,
1301
- Fe as SearchCombobox,
1302
- Yt as SearchInput,
1303
- Xt as Select,
1304
- $t as SimpleCard,
1305
- De as Table,
1306
- Ee as ToggleSwitch,
1307
- Ke as Tooltip,
1308
- ie as formatNumber,
1309
- me as keyForPage,
1310
- A as pageIsEllipsis,
1311
- we as prettifyPageNumber,
1312
- ce as progressivePagination,
1313
- je as roundTen,
1314
- We as useTooltip
1422
+ Q as Input,
1423
+ Y as Label,
1424
+ Fe as LabelledInput,
1425
+ He as LabelledRevealablePasswordInput,
1426
+ We as LabelledSelect,
1427
+ pe as LinkButton,
1428
+ Gt as Listbox,
1429
+ $ as Menu,
1430
+ Ye as Message,
1431
+ Ie as ModalDialog,
1432
+ Ge as NavPills,
1433
+ tr as OrderingDropdown,
1434
+ Xe as Paginator,
1435
+ Ze as Result,
1436
+ Vt as RevealablePasswordInput,
1437
+ Je as RowDropdown,
1438
+ ne as SearchCombobox,
1439
+ ee as SearchInput,
1440
+ te as Select,
1441
+ Kt as SimpleCard,
1442
+ $e as Table,
1443
+ Ue as TagsAutocomplete,
1444
+ Ke as ToggleSwitch,
1445
+ Ve as Tooltip,
1446
+ he as formatNumber,
1447
+ ke as keyForPage,
1448
+ j as pageIsEllipsis,
1449
+ ye as prettifyPageNumber,
1450
+ xe as progressivePagination,
1451
+ qe as roundTen,
1452
+ ze as useTooltip
1315
1453
  };