asheeui 0.6.7 → 0.6.8
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/components/autocomplete/Autocomplete.js +22 -22
- package/dist/components/modal/Modal.d.ts.map +1 -1
- package/dist/components/modal/Modal.js +59 -65
- package/dist/components/multi-select/MultiSelect.js +11 -11
- package/dist/components/select/Select.js +11 -11
- package/dist/components/select-menu/SelectMenu.d.ts +8 -17
- package/dist/components/select-menu/SelectMenu.d.ts.map +1 -1
- package/dist/components/select-menu/SelectMenu.js +97 -84
- package/dist/components/select-menu/select-menu-config.d.ts +8 -0
- package/dist/components/select-menu/select-menu-config.d.ts.map +1 -1
- package/dist/components/select-menu/select-menu-config.js +4 -3
- package/dist/components/sidebar/Sidebar.js +1 -1
- package/dist/components/tabs/Tabs.js +1 -1
- package/dist/index.css +24 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -7,8 +7,8 @@ import { resolveCascade as c, resolveRadiusKey as me } from "../../utils/resolve
|
|
|
7
7
|
import { Input as pe } from "../input/Input.js";
|
|
8
8
|
import { SelectMenu as de } from "../select-menu/SelectMenu.js";
|
|
9
9
|
import { FALLBACK_AUTOCOMPLETE_CONFIG as o } from "./autocomplete-config.js";
|
|
10
|
-
import { useSelectFloating as
|
|
11
|
-
const
|
|
10
|
+
import { useSelectFloating as ue } from "../select-menu/use-select-floating.js";
|
|
11
|
+
const fe = ae(
|
|
12
12
|
({
|
|
13
13
|
options: l = [],
|
|
14
14
|
value: r,
|
|
@@ -17,10 +17,10 @@ const ue = ae(
|
|
|
17
17
|
allowCustomValue: R = !1,
|
|
18
18
|
belowList: P,
|
|
19
19
|
dropdownClassName: L,
|
|
20
|
-
menu:
|
|
21
|
-
variant:
|
|
22
|
-
color:
|
|
23
|
-
radius:
|
|
20
|
+
menu: M,
|
|
21
|
+
variant: z,
|
|
22
|
+
color: w,
|
|
23
|
+
radius: E,
|
|
24
24
|
size: N,
|
|
25
25
|
endContent: j,
|
|
26
26
|
onClick: v,
|
|
@@ -33,17 +33,17 @@ const ue = ae(
|
|
|
33
33
|
}, m) => {
|
|
34
34
|
var x;
|
|
35
35
|
const p = ie(), e = (x = p.components) == null ? void 0 : x.autocomplete, U = c(
|
|
36
|
-
|
|
36
|
+
z,
|
|
37
37
|
e == null ? void 0 : e.variant,
|
|
38
38
|
p.defaultVariant,
|
|
39
39
|
o.variant
|
|
40
40
|
), q = c(
|
|
41
|
-
|
|
41
|
+
w,
|
|
42
42
|
e == null ? void 0 : e.color,
|
|
43
43
|
p.defaultColor,
|
|
44
44
|
o.color
|
|
45
45
|
), H = me(
|
|
46
|
-
|
|
46
|
+
E,
|
|
47
47
|
e == null ? void 0 : e.radius,
|
|
48
48
|
p.defaultRadius,
|
|
49
49
|
o.radius
|
|
@@ -65,13 +65,13 @@ const ue = ae(
|
|
|
65
65
|
), a = F(
|
|
66
66
|
() => l.find((t) => t.value === r),
|
|
67
67
|
[l, r]
|
|
68
|
-
), [S, d] = A(!1), [
|
|
68
|
+
), [S, d] = A(!1), [u, f] = A(
|
|
69
69
|
() => a ? a.label : String(r ?? "")
|
|
70
70
|
);
|
|
71
71
|
ce(() => {
|
|
72
|
-
a ?
|
|
72
|
+
a ? f(a.label) : r != null && f(String(r));
|
|
73
73
|
}, [a, r]);
|
|
74
|
-
const { refs: T, floatingStyles: X, context: n } =
|
|
74
|
+
const { refs: T, floatingStyles: X, context: n } = ue({
|
|
75
75
|
isOpen: S,
|
|
76
76
|
onOpenChange: d,
|
|
77
77
|
disabled: O
|
|
@@ -79,17 +79,17 @@ const ue = ae(
|
|
|
79
79
|
Y,
|
|
80
80
|
Z,
|
|
81
81
|
$
|
|
82
|
-
]), V = F(() =>
|
|
83
|
-
(t) => t.label.toLowerCase().includes(
|
|
84
|
-
) : l, [l,
|
|
82
|
+
]), V = F(() => u.trim() ? l.filter(
|
|
83
|
+
(t) => t.label.toLowerCase().includes(u.toLowerCase())
|
|
84
|
+
) : l, [l, u]), g = K(
|
|
85
85
|
(t) => {
|
|
86
86
|
const y = t.target.value;
|
|
87
|
-
|
|
87
|
+
f(y), i == null || i(y), d(!0), R && (s == null || s(y));
|
|
88
88
|
},
|
|
89
89
|
[R, i, s]
|
|
90
90
|
), C = K(
|
|
91
91
|
(t) => {
|
|
92
|
-
|
|
92
|
+
f(t.label), s == null || s(t.value, t), d(!1);
|
|
93
93
|
},
|
|
94
94
|
[s]
|
|
95
95
|
), ee = F(
|
|
@@ -109,7 +109,7 @@ const ue = ae(
|
|
|
109
109
|
size: J,
|
|
110
110
|
disabled: O,
|
|
111
111
|
placeholder: _,
|
|
112
|
-
value:
|
|
112
|
+
value: u,
|
|
113
113
|
onChange: g,
|
|
114
114
|
onClick: (t) => {
|
|
115
115
|
O || d(!0), v == null || v(t);
|
|
@@ -131,11 +131,11 @@ const ue = ae(
|
|
|
131
131
|
setFloatingRef: T.setFloating,
|
|
132
132
|
options: V,
|
|
133
133
|
selectedValues: ee,
|
|
134
|
-
|
|
134
|
+
onSelectMenuOption: C,
|
|
135
135
|
isSearch: !1,
|
|
136
136
|
belowList: P,
|
|
137
137
|
dropdownClassName: L,
|
|
138
|
-
menuProps:
|
|
138
|
+
menuProps: M,
|
|
139
139
|
menuConfig: e == null ? void 0 : e.menu,
|
|
140
140
|
initialFocus: -1,
|
|
141
141
|
returnFocus: !1,
|
|
@@ -146,7 +146,7 @@ const ue = ae(
|
|
|
146
146
|
] });
|
|
147
147
|
}
|
|
148
148
|
);
|
|
149
|
-
|
|
149
|
+
fe.displayName = "Autocomplete";
|
|
150
150
|
export {
|
|
151
|
-
|
|
151
|
+
fe as Autocomplete
|
|
152
152
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/modal/Modal.tsx"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AASf,OAAO,EAEL,KAAK,WAAW,EAGjB,MAAM,gBAAgB,CAAC;AAGxB,KAAK,cAAc,GAAG,WAAW,GAC/B,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AACH,wBAAgB,KAAK,CAAC,EACpB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,KAAK,EACL,MAAM,EACN,IAAI,EACJ,QAAQ,EAAE,YAAY,EACtB,MAAM,EACN,QAAQ,EAAE,YAAY,EACtB,oBAAoB,EAAE,wBAAwB,EAC9C,aAAa,EAAE,iBAAiB,EAChC,gBAAgB,EAAE,oBAAoB,EACtC,gBAAgB,EAAE,oBAAoB,EACtC,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/modal/Modal.tsx"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AASf,OAAO,EAEL,KAAK,WAAW,EAGjB,MAAM,gBAAgB,CAAC;AAGxB,KAAK,cAAc,GAAG,WAAW,GAC/B,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AACH,wBAAgB,KAAK,CAAC,EACpB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,KAAK,EACL,MAAM,EACN,IAAI,EACJ,QAAQ,EAAE,YAAY,EACtB,MAAM,EACN,QAAQ,EAAE,YAAY,EACtB,oBAAoB,EAAE,wBAAwB,EAC9C,aAAa,EAAE,iBAAiB,EAChC,gBAAgB,EAAE,oBAAoB,EACtC,gBAAgB,EAAE,oBAAoB,EACtC,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,UAAU,sCA+JZ;yBAhLe,KAAK"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsxs as P, jsx as
|
|
3
|
-
import { useState as
|
|
2
|
+
import { jsxs as P, jsx as v } from "react/jsx-runtime";
|
|
3
|
+
import { useState as y, useEffect as A } from "react";
|
|
4
4
|
import { useAsheeConfig as U } from "../../libs/context.js";
|
|
5
|
-
import { resolveCascade as a, resolveRadiusKey as W, resolveClassKey as
|
|
6
|
-
import { FALLBACK_MODAL_CONFIG as
|
|
7
|
-
import { MODAL_MAX_WIDTH_CLASS as X, MODAL_POSITION_CLASS as
|
|
5
|
+
import { resolveCascade as a, resolveRadiusKey as W, resolveClassKey as b } from "../../utils/resolve-token.js";
|
|
6
|
+
import { FALLBACK_MODAL_CONFIG as s } from "./modal-config.js";
|
|
7
|
+
import { MODAL_MAX_WIDTH_CLASS as X, MODAL_POSITION_CLASS as S } from "./modal-styles.js";
|
|
8
8
|
import { RADIUS_CLASS as J } from "../../shared/radius.js";
|
|
9
|
-
import { cn as
|
|
9
|
+
import { cn as l } from "../../utils/cn.js";
|
|
10
10
|
function Q({
|
|
11
|
-
isOpen:
|
|
12
|
-
onClose:
|
|
13
|
-
children:
|
|
14
|
-
width:
|
|
11
|
+
isOpen: o,
|
|
12
|
+
onClose: t,
|
|
13
|
+
children: w,
|
|
14
|
+
width: d,
|
|
15
15
|
height: L,
|
|
16
|
-
size:
|
|
17
|
-
position:
|
|
18
|
-
radius:
|
|
16
|
+
size: O,
|
|
17
|
+
position: h,
|
|
18
|
+
radius: x,
|
|
19
19
|
animated: E,
|
|
20
20
|
closeOnBackdropClick: N,
|
|
21
21
|
closeOnEscape: _,
|
|
@@ -25,114 +25,108 @@ function Q({
|
|
|
25
25
|
style: C,
|
|
26
26
|
...D
|
|
27
27
|
}) {
|
|
28
|
-
var
|
|
29
|
-
const
|
|
30
|
-
|
|
28
|
+
var k;
|
|
29
|
+
const c = U(), e = (k = c.components) == null ? void 0 : k.modal, [m, u] = y(!1), [I, n] = y(o), K = a(
|
|
30
|
+
O,
|
|
31
31
|
e == null ? void 0 : e.size,
|
|
32
32
|
void 0,
|
|
33
|
-
|
|
33
|
+
s.size
|
|
34
34
|
), R = a(
|
|
35
|
-
|
|
35
|
+
h,
|
|
36
36
|
e == null ? void 0 : e.position,
|
|
37
37
|
void 0,
|
|
38
|
-
|
|
38
|
+
s.position
|
|
39
39
|
), T = a(
|
|
40
40
|
N,
|
|
41
41
|
e == null ? void 0 : e.closeOnBackdropClick,
|
|
42
42
|
void 0,
|
|
43
|
-
|
|
43
|
+
s.closeOnBackdropClick
|
|
44
44
|
), p = a(
|
|
45
45
|
_,
|
|
46
46
|
e == null ? void 0 : e.closeOnEscape,
|
|
47
47
|
void 0,
|
|
48
|
-
|
|
49
|
-
),
|
|
50
|
-
|
|
48
|
+
s.closeOnEscape
|
|
49
|
+
), j = W(
|
|
50
|
+
x,
|
|
51
51
|
e == null ? void 0 : e.radius,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
),
|
|
52
|
+
c.defaultRadius,
|
|
53
|
+
s.radius
|
|
54
|
+
), r = a(
|
|
55
55
|
E,
|
|
56
56
|
e == null ? void 0 : e.animated,
|
|
57
57
|
void 0,
|
|
58
|
-
|
|
59
|
-
),
|
|
58
|
+
s.animated
|
|
59
|
+
), F = d ? "" : b(
|
|
60
60
|
K,
|
|
61
61
|
X,
|
|
62
|
-
|
|
63
|
-
),
|
|
64
|
-
|
|
62
|
+
s.size
|
|
63
|
+
), g = b(
|
|
64
|
+
j,
|
|
65
65
|
J,
|
|
66
|
-
|
|
67
|
-
), q =
|
|
68
|
-
if (
|
|
69
|
-
if (
|
|
66
|
+
s.radius
|
|
67
|
+
), q = S[R] ?? S.center;
|
|
68
|
+
if (A(() => {
|
|
69
|
+
if (o)
|
|
70
70
|
n(!0), requestAnimationFrame(() => {
|
|
71
|
-
|
|
71
|
+
u(!1);
|
|
72
72
|
});
|
|
73
|
-
else if (
|
|
74
|
-
|
|
75
|
-
const
|
|
73
|
+
else if (r) {
|
|
74
|
+
u(!0);
|
|
75
|
+
const i = setTimeout(() => {
|
|
76
76
|
n(!1);
|
|
77
77
|
}, 200);
|
|
78
|
-
return () => clearTimeout(
|
|
78
|
+
return () => clearTimeout(i);
|
|
79
79
|
} else
|
|
80
80
|
n(!1);
|
|
81
|
-
}, [
|
|
82
|
-
if (!
|
|
83
|
-
const
|
|
84
|
-
H.key === "Escape" &&
|
|
85
|
-
};
|
|
86
|
-
return window.addEventListener("keydown", r), () => window.removeEventListener("keydown", r);
|
|
87
|
-
}, [t, p, s]), d(() => {
|
|
88
|
-
if (!t) return;
|
|
89
|
-
const r = document.body.style.overflow;
|
|
90
|
-
return document.body.style.overflow = "hidden", () => {
|
|
91
|
-
document.body.style.overflow = r;
|
|
81
|
+
}, [o, r]), A(() => {
|
|
82
|
+
if (!o || !p || !t) return;
|
|
83
|
+
const i = (H) => {
|
|
84
|
+
H.key === "Escape" && t();
|
|
92
85
|
};
|
|
93
|
-
|
|
94
|
-
|
|
86
|
+
return window.addEventListener("keydown", i), () => window.removeEventListener("keydown", i);
|
|
87
|
+
}, [o, p, t]), !I) return null;
|
|
88
|
+
const f = () => r ? m ? "animate-backdrop-out" : "animate-backdrop-in" : "", G = () => r ? m ? "animate-modal-out" : "animate-modal-in" : "";
|
|
95
89
|
return /* @__PURE__ */ P(
|
|
96
90
|
"div",
|
|
97
91
|
{
|
|
98
92
|
role: "dialog",
|
|
99
93
|
"aria-modal": "true",
|
|
100
|
-
className:
|
|
101
|
-
"fixed inset-0 z-50 flex items-center justify-center p-4 sm:p-6
|
|
102
|
-
|
|
94
|
+
className: l(
|
|
95
|
+
"fixed inset-0 z-50 flex items-center justify-center p-4 sm:p-6 h-screen w-screen scrollbar-hide",
|
|
96
|
+
f()
|
|
103
97
|
),
|
|
104
98
|
children: [
|
|
105
|
-
/* @__PURE__ */
|
|
99
|
+
/* @__PURE__ */ v(
|
|
106
100
|
"button",
|
|
107
101
|
{
|
|
108
102
|
type: "button",
|
|
109
|
-
onClick: T ?
|
|
110
|
-
className:
|
|
103
|
+
onClick: T ? t : void 0,
|
|
104
|
+
className: l(
|
|
111
105
|
"fixed inset-0 bg-background/80 backdrop-blur-xs dark:bg-black/70",
|
|
112
106
|
M,
|
|
113
|
-
|
|
107
|
+
f()
|
|
114
108
|
)
|
|
115
109
|
}
|
|
116
110
|
),
|
|
117
|
-
/* @__PURE__ */
|
|
111
|
+
/* @__PURE__ */ v(
|
|
118
112
|
"div",
|
|
119
113
|
{
|
|
120
|
-
className:
|
|
114
|
+
className: l(
|
|
121
115
|
"relative z-10 w-full bg-background text-foreground overflow-y-auto max-h-[90vh]",
|
|
122
116
|
q,
|
|
123
|
-
j,
|
|
124
117
|
F,
|
|
118
|
+
g,
|
|
125
119
|
z,
|
|
126
120
|
G(),
|
|
127
121
|
B
|
|
128
122
|
),
|
|
129
123
|
style: {
|
|
130
|
-
width:
|
|
124
|
+
width: d,
|
|
131
125
|
height: L,
|
|
132
126
|
...C
|
|
133
127
|
},
|
|
134
128
|
...D,
|
|
135
|
-
children:
|
|
129
|
+
children: w
|
|
136
130
|
}
|
|
137
131
|
)
|
|
138
132
|
]
|
|
@@ -53,8 +53,8 @@ const tr = Ge(
|
|
|
53
53
|
style: ce,
|
|
54
54
|
...ue
|
|
55
55
|
}, p) => {
|
|
56
|
-
var D, K, F
|
|
57
|
-
const v = qe(), e = (
|
|
56
|
+
var M, D, K, F;
|
|
57
|
+
const v = qe(), e = (M = v.components) == null ? void 0 : M.multiSelect, me = He(), de = le ?? me, [x, fe] = P(!1), [Se, pe] = P(""), y = c(
|
|
58
58
|
J,
|
|
59
59
|
e == null ? void 0 : e.size,
|
|
60
60
|
void 0,
|
|
@@ -76,17 +76,17 @@ const tr = Ge(
|
|
|
76
76
|
s.radius
|
|
77
77
|
), xe = c(
|
|
78
78
|
a == null ? void 0 : a.color,
|
|
79
|
-
(
|
|
79
|
+
(D = e == null ? void 0 : e.chip) == null ? void 0 : D.color,
|
|
80
80
|
w,
|
|
81
81
|
s.chip.color
|
|
82
82
|
), ye = c(
|
|
83
83
|
a == null ? void 0 : a.size,
|
|
84
|
-
(
|
|
84
|
+
(K = e == null ? void 0 : e.chip) == null ? void 0 : K.size,
|
|
85
85
|
void 0,
|
|
86
86
|
s.chip.size
|
|
87
87
|
), be = U(
|
|
88
88
|
a == null ? void 0 : a.radius,
|
|
89
|
-
(
|
|
89
|
+
(F = e == null ? void 0 : e.chip) == null ? void 0 : F.radius,
|
|
90
90
|
A,
|
|
91
91
|
s.chip.radius
|
|
92
92
|
), d = X ?? "default", ge = d === "error" ? "danger" : d === "success" ? "success" : d === "warning" ? "warning" : w, Te = c(
|
|
@@ -124,14 +124,14 @@ const tr = Ge(
|
|
|
124
124
|
isOpen: x,
|
|
125
125
|
onOpenChange: fe,
|
|
126
126
|
disabled: u
|
|
127
|
-
}), Ee = Ue(b, { enabled: !u }), ke = Ve(b),
|
|
127
|
+
}), Ee = Ue(b, { enabled: !u }), ke = Ve(b), Me = je(b, { role: "listbox" }), { getReferenceProps: De, getFloatingProps: Ke } = Be([
|
|
128
128
|
Ee,
|
|
129
129
|
ke,
|
|
130
|
-
|
|
130
|
+
Me
|
|
131
131
|
]), i = R(() => N !== void 0 ? N : Array.isArray(o) ? I.filter((r) => o.includes(r.value)) : [], [N, o, I]), E = L(
|
|
132
132
|
(r) => i.some((t) => t.value === r),
|
|
133
133
|
[i]
|
|
134
|
-
),
|
|
134
|
+
), Fe = L(
|
|
135
135
|
(r) => {
|
|
136
136
|
const t = E(r.value);
|
|
137
137
|
if (f || n)
|
|
@@ -193,7 +193,7 @@ const tr = Ge(
|
|
|
193
193
|
we,
|
|
194
194
|
ae
|
|
195
195
|
),
|
|
196
|
-
...
|
|
196
|
+
...De(),
|
|
197
197
|
children: [
|
|
198
198
|
/* @__PURE__ */ l("span", { children: i.length > 0 ? `${i.length} selected` : V }),
|
|
199
199
|
/* @__PURE__ */ l(
|
|
@@ -214,11 +214,11 @@ const tr = Ge(
|
|
|
214
214
|
isOpen: x,
|
|
215
215
|
context: b,
|
|
216
216
|
floatingStyles: ze,
|
|
217
|
-
getFloatingProps:
|
|
217
|
+
getFloatingProps: Ke,
|
|
218
218
|
setFloatingRef: z.setFloating,
|
|
219
219
|
options: I,
|
|
220
220
|
selectedValues: Oe,
|
|
221
|
-
|
|
221
|
+
onSelectMenuOption: Fe,
|
|
222
222
|
isSearch: j,
|
|
223
223
|
searchPlaceholder: B,
|
|
224
224
|
searchInputName: G,
|
|
@@ -28,12 +28,12 @@ const De = ge(
|
|
|
28
28
|
labelAlign: O,
|
|
29
29
|
description: P,
|
|
30
30
|
message: D,
|
|
31
|
-
required:
|
|
32
|
-
isLoading:
|
|
31
|
+
required: M,
|
|
32
|
+
isLoading: j,
|
|
33
33
|
disabled: v,
|
|
34
|
-
isSearch:
|
|
35
|
-
searchPlaceholder:
|
|
36
|
-
searchInputName:
|
|
34
|
+
isSearch: z = !1,
|
|
35
|
+
searchPlaceholder: C = "Search options...",
|
|
36
|
+
searchInputName: B = "select-search",
|
|
37
37
|
initialValue: n,
|
|
38
38
|
belowList: Q,
|
|
39
39
|
placeholder: y = "Select...",
|
|
@@ -124,8 +124,8 @@ const De = ge(
|
|
|
124
124
|
description: P,
|
|
125
125
|
message: D,
|
|
126
126
|
status: u,
|
|
127
|
-
required:
|
|
128
|
-
isLoading:
|
|
127
|
+
required: M,
|
|
128
|
+
isLoading: j,
|
|
129
129
|
children: /* @__PURE__ */ T("div", { className: "w-full relative inline-block", children: [
|
|
130
130
|
/* @__PURE__ */ T(
|
|
131
131
|
"button",
|
|
@@ -180,10 +180,10 @@ const De = ge(
|
|
|
180
180
|
setFloatingRef: h.setFloating,
|
|
181
181
|
options: p,
|
|
182
182
|
selectedValues: ve,
|
|
183
|
-
|
|
184
|
-
isSearch:
|
|
185
|
-
searchPlaceholder:
|
|
186
|
-
searchInputName:
|
|
183
|
+
onSelectMenuOption: pe,
|
|
184
|
+
isSearch: z,
|
|
185
|
+
searchPlaceholder: C,
|
|
186
|
+
searchInputName: B,
|
|
187
187
|
searchQuery: $,
|
|
188
188
|
onSearchChange: R,
|
|
189
189
|
belowList: Q,
|
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
import { FloatingContext } from '@floating-ui/react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { SelectMenuConfig } from './select-menu-config';
|
|
4
|
-
/**
|
|
5
|
-
* Type alias for a select option.
|
|
6
|
-
* Each option must have a label and a unique value.
|
|
7
|
-
*/
|
|
8
|
-
export interface SelectOption {
|
|
9
|
-
label: string;
|
|
10
|
-
value: string | number;
|
|
11
|
-
disabled?: boolean;
|
|
12
|
-
[key: string]: unknown;
|
|
13
|
-
}
|
|
3
|
+
import { SelectMenuConfig, SelectMenuOption } from './select-menu-config';
|
|
14
4
|
/**
|
|
15
5
|
* Props for the SelectMenu component.
|
|
16
6
|
*/
|
|
@@ -38,7 +28,7 @@ export interface SelectMenuProps {
|
|
|
38
28
|
/**
|
|
39
29
|
* Available options to display in the menu.
|
|
40
30
|
*/
|
|
41
|
-
options:
|
|
31
|
+
options: SelectMenuOption[];
|
|
42
32
|
/**
|
|
43
33
|
* Currently selected values.
|
|
44
34
|
* Used to highlight selected options with a checkmark.
|
|
@@ -48,7 +38,7 @@ export interface SelectMenuProps {
|
|
|
48
38
|
* Callback fired when an option is selected.
|
|
49
39
|
* Receives the selected option object.
|
|
50
40
|
*/
|
|
51
|
-
|
|
41
|
+
onSelectMenuOption: (option: SelectMenuOption) => void;
|
|
52
42
|
/**
|
|
53
43
|
* Whether search input is shown in the menu.
|
|
54
44
|
* @default true
|
|
@@ -92,7 +82,7 @@ export interface SelectMenuProps {
|
|
|
92
82
|
* Custom render function for each option.
|
|
93
83
|
* Receives the option and a boolean indicating if it's selected.
|
|
94
84
|
*/
|
|
95
|
-
renderOption?: (option:
|
|
85
|
+
renderOption?: (option: SelectMenuOption, isSelected: boolean) => ReactNode;
|
|
96
86
|
/**
|
|
97
87
|
* Initial focus target for the FloatingFocusManager.
|
|
98
88
|
*/
|
|
@@ -142,7 +132,7 @@ export interface SelectMenuProps {
|
|
|
142
132
|
* @param props.setFloatingRef - Ref setter for the floating element.
|
|
143
133
|
* @param props.options - Available options to display.
|
|
144
134
|
* @param props.selectedValues - Currently selected values.
|
|
145
|
-
* @param props.
|
|
135
|
+
* @param props.onSelectMenuOption - Callback fired when an option is selected.
|
|
146
136
|
* @param props.isSearch - Whether search is enabled. Defaults to true.
|
|
147
137
|
* @param props.searchPlaceholder - Search placeholder. Defaults to "Search...".
|
|
148
138
|
* @param props.belowList - Content below the options list.
|
|
@@ -152,6 +142,7 @@ export interface SelectMenuProps {
|
|
|
152
142
|
* @param props.renderOption - Custom render function for options.
|
|
153
143
|
* @param props.portal - Whether to render the menu in a portal. Defaults to true.
|
|
154
144
|
* @param props.portalTarget - Custom portal target element. Defaults to document.body.
|
|
145
|
+
* @param props.lockScroll - Whether to lock body scroll. Defaults to true.
|
|
155
146
|
*
|
|
156
147
|
* @example
|
|
157
148
|
* ```tsx
|
|
@@ -165,7 +156,7 @@ export interface SelectMenuProps {
|
|
|
165
156
|
* setFloatingRef={refs.setFloating}
|
|
166
157
|
* options={options}
|
|
167
158
|
* selectedValues={selectedValues}
|
|
168
|
-
*
|
|
159
|
+
* onSelectMenuOption={handleSelect}
|
|
169
160
|
* />
|
|
170
161
|
* ```
|
|
171
162
|
*
|
|
@@ -173,7 +164,7 @@ export interface SelectMenuProps {
|
|
|
173
164
|
* @see Button - The button component used for menu items.
|
|
174
165
|
*/
|
|
175
166
|
export declare const SelectMenu: {
|
|
176
|
-
({ isOpen, context, floatingStyles, getFloatingProps, setFloatingRef, options, selectedValues,
|
|
167
|
+
({ isOpen, context, floatingStyles, getFloatingProps, setFloatingRef, options, selectedValues, onSelectMenuOption, isSearch, searchPlaceholder, searchInputName, searchQuery, onSearchChange, belowList, dropdownClassName, menuConfig, menuProps, renderOption, initialFocus, returnFocus, portal, portalTarget, }: SelectMenuProps): import("react").JSX.Element | null;
|
|
177
168
|
displayName: string;
|
|
178
169
|
};
|
|
179
170
|
//# sourceMappingURL=SelectMenu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectMenu.d.ts","sourceRoot":"","sources":["../../../src/components/select-menu/SelectMenu.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,eAAe,EAAwB,MAAM,oBAAoB,CAAC;AAChF,OAAO,
|
|
1
|
+
{"version":3,"file":"SelectMenu.d.ts","sourceRoot":"","sources":["../../../src/components/select-menu/SelectMenu.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,eAAe,EAAwB,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAEL,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAUf,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC;IAEzB;;OAEG;IACH,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC;IAEpC;;OAEG;IACH,gBAAgB,EAAE,CAChB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE7B;;OAEG;IACH,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IAEnD;;OAEG;IACH,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAE5B;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAErC;;;OAGG;IACH,kBAAkB,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAEvD;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B;;OAEG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAE7B;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO,KAAK,SAAS,CAAC;IAE5E;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAErD;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,eAAO,MAAM,UAAU;yTAuBpB,eAAe;;CAmMjB,CAAC"}
|
|
@@ -1,137 +1,150 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as
|
|
3
|
-
import { FloatingFocusManager as
|
|
4
|
-
import { useState as
|
|
5
|
-
import { createPortal as
|
|
6
|
-
import { CheckIcon as
|
|
7
|
-
import { SearchIcon as
|
|
8
|
-
import { useAsheeConfig as
|
|
9
|
-
import { resolveCascade as
|
|
10
|
-
import { Button as
|
|
11
|
-
import { Input as
|
|
12
|
-
import { FALLBACK_SELECT_MENU_CONFIG as
|
|
13
|
-
import { cn as
|
|
14
|
-
const
|
|
15
|
-
isOpen:
|
|
16
|
-
context:
|
|
17
|
-
floatingStyles:
|
|
18
|
-
getFloatingProps:
|
|
19
|
-
setFloatingRef:
|
|
20
|
-
options:
|
|
21
|
-
selectedValues:
|
|
22
|
-
|
|
23
|
-
isSearch:
|
|
2
|
+
import { jsx as r, jsxs as u } from "react/jsx-runtime";
|
|
3
|
+
import { FloatingFocusManager as J } from "@floating-ui/react";
|
|
4
|
+
import { useState as X, useEffect as Y, useMemo as Z } from "react";
|
|
5
|
+
import { createPortal as $ } from "react-dom";
|
|
6
|
+
import { CheckIcon as p } from "../../icons/CheckIcon.js";
|
|
7
|
+
import { SearchIcon as C } from "../../icons/SearchIcon.js";
|
|
8
|
+
import { useAsheeConfig as g } from "../../libs/context.js";
|
|
9
|
+
import { resolveCascade as d, resolveRadiusKey as P } from "../../utils/resolve-token.js";
|
|
10
|
+
import { Button as tt } from "../button/Button.js";
|
|
11
|
+
import { Input as et } from "../input/Input.js";
|
|
12
|
+
import { FALLBACK_SELECT_MENU_CONFIG as o } from "./select-menu-config.js";
|
|
13
|
+
import { cn as lt } from "../../utils/cn.js";
|
|
14
|
+
const rt = ({
|
|
15
|
+
isOpen: s,
|
|
16
|
+
context: z,
|
|
17
|
+
floatingStyles: V,
|
|
18
|
+
getFloatingProps: m,
|
|
19
|
+
setFloatingRef: A,
|
|
20
|
+
options: v = [],
|
|
21
|
+
selectedValues: F = [],
|
|
22
|
+
onSelectMenuOption: L,
|
|
23
|
+
isSearch: y = !0,
|
|
24
24
|
searchPlaceholder: M = "Search...",
|
|
25
|
-
searchInputName:
|
|
25
|
+
searchInputName: E = "select-menu-search",
|
|
26
26
|
searchQuery: Q,
|
|
27
27
|
onSearchChange: b,
|
|
28
28
|
belowList: h,
|
|
29
29
|
dropdownClassName: j,
|
|
30
30
|
menuConfig: t,
|
|
31
31
|
menuProps: e,
|
|
32
|
-
renderOption:
|
|
33
|
-
initialFocus:
|
|
34
|
-
returnFocus:
|
|
35
|
-
portal:
|
|
36
|
-
portalTarget:
|
|
32
|
+
renderOption: f,
|
|
33
|
+
initialFocus: K,
|
|
34
|
+
returnFocus: R,
|
|
35
|
+
portal: _ = !0,
|
|
36
|
+
portalTarget: B
|
|
37
37
|
}) => {
|
|
38
|
-
const
|
|
39
|
-
b ? b(
|
|
40
|
-
},
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
const c = g(), [T, D] = X(""), i = Q ?? T, G = (l) => {
|
|
39
|
+
b ? b(l) : D(l);
|
|
40
|
+
}, n = d(
|
|
41
|
+
e == null ? void 0 : e.lockScroll,
|
|
42
|
+
t == null ? void 0 : t.lockScroll,
|
|
43
|
+
void 0,
|
|
44
|
+
o.lockScroll
|
|
45
|
+
);
|
|
46
|
+
Y(() => {
|
|
47
|
+
if (!s || !n) return;
|
|
48
|
+
const l = document.body.style.overflow, a = document.body.style.position, H = document.body.style.width;
|
|
49
|
+
return document.body.style.overflow = "hidden", document.body.style.position = "fixed", document.body.style.width = "100%", () => {
|
|
50
|
+
document.body.style.overflow = l, document.body.style.position = a, document.body.style.width = H;
|
|
51
|
+
};
|
|
52
|
+
}, [s, n]);
|
|
53
|
+
const x = Z(() => !y || !i.trim() ? v : v.filter(
|
|
54
|
+
(l) => l.label.toLowerCase().includes(i.toLowerCase())
|
|
55
|
+
), [v, y, i]), O = (l) => F.includes(l), U = d(
|
|
43
56
|
e == null ? void 0 : e.itemVariant,
|
|
44
57
|
t == null ? void 0 : t.itemVariant,
|
|
45
58
|
void 0,
|
|
46
|
-
|
|
47
|
-
),
|
|
59
|
+
o.itemVariant
|
|
60
|
+
), w = d(
|
|
48
61
|
e == null ? void 0 : e.itemColor,
|
|
49
62
|
t == null ? void 0 : t.itemColor,
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
),
|
|
63
|
+
c.defaultColor,
|
|
64
|
+
o.itemColor
|
|
65
|
+
), W = d(
|
|
53
66
|
e == null ? void 0 : e.activeItemVariant,
|
|
54
67
|
t == null ? void 0 : t.activeItemVariant,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
), q =
|
|
68
|
+
c.defaultVariant,
|
|
69
|
+
o.activeItemVariant
|
|
70
|
+
), q = d(
|
|
58
71
|
e == null ? void 0 : e.activeItemColor,
|
|
59
72
|
t == null ? void 0 : t.activeItemColor,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
), I =
|
|
73
|
+
c.defaultColor,
|
|
74
|
+
o.activeItemColor
|
|
75
|
+
), I = P(
|
|
63
76
|
e == null ? void 0 : e.radius,
|
|
64
77
|
t == null ? void 0 : t.radius,
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
), N =
|
|
78
|
+
c.defaultRadius,
|
|
79
|
+
o.radius
|
|
80
|
+
), N = d(
|
|
68
81
|
e == null ? void 0 : e.size,
|
|
69
82
|
t == null ? void 0 : t.size,
|
|
70
83
|
void 0,
|
|
71
|
-
|
|
72
|
-
),
|
|
73
|
-
if (!
|
|
74
|
-
const
|
|
75
|
-
|
|
84
|
+
o.size
|
|
85
|
+
), S = B ?? (typeof document < "u" ? document.body : null);
|
|
86
|
+
if (!s) return null;
|
|
87
|
+
const k = /* @__PURE__ */ r(
|
|
88
|
+
J,
|
|
76
89
|
{
|
|
77
|
-
context:
|
|
90
|
+
context: z,
|
|
78
91
|
modal: !1,
|
|
79
|
-
initialFocus:
|
|
80
|
-
returnFocus:
|
|
81
|
-
children: /* @__PURE__ */
|
|
92
|
+
initialFocus: K,
|
|
93
|
+
returnFocus: R,
|
|
94
|
+
children: /* @__PURE__ */ r(
|
|
82
95
|
"div",
|
|
83
96
|
{
|
|
84
|
-
ref:
|
|
85
|
-
style: { ...
|
|
97
|
+
ref: A,
|
|
98
|
+
style: { ...V, zIndex: 999999 },
|
|
86
99
|
className: "w-full outline-none",
|
|
87
|
-
...
|
|
88
|
-
children: /* @__PURE__ */
|
|
100
|
+
...m(),
|
|
101
|
+
children: /* @__PURE__ */ u(
|
|
89
102
|
"div",
|
|
90
103
|
{
|
|
91
|
-
className:
|
|
92
|
-
"max-h-60 shadow-xl bg-background border border-border p-1 flex flex-col gap-0.5 overflow-y-auto
|
|
104
|
+
className: lt(
|
|
105
|
+
"max-h-60 shadow-xl bg-background border border-border p-1 flex flex-col gap-0.5 overflow-y-auto scrollable-hidden",
|
|
93
106
|
"animate-in fade-in-0 zoom-in-95 slide-in-from-top-1 duration-150 ease-out",
|
|
94
107
|
j
|
|
95
108
|
),
|
|
96
109
|
children: [
|
|
97
|
-
|
|
98
|
-
|
|
110
|
+
y && /* @__PURE__ */ r("div", { className: "w-full p-1 mb-1 sticky top-0 z-10 border-b border-border", children: /* @__PURE__ */ r(
|
|
111
|
+
et,
|
|
99
112
|
{
|
|
100
|
-
name:
|
|
113
|
+
name: E,
|
|
101
114
|
type: "text",
|
|
102
115
|
variant: "bordered",
|
|
103
116
|
radius: I,
|
|
104
|
-
color:
|
|
117
|
+
color: w,
|
|
105
118
|
size: N,
|
|
106
|
-
value:
|
|
107
|
-
onChange: (
|
|
108
|
-
startContent: /* @__PURE__ */
|
|
119
|
+
value: i,
|
|
120
|
+
onChange: (l) => G(l.target.value),
|
|
121
|
+
startContent: /* @__PURE__ */ r(C, { className: "w-3.5 h-3.5 text-foreground/70" }),
|
|
109
122
|
placeholder: M,
|
|
110
123
|
autoFocus: !0,
|
|
111
124
|
className: "w-full pl-8 h-8 text-xs bg-secondary/30 border-none focus-visible:ring-0"
|
|
112
125
|
}
|
|
113
126
|
) }),
|
|
114
|
-
|
|
115
|
-
const
|
|
116
|
-
return
|
|
117
|
-
|
|
127
|
+
x.length === 0 ? /* @__PURE__ */ r("div", { className: "px-3 py-4 text-xs text-foreground/70 text-center", children: "No options found" }) : x.map((l) => {
|
|
128
|
+
const a = O(l.value);
|
|
129
|
+
return f ? f(l, a) : /* @__PURE__ */ u(
|
|
130
|
+
tt,
|
|
118
131
|
{
|
|
119
|
-
variant:
|
|
120
|
-
color:
|
|
132
|
+
variant: a ? W : U,
|
|
133
|
+
color: a ? q : w,
|
|
121
134
|
radius: I,
|
|
122
135
|
size: N,
|
|
123
|
-
isDisabled:
|
|
124
|
-
onClick: () =>
|
|
136
|
+
isDisabled: l.disabled,
|
|
137
|
+
onClick: () => L(l),
|
|
125
138
|
className: "w-full justify-between font-normal text-left transition-colors truncate",
|
|
126
139
|
children: [
|
|
127
|
-
/* @__PURE__ */
|
|
128
|
-
|
|
140
|
+
/* @__PURE__ */ r("span", { children: l.label }),
|
|
141
|
+
a && /* @__PURE__ */ r(p, { className: "w-3.5 h-3.5 shrink-0 ml-2" })
|
|
129
142
|
]
|
|
130
143
|
},
|
|
131
|
-
String(
|
|
144
|
+
String(l.value)
|
|
132
145
|
);
|
|
133
146
|
}),
|
|
134
|
-
h && /* @__PURE__ */
|
|
147
|
+
h && /* @__PURE__ */ r("div", { className: "border-t border-border pt-1 mt-1", children: h })
|
|
135
148
|
]
|
|
136
149
|
}
|
|
137
150
|
)
|
|
@@ -139,9 +152,9 @@ const tt = ({
|
|
|
139
152
|
)
|
|
140
153
|
}
|
|
141
154
|
);
|
|
142
|
-
return
|
|
155
|
+
return _ && S ? $(k, S) : k;
|
|
143
156
|
};
|
|
144
|
-
|
|
157
|
+
rt.displayName = "SelectMenu";
|
|
145
158
|
export {
|
|
146
|
-
|
|
159
|
+
rt as SelectMenu
|
|
147
160
|
};
|
|
@@ -72,6 +72,14 @@ export interface SelectMenuConfig {
|
|
|
72
72
|
* @default "primary"
|
|
73
73
|
*/
|
|
74
74
|
activeItemColor?: Color;
|
|
75
|
+
/**
|
|
76
|
+
* Whether to lock body scroll when the dropdown is open.
|
|
77
|
+
* When true, the page behind the dropdown cannot scroll.
|
|
78
|
+
* This prevents the page from scrolling while interacting with the dropdown.
|
|
79
|
+
*
|
|
80
|
+
* @default false
|
|
81
|
+
*/
|
|
82
|
+
lockScroll?: boolean;
|
|
75
83
|
}
|
|
76
84
|
/**
|
|
77
85
|
* Hard fallback values used when no config tier provides a value.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-menu-config.d.ts","sourceRoot":"","sources":["../../../src/components/select-menu/select-menu-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEjE;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;IAElB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"select-menu-config.d.ts","sourceRoot":"","sources":["../../../src/components/select-menu/select-menu-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEjE;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;IAElB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;IAExB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,gBAAgB,CAQlE,CAAC"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const
|
|
2
|
+
const e = {
|
|
3
3
|
radius: "md",
|
|
4
4
|
size: "md",
|
|
5
5
|
itemVariant: "ghost",
|
|
6
6
|
itemColor: "primary",
|
|
7
7
|
activeItemVariant: "faded",
|
|
8
|
-
activeItemColor: "primary"
|
|
8
|
+
activeItemColor: "primary",
|
|
9
|
+
lockScroll: !1
|
|
9
10
|
};
|
|
10
11
|
export {
|
|
11
|
-
|
|
12
|
+
e as FALLBACK_SELECT_MENU_CONFIG
|
|
12
13
|
};
|
|
@@ -138,7 +138,7 @@ const pe = ae(
|
|
|
138
138
|
role: "tablist",
|
|
139
139
|
"aria-orientation": "horizontal",
|
|
140
140
|
className: g(
|
|
141
|
-
"flex flex-row w-full items-center overflow-x-auto
|
|
141
|
+
"flex flex-row w-full items-center overflow-x-auto scrollable-hidden shrink-0",
|
|
142
142
|
le,
|
|
143
143
|
v !== "underline" && ie,
|
|
144
144
|
F
|
package/dist/index.css
CHANGED
|
@@ -108,14 +108,36 @@
|
|
|
108
108
|
/**
|
|
109
109
|
* Utility class to hide scrollbars while maintaining scrollability.
|
|
110
110
|
*/
|
|
111
|
-
.
|
|
111
|
+
.scrollable-hidden::-webkit-scrollbar {
|
|
112
112
|
display: none;
|
|
113
113
|
}
|
|
114
|
-
.
|
|
114
|
+
.scrollable-hidden {
|
|
115
115
|
-ms-overflow-style: none;
|
|
116
116
|
scrollbar-width: none;
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
+
/**
|
|
120
|
+
* Utility class to hide scrollbars completely and eliminate scrollbar spacing
|
|
121
|
+
* across all browsers while preserving scrollability.
|
|
122
|
+
*/
|
|
123
|
+
.scrollbar-hide {
|
|
124
|
+
scrollbar-width: none;
|
|
125
|
+
-ms-overflow-style: none;
|
|
126
|
+
scrollbar-gutter: auto;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.scrollbar-hide::-webkit-scrollbar {
|
|
130
|
+
display: none;
|
|
131
|
+
width: 0;
|
|
132
|
+
height: 0;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.scrollbar-hide::-webkit-scrollbar-track,
|
|
136
|
+
.scrollbar-hide::-webkit-scrollbar-thumb {
|
|
137
|
+
background: transparent;
|
|
138
|
+
border: none;
|
|
139
|
+
}
|
|
140
|
+
|
|
119
141
|
/* ─── Modal Animations ────────────────────────────────────────────────────── */
|
|
120
142
|
|
|
121
143
|
@keyframes modalPopIn {
|
package/dist/index.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ export * from './components/multi-select';
|
|
|
36
36
|
export * from './components/radio';
|
|
37
37
|
export * from './components/resizable-screen';
|
|
38
38
|
export * from './components/select';
|
|
39
|
+
export type { SelectMenuOption } from './components/select-menu';
|
|
39
40
|
export * from './components/sidebar';
|
|
40
41
|
export * from './components/spinner';
|
|
41
42
|
export * from './components/switch';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AAErC;;;GAGG;AACH,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAE7D;;;GAGG;AACH,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,SAAS,GACV,MAAM,eAAe,CAAC;AAEvB;;;GAGG;AACH,OAAO,EACL,iBAAiB,EACjB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AAErC;;;GAGG;AACH,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAE7D;;;GAGG;AACH,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,SAAS,GACV,MAAM,eAAe,CAAC;AAEvB;;;GAGG;AACH,OAAO,EACL,iBAAiB,EACjB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
|