@mattermost/compass-ui 0.1.0-alpha.15 → 0.1.0-alpha.16
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/admin-console-footer/AdminConsoleFooter.cjs +2 -0
- package/dist/components/admin-console-footer/AdminConsoleFooter.cjs.map +1 -0
- package/dist/components/admin-console-footer/AdminConsoleFooter.css +1 -0
- package/dist/components/admin-console-footer/AdminConsoleFooter.d.ts +27 -0
- package/dist/components/admin-console-footer/AdminConsoleFooter.d.ts.map +1 -0
- package/dist/components/admin-console-footer/AdminConsoleFooter.js +84 -0
- package/dist/components/admin-console-footer/AdminConsoleFooter.js.map +1 -0
- package/dist/components/admin-console-footer/AdminConsoleFooter.module.scss.cjs +2 -0
- package/dist/components/admin-console-footer/AdminConsoleFooter.module.scss.cjs.map +1 -0
- package/dist/components/admin-console-footer/AdminConsoleFooter.module.scss.js +13 -0
- package/dist/components/admin-console-footer/AdminConsoleFooter.module.scss.js.map +1 -0
- package/dist/components/admin-console-footer/index.cjs +2 -0
- package/dist/components/admin-console-footer/index.cjs.map +1 -0
- package/dist/components/admin-console-footer/index.d.ts +3 -0
- package/dist/components/admin-console-footer/index.d.ts.map +1 -0
- package/dist/components/admin-console-footer/index.js +5 -0
- package/dist/components/admin-console-footer/index.js.map +1 -0
- package/dist/components/admin-panel/AdminPanel.cjs +1 -1
- package/dist/components/admin-panel/AdminPanel.cjs.map +1 -1
- package/dist/components/admin-panel/AdminPanel.d.ts +41 -9
- package/dist/components/admin-panel/AdminPanel.d.ts.map +1 -1
- package/dist/components/admin-panel/AdminPanel.js +91 -81
- package/dist/components/admin-panel/AdminPanel.js.map +1 -1
- package/dist/components/admin-panel-footer/AdminPanelFooter.cjs +1 -1
- package/dist/components/admin-panel-footer/AdminPanelFooter.cjs.map +1 -1
- package/dist/components/admin-panel-footer/AdminPanelFooter.css +1 -1
- package/dist/components/admin-panel-footer/AdminPanelFooter.d.ts +18 -21
- package/dist/components/admin-panel-footer/AdminPanelFooter.d.ts.map +1 -1
- package/dist/components/admin-panel-footer/AdminPanelFooter.js +24 -61
- package/dist/components/admin-panel-footer/AdminPanelFooter.js.map +1 -1
- package/dist/components/admin-panel-footer/AdminPanelFooter.module.scss.cjs +1 -1
- package/dist/components/admin-panel-footer/AdminPanelFooter.module.scss.js +7 -9
- package/dist/components/admin-panel-footer/AdminPanelFooter.module.scss.js.map +1 -1
- package/dist/components/admin-panel-footer/index.d.ts +1 -1
- package/dist/components/admin-panel-footer/index.d.ts.map +1 -1
- package/dist/components/admin-panel-header/AdminPanelHeader.cjs.map +1 -1
- package/dist/components/admin-panel-header/AdminPanelHeader.d.ts +3 -2
- package/dist/components/admin-panel-header/AdminPanelHeader.d.ts.map +1 -1
- package/dist/components/admin-panel-header/AdminPanelHeader.js.map +1 -1
- package/dist/components/channel-sidebar-item/ChannelSidebarItem.css +1 -1
- package/dist/components/channel-sidebar-item/ChannelSidebarItem.module.scss.cjs +1 -1
- package/dist/components/channel-sidebar-item/ChannelSidebarItem.module.scss.js +22 -22
- package/dist/components/checkbox/Checkbox.css +1 -1
- package/dist/components/checkbox/Checkbox.module.scss.cjs +1 -1
- package/dist/components/checkbox/Checkbox.module.scss.js +10 -10
- package/dist/components/chip/Chip.css +1 -1
- package/dist/components/chip/Chip.module.scss.cjs +1 -1
- package/dist/components/chip/Chip.module.scss.js +12 -12
- package/dist/components/combobox/Combobox.cjs +1 -1
- package/dist/components/combobox/Combobox.cjs.map +1 -1
- package/dist/components/combobox/Combobox.css +1 -1
- package/dist/components/combobox/Combobox.d.ts +14 -0
- package/dist/components/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/combobox/Combobox.js +240 -224
- package/dist/components/combobox/Combobox.js.map +1 -1
- package/dist/components/combobox/Combobox.module.scss.cjs +1 -1
- package/dist/components/combobox/Combobox.module.scss.js +21 -21
- package/dist/components/menu-item/MenuItem.cjs.map +1 -1
- package/dist/components/menu-item/MenuItem.css +1 -1
- package/dist/components/menu-item/MenuItem.d.ts +20 -0
- package/dist/components/menu-item/MenuItem.d.ts.map +1 -1
- package/dist/components/menu-item/MenuItem.js.map +1 -1
- package/dist/components/menu-item/MenuItem.module.scss.cjs +1 -1
- package/dist/components/menu-item/MenuItem.module.scss.js +16 -16
- package/dist/components/menu-item/index.d.ts +1 -1
- package/dist/components/menu-item/index.d.ts.map +1 -1
- package/dist/components/radio/Radio.css +1 -1
- package/dist/components/radio/Radio.module.scss.cjs +1 -1
- package/dist/components/radio/Radio.module.scss.js +12 -12
- package/dist/components/section-notice/SectionNotice.cjs +1 -1
- package/dist/components/section-notice/SectionNotice.cjs.map +1 -1
- package/dist/components/section-notice/SectionNotice.css +1 -1
- package/dist/components/section-notice/SectionNotice.js +17 -17
- package/dist/components/section-notice/SectionNotice.js.map +1 -1
- package/dist/components/section-notice/SectionNotice.module.scss.cjs +1 -1
- package/dist/components/section-notice/SectionNotice.module.scss.js +12 -12
- package/dist/components/select/Select.cjs +1 -1
- package/dist/components/select/Select.cjs.map +1 -1
- package/dist/components/select/Select.css +1 -1
- package/dist/components/select/Select.d.ts +16 -0
- package/dist/components/select/Select.d.ts.map +1 -1
- package/dist/components/select/Select.js +177 -157
- package/dist/components/select/Select.js.map +1 -1
- package/dist/components/select/Select.module.scss.cjs +1 -1
- package/dist/components/select/Select.module.scss.js +20 -20
- package/dist/components/switch/Switch.css +1 -1
- package/dist/components/switch/Switch.module.scss.cjs +1 -1
- package/dist/components/switch/Switch.module.scss.js +9 -9
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +168 -166
- package/dist/index.js.map +1 -1
- package/dist/utils/menuItemProps.cjs +2 -0
- package/dist/utils/menuItemProps.cjs.map +1 -0
- package/dist/utils/menuItemProps.d.ts +5 -0
- package/dist/utils/menuItemProps.d.ts.map +1 -0
- package/dist/utils/menuItemProps.js +12 -0
- package/dist/utils/menuItemProps.js.map +1 -0
- package/package.json +4 -1
|
@@ -1,53 +1,54 @@
|
|
|
1
1
|
import { jsxs as M, jsx as s } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import { useAnchoredPopupPortal as
|
|
14
|
-
import { useOutsideClose as
|
|
15
|
-
import { usePopoverTransition as
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
2
|
+
import { forwardRef as vr, useId as hr, useRef as X, useCallback as d, useState as V, useMemo as R, useEffect as Me } from "react";
|
|
3
|
+
import __xr from "@mattermost/compass-icons/components/chevron-down.js";const xr=__xr&&__xr.default?__xr.default:__xr;
|
|
4
|
+
import ___r from "@mattermost/compass-icons/components/close-circle.js";const _r=___r&&___r.default?___r.default:___r;
|
|
5
|
+
import __pr from "@mattermost/compass-icons/components/plus.js";const pr=__pr&&__pr.default?__pr.default:__pr;
|
|
6
|
+
import gr from "../chip/Chip.js";
|
|
7
|
+
import yr from "../chip/ChipGroup.js";
|
|
8
|
+
import se, { IconSlotContext as kr } from "../icon/Icon.js";
|
|
9
|
+
import Ve from "../menu-item/MenuItem.js";
|
|
10
|
+
import wr, { PopoverMenuScroll as Dr } from "../popover-menu/PopoverMenu.js";
|
|
11
|
+
import Nr from "../spinner/Spinner.js";
|
|
12
|
+
import Ar from "../user-avatar/UserAvatar.js";
|
|
13
|
+
import { useAnchoredPopupPortal as Mr } from "../../hooks/use-anchored-popup-portal.js";
|
|
14
|
+
import { useOutsideClose as Vr } from "../../hooks/use-outside-close.js";
|
|
15
|
+
import { usePopoverTransition as Rr } from "../../hooks/use-popover-transition.js";
|
|
16
|
+
import { mergeMenuItemProps as Er } from "../../utils/menuItemProps.js";
|
|
17
|
+
import { mergeClassNames as Sr } from "../../utils/props.js";
|
|
18
|
+
import { toKebab as Ir } from "../../utils/string.js";
|
|
18
19
|
import l from "./Combobox.module.scss.js";
|
|
19
|
-
const
|
|
20
|
+
const Re = 280, Lr = {
|
|
20
21
|
small: "small",
|
|
21
22
|
medium: "medium",
|
|
22
23
|
large: "large"
|
|
23
|
-
},
|
|
24
|
+
}, Fr = {
|
|
24
25
|
small: "12",
|
|
25
26
|
medium: "16",
|
|
26
27
|
large: "16"
|
|
27
28
|
};
|
|
28
|
-
function
|
|
29
|
+
function Cr(t) {
|
|
29
30
|
return typeof t == "string" ? `${t} selections` : "Selected";
|
|
30
31
|
}
|
|
31
|
-
function
|
|
32
|
+
function Hr(t) {
|
|
32
33
|
return `Create "${t}"`;
|
|
33
34
|
}
|
|
34
|
-
function
|
|
35
|
+
function ae(t) {
|
|
35
36
|
return t.kind === "option" && t.option.disabled === !0;
|
|
36
37
|
}
|
|
37
|
-
function
|
|
38
|
+
function $r(t, b) {
|
|
38
39
|
return b ? t.label.toLowerCase().includes(b.toLowerCase()) : !0;
|
|
39
40
|
}
|
|
40
|
-
function
|
|
41
|
+
function zr(t) {
|
|
41
42
|
return t == null ? null : Array.isArray(t) ? t[0] ?? null : t === "" ? null : t;
|
|
42
43
|
}
|
|
43
|
-
function
|
|
44
|
+
function Or(t) {
|
|
44
45
|
return t == null ? [] : Array.isArray(t) ? t : t === "" ? [] : [t];
|
|
45
46
|
}
|
|
46
|
-
function
|
|
47
|
+
function Tr(t) {
|
|
47
48
|
if (t.leadingVisual != null) return t.leadingVisual;
|
|
48
49
|
if (t.leadingAvatar != null)
|
|
49
50
|
return /* @__PURE__ */ s(
|
|
50
|
-
|
|
51
|
+
Ar,
|
|
51
52
|
{
|
|
52
53
|
src: t.leadingAvatar.src,
|
|
53
54
|
alt: t.leadingAvatar.alt,
|
|
@@ -55,106 +56,112 @@ function Hr(t) {
|
|
|
55
56
|
}
|
|
56
57
|
);
|
|
57
58
|
}
|
|
58
|
-
const
|
|
59
|
+
const so = vr(function({
|
|
59
60
|
options: b,
|
|
61
|
+
menuItemProps: Ee,
|
|
60
62
|
multiple: o = !1,
|
|
61
|
-
value:
|
|
62
|
-
defaultValue:
|
|
63
|
+
value: ie,
|
|
64
|
+
defaultValue: ce,
|
|
63
65
|
onChange: z,
|
|
64
|
-
inputValue:
|
|
65
|
-
defaultInputValue:
|
|
66
|
+
inputValue: Z,
|
|
67
|
+
defaultInputValue: Se = "",
|
|
66
68
|
onInputChange: u,
|
|
67
|
-
label:
|
|
68
|
-
placeholder:
|
|
69
|
-
leadingIcon:
|
|
70
|
-
size:
|
|
71
|
-
invalid:
|
|
72
|
-
disabled:
|
|
69
|
+
label: N,
|
|
70
|
+
placeholder: Ie,
|
|
71
|
+
leadingIcon: q,
|
|
72
|
+
size: P = "medium",
|
|
73
|
+
invalid: ue = !1,
|
|
74
|
+
disabled: p = !1,
|
|
73
75
|
filter: O = !0,
|
|
74
|
-
emptyMessage:
|
|
75
|
-
loading:
|
|
76
|
-
loadingMessage:
|
|
77
|
-
selectedOptions:
|
|
78
|
-
creatable:
|
|
79
|
-
onCreateOption:
|
|
80
|
-
formatCreateLabel:
|
|
81
|
-
clearable:
|
|
82
|
-
clearLabel:
|
|
76
|
+
emptyMessage: Le = "No results",
|
|
77
|
+
loading: fe = !1,
|
|
78
|
+
loadingMessage: Fe = "Loading…",
|
|
79
|
+
selectedOptions: k,
|
|
80
|
+
creatable: E = !1,
|
|
81
|
+
onCreateOption: W,
|
|
82
|
+
formatCreateLabel: Ce = Hr,
|
|
83
|
+
clearable: He = !1,
|
|
84
|
+
clearLabel: $e = "Clear",
|
|
83
85
|
clearButtonProps: g,
|
|
84
|
-
selectionsLabel:
|
|
85
|
-
listboxLabel:
|
|
86
|
-
className:
|
|
87
|
-
id:
|
|
88
|
-
"aria-label":
|
|
89
|
-
portalContainer:
|
|
90
|
-
zIndex:
|
|
86
|
+
selectionsLabel: ze,
|
|
87
|
+
listboxLabel: Oe = "Options",
|
|
88
|
+
className: Te = "",
|
|
89
|
+
id: Ue,
|
|
90
|
+
"aria-label": de,
|
|
91
|
+
portalContainer: je = null,
|
|
92
|
+
zIndex: Ke
|
|
91
93
|
}, S) {
|
|
92
|
-
const
|
|
94
|
+
const Ge = hr(), Y = Ue ?? Ge, I = `${Y}-listbox`, B = X(null), me = X(null), D = X(null), Qe = d(
|
|
93
95
|
(e) => {
|
|
94
|
-
|
|
96
|
+
D.current = e, typeof S == "function" ? S(e) : S && (S.current = e);
|
|
95
97
|
},
|
|
96
98
|
[S]
|
|
97
|
-
), J =
|
|
98
|
-
() => o ?
|
|
99
|
-
[o,
|
|
100
|
-
), m =
|
|
101
|
-
(e) =>
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
99
|
+
), J = ie !== void 0, [Xe, Ze] = V(() => ce !== void 0 ? ce : o ? [] : null), ee = J ? ie : Xe, v = o ? null : zr(ee), a = R(
|
|
100
|
+
() => o ? Or(ee) : [],
|
|
101
|
+
[o, ee]
|
|
102
|
+
), m = Z !== void 0, [re, L] = V(Se), [c, be] = V(!1), [qe, ve] = V(!1), [h, w] = V(-1), T = X(!1), he = d(
|
|
103
|
+
(e) => {
|
|
104
|
+
e !== h && (T.current = !0, w(e));
|
|
105
|
+
},
|
|
106
|
+
[h]
|
|
107
|
+
), [U, F] = V(null), j = d(
|
|
108
|
+
(e) => b.find((r) => r.value === e) ?? (k == null ? void 0 : k.find((r) => r.value === e)) ?? (E ? { value: e, label: e } : void 0),
|
|
109
|
+
[b, k, E]
|
|
110
|
+
), K = R(
|
|
111
|
+
() => v == null ? void 0 : j(v),
|
|
112
|
+
[j, v]
|
|
113
|
+
), oe = m ? Z : o ? re : U !== null ? U : (K == null ? void 0 : K.label) ?? re, ne = m ? Z : o ? re : U !== null ? U : "", C = d(
|
|
107
114
|
(e) => {
|
|
108
115
|
m || (L(e), o || F(e)), u == null || u(e);
|
|
109
116
|
},
|
|
110
117
|
[m, o, u]
|
|
111
|
-
),
|
|
118
|
+
), x = d(
|
|
112
119
|
(e) => {
|
|
113
|
-
J ||
|
|
120
|
+
J || Ze(e), z == null || z(e);
|
|
114
121
|
},
|
|
115
122
|
[J, z]
|
|
116
|
-
),
|
|
123
|
+
), xe = R(() => {
|
|
117
124
|
if (O === !1) return b;
|
|
118
|
-
const e = typeof O == "function" ? O :
|
|
119
|
-
return b.filter((r) => e(r,
|
|
120
|
-
}, [b, O,
|
|
125
|
+
const e = typeof O == "function" ? O : $r;
|
|
126
|
+
return b.filter((r) => e(r, ne));
|
|
127
|
+
}, [b, O, ne]), H = E ? ne.trim() : "", _e = R(() => {
|
|
121
128
|
if (H === "") return !1;
|
|
122
129
|
const e = H.toLowerCase(), r = (f) => f.toLowerCase() === e;
|
|
123
|
-
return [...b, ...
|
|
130
|
+
return [...b, ...k ?? []].some((f) => r(f.label) || r(f.value)) ? !1 : !(o ? a : v != null ? [v] : []).some(r);
|
|
124
131
|
}, [
|
|
125
132
|
H,
|
|
126
133
|
b,
|
|
127
|
-
|
|
134
|
+
k,
|
|
128
135
|
o,
|
|
129
136
|
a,
|
|
130
137
|
v
|
|
131
|
-
]), i =
|
|
138
|
+
]), i = R(
|
|
132
139
|
() => [
|
|
133
|
-
...
|
|
134
|
-
...
|
|
140
|
+
...xe.map((e) => ({ kind: "option", option: e })),
|
|
141
|
+
..._e ? [{ kind: "create", inputValue: H }] : []
|
|
135
142
|
],
|
|
136
|
-
[
|
|
143
|
+
[xe, _e, H]
|
|
137
144
|
), A = d(
|
|
138
145
|
(e) => e.kind === "option" ? `${I}-option-${e.option.value}` : `${I}-create`,
|
|
139
146
|
[I]
|
|
140
|
-
), { mounted:
|
|
141
|
-
placement:
|
|
142
|
-
maxHeight:
|
|
143
|
-
style:
|
|
144
|
-
portalRef:
|
|
145
|
-
renderPortal:
|
|
146
|
-
} =
|
|
147
|
-
preferredHeight:
|
|
148
|
-
maxHeightCap:
|
|
149
|
-
portalContainer:
|
|
150
|
-
zIndex:
|
|
151
|
-
}),
|
|
152
|
-
|
|
147
|
+
), { mounted: pe, visible: Pe } = Rr(c), {
|
|
148
|
+
placement: We,
|
|
149
|
+
maxHeight: Ye,
|
|
150
|
+
style: Be,
|
|
151
|
+
portalRef: ge,
|
|
152
|
+
renderPortal: Je
|
|
153
|
+
} = Mr(me, pe, {
|
|
154
|
+
preferredHeight: Re,
|
|
155
|
+
maxHeightCap: Re,
|
|
156
|
+
portalContainer: je,
|
|
157
|
+
zIndex: Ke
|
|
158
|
+
}), y = d(() => {
|
|
159
|
+
be(!1), w(-1), !o && !m && (F(null), L(""));
|
|
153
160
|
}, [o, m]), $ = d(() => {
|
|
154
|
-
|
|
155
|
-
}, [
|
|
156
|
-
|
|
157
|
-
c &&
|
|
161
|
+
p || be(!0);
|
|
162
|
+
}, [p]);
|
|
163
|
+
Vr(B, c, y, ge), Me(() => {
|
|
164
|
+
c && w((e) => {
|
|
158
165
|
if (i.length === 0) return -1;
|
|
159
166
|
if (e >= 0 && e < i.length) return e;
|
|
160
167
|
const r = i.findIndex(
|
|
@@ -163,108 +170,113 @@ const ro = dr(function({
|
|
|
163
170
|
return r >= 0 ? r : 0;
|
|
164
171
|
});
|
|
165
172
|
}, [c, i, o, a, v]);
|
|
166
|
-
const
|
|
173
|
+
const er = d(
|
|
167
174
|
(e) => o ? a.includes(e) : v === e,
|
|
168
175
|
[o, a, v]
|
|
169
|
-
),
|
|
176
|
+
), te = d(
|
|
170
177
|
(e) => {
|
|
171
178
|
var r;
|
|
172
179
|
if (!e.disabled) {
|
|
173
180
|
if (o) {
|
|
174
|
-
const n = a.includes(e.value) ? a.filter((
|
|
175
|
-
|
|
181
|
+
const n = a.includes(e.value) ? a.filter((_) => _ !== e.value) : [...a, e.value];
|
|
182
|
+
x(n), C(""), y(), (r = D.current) == null || r.focus();
|
|
176
183
|
return;
|
|
177
184
|
}
|
|
178
|
-
|
|
185
|
+
x(e.value), m ? u == null || u(e.label) : (L(""), F(null)), y();
|
|
179
186
|
}
|
|
180
187
|
},
|
|
181
188
|
[
|
|
182
189
|
o,
|
|
183
190
|
a,
|
|
184
|
-
|
|
191
|
+
x,
|
|
185
192
|
C,
|
|
186
193
|
m,
|
|
187
194
|
u,
|
|
188
|
-
|
|
195
|
+
y
|
|
189
196
|
]
|
|
190
|
-
),
|
|
197
|
+
), le = d(
|
|
191
198
|
(e) => {
|
|
192
199
|
var r;
|
|
193
|
-
if (
|
|
194
|
-
C(""),
|
|
200
|
+
if (W ? W(e) : x(o ? [...a, e] : e), o) {
|
|
201
|
+
C(""), y(), (r = D.current) == null || r.focus();
|
|
195
202
|
return;
|
|
196
203
|
}
|
|
197
|
-
m ? u == null || u(e) : (L(""), F(null)),
|
|
204
|
+
m ? u == null || u(e) : (L(""), F(null)), y();
|
|
198
205
|
},
|
|
199
206
|
[
|
|
200
|
-
|
|
207
|
+
W,
|
|
201
208
|
o,
|
|
202
209
|
a,
|
|
203
|
-
|
|
210
|
+
x,
|
|
204
211
|
C,
|
|
205
212
|
m,
|
|
206
213
|
u,
|
|
207
|
-
|
|
214
|
+
y
|
|
208
215
|
]
|
|
209
|
-
),
|
|
216
|
+
), rr = d(
|
|
210
217
|
(e) => {
|
|
211
|
-
e.kind === "create" ?
|
|
218
|
+
e.kind === "create" ? le(e.inputValue) : te(e.option);
|
|
212
219
|
},
|
|
213
|
-
[
|
|
214
|
-
),
|
|
220
|
+
[le, te]
|
|
221
|
+
), or = d(() => {
|
|
215
222
|
var e;
|
|
216
|
-
|
|
217
|
-
}, [
|
|
223
|
+
x(null), m ? u == null || u("") : (L(""), F(null)), (e = D.current) == null || e.focus();
|
|
224
|
+
}, [x, m, u]), ye = d(
|
|
218
225
|
(e) => {
|
|
219
|
-
o &&
|
|
226
|
+
o && x(a.filter((r) => r !== e));
|
|
220
227
|
},
|
|
221
|
-
[o, a,
|
|
222
|
-
),
|
|
228
|
+
[o, a, x]
|
|
229
|
+
), ke = d(
|
|
223
230
|
(e) => {
|
|
224
|
-
|
|
231
|
+
T.current = !1;
|
|
232
|
+
const r = i.map((n, _) => ({ row: n, i: _ })).filter(({ row: n }) => !ae(n));
|
|
225
233
|
if (r.length === 0) {
|
|
226
|
-
|
|
234
|
+
w(-1);
|
|
227
235
|
return;
|
|
228
236
|
}
|
|
229
|
-
|
|
230
|
-
const
|
|
237
|
+
w((n) => {
|
|
238
|
+
const _ = r.findIndex(({ i: Q }) => Q === n), f = _ < 0 ? e > 0 ? 0 : r.length - 1 : (_ + e + r.length) % r.length;
|
|
231
239
|
return r[f].i;
|
|
232
240
|
});
|
|
233
241
|
},
|
|
234
242
|
[i]
|
|
235
243
|
);
|
|
236
|
-
|
|
244
|
+
Me(() => {
|
|
237
245
|
var r, n;
|
|
238
|
-
if (!c ||
|
|
239
|
-
|
|
246
|
+
if (!c || h < 0) return;
|
|
247
|
+
if (T.current) {
|
|
248
|
+
T.current = !1;
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
const e = i[h];
|
|
240
252
|
e && ((n = (r = document.getElementById(A(e))) == null ? void 0 : r.scrollIntoView) == null || n.call(r, { block: "nearest" }));
|
|
241
|
-
}, [c,
|
|
242
|
-
const
|
|
253
|
+
}, [c, h, i, A]);
|
|
254
|
+
const nr = (e) => {
|
|
243
255
|
const r = e.target.value;
|
|
244
|
-
C(r), c || $(),
|
|
245
|
-
},
|
|
246
|
-
|
|
256
|
+
C(r), c || $(), w(0);
|
|
257
|
+
}, tr = () => {
|
|
258
|
+
ve(!0), $(), !o && !m && K && requestAnimationFrame(() => {
|
|
247
259
|
var e;
|
|
248
|
-
(e =
|
|
260
|
+
(e = D.current) == null || e.select();
|
|
249
261
|
});
|
|
250
|
-
},
|
|
262
|
+
}, we = (e) => {
|
|
251
263
|
var n;
|
|
252
264
|
const r = e.relatedTarget;
|
|
253
|
-
r && ((n =
|
|
254
|
-
},
|
|
255
|
-
if (!
|
|
265
|
+
r && ((n = B.current) != null && n.contains(r)) || ve(!1);
|
|
266
|
+
}, lr = (e) => {
|
|
267
|
+
if (!p)
|
|
256
268
|
switch (e.key) {
|
|
257
269
|
case "ArrowDown":
|
|
258
|
-
e.preventDefault(), c ?
|
|
270
|
+
e.preventDefault(), c ? ke(1) : $();
|
|
259
271
|
break;
|
|
260
272
|
case "ArrowUp":
|
|
261
|
-
e.preventDefault(), c ?
|
|
273
|
+
e.preventDefault(), c ? ke(-1) : $();
|
|
262
274
|
break;
|
|
263
275
|
case "Home":
|
|
264
|
-
c && i.length > 0 && (e.preventDefault(),
|
|
276
|
+
c && i.length > 0 && (e.preventDefault(), w(
|
|
265
277
|
Math.max(
|
|
266
278
|
0,
|
|
267
|
-
i.findIndex((r) => !
|
|
279
|
+
i.findIndex((r) => !ae(r))
|
|
268
280
|
)
|
|
269
281
|
));
|
|
270
282
|
break;
|
|
@@ -272,82 +284,82 @@ const ro = dr(function({
|
|
|
272
284
|
if (c && i.length > 0) {
|
|
273
285
|
e.preventDefault();
|
|
274
286
|
for (let r = i.length - 1; r >= 0; r--)
|
|
275
|
-
if (!
|
|
276
|
-
|
|
287
|
+
if (!ae(i[r])) {
|
|
288
|
+
w(r);
|
|
277
289
|
break;
|
|
278
290
|
}
|
|
279
291
|
}
|
|
280
292
|
break;
|
|
281
293
|
case "Enter":
|
|
282
|
-
c &&
|
|
294
|
+
c && h >= 0 && i[h] && (e.preventDefault(), rr(i[h]));
|
|
283
295
|
break;
|
|
284
296
|
case "Escape":
|
|
285
|
-
c && (e.preventDefault(),
|
|
297
|
+
c && (e.preventDefault(), y());
|
|
286
298
|
break;
|
|
287
299
|
case "Backspace":
|
|
288
|
-
o &&
|
|
300
|
+
o && oe === "" && a.length > 0 && (e.preventDefault(), ye(a[a.length - 1]));
|
|
289
301
|
break;
|
|
290
302
|
case "Tab":
|
|
291
|
-
|
|
303
|
+
y();
|
|
292
304
|
break;
|
|
293
305
|
}
|
|
294
|
-
},
|
|
306
|
+
}, sr = (e) => {
|
|
295
307
|
var r;
|
|
296
|
-
|
|
297
|
-
},
|
|
308
|
+
p || e.target.closest("[data-chip], [data-combobox-clear]") || (e.target !== D.current && (e.preventDefault(), (r = D.current) == null || r.focus()), c || $());
|
|
309
|
+
}, De = o ? a.length > 0 : v != null && v !== "", ar = oe.length > 0, ir = He && !o && De && !p, cr = qe || c || De || ar, Ne = h >= 0 ? i[h] : void 0, ur = Ne != null ? A(Ne) : void 0, G = R(() => {
|
|
298
310
|
if (!o) return [];
|
|
299
|
-
if (
|
|
311
|
+
if (k == null) {
|
|
300
312
|
const e = b.filter((n) => a.includes(n.value));
|
|
301
|
-
if (!
|
|
313
|
+
if (!E) return e;
|
|
302
314
|
const r = new Set(e.map((n) => n.value));
|
|
303
315
|
return [
|
|
304
316
|
...e,
|
|
305
317
|
...a.filter((n) => !r.has(n)).map((n) => ({ value: n, label: n }))
|
|
306
318
|
];
|
|
307
319
|
}
|
|
308
|
-
return a.map(
|
|
320
|
+
return a.map(j).filter((e) => e != null);
|
|
309
321
|
}, [
|
|
310
322
|
o,
|
|
311
|
-
|
|
323
|
+
k,
|
|
312
324
|
b,
|
|
313
325
|
a,
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
]),
|
|
326
|
+
E,
|
|
327
|
+
j
|
|
328
|
+
]), fr = l[`combobox--size-${Ir(P)}`], dr = o && G.length > 0, mr = [
|
|
317
329
|
l.combobox,
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
330
|
+
fr,
|
|
331
|
+
ue ? l["combobox--invalid"] : "",
|
|
332
|
+
N != null && cr ? l["combobox--label-floated"] : "",
|
|
333
|
+
q != null ? l["combobox--has-leading-icon"] : "",
|
|
334
|
+
dr ? l["combobox--has-chips"] : "",
|
|
323
335
|
c ? l["combobox--open"] : "",
|
|
324
|
-
|
|
325
|
-
|
|
336
|
+
p ? l["combobox--disabled"] : "",
|
|
337
|
+
Te
|
|
326
338
|
].filter(Boolean).join(" ");
|
|
327
|
-
return /* @__PURE__ */ M("div", { className:
|
|
328
|
-
/* @__PURE__ */ M("div", { className: l.combobox__wrapper, ref:
|
|
329
|
-
|
|
339
|
+
return /* @__PURE__ */ M("div", { className: mr, ref: B, children: [
|
|
340
|
+
/* @__PURE__ */ M("div", { className: l.combobox__wrapper, ref: me, children: [
|
|
341
|
+
N != null && /* @__PURE__ */ s("label", { className: l.combobox__label, htmlFor: Y, children: N }),
|
|
330
342
|
/* @__PURE__ */ M(
|
|
331
343
|
"div",
|
|
332
344
|
{
|
|
333
345
|
className: l.combobox__inner,
|
|
334
|
-
onMouseDown:
|
|
346
|
+
onMouseDown: sr,
|
|
335
347
|
children: [
|
|
336
|
-
|
|
348
|
+
q != null && /* @__PURE__ */ s("span", { className: l["combobox__leading-icon"], "aria-hidden": !0, children: /* @__PURE__ */ s(kr.Provider, { value: { size: "16" }, children: q }) }),
|
|
337
349
|
/* @__PURE__ */ M("div", { className: l.combobox__value, children: [
|
|
338
|
-
o &&
|
|
339
|
-
|
|
350
|
+
o && G.length > 0 && /* @__PURE__ */ s(
|
|
351
|
+
yr,
|
|
340
352
|
{
|
|
341
|
-
"aria-label":
|
|
342
|
-
disabled:
|
|
343
|
-
children:
|
|
344
|
-
|
|
353
|
+
"aria-label": ze ?? Cr(N),
|
|
354
|
+
disabled: p,
|
|
355
|
+
children: G.map((e) => /* @__PURE__ */ s(
|
|
356
|
+
gr,
|
|
345
357
|
{
|
|
346
|
-
size:
|
|
358
|
+
size: Lr[P],
|
|
347
359
|
leadingAvatar: e.leadingAvatar,
|
|
348
360
|
leadingIcon: e.leadingAvatar == null ? e.leadingVisual : void 0,
|
|
349
|
-
onRemove:
|
|
350
|
-
r.stopPropagation(),
|
|
361
|
+
onRemove: p ? void 0 : (r) => {
|
|
362
|
+
r.stopPropagation(), ye(e.value);
|
|
351
363
|
},
|
|
352
364
|
children: e.label
|
|
353
365
|
},
|
|
@@ -358,66 +370,66 @@ const ro = dr(function({
|
|
|
358
370
|
/* @__PURE__ */ s(
|
|
359
371
|
"input",
|
|
360
372
|
{
|
|
361
|
-
ref:
|
|
362
|
-
id:
|
|
373
|
+
ref: Qe,
|
|
374
|
+
id: Y,
|
|
363
375
|
className: l.combobox__control,
|
|
364
376
|
type: "text",
|
|
365
377
|
role: "combobox",
|
|
366
378
|
autoComplete: "off",
|
|
367
379
|
spellCheck: !1,
|
|
368
|
-
disabled:
|
|
369
|
-
placeholder: o &&
|
|
370
|
-
value:
|
|
371
|
-
"aria-label":
|
|
372
|
-
"aria-invalid":
|
|
380
|
+
disabled: p,
|
|
381
|
+
placeholder: o && G.length > 0 ? void 0 : Ie,
|
|
382
|
+
value: oe,
|
|
383
|
+
"aria-label": de,
|
|
384
|
+
"aria-invalid": ue ? !0 : void 0,
|
|
373
385
|
"aria-expanded": c,
|
|
374
386
|
"aria-controls": I,
|
|
375
387
|
"aria-autocomplete": "list",
|
|
376
|
-
"aria-activedescendant":
|
|
377
|
-
"aria-busy":
|
|
378
|
-
onChange:
|
|
379
|
-
onFocus:
|
|
380
|
-
onBlur:
|
|
381
|
-
onKeyDown:
|
|
388
|
+
"aria-activedescendant": ur,
|
|
389
|
+
"aria-busy": fe || void 0,
|
|
390
|
+
onChange: nr,
|
|
391
|
+
onFocus: tr,
|
|
392
|
+
onBlur: we,
|
|
393
|
+
onKeyDown: lr
|
|
382
394
|
}
|
|
383
395
|
)
|
|
384
396
|
] }),
|
|
385
|
-
|
|
397
|
+
ir && /* @__PURE__ */ s(
|
|
386
398
|
"button",
|
|
387
399
|
{
|
|
388
400
|
...g,
|
|
389
401
|
type: "button",
|
|
390
|
-
className:
|
|
402
|
+
className: Sr(
|
|
391
403
|
l.combobox__clear,
|
|
392
404
|
g == null ? void 0 : g.className
|
|
393
405
|
),
|
|
394
|
-
"aria-label":
|
|
406
|
+
"aria-label": $e,
|
|
395
407
|
"data-combobox-clear": "",
|
|
396
|
-
onClick:
|
|
408
|
+
onClick: or,
|
|
397
409
|
onBlur: (e) => {
|
|
398
410
|
var r;
|
|
399
|
-
(r = g == null ? void 0 : g.onBlur) == null || r.call(g, e),
|
|
411
|
+
(r = g == null ? void 0 : g.onBlur) == null || r.call(g, e), we(e);
|
|
400
412
|
},
|
|
401
|
-
children: /* @__PURE__ */ s(
|
|
413
|
+
children: /* @__PURE__ */ s(se, { size: Fr[P], glyph: /* @__PURE__ */ s(_r, {}) })
|
|
402
414
|
}
|
|
403
415
|
),
|
|
404
|
-
/* @__PURE__ */ s("span", { className: l["combobox__trailing-icon"], "aria-hidden": !0, children: /* @__PURE__ */ s(
|
|
416
|
+
/* @__PURE__ */ s("span", { className: l["combobox__trailing-icon"], "aria-hidden": !0, children: /* @__PURE__ */ s(se, { size: "12", glyph: /* @__PURE__ */ s(xr, {}) }) })
|
|
405
417
|
]
|
|
406
418
|
}
|
|
407
419
|
)
|
|
408
420
|
] }),
|
|
409
|
-
|
|
421
|
+
pe && Je(
|
|
410
422
|
/* @__PURE__ */ s(
|
|
411
423
|
"div",
|
|
412
424
|
{
|
|
413
|
-
ref:
|
|
425
|
+
ref: ge,
|
|
414
426
|
className: [
|
|
415
427
|
l.combobox__popup,
|
|
416
|
-
|
|
417
|
-
|
|
428
|
+
We === "above" ? l["combobox__popup--above"] : "",
|
|
429
|
+
Pe ? l["combobox__popup--visible"] : ""
|
|
418
430
|
].filter(Boolean).join(" "),
|
|
419
|
-
style:
|
|
420
|
-
children: /* @__PURE__ */ s(
|
|
431
|
+
style: Be,
|
|
432
|
+
children: /* @__PURE__ */ s(wr, { className: l.combobox__menu, children: /* @__PURE__ */ M(Dr, { maxHeight: Ye, children: [
|
|
421
433
|
i.length > 0 && /* @__PURE__ */ s(
|
|
422
434
|
"ul",
|
|
423
435
|
{
|
|
@@ -425,10 +437,10 @@ const ro = dr(function({
|
|
|
425
437
|
className: l.combobox__list,
|
|
426
438
|
role: "listbox",
|
|
427
439
|
"aria-multiselectable": o || void 0,
|
|
428
|
-
"aria-label": typeof
|
|
440
|
+
"aria-label": typeof N == "string" ? N : de ?? Oe,
|
|
429
441
|
children: i.map((e, r) => {
|
|
430
|
-
const n = r ===
|
|
431
|
-
|
|
442
|
+
const n = r === h, _ = (br) => {
|
|
443
|
+
br.preventDefault();
|
|
432
444
|
};
|
|
433
445
|
if (e.kind === "create")
|
|
434
446
|
return /* @__PURE__ */ s(
|
|
@@ -437,44 +449,48 @@ const ro = dr(function({
|
|
|
437
449
|
className: l.combobox__option,
|
|
438
450
|
role: "presentation",
|
|
439
451
|
children: /* @__PURE__ */ s(
|
|
440
|
-
|
|
452
|
+
Ve,
|
|
441
453
|
{
|
|
442
454
|
id: A(e),
|
|
443
455
|
role: "option",
|
|
444
|
-
label:
|
|
445
|
-
leadingVisual: /* @__PURE__ */ s(
|
|
456
|
+
label: Ce(e.inputValue),
|
|
457
|
+
leadingVisual: /* @__PURE__ */ s(se, { glyph: /* @__PURE__ */ s(pr, {}) }),
|
|
446
458
|
active: n,
|
|
447
459
|
"aria-selected": !1,
|
|
448
|
-
onMouseDown:
|
|
449
|
-
onMouseEnter: () =>
|
|
450
|
-
onClick: () =>
|
|
460
|
+
onMouseDown: _,
|
|
461
|
+
onMouseEnter: () => he(r),
|
|
462
|
+
onClick: () => le(e.inputValue)
|
|
451
463
|
}
|
|
452
464
|
)
|
|
453
465
|
},
|
|
454
466
|
A(e)
|
|
455
467
|
);
|
|
456
|
-
const { option: f } = e,
|
|
468
|
+
const { option: f } = e, Q = er(f.value), Ae = Tr(f);
|
|
457
469
|
return /* @__PURE__ */ s(
|
|
458
470
|
"li",
|
|
459
471
|
{
|
|
460
472
|
className: l.combobox__option,
|
|
461
473
|
role: "presentation",
|
|
462
474
|
children: /* @__PURE__ */ s(
|
|
463
|
-
|
|
475
|
+
Ve,
|
|
464
476
|
{
|
|
477
|
+
...Er(
|
|
478
|
+
Ee,
|
|
479
|
+
f.menuItemProps
|
|
480
|
+
),
|
|
465
481
|
id: A(e),
|
|
466
482
|
role: "option",
|
|
467
483
|
label: f.label,
|
|
468
484
|
secondaryLabel: f.secondaryLabel,
|
|
469
|
-
leadingElement:
|
|
470
|
-
leadingVisual:
|
|
471
|
-
trailingElement:
|
|
485
|
+
leadingElement: Ae != null,
|
|
486
|
+
leadingVisual: Ae,
|
|
487
|
+
trailingElement: Q,
|
|
472
488
|
active: n,
|
|
473
489
|
disabled: f.disabled,
|
|
474
|
-
"aria-selected":
|
|
475
|
-
onMouseDown:
|
|
476
|
-
onMouseEnter: () =>
|
|
477
|
-
onClick: () =>
|
|
490
|
+
"aria-selected": Q,
|
|
491
|
+
onMouseDown: _,
|
|
492
|
+
onMouseEnter: () => he(r),
|
|
493
|
+
onClick: () => te(f)
|
|
478
494
|
}
|
|
479
495
|
)
|
|
480
496
|
},
|
|
@@ -483,10 +499,10 @@ const ro = dr(function({
|
|
|
483
499
|
})
|
|
484
500
|
}
|
|
485
501
|
),
|
|
486
|
-
|
|
487
|
-
/* @__PURE__ */ s(
|
|
488
|
-
/* @__PURE__ */ s("span", { children:
|
|
489
|
-
] }) : i.length === 0 && /* @__PURE__ */ s("p", { className: l.combobox__empty, children:
|
|
502
|
+
fe ? /* @__PURE__ */ M("div", { className: l.combobox__loading, role: "status", children: [
|
|
503
|
+
/* @__PURE__ */ s(Nr, { size: "16", "aria-hidden": !0 }),
|
|
504
|
+
/* @__PURE__ */ s("span", { children: Fe })
|
|
505
|
+
] }) : i.length === 0 && /* @__PURE__ */ s("p", { className: l.combobox__empty, children: Le })
|
|
490
506
|
] }) })
|
|
491
507
|
}
|
|
492
508
|
)
|
|
@@ -494,6 +510,6 @@ const ro = dr(function({
|
|
|
494
510
|
] });
|
|
495
511
|
});
|
|
496
512
|
export {
|
|
497
|
-
|
|
513
|
+
so as default
|
|
498
514
|
};
|
|
499
515
|
//# sourceMappingURL=Combobox.js.map
|