@versini/ui-panel 3.0.0 → 3.0.1

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,589 +1,34 @@
1
- import { jsx as s, jsxs as L, Fragment as de } from "react/jsx-runtime";
2
- import * as h from "react";
3
- import F, { useRef as N, useLayoutEffect as H, useEffect as B, useState as K, useMemo as Q, useCallback as me, useId as Z } 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", ee = "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 l = "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 ee:
17
- case D:
18
- return n({
19
- [l]: 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", l = "text-lg font-medium";
49
- switch (e) {
50
- case ee:
51
- case D:
52
- return n({
53
- "text-center": e === D,
54
- [i]: r === "small",
55
- [o]: r === "medium",
56
- [l]: r === "large"
57
- });
58
- case V:
59
- return n({
60
- [i]: r === "small" && (t || a),
61
- [o]: r === "medium" && (t || a),
62
- [l]: 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: l,
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": l,
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
- }, te = F.forwardRef((e, r) => {
333
- const { onClick: t, noInternalClick: a = !1, ...i } = e;
334
- return /* @__PURE__ */ s(
335
- "button",
336
- {
337
- ref: r,
338
- onClick: (o) => {
339
- Le(o, a, t);
340
- },
341
- ...i
342
- }
343
- );
344
- });
345
- te.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 Ae(e) {
353
- return Q(() => 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 Oe = {
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 P(e) {
371
- const r = $e(), t = N(0), a = N(null), [i, o] = K(Oe), l = Q(() => 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 && l?.observe(a.current, e), () => {
378
- l?.disconnect(), t.current && cancelAnimationFrame(t.current);
379
- }), [l, 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
- }, ze = {
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
- }, Pe = 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: l = "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: ae,
416
- animated: k = !1,
417
- ...ie
418
- }, oe) => {
419
- const ne = 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: ae, variant: j }), G = Me({ animated: k }), le = "flex items-center justify-center relative w-full h-full overflow-hidden", [v, A] = P(), [p, O] = P(), [S, Y] = P(), z = N(0), x = N(null), E = N(null), ce = Ae([oe, x]);
437
- return H(() => {
438
- S && S.current && k && (z.current = Y.width + ze[m] + (c ? 0 : Pe), 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 && A.width > 0 ? C = A.width + z.current : f && p && O.width > 0 && (C = O.width + z.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
- A,
448
- u,
449
- v,
450
- O,
451
- f,
452
- p,
453
- m,
454
- k
455
- ]), B(() => () => {
456
- E.current && clearTimeout(E.current);
457
- }, []), /* @__PURE__ */ s(
458
- te,
459
- {
460
- ref: ce,
461
- className: ne,
462
- disabled: r,
463
- type: l,
464
- "aria-label": g || y,
465
- ...ie,
466
- children: /* @__PURE__ */ L("div", { className: le, children: [
467
- /* @__PURE__ */ s(
468
- W,
469
- {
470
- label: f,
471
- labelRef: p,
472
- labelClass: G,
473
- labelInnerClass: "pr-2",
474
- initiallyHidden: k
475
- }
476
- ),
477
- /* @__PURE__ */ s("span", { ref: S, className: se, children: e }),
478
- /* @__PURE__ */ s(
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__ */ s(
499
- "span",
500
- {
501
- ref: e,
502
- className: r,
503
- style: i ? { opacity: 0 } : void 0,
504
- children: t && /* @__PURE__ */ s("span", { className: a, children: t })
505
- }
506
- );
507
- U.displayName = "ButtonIcon";
508
- /*!
509
- @versini/ui-button v8.0.0
510
- © 2025 gizmette.com
511
- */
512
- try {
513
- window.__VERSINI_UI_BUTTON__ || (window.__VERSINI_UI_BUTTON__ = {
514
- version: "8.0.0",
515
- buildTime: "09/01/2025 03:17 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 l = 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__ */ s("div", { className: l, children: /* @__PURE__ */ s(
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 = ({
1
+ import { jsxs as v, jsx as n, Fragment as L } from "react/jsx-runtime";
2
+ import { ButtonIcon as O } from "@versini/ui-button";
3
+ import * as l from "react";
4
+ import { useId as A, useRef as $, useState as R, useEffect as S } from "react";
5
+ import E from "clsx";
6
+ import { useFloating as T, useClick as D, useDismiss as P, useRole as B, useInteractions as V, useMergeRefs as F, FloatingPortal as U, FloatingOverlay as Y, FloatingFocusManager as k } from "@floating-ui/react";
7
+ const C = "av-messagebox", I = "av-panel", z = ({
563
8
  children: e,
564
- fill: r,
565
- viewBox: t,
566
- className: a,
567
- defaultViewBox: i,
568
- size: o,
569
- title: l,
570
- semantic: d = !1,
571
- ...c
9
+ fill: t,
10
+ viewBox: r,
11
+ className: o,
12
+ defaultViewBox: s,
13
+ size: c,
14
+ title: i,
15
+ semantic: u = !1,
16
+ ...a
572
17
  }) => {
573
- const g = n(o, a);
574
- return /* @__PURE__ */ L(
18
+ const d = E(c, o);
19
+ return /* @__PURE__ */ v(
575
20
  "svg",
576
21
  {
577
22
  xmlns: "http://www.w3.org/2000/svg",
578
- className: g,
579
- viewBox: t || i,
580
- fill: r || "currentColor",
23
+ className: d,
24
+ viewBox: r || s,
25
+ fill: t || "currentColor",
581
26
  role: "img",
582
- "aria-hidden": !d,
27
+ "aria-hidden": !u,
583
28
  focusable: !1,
584
- ...c,
29
+ ...a,
585
30
  children: [
586
- l && d && /* @__PURE__ */ s("title", { children: l }),
31
+ i && u && /* @__PURE__ */ n("title", { children: i }),
587
32
  e
588
33
  ]
589
34
  }
@@ -602,26 +47,26 @@ try {
602
47
  });
603
48
  } catch {
604
49
  }
605
- const Ue = ({
50
+ const G = ({
606
51
  className: e,
607
- viewBox: r,
608
- title: t,
609
- monotone: a,
610
- ...i
611
- }) => /* @__PURE__ */ s(
612
- Ve,
52
+ viewBox: t,
53
+ title: r,
54
+ monotone: o,
55
+ ...s
56
+ }) => /* @__PURE__ */ n(
57
+ z,
613
58
  {
614
59
  defaultViewBox: "0 0 384 512",
615
60
  size: "size-5",
616
- viewBox: r,
61
+ viewBox: t,
617
62
  className: e,
618
- title: t || "Close",
619
- ...i,
620
- children: /* @__PURE__ */ s(
63
+ title: r || "Close",
64
+ ...s,
65
+ children: /* @__PURE__ */ n(
621
66
  "path",
622
67
  {
623
68
  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"
69
+ opacity: o ? "1" : "0.4"
625
70
  }
626
71
  )
627
72
  }
@@ -639,186 +84,186 @@ try {
639
84
  });
640
85
  } catch {
641
86
  }
642
- const re = h.createContext(null);
643
- function je({
87
+ const y = l.createContext(null);
88
+ function j({
644
89
  initialOpen: e = !1,
645
- open: r,
646
- onOpenChange: t
90
+ open: t,
91
+ onOpenChange: r
647
92
  } = {}) {
648
- const [a, i] = h.useState(e), [o, l] = 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, {
93
+ const [o, s] = l.useState(e), [c, i] = l.useState(), [u, a] = l.useState(), d = t ?? o, w = r ?? s, m = T({
94
+ open: d,
95
+ onOpenChange: w
96
+ }), p = m.context, g = D(p, {
97
+ enabled: t == null
98
+ }), f = P(p, {
654
99
  outsidePress: !1,
655
100
  outsidePressEvent: "mousedown"
656
- }), w = fe(u), I = be([f, b, w]);
657
- return h.useMemo(
101
+ }), b = B(p), N = V([g, f, b]);
102
+ return l.useMemo(
658
103
  () => ({
659
- open: g,
660
- setOpen: y,
661
- ...I,
104
+ open: d,
105
+ setOpen: w,
106
+ ...N,
662
107
  ...m,
663
- labelId: o,
664
- descriptionId: d,
665
- setLabelId: l,
666
- setDescriptionId: c
108
+ labelId: c,
109
+ descriptionId: u,
110
+ setLabelId: i,
111
+ setDescriptionId: a
667
112
  }),
668
- [g, y, I, m, o, d]
113
+ [d, w, N, m, c, u]
669
114
  );
670
115
  }
671
- const $ = () => {
672
- const e = h.useContext(re);
116
+ const x = () => {
117
+ const e = l.useContext(y);
673
118
  if (e == null)
674
119
  throw new Error("Modal components must be wrapped in <Modal />");
675
120
  return e;
676
121
  };
677
- function Ge({
122
+ function X({
678
123
  children: e,
679
- ...r
124
+ ...t
680
125
  }) {
681
- const t = je(r);
682
- return /* @__PURE__ */ s(re.Provider, { value: t, children: e });
126
+ const r = j(t);
127
+ return /* @__PURE__ */ n(y.Provider, { value: r, children: e });
683
128
  }
684
- const Ye = h.forwardRef(function(e, r) {
685
- const { context: t, ...a } = $(), i = ye([a.refs.setFloating, r]);
686
- if (!t.open)
129
+ const q = l.forwardRef(function(e, t) {
130
+ const { context: r, ...o } = x(), s = F([o.refs.setFloating, t]);
131
+ if (!r.open)
687
132
  return null;
688
- const { overlayBackground: o, ...l } = e, d = n("grid place-items-center", {
689
- [`${o}`]: o,
690
- "bg-black sm:bg-black/[.8]": !o
133
+ const { overlayBackground: c, ...i } = e, u = E("grid place-items-center", {
134
+ [`${c}`]: c,
135
+ "bg-black sm:bg-black/[.8]": !c
691
136
  });
692
- return /* @__PURE__ */ s(ve, { children: /* @__PURE__ */ s(pe, { className: d, lockScroll: !0, children: /* @__PURE__ */ s(ke, { context: t, children: /* @__PURE__ */ s(
137
+ return /* @__PURE__ */ n(U, { children: /* @__PURE__ */ n(Y, { className: u, lockScroll: !0, children: /* @__PURE__ */ n(k, { context: r, children: /* @__PURE__ */ n(
693
138
  "div",
694
139
  {
695
- ref: i,
696
- "aria-labelledby": a.labelId,
697
- "aria-describedby": a.descriptionId,
698
- ...a.getFloatingProps(l),
699
- children: l.children
140
+ ref: s,
141
+ "aria-labelledby": o.labelId,
142
+ "aria-describedby": o.descriptionId,
143
+ ...o.getFloatingProps(i),
144
+ children: i.children
700
145
  }
701
146
  ) }) }) });
702
- }), He = h.forwardRef(function({ children: e, ...r }, t) {
703
- const { setLabelId: a } = $(), i = Z();
704
- return h.useLayoutEffect(() => (a(i), () => a(void 0)), [i, a]), /* @__PURE__ */ s("h1", { ...r, ref: t, id: i, children: e });
705
- }), qe = h.forwardRef(function({ children: e, ...r }, t) {
706
- const { setDescriptionId: a } = $(), i = Z();
707
- return h.useLayoutEffect(() => (a(i), () => a(void 0)), [i, a]), /* @__PURE__ */ s("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, l = h.useCallback(() => t(!1), [t]);
710
- return /* @__PURE__ */ s("div", { className: i, children: h.cloneElement(a, {
711
- ref: r,
712
- onClick: l,
713
- ...o
147
+ }), H = l.forwardRef(function({ children: e, ...t }, r) {
148
+ const { setLabelId: o } = x(), s = A();
149
+ return l.useLayoutEffect(() => (o(s), () => o(void 0)), [s, o]), /* @__PURE__ */ n("h1", { ...t, ref: r, id: s, children: e });
150
+ }), J = l.forwardRef(function({ children: e, ...t }, r) {
151
+ const { setDescriptionId: o } = x(), s = A();
152
+ return l.useLayoutEffect(() => (o(s), () => o(void 0)), [s, o]), /* @__PURE__ */ n("div", { ...t, ref: r, id: s, children: e });
153
+ }), K = l.forwardRef(function(e, t) {
154
+ const { setOpen: r } = x(), { trigger: o, className: s, ...c } = e, i = l.useCallback(() => r(!1), [r]);
155
+ return /* @__PURE__ */ n("div", { className: s, children: l.cloneElement(o, {
156
+ ref: t,
157
+ onClick: i,
158
+ ...c
714
159
  }) });
715
160
  });
716
161
  /*!
717
- @versini/ui-modal v3.0.0
162
+ @versini/ui-modal v3.0.1
718
163
  © 2025 gizmette.com
719
164
  */
720
165
  try {
721
166
  window.__VERSINI_UI_MODAL__ || (window.__VERSINI_UI_MODAL__ = {
722
- version: "3.0.0",
723
- buildTime: "09/01/2025 03:17 PM EDT",
167
+ version: "3.0.1",
168
+ buildTime: "09/01/2025 04:01 PM EDT",
724
169
  homepage: "https://github.com/aversini/ui-components",
725
170
  license: "MIT"
726
171
  });
727
172
  } catch {
728
173
  }
729
- const _ = "panel", T = "messagebox", We = ({
174
+ const h = "panel", _ = "messagebox", Q = ({
730
175
  className: e,
731
- kind: r,
732
- borderMode: t,
733
- animation: a,
734
- maxWidth: i = "medium"
176
+ kind: t,
177
+ borderMode: r,
178
+ animation: o,
179
+ maxWidth: s = "medium"
735
180
  }) => ({
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,
181
+ main: E("prose prose-lighter flex flex-col bg-surface-dark", {
182
+ "duration-200 ease-out": o,
183
+ [`${I} max-h-full sm:max-h-[95%] min-h-full sm:min-h-[10rem] sm:rounded-lg sm:border-2`]: t === h,
184
+ [`${I} w-full sm:w-[95%] md:max-w-2xl`]: t === h && !e && s === "small",
185
+ [`${I} w-full sm:w-[95%] md:max-w-3xl`]: t === h && !e && s === "medium",
186
+ [`${I} w-full sm:w-[95%] md:max-w-4xl`]: t === h && !e && s === "large",
187
+ [`${C} rounded-lg border-2`]: t === _,
188
+ [`${C} w-[95%] sm:w-[50%] md:max-w-2xl`]: t === _ && !e,
744
189
  [`${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
190
+ "sm:border-border-dark": r === "dark" && t === h,
191
+ "sm:border-border-accent": r === "light" && t === h,
192
+ "border-border-dark": r === "dark" && t === _,
193
+ "border-border-accent": r === "light" && t === _
749
194
  }),
750
195
  content: "flex flex-col py-2 sm:py-4 sm:px-4 px-2 overflow-y-auto",
751
196
  footer: "flex grow flex-col sm:p-4 p-2",
752
197
  header: "sm:p-4 mb-0 p-2",
753
198
  close: "sm:p-4 p-2"
754
- }), Je = "slide", J = "fade", tt = ({
199
+ }), Z = "slide", M = "fade", se = ({
755
200
  open: e,
756
- onOpenChange: r,
757
- title: t,
758
- children: a,
759
- footer: i,
760
- borderMode: o = "light",
761
- kind: l = _,
762
- className: d,
763
- animation: c = !1,
764
- animationType: g = Je,
765
- maxWidth: y = "medium"
201
+ onOpenChange: t,
202
+ title: r,
203
+ children: o,
204
+ footer: s,
205
+ borderMode: c = "light",
206
+ kind: i = h,
207
+ className: u,
208
+ animation: a = !1,
209
+ animationType: d = Z,
210
+ maxWidth: w = "medium"
766
211
  }) => {
767
- const m = N(""), [u, f] = K(
768
- c ? g === J ? { opacity: 0 } : {
212
+ const m = $(""), [p, g] = R(
213
+ a ? d === M ? { opacity: 0 } : {
769
214
  transform: "translateY(-100vh)"
770
215
  } : {}
771
- ), b = We({
772
- className: d,
773
- kind: l,
774
- borderMode: o,
775
- animation: c,
776
- maxWidth: y
216
+ ), f = Q({
217
+ className: u,
218
+ kind: i,
219
+ borderMode: c,
220
+ animation: a,
221
+ maxWidth: w
777
222
  });
778
- return B(() => (e && (m.current = document.title, document.title = `${t} | ${m.current}`), () => {
223
+ return S(() => (e && (m.current = document.title, document.title = `${r} | ${m.current}`), () => {
779
224
  e && (document.title = m.current);
780
- }), [t, e]), B(() => {
781
- if (c && e) {
782
- f(
783
- c ? g === J ? { opacity: 0 } : {
225
+ }), [r, e]), S(() => {
226
+ if (a && e) {
227
+ g(
228
+ a ? d === M ? { opacity: 0 } : {
784
229
  transform: "translateY(-666vh)"
785
230
  } : {}
786
231
  );
787
- const w = setTimeout(() => {
788
- f(
789
- c ? g === "fade" ? { opacity: 1 } : {
232
+ const b = setTimeout(() => {
233
+ g(
234
+ a ? d === "fade" ? { opacity: 1 } : {
790
235
  transform: "translateY(0)"
791
236
  } : {}
792
237
  );
793
238
  }, 100);
794
- return () => clearTimeout(w);
239
+ return () => clearTimeout(b);
795
240
  }
796
- }, [e, c, g]), /* @__PURE__ */ s(de, { children: e && /* @__PURE__ */ s(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: [
798
- /* @__PURE__ */ s(
799
- Xe,
241
+ }, [e, a, d]), /* @__PURE__ */ n(L, { children: e && /* @__PURE__ */ n(X, { open: e, onOpenChange: t, children: /* @__PURE__ */ v(q, { className: f.main, style: p, children: [
242
+ /* @__PURE__ */ v("div", { className: "flex flex-row-reverse items-center justify-between", children: [
243
+ /* @__PURE__ */ n(
244
+ K,
800
245
  {
801
- className: b.close,
802
- trigger: /* @__PURE__ */ s(
803
- U,
246
+ className: f.close,
247
+ trigger: /* @__PURE__ */ n(
248
+ O,
804
249
  {
805
250
  mode: "dark",
806
251
  focusMode: "light",
807
252
  noBorder: !0,
808
253
  label: "Close",
809
- children: /* @__PURE__ */ s(Ue, { monotone: !0 })
254
+ children: /* @__PURE__ */ n(G, { monotone: !0 })
810
255
  }
811
256
  )
812
257
  }
813
258
  ),
814
- /* @__PURE__ */ s(He, { className: b.header, children: t })
259
+ /* @__PURE__ */ n(H, { className: f.header, children: r })
815
260
  ] }),
816
- /* @__PURE__ */ s(qe, { className: b.content, children: a }),
817
- i && /* @__PURE__ */ s("div", { className: b.footer, children: i })
261
+ /* @__PURE__ */ n(J, { className: f.content, children: o }),
262
+ s && /* @__PURE__ */ n("div", { className: f.footer, children: s })
818
263
  ] }) }) });
819
264
  };
820
265
  export {
821
- q as MESSAGEBOX_CLASSNAME,
822
- R as PANEL_CLASSNAME,
823
- tt as Panel
266
+ C as MESSAGEBOX_CLASSNAME,
267
+ I as PANEL_CLASSNAME,
268
+ se as Panel
824
269
  };
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 v3.0.0
3
+ @versini/ui-panel v3.0.1
4
4
  © 2025 gizmette.com
5
5
  */
6
6
  try {
7
7
  window.__VERSINI_UI_PANEL__ || (window.__VERSINI_UI_PANEL__ = {
8
- version: "3.0.0",
9
- buildTime: "09/01/2025 03:18 PM EDT",
8
+ version: "3.0.1",
9
+ buildTime: "09/01/2025 04:01 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": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "license": "MIT",
5
5
  "author": "Arno Versini",
6
6
  "publishConfig": {
@@ -37,22 +37,22 @@
37
37
  "test": "vitest run"
38
38
  },
39
39
  "peerDependencies": {
40
- "react": "^19.0.0",
41
- "react-dom": "^19.0.0"
40
+ "react": "^19.1.0",
41
+ "react-dom": "^19.1.0"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@testing-library/jest-dom": "6.8.0"
45
45
  },
46
46
  "dependencies": {
47
47
  "@tailwindcss/typography": "0.5.16",
48
- "@versini/ui-button": "8.0.0",
48
+ "@versini/ui-button": "8.0.1",
49
49
  "@versini/ui-icons": "4.11.0",
50
- "@versini/ui-modal": "3.0.0",
50
+ "@versini/ui-modal": "3.0.1",
51
51
  "clsx": "2.1.1",
52
52
  "tailwindcss": "4.1.12"
53
53
  },
54
54
  "sideEffects": [
55
55
  "**/*.css"
56
56
  ],
57
- "gitHead": "70a47e9e30172dbb7b36306773fe9511e437fba6"
57
+ "gitHead": "dcc216644c8c3e7d43a49ea655a22aed21fa4b83"
58
58
  }