@choc-ui/chakra-autocomplete 6.0.0 → 6.1.0
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/index.es.js +73 -73
- package/dist/index.js +1 -1
- package/dist/use-autocomplete.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/index.es.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as a, jsxs as Z, Fragment as ft } from "react/jsx-runtime";
|
|
2
2
|
import * as L from "react";
|
|
3
|
-
import I, { useMemo as oe, useRef as se, useState as Fe, useEffect as j, forwardRef as
|
|
3
|
+
import I, { useMemo as oe, useRef as se, useState as Fe, useEffect as j, forwardRef as U, useImperativeHandle as pt, memo as dt } from "react";
|
|
4
4
|
import { useDisclosure as mt, useControllableState as gt, IconButton as ht, Portal as vt, Popover as N, chakra as yt, Flex as he, Box as Te, Separator as Xe, Group as bt, InputElement as Je, Spinner as nt, PopoverAnchor as Ct, Input as wt, Center as St, Tag as J } from "@chakra-ui/react";
|
|
5
|
-
const [xt,
|
|
5
|
+
const [xt, H] = Ot();
|
|
6
6
|
function Ot() {
|
|
7
7
|
const e = L.createContext(void 0);
|
|
8
8
|
e.displayName = "AutoCompleteContext";
|
|
@@ -185,7 +185,7 @@ const kt = (e, t) => ye(
|
|
|
185
185
|
})
|
|
186
186
|
);
|
|
187
187
|
function $t(e) {
|
|
188
|
-
var
|
|
188
|
+
var Ue;
|
|
189
189
|
let {
|
|
190
190
|
prefocusFirstItem: t = !0,
|
|
191
191
|
closeOnBlur: n = !0,
|
|
@@ -210,18 +210,18 @@ function $t(e) {
|
|
|
210
210
|
shouldRenderSuggestions: we = () => !0,
|
|
211
211
|
submitKeys: ue = [],
|
|
212
212
|
suggestWhenEmpty: Se,
|
|
213
|
-
value:
|
|
214
|
-
values: xe =
|
|
213
|
+
value: K,
|
|
214
|
+
values: xe = K ? typeof K == "string" ? [K] : [...K] : void 0
|
|
215
215
|
} = e;
|
|
216
216
|
l = l || (d ? !0 : e.freeSolo);
|
|
217
|
-
const { open: O, onClose: z, onOpen:
|
|
217
|
+
const { open: O, onClose: z, onOpen: V } = mt({ open: be }), Oe = oe(
|
|
218
218
|
() => h(e.children, {
|
|
219
219
|
isOpen: O,
|
|
220
220
|
onClose: z,
|
|
221
|
-
onOpen:
|
|
221
|
+
onOpen: V
|
|
222
222
|
}),
|
|
223
223
|
[e.children, O]
|
|
224
|
-
), E = oe(() => _t(Oe), [Oe]), F = se(null), ze = se(null), ee = se(null),
|
|
224
|
+
), E = oe(() => _t(Oe), [Oe]), F = se(null), ze = se(null), ee = se(null), Y = se(null), [Be, ae] = Fe(!1);
|
|
225
225
|
let ce = "";
|
|
226
226
|
d ? ce = "" : de(x) ? de(xe) || (ce = xe[0]) : ce = x[0];
|
|
227
227
|
const [_, te] = Fe(ce ?? ""), Ae = oe(
|
|
@@ -255,9 +255,9 @@ function $t(e) {
|
|
|
255
255
|
j(() => {
|
|
256
256
|
b.length === 0 && !s && O && z();
|
|
257
257
|
}, [b.length, s, O]);
|
|
258
|
-
const [
|
|
259
|
-
t ? (
|
|
260
|
-
), at = e.maxSelections || G.length + 1, Pe = b.findIndex((i) => i.value ===
|
|
258
|
+
const [X, M] = Fe(
|
|
259
|
+
t ? (Ue = E[0]) == null ? void 0 : Ue.value : null
|
|
260
|
+
), at = e.maxSelections || G.length + 1, Pe = b.findIndex((i) => i.value === X), Ie = Pt(
|
|
261
261
|
Pe,
|
|
262
262
|
b,
|
|
263
263
|
!!e.rollNavigation
|
|
@@ -266,7 +266,7 @@ function $t(e) {
|
|
|
266
266
|
b,
|
|
267
267
|
!!e.rollNavigation
|
|
268
268
|
), D = At(b), Re = De(b), He = !b.some(
|
|
269
|
-
(i) => i.value ===
|
|
269
|
+
(i) => i.value === X
|
|
270
270
|
);
|
|
271
271
|
j(() => {
|
|
272
272
|
var i;
|
|
@@ -279,50 +279,50 @@ function $t(e) {
|
|
|
279
279
|
}, [O]), j(() => {
|
|
280
280
|
O && v && ae(!0);
|
|
281
281
|
}, [O, v, ae]), j(() => {
|
|
282
|
-
const i = E.find((c) => c.value ===
|
|
282
|
+
const i = E.find((c) => c.value === X);
|
|
283
283
|
h(e.onOptionFocus, {
|
|
284
284
|
item: i,
|
|
285
|
-
focusMethod:
|
|
285
|
+
focusMethod: Y.current,
|
|
286
286
|
isNewInput: i == null ? void 0 : i.creatable
|
|
287
287
|
});
|
|
288
|
-
}, [
|
|
288
|
+
}, [X, e.onOptionFocus]);
|
|
289
289
|
const je = (i) => {
|
|
290
290
|
var P, R;
|
|
291
291
|
const c = b.find((S) => S.value === i), m = (c == null ? void 0 : c.label) || (c == null ? void 0 : c.value);
|
|
292
292
|
te(() => d ? "" : m ?? ""), !G.includes(i) && G.length < at && Ee((S) => d ? [...S, i] : [i]), d && ((P = F.current) == null || P.focus()), e.focusInputOnSelect && ((R = F.current) == null || R.focus()), h(e.onSelectOption, {
|
|
293
293
|
item: c,
|
|
294
|
-
selectMethod:
|
|
294
|
+
selectMethod: Y.current,
|
|
295
295
|
isNewInput: c == null ? void 0 : c.creatable
|
|
296
296
|
}), c != null && c.creatable && h(e.onCreateOption, {
|
|
297
297
|
item: ve(c, ["noFilter"]),
|
|
298
|
-
selectMethod:
|
|
298
|
+
selectMethod: Y.current
|
|
299
299
|
}), C && z();
|
|
300
|
-
},
|
|
300
|
+
}, Ke = (i, c) => {
|
|
301
301
|
var R;
|
|
302
302
|
Ee((S) => {
|
|
303
|
-
|
|
304
|
-
return
|
|
303
|
+
let B = E.find((W) => W.value === i);
|
|
304
|
+
return !B && r === !0 && (B = { label: i, value: i }), B ? (h(e.onTagRemoved, i, B, S), S.filter((W) => W !== i)) : S;
|
|
305
305
|
});
|
|
306
306
|
const m = E.find((S) => S.value === i), P = (m == null ? void 0 : m.label) || (m == null ? void 0 : m.value);
|
|
307
307
|
_ === P && te(""), c && ((R = F.current) == null || R.focus());
|
|
308
308
|
}, ct = (i) => {
|
|
309
309
|
var c;
|
|
310
310
|
Ee([]), i && ((c = F.current) == null || c.focus());
|
|
311
|
-
},
|
|
311
|
+
}, Qe = d ? G.map((i) => {
|
|
312
312
|
var c;
|
|
313
313
|
return {
|
|
314
314
|
label: ((c = E.find((m) => m.value === (i == null ? void 0 : i.toString()))) == null ? void 0 : c.label) || i,
|
|
315
|
-
onRemove: () =>
|
|
315
|
+
onRemove: () => Ke(i)
|
|
316
316
|
};
|
|
317
317
|
}) : [];
|
|
318
318
|
return j(() => {
|
|
319
|
-
h(T, { tags:
|
|
319
|
+
h(T, { tags: Qe });
|
|
320
320
|
}, [G]), {
|
|
321
321
|
autoCompleteProps: e,
|
|
322
322
|
children: Oe,
|
|
323
323
|
filteredList: b,
|
|
324
324
|
filteredResults: Ae,
|
|
325
|
-
focusedValue:
|
|
325
|
+
focusedValue: X,
|
|
326
326
|
defaultEmptyStateProps: u,
|
|
327
327
|
getEmptyStateProps: (i) => {
|
|
328
328
|
if (b.every((m) => m.noFilter) && s && !r)
|
|
@@ -344,7 +344,7 @@ function $t(e) {
|
|
|
344
344
|
};
|
|
345
345
|
},
|
|
346
346
|
getInputProps: (i, c) => {
|
|
347
|
-
const { onBlur: m, onChange: P, onFocus: R, onKeyDown: S, variant:
|
|
347
|
+
const { onBlur: m, onChange: P, onFocus: R, onKeyDown: S, variant: B, ...W } = i;
|
|
348
348
|
return {
|
|
349
349
|
wrapper: {
|
|
350
350
|
ref: ze,
|
|
@@ -358,18 +358,18 @@ function $t(e) {
|
|
|
358
358
|
input: {
|
|
359
359
|
isReadOnly: f,
|
|
360
360
|
onFocus: (p) => {
|
|
361
|
-
h(R, p), e.openOnFocus && !f &&
|
|
361
|
+
h(R, p), e.openOnFocus && !f && V(), e.selectOnFocus && p.target.select(), v && ae(!0);
|
|
362
362
|
},
|
|
363
363
|
onBlur: (p) => {
|
|
364
|
-
var
|
|
364
|
+
var Q, fe;
|
|
365
365
|
h(m, p);
|
|
366
|
-
const w = p.relatedTarget === (ee == null ? void 0 : ee.current) || ((
|
|
366
|
+
const w = p.relatedTarget === (ee == null ? void 0 : ee.current) || ((Q = ee.current) == null ? void 0 : Q.contains(p.relatedTarget)), g = (fe = ze.current) == null ? void 0 : fe.contains(
|
|
367
367
|
p.relatedTarget
|
|
368
368
|
);
|
|
369
369
|
if (!w && !g && (n && z(), !G.includes(p.target.value) && le)) {
|
|
370
|
-
const k = De(G),
|
|
370
|
+
const k = De(G), $ = E.find(
|
|
371
371
|
(ne) => ne.value === k
|
|
372
|
-
), Le = (
|
|
372
|
+
), Le = ($ == null ? void 0 : $.label) || ($ == null ? void 0 : $.value) || "";
|
|
373
373
|
te(Le);
|
|
374
374
|
}
|
|
375
375
|
},
|
|
@@ -377,22 +377,22 @@ function $t(e) {
|
|
|
377
377
|
const w = p.target.value;
|
|
378
378
|
h(P, p), te(w);
|
|
379
379
|
const g = Me(w);
|
|
380
|
-
h(we, w) && (!g || Se) ?
|
|
380
|
+
h(we, w) && (!g || Se) ? V() : z(), ae(!1);
|
|
381
381
|
},
|
|
382
382
|
onKeyDown: (p) => {
|
|
383
|
-
var
|
|
384
|
-
h(S, p),
|
|
383
|
+
var Q;
|
|
384
|
+
h(S, p), Y.current = "keyboard";
|
|
385
385
|
const { key: w } = p, g = b[Pe];
|
|
386
386
|
if (["Enter", ...ue].includes(w)) {
|
|
387
|
-
g && !(g != null && g.disabled) && O ? je(g == null ? void 0 : g.value) : (
|
|
387
|
+
g && !(g != null && g.disabled) && O ? je(g == null ? void 0 : g.value) : (Q = F.current) == null || Q.focus(), p.preventDefault();
|
|
388
388
|
return;
|
|
389
389
|
}
|
|
390
390
|
if (w === "ArrowDown") {
|
|
391
|
-
O ? M(Ie == null ? void 0 : Ie.value) :
|
|
391
|
+
O ? M(Ie == null ? void 0 : Ie.value) : V(), p.preventDefault();
|
|
392
392
|
return;
|
|
393
393
|
}
|
|
394
394
|
if (w === "ArrowUp") {
|
|
395
|
-
O ? M(Ne == null ? void 0 : Ne.value) :
|
|
395
|
+
O ? M(Ne == null ? void 0 : Ne.value) : V(), p.preventDefault();
|
|
396
396
|
return;
|
|
397
397
|
}
|
|
398
398
|
if (w === "Tab") {
|
|
@@ -411,27 +411,27 @@ function $t(e) {
|
|
|
411
411
|
},
|
|
412
412
|
value: _,
|
|
413
413
|
//variant: multiple ? "unstyled" : variant,
|
|
414
|
-
variant:
|
|
414
|
+
variant: B,
|
|
415
415
|
...W
|
|
416
416
|
}
|
|
417
417
|
};
|
|
418
418
|
},
|
|
419
419
|
getItemProps: (i, c) => {
|
|
420
|
-
var
|
|
420
|
+
var Ve;
|
|
421
421
|
const {
|
|
422
422
|
_fixed: m,
|
|
423
423
|
_focus: P,
|
|
424
424
|
children: R,
|
|
425
425
|
disabled: S,
|
|
426
|
-
label:
|
|
426
|
+
label: B,
|
|
427
427
|
value: W,
|
|
428
428
|
fixed: p,
|
|
429
429
|
getValue: w = ke,
|
|
430
430
|
onClick: g,
|
|
431
|
-
onMouseOver:
|
|
431
|
+
onMouseOver: Q,
|
|
432
432
|
//sx,
|
|
433
433
|
...fe
|
|
434
|
-
} = i, k = c ? W : (
|
|
434
|
+
} = i, k = c ? W : (Ve = w(W)) == null ? void 0 : Ve.toString(), $ = k === X, Le = b.findIndex((re) => re.value === k) >= 0, ne = R || B || k;
|
|
435
435
|
return {
|
|
436
436
|
item: {
|
|
437
437
|
...typeof ne != "string" || !o ? { children: ne } : {
|
|
@@ -447,7 +447,7 @@ function $t(e) {
|
|
|
447
447
|
h(g, re), S ? (Ye = F.current) == null || Ye.focus() : je(k);
|
|
448
448
|
},
|
|
449
449
|
onMouseOver: (re) => {
|
|
450
|
-
h(
|
|
450
|
+
h(Q, re), M(k), Y.current = "mouse";
|
|
451
451
|
},
|
|
452
452
|
sx: {
|
|
453
453
|
//...sx,
|
|
@@ -459,7 +459,7 @@ function $t(e) {
|
|
|
459
459
|
}
|
|
460
460
|
}
|
|
461
461
|
},
|
|
462
|
-
|
|
462
|
+
...$ && (P || Gt()),
|
|
463
463
|
...p && m,
|
|
464
464
|
...fe
|
|
465
465
|
},
|
|
@@ -470,20 +470,20 @@ function $t(e) {
|
|
|
470
470
|
};
|
|
471
471
|
},
|
|
472
472
|
inputRef: F,
|
|
473
|
-
interactionRef:
|
|
473
|
+
interactionRef: Y,
|
|
474
474
|
isLoading: Ce,
|
|
475
475
|
isOpen: O,
|
|
476
476
|
itemList: E,
|
|
477
477
|
listRef: ee,
|
|
478
478
|
onClose: z,
|
|
479
|
-
onOpen:
|
|
479
|
+
onOpen: V,
|
|
480
480
|
placement: q,
|
|
481
481
|
query: _,
|
|
482
|
-
removeItem:
|
|
482
|
+
removeItem: Ke,
|
|
483
483
|
resetItems: ct,
|
|
484
484
|
setQuery: te,
|
|
485
|
-
tags:
|
|
486
|
-
value:
|
|
485
|
+
tags: Qe,
|
|
486
|
+
value: K,
|
|
487
487
|
values: G
|
|
488
488
|
};
|
|
489
489
|
}
|
|
@@ -494,9 +494,9 @@ var it = {
|
|
|
494
494
|
style: void 0,
|
|
495
495
|
attr: void 0
|
|
496
496
|
}, qe = I.createContext && /* @__PURE__ */ I.createContext(it), Ht = ["attr", "size", "title"];
|
|
497
|
-
function
|
|
497
|
+
function Kt(e, t) {
|
|
498
498
|
if (e == null) return {};
|
|
499
|
-
var n =
|
|
499
|
+
var n = Qt(e, t), r, o;
|
|
500
500
|
if (Object.getOwnPropertySymbols) {
|
|
501
501
|
var s = Object.getOwnPropertySymbols(e);
|
|
502
502
|
for (o = 0; o < s.length; o++)
|
|
@@ -504,7 +504,7 @@ function Vt(e, t) {
|
|
|
504
504
|
}
|
|
505
505
|
return n;
|
|
506
506
|
}
|
|
507
|
-
function
|
|
507
|
+
function Qt(e, t) {
|
|
508
508
|
if (e == null) return {};
|
|
509
509
|
var n = {};
|
|
510
510
|
for (var r in e)
|
|
@@ -538,17 +538,17 @@ function ge(e) {
|
|
|
538
538
|
for (var t = 1; t < arguments.length; t++) {
|
|
539
539
|
var n = arguments[t] != null ? arguments[t] : {};
|
|
540
540
|
t % 2 ? et(Object(n), !0).forEach(function(r) {
|
|
541
|
-
|
|
541
|
+
Ut(e, r, n[r]);
|
|
542
542
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : et(Object(n)).forEach(function(r) {
|
|
543
543
|
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(n, r));
|
|
544
544
|
});
|
|
545
545
|
}
|
|
546
546
|
return e;
|
|
547
547
|
}
|
|
548
|
-
function
|
|
549
|
-
return t =
|
|
548
|
+
function Ut(e, t, n) {
|
|
549
|
+
return t = Vt(t), t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e;
|
|
550
550
|
}
|
|
551
|
-
function
|
|
551
|
+
function Vt(e) {
|
|
552
552
|
var t = Yt(e, "string");
|
|
553
553
|
return typeof t == "symbol" ? t : t + "";
|
|
554
554
|
}
|
|
@@ -578,7 +578,7 @@ function Jt(e) {
|
|
|
578
578
|
attr: r,
|
|
579
579
|
size: o,
|
|
580
580
|
title: s
|
|
581
|
-
} = e, u =
|
|
581
|
+
} = e, u = Kt(e, Ht), l = o || n.size || "1em", f;
|
|
582
582
|
return n.className && (f = n.className), e.className && (f = (f ? f + " " : "") + e.className), /* @__PURE__ */ I.createElement("svg", me({
|
|
583
583
|
stroke: "currentColor",
|
|
584
584
|
fill: "currentColor",
|
|
@@ -627,7 +627,7 @@ N.Footer;
|
|
|
627
627
|
N.Header;
|
|
628
628
|
const tn = N.Root, nn = N.Body;
|
|
629
629
|
N.Trigger;
|
|
630
|
-
const rn =
|
|
630
|
+
const rn = U(
|
|
631
631
|
(e, t) => {
|
|
632
632
|
const n = $t(e), {
|
|
633
633
|
children: r,
|
|
@@ -656,13 +656,13 @@ const rn = K(
|
|
|
656
656
|
}
|
|
657
657
|
);
|
|
658
658
|
rn.displayName = "AutoComplete";
|
|
659
|
-
const on =
|
|
659
|
+
const on = U(
|
|
660
660
|
(e, t) => {
|
|
661
661
|
const {
|
|
662
662
|
focusedValue: n,
|
|
663
663
|
getItemProps: r,
|
|
664
664
|
interactionRef: o
|
|
665
|
-
} =
|
|
665
|
+
} = H(), s = se(), u = We(t, s), l = r(e), { isValidSuggestion: f, value: v } = l.root, y = n === v;
|
|
666
666
|
j(() => {
|
|
667
667
|
var T;
|
|
668
668
|
y && o.current === "keyboard" && ((T = s == null ? void 0 : s.current) == null || T.scrollIntoView({
|
|
@@ -692,7 +692,7 @@ function sn(e) {
|
|
|
692
692
|
getItemProps: s,
|
|
693
693
|
query: u,
|
|
694
694
|
filteredResults: l
|
|
695
|
-
} =
|
|
695
|
+
} = H(), { children: f, ...v } = s(
|
|
696
696
|
{
|
|
697
697
|
...e,
|
|
698
698
|
value: u,
|
|
@@ -705,16 +705,16 @@ function sn(e) {
|
|
|
705
705
|
return o.creatable && d && !y ? /* @__PURE__ */ a(he, { ...ut, ...v, ...r, children: f || `Add ${u}` }) : null;
|
|
706
706
|
}
|
|
707
707
|
sn.displayName = "AutoCompleteCreatable";
|
|
708
|
-
const ln =
|
|
708
|
+
const ln = U(
|
|
709
709
|
(e, t) => {
|
|
710
|
-
const { children: n, showDivider: r, ...o } = e, s = ve(o, ["groupSibling"]), { getGroupProps: u } =
|
|
710
|
+
const { children: n, showDivider: r, ...o } = e, s = ve(o, ["groupSibling"]), { getGroupProps: u } = H(), { group: l } = u(e), f = cn(e);
|
|
711
711
|
return /* @__PURE__ */ Z(Te, { ref: t, ...l, ...s, children: [
|
|
712
712
|
/* @__PURE__ */ a(Xe, { ...f.top }),
|
|
713
713
|
n,
|
|
714
714
|
/* @__PURE__ */ a(Xe, { ...f.bottom })
|
|
715
715
|
] });
|
|
716
716
|
}
|
|
717
|
-
), un =
|
|
717
|
+
), un = U(
|
|
718
718
|
(e, t) => /* @__PURE__ */ a(he, { ...an, ...e, ref: t })
|
|
719
719
|
);
|
|
720
720
|
ln.displayName = "AutoCompleteGroup";
|
|
@@ -727,7 +727,7 @@ const an = {
|
|
|
727
727
|
fontWeight: "extrabold",
|
|
728
728
|
textTransform: "uppercase"
|
|
729
729
|
}, cn = (e) => {
|
|
730
|
-
const { getGroupProps: t } =
|
|
730
|
+
const { getGroupProps: t } = H(), n = e.groupSibling, {
|
|
731
731
|
divider: { hasFirstChild: r, hasLastChild: o }
|
|
732
732
|
} = t(e), s = {
|
|
733
733
|
my: 2,
|
|
@@ -765,10 +765,10 @@ const an = {
|
|
|
765
765
|
s && /* @__PURE__ */ a(Je, { placement: "end", ...u, children: s })
|
|
766
766
|
] });
|
|
767
767
|
}
|
|
768
|
-
), pn =
|
|
769
|
-
const { isLoading: n } =
|
|
768
|
+
), pn = U((e, t) => {
|
|
769
|
+
const { isLoading: n } = H(), { loadingIcon: r, ...o } = e, s = ve(o, ["children", "wrapStyles", "hidePlaceholder"]), u = /* @__PURE__ */ a(wt, { ...s, ref: t });
|
|
770
770
|
return n ? /* @__PURE__ */ a(fn, { endElement: r || /* @__PURE__ */ a(nt, {}), children: u }) : u;
|
|
771
|
-
}), dn =
|
|
771
|
+
}), dn = U(
|
|
772
772
|
(e, t) => {
|
|
773
773
|
const {
|
|
774
774
|
autoCompleteProps: n,
|
|
@@ -778,14 +778,14 @@ const an = {
|
|
|
778
778
|
setQuery: u,
|
|
779
779
|
value: l,
|
|
780
780
|
itemList: f
|
|
781
|
-
} =
|
|
781
|
+
} = H(), {
|
|
782
782
|
children: v,
|
|
783
783
|
hidePlaceholder: y,
|
|
784
784
|
...d
|
|
785
785
|
} = e, { value: C } = d;
|
|
786
786
|
j(() => {
|
|
787
787
|
if (l !== void 0 && (typeof l == "string" || l instanceof String)) {
|
|
788
|
-
const ue = f.find((
|
|
788
|
+
const ue = f.find((K) => K.value === l), Se = ue === void 0 ? l : ue.label;
|
|
789
789
|
u(Se);
|
|
790
790
|
}
|
|
791
791
|
}, [l]), j(() => {
|
|
@@ -813,7 +813,7 @@ const an = {
|
|
|
813
813
|
);
|
|
814
814
|
dn.displayName = "Input";
|
|
815
815
|
const mn = (e) => {
|
|
816
|
-
const { getEmptyStateProps: t, defaultEmptyStateProps: n } =
|
|
816
|
+
const { getEmptyStateProps: t, defaultEmptyStateProps: n } = H(), r = t(
|
|
817
817
|
/* @__PURE__ */ a(he, { ...gn, ...n, children: "No options found!" })
|
|
818
818
|
);
|
|
819
819
|
return /* @__PURE__ */ a(Te, { ...e, children: r });
|
|
@@ -853,9 +853,9 @@ const mn = (e) => {
|
|
|
853
853
|
);
|
|
854
854
|
}
|
|
855
855
|
), n];
|
|
856
|
-
}, vn =
|
|
856
|
+
}, vn = U(
|
|
857
857
|
(e, t) => {
|
|
858
|
-
const { children: n, loadingState: r, ...o } = e, { listRef: s, isLoading: u } =
|
|
858
|
+
const { children: n, loadingState: r, ...o } = e, { listRef: s, isLoading: u } = H(), l = We(t, s), [f, v] = hn(n);
|
|
859
859
|
return /* @__PURE__ */ a(en, { width: "auto", children: /* @__PURE__ */ Z(nn, { ref: l, w: "inherit", ...yn, ...o, children: [
|
|
860
860
|
u && /* @__PURE__ */ a(St, { children: r || /* @__PURE__ */ a(nt, { size: "md" }) }),
|
|
861
861
|
!u && /* @__PURE__ */ Z(ft, { children: [
|
|
@@ -934,5 +934,5 @@ export {
|
|
|
934
934
|
ut as baseItemStyles,
|
|
935
935
|
Ot as createContext,
|
|
936
936
|
$t as useAutoComplete,
|
|
937
|
-
|
|
937
|
+
H as useAutoCompleteContext
|
|
938
938
|
};
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),u=require("react"),f=require("@chakra-ui/react");function at(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const T=at(u),[Ke,B]=Qe();function Qe(){const e=T.createContext(void 0);e.displayName="AutoCompleteContext";function t(){var o;const n=T.useContext(e),r="useAutoCompleteContext: `context` is undefined. Seems you forgot to wrap all autoomplete components within `<AutoComplete />`";if(!n){const s=new Error(r);throw s.name="ContextError",(o=Error.captureStackTrace)==null||o.call(Error,s,t),s}return n}return[e.Provider,t,e]}function ct(e){return e==null?void 0:e[0]}function Ee(e){return e!=null&&e.length?e[e.length-1]:void 0}function Ue(e,t,n=1,r=!0){if(t===0)return-1;let o=e+n;return e===-1&&(o=n>0?0:t-1),r?o=(o%t+t)%t:o=Math.max(0,Math.min(o,t-1)),o}function ft(e,t,n=!0){return Ue(e,t,-1,n)}function pt(e,t,n=!0){const r=Ue(e,t.length,1,n);return t[r]}function dt(e,t,n=!0){const r=ft(e,t.length,n);return t[r]}function Pe(e){return Array.isArray(e)}function mt(e){return Pe(e)&&e.length===0}function Oe(e){return e!==null&&typeof e=="object"&&!Pe(e)}function gt(e){return Oe(e)&&Object.keys(e).length===0}function Ie(e){return Pe(e)?mt(e):Oe(e)?gt(e):e==null||e===""}function ie(e){return typeof e>"u"}function Ye(e){return typeof e<"u"}function vt(e,t){const n={};return t.forEach(r=>{r in e&&(n[r]=e[r])}),n}function ce(e,t){const n={...e};return t.forEach(r=>{delete n[r]}),n}function ht(e){return typeof e=="function"}function b(e,...t){return ht(e)?e(...t):e}function bt(e,t){if(e!=null){if(typeof e=="function"){e(t);return}try{e.current=t}catch{throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function yt(...e){return t=>{e.forEach(n=>{bt(n,t)})}}function Re(...e){return u.useMemo(()=>yt(...e),e)}var fe=function(e,t){for(var n,r=T.Children.toArray(e),o=0,s=r;o<s.length;o++){var a=s[o];if(t(a))return a;if(!((n=a.props)===null||n===void 0)&&n.children){var i=fe(a.props.children,t);if(i)return i}}},le=function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e},Xe=function(e,t){for(var n,r=T.Children.toArray(e),o=[],s=0,a=r;s<a.length;s++){var i=a[s];t(i)&&(o=le(le([],o),[i])),!((n=i.props)===null||n===void 0)&&n.children&&(o=le(le([],o),Xe(i.props.children,t)))}return o};function ze(e,t,n=2){function r(g,w){g=" ".repeat(w-1)+g.toLowerCase()+" ".repeat(w-1);let P=new Array(g.length-w+1);for(let A=0;A<P.length;A++)P[A]=g.slice(A,A+w);return P}if(!(e!=null&&e.length)||!(t!=null&&t.length))return 0;let o=e.length<t.length?e:t,s=e.length<t.length?t:e,a=r(o,n),i=r(s,n),d=new Set(a),y=i.length,x=0;for(let g of i)d.delete(g)&&x++;return x/y}const Te=e=>{var t;return(t=typeof e=="string"||typeof e=="number"?e:e[Object.keys(e)[0]])==null?void 0:t.toString()},xt=(e,t)=>typeof e!="string"||Ie(t)?e:e.toString().replace(new RegExp(St(t),"gi"),r=>`<mark>${r}</mark>`),Ct=e=>Xe(e,n=>{var r;return((r=n==null?void 0:n.type)==null?void 0:r.displayName)==="AutoCompleteItem"}).map(n=>{const r=vt(n.props,["value","label","fixed","disabled"]),{getValue:o=Te}=n.props,s=o(r.value);return{...Ye(r.label)?r:{...r,label:s},value:s,originalValue:r.value}}),wt=()=>({bg:"whiteAlpha.100",_light:{bg:"gray.200"}}),jt=(e,t,n)=>(t==null?void 0:t.toLowerCase().indexOf(e==null?void 0:e.toLowerCase()))>=0||(n==null?void 0:n.toLowerCase().indexOf(e==null?void 0:e.toLowerCase()))>=0||ze(e,t)>=.5||ze(e,n)>=.5;function St(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}const At=(e,t)=>fe(e,r=>{var o;return((o=r==null?void 0:r.type)==null?void 0:o.displayName)==="AutoCompleteItem"&&r.props.value===(t==null?void 0:t.value)}),Et=(e,t)=>fe(e,r=>{var o;return((o=r==null?void 0:r.type)==null?void 0:o.displayName)==="AutoCompleteItem"&&r.props.value===(t==null?void 0:t.value)}),Pt=(e,t)=>Ye(fe(e,n=>{var o,s;const r=b(((o=n.props)==null?void 0:o.getValue)||Te,((s=n.props)==null?void 0:s.value)||{});return t.some(a=>a.value===r)}));function Je(e){var ke;let{prefocusFirstItem:t=!0,closeOnBlur:n=!0,creatable:r,emphasize:o,emptyState:s=!0,defaultEmptyStateProps:a={},freeSolo:i,isReadOnly:d,listAllValuesOnFocus:y,maxSuggestions:x,multiple:g,closeOnSelect:w=!g,defaultValue:P,defaultValues:A=P?[P]:[],onReady:L,defaultIsOpen:pe,disableFilter:ee,isLoading:de=!1,placement:Y="bottom",restoreOnBlurIfEmpty:te=!i,shouldRenderSuggestions:me=()=>!0,submitKeys:ne=[],suggestWhenEmpty:ge,value:$,values:ve=$?typeof $=="string"?[$]:[...$]:void 0}=e;i=i||(g?!0:e.freeSolo);const{open:E,onClose:W,onOpen:V}=f.useDisclosure({open:pe}),he=u.useMemo(()=>b(e.children,{isOpen:E,onClose:W,onOpen:V}),[e.children,E]),O=u.useMemo(()=>Ct(he),[he]),N=u.useRef(null),Fe=u.useRef(null),X=u.useRef(null),K=u.useRef(null),[Le,re]=u.useState(!1);let oe="";g?oe="":ie(A)?ie(ve)||(oe=ve[0]):oe=A[0];const[D,J]=u.useState(oe??""),be=u.useMemo(()=>ee?O:O.filter(l=>l.fixed||b(e.filter||jt,D,l.value,l.label)||Le).filter((l,p)=>x?l.fixed||p<x:!0),[D,O,Le,x,ee]),De=r?[{value:D,noFilter:!0,creatable:!0}]:[],C=u.useMemo(()=>[...be,...De],[be,De]),[_,ye]=f.useControllableState({defaultValue:A.map(l=>l==null?void 0:l.toString()),value:ve,onChange:l=>{const p=C.find(I=>I.value===l[0]);if(!p)return;const v=l.map(I=>C.find(R=>R.value===I));b(e.onChange,g?l:l[0],g?v:p)}});u.useEffect(()=>{C.length===0&&!s&&E&&W()},[C.length,s,E]);const[Q,M]=u.useState(t?(ke=O[0])==null?void 0:ke.value:null),it=e.maxSelections||_.length+1,xe=C.findIndex(l=>l.value===Q),Ce=pt(xe,C,!!e.rollNavigation),we=dt(xe,C,!!e.rollNavigation),F=ct(C),je=Ee(C),_e=!C.some(l=>l.value===Q);u.useEffect(()=>{var l;_e&&M(t?(l=O[0])==null?void 0:l.value:null)},[_e]),u.useEffect(()=>{t&&M(F==null?void 0:F.value)},[t,M,D,F==null?void 0:F.value]),u.useEffect(()=>{var l;!E&&t&&M((l=O[0])==null?void 0:l.value)},[E]),u.useEffect(()=>{E&&y&&re(!0)},[E,y,re]),u.useEffect(()=>{const l=O.find(p=>p.value===Q);b(e.onOptionFocus,{item:l,focusMethod:K.current,isNewInput:l==null?void 0:l.creatable})},[Q,e.onOptionFocus]);const Se=l=>{var I,R;const p=C.find(S=>S.value===l),v=(p==null?void 0:p.label)||(p==null?void 0:p.value);J(()=>g?"":v??""),!_.includes(l)&&_.length<it&&ye(S=>g?[...S,l]:[l]),g&&((I=N.current)==null||I.focus()),e.focusInputOnSelect&&((R=N.current)==null||R.focus()),b(e.onSelectOption,{item:p,selectMethod:K.current,isNewInput:p==null?void 0:p.creatable}),p!=null&&p.creatable&&b(e.onCreateOption,{item:ce(p,["noFilter"]),selectMethod:K.current}),w&&W()},Me=(l,p)=>{var R;ye(S=>{const U=O.find(G=>G.value===l);return U?(b(e.onTagRemoved,l,U,S),S.filter(G=>G!==l)):S});const v=O.find(S=>S.value===l),I=(v==null?void 0:v.label)||(v==null?void 0:v.value);D===I&&J(""),p&&((R=N.current)==null||R.focus())},ut=l=>{var p;ye([]),l&&((p=N.current)==null||p.focus())},Ge=g?_.map(l=>{var p;return{label:((p=O.find(v=>v.value===(l==null?void 0:l.toString())))==null?void 0:p.label)||l,onRemove:()=>Me(l)}}):[];return u.useEffect(()=>{b(L,{tags:Ge})},[_]),{autoCompleteProps:e,children:he,filteredList:C,filteredResults:be,focusedValue:Q,defaultEmptyStateProps:a,getEmptyStateProps:l=>{if(C.every(v=>v.noFilter)&&s&&!r)return typeof s=="boolean"?l:b(s,{query:D})},getGroupProps:l=>{const p=Pt(l.children,C);return{divider:{hasFirstChild:At(l.children,F),hasLastChild:Et(l.children,Ee(C.filter(v=>ie(v==null?void 0:v.noFilter))))},group:{display:p?"initial":"none"}}},getInputProps:(l,p)=>{const{onBlur:v,onChange:I,onFocus:R,onKeyDown:S,variant:U,...G}=l;return{wrapper:{ref:Fe,onClick:()=>{var m;(m=N==null?void 0:N.current)==null||m.focus()},...G},input:{isReadOnly:d,onFocus:m=>{b(R,m),e.openOnFocus&&!d&&V(),e.selectOnFocus&&m.target.select(),y&&re(!0)},onBlur:m=>{var H,se;b(v,m);const j=m.relatedTarget===(X==null?void 0:X.current)||((H=X.current)==null?void 0:H.contains(m.relatedTarget)),h=(se=Fe.current)==null?void 0:se.contains(m.relatedTarget);if(!j&&!h&&(n&&W(),!_.includes(m.target.value)&&te)){const k=Ee(_),z=O.find(Z=>Z.value===k),Ae=(z==null?void 0:z.label)||(z==null?void 0:z.value)||"";J(Ae)}},onChange:m=>{const j=m.target.value;b(I,m),J(j);const h=Ie(j);b(me,j)&&(!h||ge)?V():W(),re(!1)},onKeyDown:m=>{var H;b(S,m),K.current="keyboard";const{key:j}=m,h=C[xe];if(["Enter",...ne].includes(j)){h&&!(h!=null&&h.disabled)&&E?Se(h==null?void 0:h.value):(H=N.current)==null||H.focus(),m.preventDefault();return}if(j==="ArrowDown"){E?M(Ce==null?void 0:Ce.value):V(),m.preventDefault();return}if(j==="ArrowUp"){E?M(we==null?void 0:we.value):V(),m.preventDefault();return}if(j==="Tab"){E&&h&&!(h!=null&&h.disabled)?Se(h==null?void 0:h.value):W();return}if(j==="Home"){M(F==null?void 0:F.value),m.preventDefault();return}if(j==="End"){M(je==null?void 0:je.value),m.preventDefault();return}j==="Escape"&&(W(),m.preventDefault())},value:D,variant:U,...G}}},getItemProps:(l,p)=>{var Be;const{_fixed:v,_focus:I,children:R,disabled:S,label:U,value:G,fixed:m,getValue:j=Te,onClick:h,onMouseOver:H,...se}=l,k=p?G:(Be=j(G))==null?void 0:Be.toString(),z=k===Q,Ae=C.findIndex(q=>q.value===k)>=0,Z=R||U||k;return{item:{...typeof Z!="string"||!o?{children:Z}:{dangerouslySetInnerHTML:{__html:xt(Z,D)}},"aria-selected":_.includes(k),"aria-disabled":S,_disabled:{opacity:.4,cursor:"not-allowed",userSelect:"none"},onMouseDown:q=>{var We;b(h,q),S?(We=N.current)==null||We.focus():Se(k)},onMouseOver:q=>{b(H,q),M(k),K.current="mouse"},sx:{mark:{color:"inherit",bg:"transparent",...Oe(o)?o:{fontWeight:o?"extrabold":"inherit"}}},...z&&(I||wt()),...m&&v,...se},root:{isValidSuggestion:Ae,value:k}}},inputRef:N,interactionRef:K,isLoading:de,isOpen:E,itemList:O,listRef:X,onClose:W,onOpen:V,placement:Y,query:D,removeItem:Me,resetItems:ut,setQuery:J,tags:Ge,value:$,values:_}}var Ze={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},$e=u.createContext&&u.createContext(Ze),Ot=["attr","size","title"];function It(e,t){if(e==null)return{};var n=Rt(e,t),r,o;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o<s.length;o++)r=s[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Rt(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function ue(){return ue=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ue.apply(this,arguments)}function He(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function ae(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?He(Object(n),!0).forEach(function(r){Tt(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):He(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Tt(e,t,n){return t=Nt(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Nt(e){var t=Ft(e,"string");return typeof t=="symbol"?t:t+""}function Ft(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function qe(e){return e&&e.map((t,n)=>u.createElement(t.tag,ae({key:n},t.attr),qe(t.child)))}function Lt(e){return t=>u.createElement(Dt,ue({attr:ae({},e.attr)},t),qe(e.child))}function Dt(e){var t=n=>{var{attr:r,size:o,title:s}=e,a=It(e,Ot),i=o||n.size||"1em",d;return n.className&&(d=n.className),e.className&&(d=(d?d+" ":"")+e.className),u.createElement("svg",ue({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},n.attr,r,a,{className:d,style:ae(ae({color:e.color||n.color},n.style),e.style),height:i,width:i,xmlns:"http://www.w3.org/2000/svg"}),s&&u.createElement("title",null,s),e.children)};return $e!==void 0?u.createElement($e.Consumer,null,n=>t(n)):t(Ze)}function _t(e){return Lt({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M18 6 6 18"},child:[]},{tag:"path",attr:{d:"m6 6 12 12"},child:[]}]})(e)}const Mt=T.forwardRef(function(t,n){return c.jsx(f.IconButton,{variant:"ghost","aria-label":"Close",ref:n,...t,children:t.children??c.jsx(_t,{})})}),Gt=T.forwardRef(function(t,n){const{portalled:r=!0,portalRef:o,...s}=t;return c.jsx(f.Portal,{disabled:!r,container:o,children:c.jsx(f.Popover.Positioner,{children:c.jsx(f.Popover.Content,{ref:n,...s})})})});T.forwardRef(function(t,n){return c.jsx(f.Popover.Arrow,{...t,ref:n,children:c.jsx(f.Popover.ArrowTip,{})})});T.forwardRef(function(t,n){return c.jsx(f.Popover.CloseTrigger,{position:"absolute",top:"1",insetEnd:"1",...t,asChild:!0,ref:n,children:c.jsx(Mt,{size:"sm"})})});f.Popover.Title;f.Popover.Description;f.Popover.Footer;f.Popover.Header;const kt=f.Popover.Root,Bt=f.Popover.Body;f.Popover.Trigger;const et=u.forwardRef((e,t)=>{const n=Je(e),{children:r,isOpen:o,onClose:s,onOpen:a,placement:i,resetItems:d,removeItem:y}=n;u.useImperativeHandle(t,()=>({resetItems:d,removeItem:y}));const{matchWidth:x=!0}=n.autoCompleteProps;return c.jsx(Ke,{value:n,children:c.jsx(kt,{open:o,autoFocus:!1,positioning:{placement:i,sameWidth:x},present:o,children:c.jsx(f.chakra.div,{w:"full",ref:t,children:r})})})});et.displayName="AutoComplete";const tt=u.forwardRef((e,t)=>{const{focusedValue:n,getItemProps:r,interactionRef:o}=B(),s=u.useRef(),a=Re(t,s),i=r(e),{isValidSuggestion:d,value:y}=i.root,x=n===y;u.useEffect(()=>{var L;x&&o.current==="keyboard"&&((L=s==null?void 0:s.current)==null||L.scrollIntoView({behavior:"smooth",block:"nearest"}))},[x,o]),u.useEffect(()=>{typeof y!="string"&&console.warn("wow"),typeof y!="string"&&ie(e.getValue)&&console.error("You must define the `getValue` prop, when an Item's value is not a string")},[]);const{children:g,dangerouslySetInnerHTML:w,...P}=i.item,A=ce(P,["groupId"]);return d?c.jsx(f.Flex,{ref:a,...Ne,...A,children:g||c.jsx("span",{dangerouslySetInnerHTML:w})}):null});tt.displayName="AutoCompleteItem";const Ne={mx:"2",px:"2",py:"2",rounded:"md",cursor:"pointer"};function nt(e){const{alwaysDisplay:t,children:n,...r}=e,{autoCompleteProps:o,getItemProps:s,query:a,filteredResults:i}=B(),{children:d,...y}=s({...e,value:a,children:b(n,{value:a})},!0).item,x=i.some(P=>P.value===a),g=Ie(a)?t:!0;return o.creatable&&g&&!x?c.jsx(f.Flex,{...Ne,...y,...r,children:d||`Add ${a}`}):null}nt.displayName="AutoCompleteCreatable";const rt=u.forwardRef((e,t)=>{const{children:n,showDivider:r,...o}=e,s=ce(o,["groupSibling"]),{getGroupProps:a}=B(),{group:i}=a(e),d=zt(e);return c.jsxs(f.Box,{ref:t,...i,...s,children:[c.jsx(f.Separator,{...d.top}),n,c.jsx(f.Separator,{...d.bottom})]})}),ot=u.forwardRef((e,t)=>c.jsx(f.Flex,{...Wt,...e,ref:t}));rt.displayName="AutoCompleteGroup";ot.displayName="AutoCompleteGroupTitle";const Wt={ml:5,my:1,fontSize:"xs",letterSpacing:"wider",fontWeight:"extrabold",textTransform:"uppercase"},zt=e=>{const{getGroupProps:t}=B(),n=e.groupSibling,{divider:{hasFirstChild:r,hasLastChild:o}}=t(e),s={my:2,borderColor:e.dividerColor},a={...s,mb:4,display:!e.showDivider||r?"none":""},i={...s,display:!e.showDivider||o||n?"none":""};return{top:a,bottom:i}},$t=T.forwardRef(function(t,n){const{startElement:r,startElementProps:o,endElement:s,endElementProps:a,children:i,startOffset:d="6px",endOffset:y="6px",...x}=t;return c.jsxs(f.Group,{ref:n,...x,children:[r&&c.jsx(f.InputElement,{pointerEvents:"none",...o,children:r}),T.cloneElement(i,{...r&&{ps:`calc(var(--input-height) - ${d})`},...s&&{pe:`calc(var(--input-height) - ${y})`},...i.props}),s&&c.jsx(f.InputElement,{placement:"end",...a,children:s})]})}),Ht=u.forwardRef((e,t)=>{const{isLoading:n}=B(),{loadingIcon:r,...o}=e,s=ce(o,["children","wrapStyles","hidePlaceholder"]),a=c.jsx(f.Input,{...s,ref:t});return n?c.jsx($t,{endElement:r||c.jsx(f.Spinner,{}),children:a}):a}),st=u.forwardRef((e,t)=>{const{autoCompleteProps:n,inputRef:r,getInputProps:o,tags:s,setQuery:a,value:i,itemList:d}=B(),{children:y,hidePlaceholder:x,...g}=e,{value:w}=g;u.useEffect(()=>{if(i!==void 0&&(typeof i=="string"||i instanceof String)){const ne=d.find($=>$.value===i),ge=ne===void 0?i:ne.label;a(ge)}},[i]),u.useEffect(()=>{w!==void 0&&(typeof w=="string"||w instanceof String)&&a(w)},[w]);const P={};let{wrapper:A,input:L}=o(g,P);const{ref:pe,...ee}=A,de=Re(t,r),Y=b(y,{tags:s});x&&(L={...L,placeholder:Array.isArray(Y)&&Y.length?void 0:L.placeholder});const te=c.jsx(Ht,{...L,ref:de}),me=c.jsxs(f.Box,{...ee,ref:pe,children:[Y,te]});return c.jsx(f.PopoverAnchor,{children:n.multiple?me:te})});st.displayName="Input";const Vt=e=>{const{getEmptyStateProps:t,defaultEmptyStateProps:n}=B(),r=t(c.jsx(f.Flex,{...Kt,...n,children:"No options found!"}));return c.jsx(f.Box,{...e,children:r})},Kt={fontSize:"sm",align:"center",justify:"center",fontWeight:"bold",fontStyle:"italic"},Ve=["AutoCompleteGroup","AutoCompleteItem","AutoCompleteCreatable"],Qt=e=>{const t=u.Children.map(e,(o,s)=>{var a;if(((a=o==null?void 0:o.type)==null?void 0:a.displayName)==="AutoCompleteGroup"){const i=u.Children.toArray(e)[s+1];return u.cloneElement(o,{groupSibling:i?i.type.displayName==="AutoCompleteGroup":!1})}return o}),n=u.Children.toArray(t).filter(o=>{var s;return!Ve.includes((s=o==null?void 0:o.type)==null?void 0:s.displayName)});return[u.Children.toArray(t).filter(o=>{var s;return Ve.includes((s=o==null?void 0:o.type)==null?void 0:s.displayName)}),n]},lt=u.forwardRef((e,t)=>{const{children:n,loadingState:r,...o}=e,{listRef:s,isLoading:a}=B(),i=Re(t,s),[d,y]=Qt(n);return c.jsx(Gt,{width:"auto",children:c.jsxs(Bt,{ref:i,w:"inherit",...Ut,...o,children:[a&&c.jsx(f.Center,{children:r||c.jsx(f.Spinner,{size:"md"})}),!a&&c.jsxs(c.Fragment,{children:[d,c.jsx(Vt,{}),y]})]})})});lt.displayName="AutoCompleteList";const Ut={px:"0px",bg:"#232934",rounded:"md",maxH:"350px",border:"none",shadow:"base",zIndex:"popover",overflowY:"auto",_light:{bg:"#ffffff"},_focus:{boxShadow:"none"}},Yt=T.forwardRef(function(t,n){const{startElement:r,endElement:o,onClose:s,closable:a=!!s,children:i,...d}=t;return c.jsxs(f.Tag.Root,{ref:n,...d,children:[r&&c.jsx(f.Tag.StartElement,{children:r}),c.jsx(f.Tag.Label,{children:i}),o&&c.jsx(f.Tag.EndElement,{children:o}),a&&c.jsx(f.Tag.EndElement,{children:c.jsx(f.Tag.CloseTrigger,{onClick:s})})]})}),Xt=u.memo(e=>{const{label:t,onRemove:n,disabled:r,...o}=e;return c.jsx(Yt,{borderRadius:"md",fontWeight:"normal",closable:!0,onClose:()=>!r&&b(n),...r&&Jt,...o,children:t})}),Jt={cursor:"text",userSelect:"none",opacity:.4,_focus:{boxShadow:"none"}};exports.AutoComplete=et;exports.AutoCompleteCreatable=nt;exports.AutoCompleteGroup=rt;exports.AutoCompleteGroupTitle=ot;exports.AutoCompleteInput=st;exports.AutoCompleteItem=tt;exports.AutoCompleteList=lt;exports.AutoCompleteProvider=Ke;exports.AutoCompleteTag=Xt;exports.baseItemStyles=Ne;exports.createContext=Qe;exports.useAutoComplete=Je;exports.useAutoCompleteContext=B;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),u=require("react"),f=require("@chakra-ui/react");function at(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const T=at(u),[Qe,B]=Ue();function Ue(){const e=T.createContext(void 0);e.displayName="AutoCompleteContext";function t(){var o;const n=T.useContext(e),r="useAutoCompleteContext: `context` is undefined. Seems you forgot to wrap all autoomplete components within `<AutoComplete />`";if(!n){const s=new Error(r);throw s.name="ContextError",(o=Error.captureStackTrace)==null||o.call(Error,s,t),s}return n}return[e.Provider,t,e]}function ct(e){return e==null?void 0:e[0]}function Ee(e){return e!=null&&e.length?e[e.length-1]:void 0}function Ve(e,t,n=1,r=!0){if(t===0)return-1;let o=e+n;return e===-1&&(o=n>0?0:t-1),r?o=(o%t+t)%t:o=Math.max(0,Math.min(o,t-1)),o}function ft(e,t,n=!0){return Ve(e,t,-1,n)}function pt(e,t,n=!0){const r=Ve(e,t.length,1,n);return t[r]}function dt(e,t,n=!0){const r=ft(e,t.length,n);return t[r]}function Pe(e){return Array.isArray(e)}function mt(e){return Pe(e)&&e.length===0}function Oe(e){return e!==null&&typeof e=="object"&&!Pe(e)}function gt(e){return Oe(e)&&Object.keys(e).length===0}function Ie(e){return Pe(e)?mt(e):Oe(e)?gt(e):e==null||e===""}function ie(e){return typeof e>"u"}function Ye(e){return typeof e<"u"}function vt(e,t){const n={};return t.forEach(r=>{r in e&&(n[r]=e[r])}),n}function ce(e,t){const n={...e};return t.forEach(r=>{delete n[r]}),n}function ht(e){return typeof e=="function"}function b(e,...t){return ht(e)?e(...t):e}function bt(e,t){if(e!=null){if(typeof e=="function"){e(t);return}try{e.current=t}catch{throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function yt(...e){return t=>{e.forEach(n=>{bt(n,t)})}}function Re(...e){return u.useMemo(()=>yt(...e),e)}var fe=function(e,t){for(var n,r=T.Children.toArray(e),o=0,s=r;o<s.length;o++){var a=s[o];if(t(a))return a;if(!((n=a.props)===null||n===void 0)&&n.children){var i=fe(a.props.children,t);if(i)return i}}},le=function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e},Xe=function(e,t){for(var n,r=T.Children.toArray(e),o=[],s=0,a=r;s<a.length;s++){var i=a[s];t(i)&&(o=le(le([],o),[i])),!((n=i.props)===null||n===void 0)&&n.children&&(o=le(le([],o),Xe(i.props.children,t)))}return o};function ze(e,t,n=2){function r(g,w){g=" ".repeat(w-1)+g.toLowerCase()+" ".repeat(w-1);let P=new Array(g.length-w+1);for(let A=0;A<P.length;A++)P[A]=g.slice(A,A+w);return P}if(!(e!=null&&e.length)||!(t!=null&&t.length))return 0;let o=e.length<t.length?e:t,s=e.length<t.length?t:e,a=r(o,n),i=r(s,n),d=new Set(a),y=i.length,x=0;for(let g of i)d.delete(g)&&x++;return x/y}const Te=e=>{var t;return(t=typeof e=="string"||typeof e=="number"?e:e[Object.keys(e)[0]])==null?void 0:t.toString()},xt=(e,t)=>typeof e!="string"||Ie(t)?e:e.toString().replace(new RegExp(St(t),"gi"),r=>`<mark>${r}</mark>`),Ct=e=>Xe(e,n=>{var r;return((r=n==null?void 0:n.type)==null?void 0:r.displayName)==="AutoCompleteItem"}).map(n=>{const r=vt(n.props,["value","label","fixed","disabled"]),{getValue:o=Te}=n.props,s=o(r.value);return{...Ye(r.label)?r:{...r,label:s},value:s,originalValue:r.value}}),wt=()=>({bg:"whiteAlpha.100",_light:{bg:"gray.200"}}),jt=(e,t,n)=>(t==null?void 0:t.toLowerCase().indexOf(e==null?void 0:e.toLowerCase()))>=0||(n==null?void 0:n.toLowerCase().indexOf(e==null?void 0:e.toLowerCase()))>=0||ze(e,t)>=.5||ze(e,n)>=.5;function St(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}const At=(e,t)=>fe(e,r=>{var o;return((o=r==null?void 0:r.type)==null?void 0:o.displayName)==="AutoCompleteItem"&&r.props.value===(t==null?void 0:t.value)}),Et=(e,t)=>fe(e,r=>{var o;return((o=r==null?void 0:r.type)==null?void 0:o.displayName)==="AutoCompleteItem"&&r.props.value===(t==null?void 0:t.value)}),Pt=(e,t)=>Ye(fe(e,n=>{var o,s;const r=b(((o=n.props)==null?void 0:o.getValue)||Te,((s=n.props)==null?void 0:s.value)||{});return t.some(a=>a.value===r)}));function Je(e){var ke;let{prefocusFirstItem:t=!0,closeOnBlur:n=!0,creatable:r,emphasize:o,emptyState:s=!0,defaultEmptyStateProps:a={},freeSolo:i,isReadOnly:d,listAllValuesOnFocus:y,maxSuggestions:x,multiple:g,closeOnSelect:w=!g,defaultValue:P,defaultValues:A=P?[P]:[],onReady:L,defaultIsOpen:pe,disableFilter:ee,isLoading:de=!1,placement:Y="bottom",restoreOnBlurIfEmpty:te=!i,shouldRenderSuggestions:me=()=>!0,submitKeys:ne=[],suggestWhenEmpty:ge,value:H,values:ve=H?typeof H=="string"?[H]:[...H]:void 0}=e;i=i||(g?!0:e.freeSolo);const{open:E,onClose:W,onOpen:Q}=f.useDisclosure({open:pe}),he=u.useMemo(()=>b(e.children,{isOpen:E,onClose:W,onOpen:Q}),[e.children,E]),O=u.useMemo(()=>Ct(he),[he]),N=u.useRef(null),Fe=u.useRef(null),X=u.useRef(null),U=u.useRef(null),[Le,re]=u.useState(!1);let oe="";g?oe="":ie(A)?ie(ve)||(oe=ve[0]):oe=A[0];const[D,J]=u.useState(oe??""),be=u.useMemo(()=>ee?O:O.filter(l=>l.fixed||b(e.filter||jt,D,l.value,l.label)||Le).filter((l,p)=>x?l.fixed||p<x:!0),[D,O,Le,x,ee]),De=r?[{value:D,noFilter:!0,creatable:!0}]:[],C=u.useMemo(()=>[...be,...De],[be,De]),[_,ye]=f.useControllableState({defaultValue:A.map(l=>l==null?void 0:l.toString()),value:ve,onChange:l=>{const p=C.find(I=>I.value===l[0]);if(!p)return;const v=l.map(I=>C.find(R=>R.value===I));b(e.onChange,g?l:l[0],g?v:p)}});u.useEffect(()=>{C.length===0&&!s&&E&&W()},[C.length,s,E]);const[V,M]=u.useState(t?(ke=O[0])==null?void 0:ke.value:null),it=e.maxSelections||_.length+1,xe=C.findIndex(l=>l.value===V),Ce=pt(xe,C,!!e.rollNavigation),we=dt(xe,C,!!e.rollNavigation),F=ct(C),je=Ee(C),_e=!C.some(l=>l.value===V);u.useEffect(()=>{var l;_e&&M(t?(l=O[0])==null?void 0:l.value:null)},[_e]),u.useEffect(()=>{t&&M(F==null?void 0:F.value)},[t,M,D,F==null?void 0:F.value]),u.useEffect(()=>{var l;!E&&t&&M((l=O[0])==null?void 0:l.value)},[E]),u.useEffect(()=>{E&&y&&re(!0)},[E,y,re]),u.useEffect(()=>{const l=O.find(p=>p.value===V);b(e.onOptionFocus,{item:l,focusMethod:U.current,isNewInput:l==null?void 0:l.creatable})},[V,e.onOptionFocus]);const Se=l=>{var I,R;const p=C.find(S=>S.value===l),v=(p==null?void 0:p.label)||(p==null?void 0:p.value);J(()=>g?"":v??""),!_.includes(l)&&_.length<it&&ye(S=>g?[...S,l]:[l]),g&&((I=N.current)==null||I.focus()),e.focusInputOnSelect&&((R=N.current)==null||R.focus()),b(e.onSelectOption,{item:p,selectMethod:U.current,isNewInput:p==null?void 0:p.creatable}),p!=null&&p.creatable&&b(e.onCreateOption,{item:ce(p,["noFilter"]),selectMethod:U.current}),w&&W()},Me=(l,p)=>{var R;ye(S=>{let z=O.find(G=>G.value===l);return!z&&r===!0&&(z={label:l,value:l}),z?(b(e.onTagRemoved,l,z,S),S.filter(G=>G!==l)):S});const v=O.find(S=>S.value===l),I=(v==null?void 0:v.label)||(v==null?void 0:v.value);D===I&&J(""),p&&((R=N.current)==null||R.focus())},ut=l=>{var p;ye([]),l&&((p=N.current)==null||p.focus())},Ge=g?_.map(l=>{var p;return{label:((p=O.find(v=>v.value===(l==null?void 0:l.toString())))==null?void 0:p.label)||l,onRemove:()=>Me(l)}}):[];return u.useEffect(()=>{b(L,{tags:Ge})},[_]),{autoCompleteProps:e,children:he,filteredList:C,filteredResults:be,focusedValue:V,defaultEmptyStateProps:a,getEmptyStateProps:l=>{if(C.every(v=>v.noFilter)&&s&&!r)return typeof s=="boolean"?l:b(s,{query:D})},getGroupProps:l=>{const p=Pt(l.children,C);return{divider:{hasFirstChild:At(l.children,F),hasLastChild:Et(l.children,Ee(C.filter(v=>ie(v==null?void 0:v.noFilter))))},group:{display:p?"initial":"none"}}},getInputProps:(l,p)=>{const{onBlur:v,onChange:I,onFocus:R,onKeyDown:S,variant:z,...G}=l;return{wrapper:{ref:Fe,onClick:()=>{var m;(m=N==null?void 0:N.current)==null||m.focus()},...G},input:{isReadOnly:d,onFocus:m=>{b(R,m),e.openOnFocus&&!d&&Q(),e.selectOnFocus&&m.target.select(),y&&re(!0)},onBlur:m=>{var K,se;b(v,m);const j=m.relatedTarget===(X==null?void 0:X.current)||((K=X.current)==null?void 0:K.contains(m.relatedTarget)),h=(se=Fe.current)==null?void 0:se.contains(m.relatedTarget);if(!j&&!h&&(n&&W(),!_.includes(m.target.value)&&te)){const k=Ee(_),$=O.find(Z=>Z.value===k),Ae=($==null?void 0:$.label)||($==null?void 0:$.value)||"";J(Ae)}},onChange:m=>{const j=m.target.value;b(I,m),J(j);const h=Ie(j);b(me,j)&&(!h||ge)?Q():W(),re(!1)},onKeyDown:m=>{var K;b(S,m),U.current="keyboard";const{key:j}=m,h=C[xe];if(["Enter",...ne].includes(j)){h&&!(h!=null&&h.disabled)&&E?Se(h==null?void 0:h.value):(K=N.current)==null||K.focus(),m.preventDefault();return}if(j==="ArrowDown"){E?M(Ce==null?void 0:Ce.value):Q(),m.preventDefault();return}if(j==="ArrowUp"){E?M(we==null?void 0:we.value):Q(),m.preventDefault();return}if(j==="Tab"){E&&h&&!(h!=null&&h.disabled)?Se(h==null?void 0:h.value):W();return}if(j==="Home"){M(F==null?void 0:F.value),m.preventDefault();return}if(j==="End"){M(je==null?void 0:je.value),m.preventDefault();return}j==="Escape"&&(W(),m.preventDefault())},value:D,variant:z,...G}}},getItemProps:(l,p)=>{var Be;const{_fixed:v,_focus:I,children:R,disabled:S,label:z,value:G,fixed:m,getValue:j=Te,onClick:h,onMouseOver:K,...se}=l,k=p?G:(Be=j(G))==null?void 0:Be.toString(),$=k===V,Ae=C.findIndex(q=>q.value===k)>=0,Z=R||z||k;return{item:{...typeof Z!="string"||!o?{children:Z}:{dangerouslySetInnerHTML:{__html:xt(Z,D)}},"aria-selected":_.includes(k),"aria-disabled":S,_disabled:{opacity:.4,cursor:"not-allowed",userSelect:"none"},onMouseDown:q=>{var We;b(h,q),S?(We=N.current)==null||We.focus():Se(k)},onMouseOver:q=>{b(K,q),M(k),U.current="mouse"},sx:{mark:{color:"inherit",bg:"transparent",...Oe(o)?o:{fontWeight:o?"extrabold":"inherit"}}},...$&&(I||wt()),...m&&v,...se},root:{isValidSuggestion:Ae,value:k}}},inputRef:N,interactionRef:U,isLoading:de,isOpen:E,itemList:O,listRef:X,onClose:W,onOpen:Q,placement:Y,query:D,removeItem:Me,resetItems:ut,setQuery:J,tags:Ge,value:H,values:_}}var Ze={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},$e=u.createContext&&u.createContext(Ze),Ot=["attr","size","title"];function It(e,t){if(e==null)return{};var n=Rt(e,t),r,o;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o<s.length;o++)r=s[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Rt(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function ue(){return ue=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ue.apply(this,arguments)}function He(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function ae(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?He(Object(n),!0).forEach(function(r){Tt(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):He(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Tt(e,t,n){return t=Nt(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Nt(e){var t=Ft(e,"string");return typeof t=="symbol"?t:t+""}function Ft(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function qe(e){return e&&e.map((t,n)=>u.createElement(t.tag,ae({key:n},t.attr),qe(t.child)))}function Lt(e){return t=>u.createElement(Dt,ue({attr:ae({},e.attr)},t),qe(e.child))}function Dt(e){var t=n=>{var{attr:r,size:o,title:s}=e,a=It(e,Ot),i=o||n.size||"1em",d;return n.className&&(d=n.className),e.className&&(d=(d?d+" ":"")+e.className),u.createElement("svg",ue({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},n.attr,r,a,{className:d,style:ae(ae({color:e.color||n.color},n.style),e.style),height:i,width:i,xmlns:"http://www.w3.org/2000/svg"}),s&&u.createElement("title",null,s),e.children)};return $e!==void 0?u.createElement($e.Consumer,null,n=>t(n)):t(Ze)}function _t(e){return Lt({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M18 6 6 18"},child:[]},{tag:"path",attr:{d:"m6 6 12 12"},child:[]}]})(e)}const Mt=T.forwardRef(function(t,n){return c.jsx(f.IconButton,{variant:"ghost","aria-label":"Close",ref:n,...t,children:t.children??c.jsx(_t,{})})}),Gt=T.forwardRef(function(t,n){const{portalled:r=!0,portalRef:o,...s}=t;return c.jsx(f.Portal,{disabled:!r,container:o,children:c.jsx(f.Popover.Positioner,{children:c.jsx(f.Popover.Content,{ref:n,...s})})})});T.forwardRef(function(t,n){return c.jsx(f.Popover.Arrow,{...t,ref:n,children:c.jsx(f.Popover.ArrowTip,{})})});T.forwardRef(function(t,n){return c.jsx(f.Popover.CloseTrigger,{position:"absolute",top:"1",insetEnd:"1",...t,asChild:!0,ref:n,children:c.jsx(Mt,{size:"sm"})})});f.Popover.Title;f.Popover.Description;f.Popover.Footer;f.Popover.Header;const kt=f.Popover.Root,Bt=f.Popover.Body;f.Popover.Trigger;const et=u.forwardRef((e,t)=>{const n=Je(e),{children:r,isOpen:o,onClose:s,onOpen:a,placement:i,resetItems:d,removeItem:y}=n;u.useImperativeHandle(t,()=>({resetItems:d,removeItem:y}));const{matchWidth:x=!0}=n.autoCompleteProps;return c.jsx(Qe,{value:n,children:c.jsx(kt,{open:o,autoFocus:!1,positioning:{placement:i,sameWidth:x},present:o,children:c.jsx(f.chakra.div,{w:"full",ref:t,children:r})})})});et.displayName="AutoComplete";const tt=u.forwardRef((e,t)=>{const{focusedValue:n,getItemProps:r,interactionRef:o}=B(),s=u.useRef(),a=Re(t,s),i=r(e),{isValidSuggestion:d,value:y}=i.root,x=n===y;u.useEffect(()=>{var L;x&&o.current==="keyboard"&&((L=s==null?void 0:s.current)==null||L.scrollIntoView({behavior:"smooth",block:"nearest"}))},[x,o]),u.useEffect(()=>{typeof y!="string"&&console.warn("wow"),typeof y!="string"&&ie(e.getValue)&&console.error("You must define the `getValue` prop, when an Item's value is not a string")},[]);const{children:g,dangerouslySetInnerHTML:w,...P}=i.item,A=ce(P,["groupId"]);return d?c.jsx(f.Flex,{ref:a,...Ne,...A,children:g||c.jsx("span",{dangerouslySetInnerHTML:w})}):null});tt.displayName="AutoCompleteItem";const Ne={mx:"2",px:"2",py:"2",rounded:"md",cursor:"pointer"};function nt(e){const{alwaysDisplay:t,children:n,...r}=e,{autoCompleteProps:o,getItemProps:s,query:a,filteredResults:i}=B(),{children:d,...y}=s({...e,value:a,children:b(n,{value:a})},!0).item,x=i.some(P=>P.value===a),g=Ie(a)?t:!0;return o.creatable&&g&&!x?c.jsx(f.Flex,{...Ne,...y,...r,children:d||`Add ${a}`}):null}nt.displayName="AutoCompleteCreatable";const rt=u.forwardRef((e,t)=>{const{children:n,showDivider:r,...o}=e,s=ce(o,["groupSibling"]),{getGroupProps:a}=B(),{group:i}=a(e),d=zt(e);return c.jsxs(f.Box,{ref:t,...i,...s,children:[c.jsx(f.Separator,{...d.top}),n,c.jsx(f.Separator,{...d.bottom})]})}),ot=u.forwardRef((e,t)=>c.jsx(f.Flex,{...Wt,...e,ref:t}));rt.displayName="AutoCompleteGroup";ot.displayName="AutoCompleteGroupTitle";const Wt={ml:5,my:1,fontSize:"xs",letterSpacing:"wider",fontWeight:"extrabold",textTransform:"uppercase"},zt=e=>{const{getGroupProps:t}=B(),n=e.groupSibling,{divider:{hasFirstChild:r,hasLastChild:o}}=t(e),s={my:2,borderColor:e.dividerColor},a={...s,mb:4,display:!e.showDivider||r?"none":""},i={...s,display:!e.showDivider||o||n?"none":""};return{top:a,bottom:i}},$t=T.forwardRef(function(t,n){const{startElement:r,startElementProps:o,endElement:s,endElementProps:a,children:i,startOffset:d="6px",endOffset:y="6px",...x}=t;return c.jsxs(f.Group,{ref:n,...x,children:[r&&c.jsx(f.InputElement,{pointerEvents:"none",...o,children:r}),T.cloneElement(i,{...r&&{ps:`calc(var(--input-height) - ${d})`},...s&&{pe:`calc(var(--input-height) - ${y})`},...i.props}),s&&c.jsx(f.InputElement,{placement:"end",...a,children:s})]})}),Ht=u.forwardRef((e,t)=>{const{isLoading:n}=B(),{loadingIcon:r,...o}=e,s=ce(o,["children","wrapStyles","hidePlaceholder"]),a=c.jsx(f.Input,{...s,ref:t});return n?c.jsx($t,{endElement:r||c.jsx(f.Spinner,{}),children:a}):a}),st=u.forwardRef((e,t)=>{const{autoCompleteProps:n,inputRef:r,getInputProps:o,tags:s,setQuery:a,value:i,itemList:d}=B(),{children:y,hidePlaceholder:x,...g}=e,{value:w}=g;u.useEffect(()=>{if(i!==void 0&&(typeof i=="string"||i instanceof String)){const ne=d.find(H=>H.value===i),ge=ne===void 0?i:ne.label;a(ge)}},[i]),u.useEffect(()=>{w!==void 0&&(typeof w=="string"||w instanceof String)&&a(w)},[w]);const P={};let{wrapper:A,input:L}=o(g,P);const{ref:pe,...ee}=A,de=Re(t,r),Y=b(y,{tags:s});x&&(L={...L,placeholder:Array.isArray(Y)&&Y.length?void 0:L.placeholder});const te=c.jsx(Ht,{...L,ref:de}),me=c.jsxs(f.Box,{...ee,ref:pe,children:[Y,te]});return c.jsx(f.PopoverAnchor,{children:n.multiple?me:te})});st.displayName="Input";const Kt=e=>{const{getEmptyStateProps:t,defaultEmptyStateProps:n}=B(),r=t(c.jsx(f.Flex,{...Qt,...n,children:"No options found!"}));return c.jsx(f.Box,{...e,children:r})},Qt={fontSize:"sm",align:"center",justify:"center",fontWeight:"bold",fontStyle:"italic"},Ke=["AutoCompleteGroup","AutoCompleteItem","AutoCompleteCreatable"],Ut=e=>{const t=u.Children.map(e,(o,s)=>{var a;if(((a=o==null?void 0:o.type)==null?void 0:a.displayName)==="AutoCompleteGroup"){const i=u.Children.toArray(e)[s+1];return u.cloneElement(o,{groupSibling:i?i.type.displayName==="AutoCompleteGroup":!1})}return o}),n=u.Children.toArray(t).filter(o=>{var s;return!Ke.includes((s=o==null?void 0:o.type)==null?void 0:s.displayName)});return[u.Children.toArray(t).filter(o=>{var s;return Ke.includes((s=o==null?void 0:o.type)==null?void 0:s.displayName)}),n]},lt=u.forwardRef((e,t)=>{const{children:n,loadingState:r,...o}=e,{listRef:s,isLoading:a}=B(),i=Re(t,s),[d,y]=Ut(n);return c.jsx(Gt,{width:"auto",children:c.jsxs(Bt,{ref:i,w:"inherit",...Vt,...o,children:[a&&c.jsx(f.Center,{children:r||c.jsx(f.Spinner,{size:"md"})}),!a&&c.jsxs(c.Fragment,{children:[d,c.jsx(Kt,{}),y]})]})})});lt.displayName="AutoCompleteList";const Vt={px:"0px",bg:"#232934",rounded:"md",maxH:"350px",border:"none",shadow:"base",zIndex:"popover",overflowY:"auto",_light:{bg:"#ffffff"},_focus:{boxShadow:"none"}},Yt=T.forwardRef(function(t,n){const{startElement:r,endElement:o,onClose:s,closable:a=!!s,children:i,...d}=t;return c.jsxs(f.Tag.Root,{ref:n,...d,children:[r&&c.jsx(f.Tag.StartElement,{children:r}),c.jsx(f.Tag.Label,{children:i}),o&&c.jsx(f.Tag.EndElement,{children:o}),a&&c.jsx(f.Tag.EndElement,{children:c.jsx(f.Tag.CloseTrigger,{onClick:s})})]})}),Xt=u.memo(e=>{const{label:t,onRemove:n,disabled:r,...o}=e;return c.jsx(Yt,{borderRadius:"md",fontWeight:"normal",closable:!0,onClose:()=>!r&&b(n),...r&&Jt,...o,children:t})}),Jt={cursor:"text",userSelect:"none",opacity:.4,_focus:{boxShadow:"none"}};exports.AutoComplete=et;exports.AutoCompleteCreatable=nt;exports.AutoCompleteGroup=rt;exports.AutoCompleteGroupTitle=ot;exports.AutoCompleteInput=st;exports.AutoCompleteItem=tt;exports.AutoCompleteList=lt;exports.AutoCompleteProvider=Qe;exports.AutoCompleteTag=Xt;exports.baseItemStyles=Ne;exports.createContext=Ue;exports.useAutoComplete=Je;exports.useAutoCompleteContext=B;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-autocomplete.d.ts","sourceRoot":"","sources":["../src/use-autocomplete.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAUnD,OAAO,EAAQ,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEtD;;;;GAIG;AAEH,wBAAgB,eAAe,CAC7B,iBAAiB,EAAE,iBAAiB,GACnC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"use-autocomplete.d.ts","sourceRoot":"","sources":["../src/use-autocomplete.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAUnD,OAAO,EAAQ,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEtD;;;;GAIG;AAEH,wBAAgB,eAAe,CAC7B,iBAAiB,EAAE,iBAAiB,GACnC,qBAAqB,CAgevB"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "6.
|
|
2
|
+
"version": "6.1.0",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"@chakra-ui/react": "^3.2.2",
|
|
33
33
|
"@emotion/react": "^11.13.5",
|
|
34
|
-
"react": "
|
|
34
|
+
"react": ">=18.2.0"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"next-themes": "^0.4.3",
|