@versini/ui-panel 2.2.9 → 2.2.10

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.
@@ -1,824 +1,102 @@
1
- import { jsx as l, jsxs as L, Fragment as K } from "react/jsx-runtime";
2
- import * as h from "react";
3
- import F, { useRef as N, useLayoutEffect as H, useEffect as B, useState as Q, useMemo as Z, useCallback as me, useId as ee } from "react";
4
- import n from "clsx";
5
- import { useFloating as ue, useClick as ge, useDismiss as he, useRole as fe, useInteractions as be, useMergeRefs as ye, FloatingPortal as ve, FloatingOverlay as pe, FloatingFocusManager as ke } from "@floating-ui/react";
6
- const q = "av-messagebox", R = "av-panel", X = "av-button", V = "icon", te = "button", D = "link", xe = ({
7
- type: e,
8
- size: r,
9
- labelRight: t,
10
- labelLeft: a,
11
- align: i,
12
- animated: o
13
- }) => {
14
- const s = "max-h-8 py-0 px-2", d = "max-h-9 h-8 px-3", c = "max-h-12 py-2 px-4";
15
- switch (e) {
16
- case te:
17
- case D:
18
- return n({
19
- [s]: r === "small",
20
- [d]: r === "medium",
21
- [c]: r === "large"
22
- });
23
- case V:
24
- return n("flex items-center", {
25
- "justify-center": i === "center",
26
- "justify-start": i === "left",
27
- "justify-end": i === "right",
28
- "h-6 w-6 p-0": r === "small" && !o && !(t || a),
29
- "h-6 px-1 sm:px-2": r === "small" && !o && (t || a),
30
- "h-8 w-8 p-1": r === "medium" && !o && !(t || a),
31
- "h-8 px-3": r === "medium" && !o && (t || a),
32
- "h-12 w-12 p-2": r === "large" && !o && !(t || a),
33
- "h-12 px-4": r === "large" && !o && (t || a),
34
- "h-6 py-0": r === "small" && o && !(t || a),
35
- "h-6": r === "small" && o && (t || a),
36
- "h-8 py-1": r === "medium" && o && !(t || a),
37
- "h-8": r === "medium" && o && (t || a),
38
- "h-12 py-2": r === "large" && o && !(t || a),
39
- "h-12": r === "large" && o && (t || a)
40
- });
41
- }
42
- }, we = ({
43
- type: e,
44
- size: r,
45
- labelRight: t,
46
- labelLeft: a
47
- }) => {
48
- const i = "text-sm font-medium", o = "text-base font-medium", s = "text-lg font-medium";
49
- switch (e) {
50
- case te:
51
- case D:
52
- return n({
53
- "text-center": e === D,
54
- [i]: r === "small",
55
- [o]: r === "medium",
56
- [s]: r === "large"
57
- });
58
- case V:
59
- return n({
60
- [i]: r === "small" && (t || a),
61
- [o]: r === "medium" && (t || a),
62
- [s]: r === "large" && (t || a)
63
- });
64
- }
65
- }, Ie = ({
66
- mode: e,
67
- noBackground: r,
68
- truncate: t,
69
- variant: a
70
- }) => {
71
- if (r)
72
- return "not-prose";
73
- if (a === "primary")
74
- return n("not-prose", {
75
- truncate: t,
76
- "text-copy-dark": e === "dark" || e === "system",
77
- "text-copy-light": e === "light" || e === "alt-system",
78
- "dark:text-copy-light": e === "system",
79
- "dark:text-copy-dark": e === "alt-system"
80
- });
81
- if (a === "secondary")
82
- return n("not-prose", {
83
- truncate: t,
84
- "text-copy-light": e === "dark" || e === "system",
85
- "text-copy-dark": e === "light" || e === "alt-system",
86
- "dark:text-copy-dark": e === "system",
87
- "dark:text-copy-light": e === "alt-system"
88
- });
89
- if (a === "danger")
90
- return n("not-prose", {
91
- truncate: t,
92
- "text-copy-light": e === "dark" || e === "system",
93
- "text-copy-lighter": e === "light" || e === "alt-system",
94
- "dark:text-copy-lighter": e === "system",
95
- "dark:text-copy-light": e === "alt-system"
96
- });
97
- if (a === "selected")
98
- return n("not-prose text-copy-lighter", {
99
- truncate: t
100
- });
101
- }, _e = ({
102
- mode: e,
103
- noBackground: r,
104
- variant: t
105
- }) => {
106
- if (!r) {
107
- if (t === "primary")
108
- return n({
109
- "bg-action-light": e === "dark",
110
- "bg-action-dark": e === "light",
111
- "bg-action-light dark:bg-action-dark": e === "system",
112
- "bg-action-dark dark:bg-action-light": e === "alt-system"
113
- });
114
- if (t === "secondary")
115
- return n({
116
- "bg-action-light": e === "light",
117
- "bg-action-dark": e === "dark",
118
- "bg-action-light dark:bg-action-dark": e === "alt-system",
119
- "bg-action-dark dark:bg-action-light": e === "system"
120
- });
121
- if (t === "danger")
122
- return n({
123
- "bg-action-danger-dark": e === "dark",
124
- "bg-action-danger-light": e === "light",
125
- "bg-action-danger-dark dark:bg-action-danger-light": e === "system",
126
- "bg-action-danger-light dark:bg-action-danger-dark": e === "alt-system"
127
- });
128
- if (t === "selected")
129
- return "bg-action-selected-dark";
130
- }
131
- }, Ne = ({
132
- radius: e
133
- }) => n({
134
- "rounded-full": e === "large",
135
- "rounded-md": e === "medium",
136
- "rounded-xs": e === "small"
137
- }), Ee = ({
138
- mode: e,
139
- disabled: r,
140
- variant: t
141
- }) => {
142
- if (r)
143
- return "";
144
- if (t === "primary")
145
- return n({
146
- "hover:text-copy-dark-hover": e === "dark" || e === "system",
147
- "hover:text-copy-light-hover": e === "light" || e === "alt-system",
148
- "dark:hover:text-copy-light-hover": e === "system",
149
- "dark:hover:text-copy-dark-hover": e === "alt-system",
150
- "hover:bg-action-light-hover": e === "dark",
151
- "hover:bg-action-dark-hover": e === "light",
152
- "hover:bg-action-light-hover dark:hover:bg-action-dark-hover": e === "system",
153
- "hover:bg-action-dark-hover dark:hover:bg-action-light-hover": e === "alt-system"
154
- });
155
- if (t === "secondary")
156
- return n({
157
- "hover:text-copy-light-hover": e === "dark" || e === "system",
158
- "hover:text-copy-dark-hover": e === "light" || e === "alt-system",
159
- "dark:hover:text-copy-dark-hover": e === "system",
160
- "dark:hover:text-copy-light-hover": e === "alt-system",
161
- "hover:bg-action-light-hover": e === "light",
162
- "hover:bg-action-dark-hover": e === "dark",
163
- "hover:bg-action-light-hover dark:hover:bg-action-dark-hover": e === "alt-system",
164
- "hover:bg-action-dark-hover dark:hover:bg-action-light-hover": e === "system"
165
- });
166
- if (t === "danger")
167
- return n("hover:text-copy-light-hover", {
168
- "hover:bg-action-danger-dark-hover": e === "dark",
169
- "hover:bg-action-danger-light-hover": e === "light",
170
- "hover:bg-action-danger-dark-hover dark:hover:bg-action-danger-light-hover": e === "system",
171
- "hover:bg-action-danger-light-hover dark:hover:bg-action-danger-dark-hover": e === "alt-system"
172
- });
173
- if (t === "selected")
174
- return "hover:text-copy-light-hover hover:bg-action-selected-dark-hover";
175
- }, Ce = ({
176
- mode: e,
177
- disabled: r,
178
- variant: t
179
- }) => {
180
- if (r)
181
- return "";
182
- if (t === "primary")
183
- return n({
184
- "active:text-copy-dark-active": e === "dark" || e === "system",
185
- "active:text-copy-light-active": e === "light" || e === "alt-system",
186
- "dark:active:text-copy-light-active": e === "system",
187
- "dark:active:text-copy-dark-active": e === "alt-system",
188
- "active:bg-action-light-active": e === "dark",
189
- "active:bg-action-dark-active": e === "light",
190
- "active:bg-action-light-active dark:active:bg-action-dark-active": e === "system",
191
- "active:bg-action-dark-active dark:active:bg-action-light-active": e === "alt-system"
192
- });
193
- if (t === "secondary")
194
- return n({
195
- "active:text-copy-light-active": e === "dark" || e === "system",
196
- "active:text-copy-dark-active": e === "light" || e === "alt-system",
197
- "dark:active:text-copy-dark-active": e === "system",
198
- "dark:active:text-copy-light-active": e === "alt-system",
199
- "active:bg-action-light-active": e === "light",
200
- "active:bg-action-dark-active": e === "dark",
201
- "active:bg-action-light-active dark:active:bg-action-dark-active": e === "alt-system",
202
- "active:bg-action-dark-active dark:active:bg-action-light-active": e === "system"
203
- });
204
- if (t === "danger")
205
- return n("active:text-copy-lighter-active", {
206
- "active:bg-action-danger-dark-active": e === "dark",
207
- "active:bg-action-danger-light-active": e === "light",
208
- "active:bg-action-danger-dark-active dark:active:bg-action-danger-light-active": e === "system",
209
- "active:bg-action-danger-light-active dark:active:bg-action-danger-dark-active": e === "alt-system"
210
- });
211
- if (t === "selected")
212
- return "active:text-copy-lighter-active active:bg-action-selected-dark-active";
213
- }, Be = ({
214
- mode: e,
215
- noBorder: r,
216
- variant: t
217
- }) => {
218
- if (r)
219
- return "border border-transparent";
220
- if (t === "primary")
221
- return n("border", {
222
- "border-border-medium": e === "dark",
223
- "border-border-accent": e === "light",
224
- "border-border-medium dark:border-border-accent": e === "system",
225
- "border-border-accent dark:border-border-medium": e === "alt-system"
226
- });
227
- if (t === "secondary")
228
- return n("border", {
229
- "border-border-medium": e === "light",
230
- "border-border-accent": e === "dark",
231
- "border-border-medium dark:border-border-accent": e === "alt-system",
232
- "border-border-accent dark:border-border-medium": e === "system"
233
- });
234
- if (t === "danger")
235
- return n("border", {
236
- "border-border-danger-dark": e === "dark",
237
- "border-border-danger-medium": e === "light",
238
- "border-border-danger-dark dark:border-border-danger-medium": e === "system",
239
- "border-border-danger-medium dark:border-border-danger-dark": e === "alt-system"
240
- });
241
- if (t === "selected")
242
- return "border border-border-selected-dark";
243
- }, Se = ({
244
- focusMode: e
245
- }) => n("focus:outline", "focus:outline-2", "focus:outline-offset-2", {
246
- "focus:outline-focus-dark": e === "dark",
247
- "focus:outline-focus-light": e === "light",
248
- "focus:outline-focus-light dark:focus:outline-focus-dark": e === "alt-system",
249
- "focus:outline-focus-dark dark:focus:outline-focus-light": e === "system"
250
- }), Re = ({
251
- mode: e,
252
- raw: r,
253
- iconClassName: t,
254
- variant: a = "primary"
255
- }) => {
256
- if (r)
257
- return "";
258
- let i = {};
259
- return a === "primary" ? i = {
260
- "text-copy-dark": e === "dark" || e === "system",
261
- "text-copy-light": e === "light" || e === "alt-system",
262
- "dark:text-copy-light": e === "system",
263
- "dark:text-copy-dark": e === "alt-system"
264
- } : a === "secondary" ? i = {
265
- "text-copy-light": e === "dark" || e === "system",
266
- "text-copy-dark": e === "light" || e === "alt-system",
267
- "dark:text-copy-dark": e === "system",
268
- "dark:text-copy-light": e === "alt-system"
269
- } : a === "danger" ? i = {
270
- "text-copy-light": e === "dark" || e === "system",
271
- "text-copy-lighter": e === "light" || e === "alt-system",
272
- "dark:text-copy-lighter": e === "system",
273
- "dark:text-copy-light": e === "alt-system"
274
- } : a === "selected" && (i = {
275
- "text-copy-lighter": !0
276
- }), n(i, t);
277
- }, Me = ({
278
- animated: e
279
- }) => n({
280
- "transition-opacity duration-300 ease-in-out": e
281
- }), Te = ({
282
- type: e,
283
- className: r,
284
- raw: t,
285
- mode: a,
286
- focusMode: i,
287
- disabled: o,
288
- fullWidth: s,
289
- size: d,
290
- noBorder: c,
291
- labelRight: g,
292
- labelLeft: y,
293
- noBackground: m,
294
- variant: u,
295
- truncate: f,
296
- align: b,
297
- radius: w,
298
- animated: I
299
- }) => (u || (u = "primary"), t ? n(X, r) : n(
300
- X,
301
- Ie({
302
- mode: a,
303
- variant: u,
304
- noBackground: m,
305
- truncate: f
306
- }),
307
- _e({ mode: a, noBackground: m, variant: u }),
308
- Ne({ radius: w }),
309
- xe({
310
- type: e,
311
- size: d,
312
- labelRight: g,
313
- labelLeft: y,
314
- align: b,
315
- animated: I
316
- }),
317
- we({ type: e, size: d, labelRight: g, labelLeft: y }),
318
- Be({ mode: a, variant: u, noBorder: c }),
319
- Se({ focusMode: i }),
320
- Ee({ mode: a, variant: u, disabled: o }),
321
- Ce({ mode: a, variant: u, disabled: o }),
322
- {
323
- "w-full": s,
324
- "disabled:cursor-not-allowed disabled:opacity-50": o
325
- },
326
- n({
327
- "transition-[width] duration-300 ease-in": I
328
- }),
329
- r
330
- )), Le = (e, r, t) => {
331
- !r && (!document.activeElement || document.activeElement !== e.currentTarget) && typeof e?.currentTarget?.focus == "function" && e.currentTarget.focus(), typeof t == "function" && t(e);
332
- }, re = F.forwardRef((e, r) => {
333
- const { onClick: t, noInternalClick: a = !1, ...i } = e;
334
- return /* @__PURE__ */ l(
335
- "button",
336
- {
337
- ref: r,
338
- onClick: (o) => {
339
- Le(o, a, t);
340
- },
341
- ...i
342
- }
343
- );
344
- });
345
- re.displayName = "BaseButton";
346
- function $e() {
347
- const e = N(!1);
348
- return B(() => (e.current = !0, () => {
349
- e.current = !1;
350
- }), []), me(() => e.current, []);
351
- }
352
- function Oe(e) {
353
- return Z(() => e.every((r) => r == null) ? () => {
354
- } : (r) => {
355
- e.forEach((t) => {
356
- typeof t == "function" ? t(r) : t != null && (t.current = r);
357
- });
358
- }, [...e]);
359
- }
360
- const Ae = {
361
- x: 0,
362
- y: 0,
363
- width: 0,
364
- height: 0,
365
- top: 0,
366
- left: 0,
367
- bottom: 0,
368
- right: 0
369
- };
370
- function z(e) {
371
- const r = $e(), t = N(0), a = N(null), [i, o] = Q(Ae), s = Z(() => typeof ResizeObserver > "u" ? null : new ResizeObserver((d) => {
372
- const c = d[0];
373
- c && (cancelAnimationFrame(t.current), t.current = requestAnimationFrame(() => {
374
- a.current && r() && o(c.contentRect);
375
- }));
376
- }), [r]);
377
- return B(() => (a.current && s?.observe(a.current, e), () => {
378
- s?.disconnect(), t.current && cancelAnimationFrame(t.current);
379
- }), [s, e]), [a, i];
380
- }
381
- const M = {
382
- small: 24,
383
- // w-6
384
- medium: 32,
385
- // w-8
386
- large: 48
387
- // w-12
388
- }, Pe = {
389
- small: 16,
390
- // px-2 x 2
391
- medium: 24,
392
- // px-3 x 2
393
- large: 32
394
- // px-4 x 2
395
- }, ze = 2, De = 300, U = F.forwardRef(
396
- ({
397
- children: e,
398
- disabled: r = !1,
399
- mode: t = "system",
400
- focusMode: a = "system",
401
- fullWidth: i = !1,
402
- className: o,
403
- type: s = "button",
404
- raw: d = !1,
405
- noBorder: c = !1,
406
- "aria-label": g,
407
- label: y,
408
- size: m = "medium",
409
- labelRight: u,
410
- labelLeft: f,
411
- noBackground: b = !1,
412
- align: w = "center",
413
- radius: I = "large",
414
- variant: j = "secondary",
415
- iconClassName: ie,
416
- animated: k = !1,
417
- ...oe
418
- }, ne) => {
419
- const le = Te({
420
- type: V,
421
- mode: t,
422
- focusMode: a,
423
- fullWidth: i,
424
- disabled: r,
425
- raw: d,
426
- className: o,
427
- noBorder: c,
428
- size: m,
429
- labelRight: u,
430
- labelLeft: f,
431
- noBackground: b,
432
- align: w,
433
- radius: I,
434
- variant: j,
435
- animated: k
436
- }), se = Re({ mode: t, raw: d, iconClassName: ie, variant: j }), G = Me({ animated: k }), ce = "flex items-center justify-center relative w-full h-full overflow-hidden", [v, O] = z(), [p, A] = z(), [S, Y] = z(), P = N(0), x = N(null), E = N(null), de = Oe([ne, x]);
437
- return H(() => {
438
- S && S.current && k && (P.current = Y.width + Pe[m] + (c ? 0 : ze), x.current && !x.current.style.width && (x.current.style.width = `${M[m]}px`));
439
- }, [Y, S, m, c, k]), H(() => {
440
- if (x && x.current && k) {
441
- let C = M[m];
442
- u && v && O.width > 0 ? C = O.width + P.current : f && p && A.width > 0 && (C = A.width + P.current), E.current && clearTimeout(E.current), C !== parseInt(x.current.style.width || "0", 10) && (v.current && (v.current.style.opacity = "0"), p.current && (p.current.style.opacity = "0"), x.current.style.width = `${C}px`, C > M[m] && (E.current = setTimeout(() => {
443
- v.current && u && (v.current.style.opacity = "1"), p.current && f && (p.current.style.opacity = "1"), E.current = null;
444
- }, De * 0.8))), C === M[m] && (v.current && (v.current.style.opacity = "0"), p.current && (p.current.style.opacity = "0"));
445
- }
446
- }, [
447
- O,
448
- u,
449
- v,
450
- A,
451
- f,
452
- p,
453
- m,
454
- k
455
- ]), B(() => () => {
456
- E.current && clearTimeout(E.current);
457
- }, []), /* @__PURE__ */ l(
458
- re,
459
- {
460
- ref: de,
461
- className: le,
462
- disabled: r,
463
- type: s,
464
- "aria-label": g || y,
465
- ...oe,
466
- children: /* @__PURE__ */ L("div", { className: ce, children: [
467
- /* @__PURE__ */ l(
468
- W,
469
- {
470
- label: f,
471
- labelRef: p,
472
- labelClass: G,
473
- labelInnerClass: "pr-2",
474
- initiallyHidden: k
475
- }
476
- ),
477
- /* @__PURE__ */ l("span", { ref: S, className: se, children: e }),
478
- /* @__PURE__ */ l(
479
- W,
480
- {
481
- label: u,
482
- labelRef: v,
483
- labelClass: G,
484
- labelInnerClass: "pl-2",
485
- initiallyHidden: k
486
- }
487
- )
488
- ] })
489
- }
490
- );
491
- }
492
- ), W = ({
493
- labelRef: e,
494
- labelClass: r,
495
- label: t,
496
- labelInnerClass: a,
497
- initiallyHidden: i = !1
498
- }) => /* @__PURE__ */ l(
499
- "span",
500
- {
501
- ref: e,
502
- className: r,
503
- style: i ? { opacity: 0 } : void 0,
504
- children: t && /* @__PURE__ */ l("span", { className: a, children: t })
505
- }
506
- );
507
- U.displayName = "ButtonIcon";
508
- /*!
509
- @versini/ui-button v7.1.5
510
- © 2025 gizmette.com
511
- */
512
- try {
513
- window.__VERSINI_UI_BUTTON__ || (window.__VERSINI_UI_BUTTON__ = {
514
- version: "7.1.5",
515
- buildTime: "08/23/2025 12:21 PM EDT",
516
- homepage: "https://github.com/aversini/ui-components",
517
- license: "MIT"
518
- });
519
- } catch {
520
- }
521
- const Fe = F.forwardRef(
522
- ({
523
- children: e,
524
- mode: r = "system",
525
- className: t,
526
- active: a = !1,
527
- ...i
528
- }, o) => {
529
- const s = a ? n(
530
- "relative",
531
- "focus-within:static",
532
- "focus-within:after:border-transparent",
533
- "after:absolute",
534
- "after:content-['']",
535
- "after:border-b-2",
536
- "after:bottom-[-4px]",
537
- "after:left-0",
538
- "after:right-0",
539
- {
540
- "after:border-table-dark": r === "dark",
541
- "after:border-table-light": r === "light",
542
- "after:border-table-dark dark:after:border-table-light": r === "system",
543
- "after:border-table-light dark:after:border-table-dark": r === "alt-system"
544
- }
545
- ) : "";
546
- return /* @__PURE__ */ l("div", { className: s, children: /* @__PURE__ */ l(
547
- U,
548
- {
549
- className: t,
550
- ref: o,
551
- mode: r,
552
- radius: "small",
553
- size: "small",
554
- align: "center",
555
- ...i,
556
- children: e
557
- }
558
- ) });
559
- }
560
- );
561
- Fe.displayName = "ButtonSort";
562
- const Ve = ({
563
- children: e,
564
- fill: r,
565
- viewBox: t,
566
- className: a,
567
- defaultViewBox: i,
568
- size: o,
569
- title: s,
570
- semantic: d = !1,
571
- ...c
572
- }) => {
573
- const g = n(o, a);
574
- return /* @__PURE__ */ l(K, { children: /* @__PURE__ */ L(
575
- "svg",
576
- {
577
- xmlns: "http://www.w3.org/2000/svg",
578
- className: g,
579
- viewBox: t || i,
580
- fill: r || "currentColor",
581
- role: "img",
582
- "aria-hidden": !d,
583
- focusable: !1,
584
- ...c,
585
- children: [
586
- s && d && /* @__PURE__ */ l("title", { children: s }),
587
- e
588
- ]
589
- }
590
- ) });
591
- };
592
- /*!
593
- @versini/ui-svgicon v4.2.0
594
- © 2025 gizmette.com
595
- */
596
- try {
597
- window.__VERSINI_UI_SVGICON__ || (window.__VERSINI_UI_SVGICON__ = {
598
- version: "4.2.0",
599
- buildTime: "05/17/2025 06:18 PM EDT",
600
- homepage: "https://github.com/aversini/ui-components",
601
- license: "MIT"
602
- });
603
- } catch {
604
- }
605
- const Ue = ({
606
- className: e,
607
- viewBox: r,
608
- title: t,
609
- monotone: a,
610
- ...i
611
- }) => /* @__PURE__ */ l(
612
- Ve,
613
- {
614
- defaultViewBox: "0 0 384 512",
615
- size: "size-5",
616
- viewBox: r,
617
- className: e,
618
- title: t || "Close",
619
- ...i,
620
- children: /* @__PURE__ */ l(
621
- "path",
622
- {
623
- d: "M297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256l105.3-105.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3z",
624
- opacity: a ? "1" : "0.4"
625
- }
626
- )
627
- }
628
- );
629
- /*!
630
- @versini/ui-icons v4.10.0
631
- © 2025 gizmette.com
632
- */
633
- try {
634
- window.__VERSINI_UI_ICONS__ || (window.__VERSINI_UI_ICONS__ = {
635
- version: "4.10.0",
636
- buildTime: "05/17/2025 06:18 PM EDT",
637
- homepage: "https://github.com/aversini/ui-components",
638
- license: "MIT"
639
- });
640
- } catch {
641
- }
642
- const ae = h.createContext(null);
643
- function je({
644
- initialOpen: e = !1,
645
- open: r,
646
- onOpenChange: t
647
- } = {}) {
648
- const [a, i] = h.useState(e), [o, s] = h.useState(), [d, c] = h.useState(), g = r ?? a, y = t ?? i, m = ue({
649
- open: g,
650
- onOpenChange: y
651
- }), u = m.context, f = ge(u, {
652
- enabled: r == null
653
- }), b = he(u, {
654
- outsidePress: !1,
655
- outsidePressEvent: "mousedown"
656
- }), w = fe(u), I = be([f, b, w]);
657
- return h.useMemo(
658
- () => ({
659
- open: g,
660
- setOpen: y,
661
- ...I,
662
- ...m,
663
- labelId: o,
664
- descriptionId: d,
665
- setLabelId: s,
666
- setDescriptionId: c
667
- }),
668
- [g, y, I, m, o, d]
669
- );
670
- }
671
- const $ = () => {
672
- const e = h.useContext(ae);
673
- if (e == null)
674
- throw new Error("Modal components must be wrapped in <Modal />");
675
- return e;
676
- };
677
- function Ge({
678
- children: e,
679
- ...r
680
- }) {
681
- const t = je(r);
682
- return /* @__PURE__ */ l(ae.Provider, { value: t, children: e });
683
- }
684
- const Ye = h.forwardRef(function(e, r) {
685
- const { context: t, ...a } = $(), i = ye([a.refs.setFloating, r]);
686
- if (!t.open)
687
- return null;
688
- const { overlayBackground: o, ...s } = e, d = n("grid place-items-center", {
689
- [`${o}`]: o,
690
- "bg-black sm:bg-black/[.8]": !o
691
- });
692
- return /* @__PURE__ */ l(ve, { children: /* @__PURE__ */ l(pe, { className: d, lockScroll: !0, children: /* @__PURE__ */ l(ke, { context: t, children: /* @__PURE__ */ l(
693
- "div",
694
- {
695
- ref: i,
696
- "aria-labelledby": a.labelId,
697
- "aria-describedby": a.descriptionId,
698
- ...a.getFloatingProps(s),
699
- children: s.children
700
- }
701
- ) }) }) });
702
- }), He = h.forwardRef(function({ children: e, ...r }, t) {
703
- const { setLabelId: a } = $(), i = ee();
704
- return h.useLayoutEffect(() => (a(i), () => a(void 0)), [i, a]), /* @__PURE__ */ l("h1", { ...r, ref: t, id: i, children: e });
705
- }), qe = h.forwardRef(function({ children: e, ...r }, t) {
706
- const { setDescriptionId: a } = $(), i = ee();
707
- return h.useLayoutEffect(() => (a(i), () => a(void 0)), [i, a]), /* @__PURE__ */ l("div", { ...r, ref: t, id: i, children: e });
708
- }), Xe = h.forwardRef(function(e, r) {
709
- const { setOpen: t } = $(), { trigger: a, className: i, ...o } = e, s = h.useCallback(() => t(!1), [t]);
710
- return /* @__PURE__ */ l("div", { className: i, children: h.cloneElement(a, {
711
- ref: r,
712
- onClick: s,
713
- ...o
714
- }) });
715
- });
716
- /*!
717
- @versini/ui-modal v2.0.9
718
- © 2025 gizmette.com
719
- */
720
- try {
721
- window.__VERSINI_UI_MODAL__ || (window.__VERSINI_UI_MODAL__ = {
722
- version: "2.0.9",
723
- buildTime: "08/23/2025 12:22 PM EDT",
724
- homepage: "https://github.com/aversini/ui-components",
725
- license: "MIT"
726
- });
727
- } catch {
728
- }
729
- const _ = "panel", T = "messagebox", We = ({
1
+ import { jsx as l, Fragment as M, jsxs as x } from "react/jsx-runtime";
2
+ import { ButtonIcon as $ } from "@versini/ui-button";
3
+ import { IconClose as v } from "@versini/ui-icons";
4
+ import { Modal as C, ModalContent as y, ModalClose as I, ModalHeading as P, ModalDescription as _ } from "@versini/ui-modal";
5
+ import { useRef as L, useState as Y, useEffect as g } from "react";
6
+ import B from "clsx";
7
+ const h = "av-messagebox", n = "av-panel", o = "panel", f = "messagebox", O = ({
730
8
  className: e,
731
9
  kind: r,
732
10
  borderMode: t,
733
- animation: a,
734
- maxWidth: i = "medium"
11
+ animation: d,
12
+ maxWidth: s = "medium"
735
13
  }) => ({
736
- main: n("prose prose-lighter flex flex-col bg-surface-dark", {
737
- "duration-200 ease-out": a,
738
- [`${R} max-h-full sm:max-h-[95%] min-h-full sm:min-h-[10rem] sm:rounded-lg sm:border-2`]: r === _,
739
- [`${R} w-full sm:w-[95%] md:max-w-2xl`]: r === _ && !e && i === "small",
740
- [`${R} w-full sm:w-[95%] md:max-w-3xl`]: r === _ && !e && i === "medium",
741
- [`${R} w-full sm:w-[95%] md:max-w-4xl`]: r === _ && !e && i === "large",
742
- [`${q} rounded-lg border-2`]: r === T,
743
- [`${q} w-[95%] sm:w-[50%] md:max-w-2xl`]: r === T && !e,
14
+ main: B("prose prose-lighter flex flex-col bg-surface-dark", {
15
+ "duration-200 ease-out": d,
16
+ [`${n} max-h-full sm:max-h-[95%] min-h-full sm:min-h-[10rem] sm:rounded-lg sm:border-2`]: r === o,
17
+ [`${n} w-full sm:w-[95%] md:max-w-2xl`]: r === o && !e && s === "small",
18
+ [`${n} w-full sm:w-[95%] md:max-w-3xl`]: r === o && !e && s === "medium",
19
+ [`${n} w-full sm:w-[95%] md:max-w-4xl`]: r === o && !e && s === "large",
20
+ [`${h} rounded-lg border-2`]: r === f,
21
+ [`${h} w-[95%] sm:w-[50%] md:max-w-2xl`]: r === f && !e,
744
22
  [`${e}`]: !!e,
745
- "sm:border-border-dark": t === "dark" && r === _,
746
- "sm:border-border-accent": t === "light" && r === _,
747
- "border-border-dark": t === "dark" && r === T,
748
- "border-border-accent": t === "light" && r === T
23
+ "sm:border-border-dark": t === "dark" && r === o,
24
+ "sm:border-border-accent": t === "light" && r === o,
25
+ "border-border-dark": t === "dark" && r === f,
26
+ "border-border-accent": t === "light" && r === f
749
27
  }),
750
28
  content: "flex flex-col py-2 sm:py-4 sm:px-4 px-2 overflow-y-auto",
751
29
  footer: "flex grow flex-col sm:p-4 p-2",
752
30
  header: "sm:p-4 mb-0 p-2",
753
31
  close: "sm:p-4 p-2"
754
- }), Je = "slide", J = "fade", tt = ({
32
+ }), T = "slide", p = "fade", H = ({
755
33
  open: e,
756
34
  onOpenChange: r,
757
35
  title: t,
758
- children: a,
759
- footer: i,
760
- borderMode: o = "light",
761
- kind: s = _,
762
- className: d,
763
- animation: c = !1,
764
- animationType: g = Je,
765
- maxWidth: y = "medium"
36
+ children: d,
37
+ footer: s,
38
+ borderMode: w = "light",
39
+ kind: A = o,
40
+ className: b,
41
+ animation: m = !1,
42
+ animationType: c = T,
43
+ maxWidth: E = "medium"
766
44
  }) => {
767
- const m = N(""), [u, f] = Q(
768
- c ? g === J ? { opacity: 0 } : {
45
+ const u = L(""), [S, i] = Y(
46
+ m ? c === p ? { opacity: 0 } : {
769
47
  transform: "translateY(-100vh)"
770
48
  } : {}
771
- ), b = We({
772
- className: d,
773
- kind: s,
774
- borderMode: o,
775
- animation: c,
776
- maxWidth: y
49
+ ), a = O({
50
+ className: b,
51
+ kind: A,
52
+ borderMode: w,
53
+ animation: m,
54
+ maxWidth: E
777
55
  });
778
- return B(() => (e && (m.current = document.title, document.title = `${t} | ${m.current}`), () => {
779
- e && (document.title = m.current);
780
- }), [t, e]), B(() => {
781
- if (c && e) {
782
- f(
783
- c ? g === J ? { opacity: 0 } : {
56
+ return g(() => (e && (u.current = document.title, document.title = `${t} | ${u.current}`), () => {
57
+ e && (document.title = u.current);
58
+ }), [t, e]), g(() => {
59
+ if (m && e) {
60
+ i(
61
+ m ? c === p ? { opacity: 0 } : {
784
62
  transform: "translateY(-666vh)"
785
63
  } : {}
786
64
  );
787
- const w = setTimeout(() => {
788
- f(
789
- c ? g === "fade" ? { opacity: 1 } : {
65
+ const N = setTimeout(() => {
66
+ i(
67
+ m ? c === "fade" ? { opacity: 1 } : {
790
68
  transform: "translateY(0)"
791
69
  } : {}
792
70
  );
793
71
  }, 100);
794
- return () => clearTimeout(w);
72
+ return () => clearTimeout(N);
795
73
  }
796
- }, [e, c, g]), /* @__PURE__ */ l(K, { children: e && /* @__PURE__ */ l(Ge, { open: e, onOpenChange: r, children: /* @__PURE__ */ L(Ye, { className: b.main, style: u, children: [
797
- /* @__PURE__ */ L("div", { className: "flex flex-row-reverse items-center justify-between", children: [
74
+ }, [e, m, c]), /* @__PURE__ */ l(M, { children: e && /* @__PURE__ */ l(C, { open: e, onOpenChange: r, children: /* @__PURE__ */ x(y, { className: a.main, style: S, children: [
75
+ /* @__PURE__ */ x("div", { className: "flex flex-row-reverse items-center justify-between", children: [
798
76
  /* @__PURE__ */ l(
799
- Xe,
77
+ I,
800
78
  {
801
- className: b.close,
79
+ className: a.close,
802
80
  trigger: /* @__PURE__ */ l(
803
- U,
81
+ $,
804
82
  {
805
83
  mode: "dark",
806
84
  focusMode: "light",
807
85
  noBorder: !0,
808
86
  label: "Close",
809
- children: /* @__PURE__ */ l(Ue, { monotone: !0 })
87
+ children: /* @__PURE__ */ l(v, { monotone: !0 })
810
88
  }
811
89
  )
812
90
  }
813
91
  ),
814
- /* @__PURE__ */ l(He, { className: b.header, children: t })
92
+ /* @__PURE__ */ l(P, { className: a.header, children: t })
815
93
  ] }),
816
- /* @__PURE__ */ l(qe, { className: b.content, children: a }),
817
- i && /* @__PURE__ */ l("div", { className: b.footer, children: i })
94
+ /* @__PURE__ */ l(_, { className: a.content, children: d }),
95
+ s && /* @__PURE__ */ l("div", { className: a.footer, children: s })
818
96
  ] }) }) });
819
97
  };
820
98
  export {
821
- q as MESSAGEBOX_CLASSNAME,
822
- R as PANEL_CLASSNAME,
823
- tt as Panel
99
+ h as MESSAGEBOX_CLASSNAME,
100
+ n as PANEL_CLASSNAME,
101
+ H as Panel
824
102
  };
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import { MESSAGEBOX_CLASSNAME as o, PANEL_CLASSNAME as E, Panel as n } from "./components/Panel/Panel.js";
2
2
  /*!
3
- @versini/ui-panel v2.2.9
3
+ @versini/ui-panel v2.2.10
4
4
  © 2025 gizmette.com
5
5
  */
6
6
  try {
7
7
  window.__VERSINI_UI_PANEL__ || (window.__VERSINI_UI_PANEL__ = {
8
- version: "2.2.9",
9
- buildTime: "08/23/2025 12:22 PM EDT",
8
+ version: "2.2.10",
9
+ buildTime: "09/01/2025 02:19 PM EDT",
10
10
  homepage: "https://github.com/aversini/ui-components",
11
11
  license: "MIT"
12
12
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@versini/ui-panel",
3
- "version": "2.2.9",
3
+ "version": "2.2.10",
4
4
  "license": "MIT",
5
5
  "author": "Arno Versini",
6
6
  "publishConfig": {
@@ -45,14 +45,14 @@
45
45
  },
46
46
  "dependencies": {
47
47
  "@tailwindcss/typography": "0.5.16",
48
- "@versini/ui-button": "../ui-button",
48
+ "@versini/ui-button": "7.1.6",
49
49
  "@versini/ui-icons": "4.10.0",
50
- "@versini/ui-modal": "../ui-modal",
50
+ "@versini/ui-modal": "2.0.10",
51
51
  "clsx": "2.1.1",
52
52
  "tailwindcss": "4.1.12"
53
53
  },
54
54
  "sideEffects": [
55
55
  "**/*.css"
56
56
  ],
57
- "gitHead": "d568e20474c6c87f836c4cb6548f2cc0143a353c"
57
+ "gitHead": "c577149643ec36cad454587166e62410a77aed38"
58
58
  }