@choc-ui/chakra-autocomplete 6.1.5 → 6.1.7

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 CHANGED
@@ -1,7 +1,7 @@
1
- import { jsx as a, jsxs as Y, Fragment as at } from "react/jsx-runtime";
1
+ import { jsx as a, jsxs as Y, Fragment as Ye } from "react/jsx-runtime";
2
2
  import * as N from "react";
3
3
  import E, { useMemo as U, useRef as te, useState as Le, useEffect as L, forwardRef as B, useImperativeHandle as ct, memo as ft } from "react";
4
- import { useDisclosure as dt, useControllableState as pt, IconButton as mt, Portal as gt, Popover as P, chakra as ht, Flex as pe, Box as je, Separator as Ve, Group as vt, InputElement as $e, Input as yt, Spinner as Ye, PopoverAnchor as bt, Center as Ct, Tag as Q } from "@chakra-ui/react";
4
+ import { useDisclosure as dt, useControllableState as pt, IconButton as mt, Portal as gt, Popover as P, chakra as ht, Flex as pe, Box as je, Separator as Ve, Group as vt, InputElement as $e, Input as yt, PopoverAnchor as bt, Spinner as Xe, Center as Ct, Tag as Q } from "@chakra-ui/react";
5
5
  const [It, W] = wt();
6
6
  function wt() {
7
7
  const e = N.createContext(void 0);
@@ -22,16 +22,16 @@ function xt(e) {
22
22
  function Ne(e) {
23
23
  return e?.length ? e[e.length - 1] : void 0;
24
24
  }
25
- function Xe(e, t, n = 1, r = !0) {
25
+ function qe(e, t, n = 1, r = !0) {
26
26
  if (t === 0) return -1;
27
27
  let o = e + n;
28
28
  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;
29
29
  }
30
30
  function St(e, t, n = !0) {
31
- return Xe(e, t, -1, n);
31
+ return qe(e, t, -1, n);
32
32
  }
33
33
  function Ot(e, t, n = !0) {
34
- const r = Xe(e, t.length, 1, n);
34
+ const r = qe(e, t.length, 1, n);
35
35
  return t[r];
36
36
  }
37
37
  function At(e, t, n = !0) {
@@ -56,7 +56,7 @@ function Te(e) {
56
56
  function ce(e) {
57
57
  return typeof e > "u";
58
58
  }
59
- function qe(e) {
59
+ function Je(e) {
60
60
  return typeof e < "u";
61
61
  }
62
62
  function Rt(e, t) {
@@ -115,10 +115,10 @@ var ge = function(e, t) {
115
115
  for (var n = 0, r = t.length, o = e.length; n < r; n++, o++)
116
116
  e[o] = t[n];
117
117
  return e;
118
- }, Je = function(e, t) {
118
+ }, Ze = function(e, t) {
119
119
  for (var n, r = N.Children.toArray(e), o = [], i = 0, l = r; i < l.length; i++) {
120
120
  var u = l[i];
121
- t(u) && (o = ae(ae([], o), [u])), !((n = u.props) === null || n === void 0) && n.children && (o = ae(ae([], o), Je(u.props.children, t)));
121
+ t(u) && (o = ae(ae([], o), [u])), !((n = u.props) === null || n === void 0) && n.children && (o = ae(ae([], o), Ze(u.props.children, t)));
122
122
  }
123
123
  return o;
124
124
  };
@@ -140,12 +140,12 @@ function He(e, t, n = 2) {
140
140
  const Ge = (e) => (typeof e == "string" || typeof e == "number" ? e : e[Object.keys(e)[0]])?.toString(), Ft = (e, t) => typeof e != "string" || Te(t) ? e : e.toString().replace(
141
141
  new RegExp(Gt(t), "gi"),
142
142
  (r) => `<mark>${r}</mark>`
143
- ), Dt = (e) => Je(
143
+ ), Dt = (e) => Ze(
144
144
  e,
145
145
  (n) => n?.type?.displayName === "AutoCompleteItem"
146
146
  ).map((n) => {
147
147
  const r = Rt(n.props, ["value", "label", "fixed", "disabled"]), { getValue: o = Ge } = n.props, i = o(r.value);
148
- return { ...qe(r.label) ? r : { ...r, label: i }, value: i, originalValue: r.value };
148
+ return { ...Je(r.label) ? r : { ...r, label: i }, value: i, originalValue: r.value };
149
149
  }), Tt = () => ({
150
150
  bg: "whiteAlpha.100",
151
151
  _light: {
@@ -161,7 +161,7 @@ const Mt = (e, t) => ge(
161
161
  ), Wt = (e, t) => ge(
162
162
  e,
163
163
  (r) => r?.type?.displayName === "AutoCompleteItem" && r.props.value === t?.value
164
- ), kt = (e, t) => qe(
164
+ ), kt = (e, t) => Je(
165
165
  ge(e, (n) => {
166
166
  const r = m(
167
167
  n.props?.getValue || Ge,
@@ -221,14 +221,14 @@ function zt(e) {
221
221
  (s, d) => h ? s.fixed || d < h : !0
222
222
  ),
223
223
  [j, C, We, h, X]
224
- ), se = r ? [{ value: j, noFilter: !0, creatable: !0 }] : [], v = U(() => [...xe, ...se], [xe, se]), nt = U(() => [...C, ...se], [C, se]), [F, Se] = pt({
224
+ ), se = r ? [{ value: j, noFilter: !0, creatable: !0 }] : [], v = U(() => [...xe, ...se], [xe, se]), rt = U(() => [...C, ...se], [C, se]), [F, Se] = pt({
225
225
  defaultValue: w.map((s) => s?.toString()),
226
226
  value: Ce,
227
227
  onChange: (s) => {
228
228
  const d = v.find((S) => S.value === s.at(-1));
229
229
  if (!d) return;
230
230
  const I = s.map(
231
- (S) => nt.find((R) => R.value === S)
231
+ (S) => rt.find((R) => R.value === S)
232
232
  );
233
233
  m(
234
234
  e.onChange,
@@ -242,15 +242,15 @@ function zt(e) {
242
242
  }, [v.length, i, x]);
243
243
  const [K, D] = Le(
244
244
  t ? C[0]?.value : null
245
- ), rt = e.maxSelections || F.length + 1, Oe = v.findIndex((s) => s.value === K), ot = Ot(
245
+ ), ot = e.maxSelections || F.length + 1, Oe = v.findIndex((s) => s.value === K), it = Ot(
246
246
  Oe,
247
247
  v,
248
248
  !!e.rollNavigation
249
- ), it = At(
249
+ ), st = At(
250
250
  Oe,
251
251
  v,
252
252
  !!e.rollNavigation
253
- ), le = xt(v), st = Ne(v), ke = !v.some(
253
+ ), le = xt(v), lt = Ne(v), ke = !v.some(
254
254
  (s) => s.value === K
255
255
  );
256
256
  L(() => {
@@ -271,7 +271,7 @@ function zt(e) {
271
271
  }, [K, e.onOptionFocus]);
272
272
  const Ae = (s) => {
273
273
  const d = v.find((S) => S.value === s), I = d?.label || d?.value;
274
- J(() => f ? "" : I ?? ""), !F.includes(s) && F.length < rt && Se((S) => f ? [...S, s] : [s]), f && M.current?.focus(), e.focusInputOnSelect && M.current?.focus(), m(e.onSelectOption, {
274
+ J(() => f ? "" : I ?? ""), !F.includes(s) && F.length < ot && Se((S) => f ? [...S, s] : [s]), f && M.current?.focus(), e.focusInputOnSelect && M.current?.focus(), m(e.onSelectOption, {
275
275
  item: d,
276
276
  selectMethod: H.current,
277
277
  isNewInput: d?.creatable
@@ -286,7 +286,7 @@ function zt(e) {
286
286
  });
287
287
  const I = C.find((R) => R.value === s), S = I?.label || I?.value;
288
288
  j === S && J(""), d && M.current?.focus();
289
- }, lt = (s) => {
289
+ }, ut = (s) => {
290
290
  Se([]), s && M.current?.focus();
291
291
  }, Be = f ? F.map((s) => ({
292
292
  label: C.find((d) => d.value === s?.toString())?.label || s,
@@ -332,7 +332,7 @@ function zt(e) {
332
332
  ...Z
333
333
  },
334
334
  input: {
335
- isReadOnly: c,
335
+ readOnly: c,
336
336
  onFocus: (p) => {
337
337
  m(R, p), e.openOnFocus && !c && $(), e.selectOnFocus && p.target.select(), g && oe(!0);
338
338
  },
@@ -362,11 +362,11 @@ function zt(e) {
362
362
  return;
363
363
  }
364
364
  if (b === "ArrowDown") {
365
- x ? D(ot?.value) : $(), p.preventDefault();
365
+ x ? D(it?.value) : $(), p.preventDefault();
366
366
  return;
367
367
  }
368
368
  if (b === "ArrowUp") {
369
- x ? D(it?.value) : $(), p.preventDefault();
369
+ x ? D(st?.value) : $(), p.preventDefault();
370
370
  return;
371
371
  }
372
372
  if (b === "Tab") {
@@ -378,7 +378,7 @@ function zt(e) {
378
378
  return;
379
379
  }
380
380
  if (b === "End") {
381
- D(st?.value), p.preventDefault();
381
+ D(lt?.value), p.preventDefault();
382
382
  return;
383
383
  }
384
384
  b === "Escape" && (G(), p.preventDefault());
@@ -404,7 +404,7 @@ function zt(e) {
404
404
  onMouseOver: Ee,
405
405
  //sx,
406
406
  ...ue
407
- } = s, _ = d ? Z : b(Z)?.toString(), Pe = _ === K, ut = v.findIndex((ee) => ee.value === _) >= 0, Re = R || z || _;
407
+ } = s, _ = d ? Z : b(Z)?.toString(), Pe = _ === K, at = v.findIndex((ee) => ee.value === _) >= 0, Re = R || z || _;
408
408
  return {
409
409
  item: {
410
410
  ...typeof Re != "string" || !o ? { children: Re } : {
@@ -436,7 +436,7 @@ function zt(e) {
436
436
  ...ue
437
437
  },
438
438
  root: {
439
- isValidSuggestion: ut,
439
+ isValidSuggestion: at,
440
440
  value: _
441
441
  }
442
442
  };
@@ -452,20 +452,20 @@ function zt(e) {
452
452
  placement: q,
453
453
  query: j,
454
454
  removeItem: ze,
455
- resetItems: lt,
455
+ resetItems: ut,
456
456
  setQuery: J,
457
457
  tags: Be,
458
458
  value: k,
459
459
  values: F
460
460
  };
461
461
  }
462
- var Ze = {
462
+ var et = {
463
463
  color: void 0,
464
464
  size: void 0,
465
465
  className: void 0,
466
466
  style: void 0,
467
467
  attr: void 0
468
- }, Ke = E.createContext && /* @__PURE__ */ E.createContext(Ze), Bt = ["attr", "size", "title"];
468
+ }, Ke = E.createContext && /* @__PURE__ */ E.createContext(et), Bt = ["attr", "size", "title"];
469
469
  function Vt(e, t) {
470
470
  if (e == null) return {};
471
471
  var n = $t(e, t), r, o;
@@ -534,15 +534,15 @@ function Qt(e, t) {
534
534
  }
535
535
  return (t === "string" ? String : Number)(e);
536
536
  }
537
- function et(e) {
537
+ function tt(e) {
538
538
  return e && e.map((t, n) => /* @__PURE__ */ E.createElement(t.tag, de({
539
539
  key: n
540
- }, t.attr), et(t.child)));
540
+ }, t.attr), tt(t.child)));
541
541
  }
542
542
  function Ut(e) {
543
543
  return (t) => /* @__PURE__ */ E.createElement(Yt, fe({
544
544
  attr: de({}, e.attr)
545
- }, t), et(e.child));
545
+ }, t), tt(e.child));
546
546
  }
547
547
  function Yt(e) {
548
548
  var t = (n) => {
@@ -565,7 +565,7 @@ function Yt(e) {
565
565
  xmlns: "http://www.w3.org/2000/svg"
566
566
  }), i && /* @__PURE__ */ E.createElement("title", null, i), e.children);
567
567
  };
568
- return Ke !== void 0 ? /* @__PURE__ */ E.createElement(Ke.Consumer, null, (n) => t(n)) : t(Ze);
568
+ return Ke !== void 0 ? /* @__PURE__ */ E.createElement(Ke.Consumer, null, (n) => t(n)) : t(et);
569
569
  }
570
570
  function Xt(e) {
571
571
  return Ut({ 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);
@@ -646,11 +646,11 @@ const nn = B(
646
646
  );
647
647
  }, []);
648
648
  const { children: f, dangerouslySetInnerHTML: y, ...O } = u.item, w = me(O, ["groupId"]);
649
- return c ? /* @__PURE__ */ a(pe, { ref: l, ...tt, ...w, children: f || /* @__PURE__ */ a("span", { dangerouslySetInnerHTML: y }) }) : null;
649
+ return c ? /* @__PURE__ */ a(pe, { ref: l, ...nt, ...w, children: f || /* @__PURE__ */ a("span", { dangerouslySetInnerHTML: y }) }) : null;
650
650
  }
651
651
  );
652
652
  nn.displayName = "AutoCompleteItem";
653
- const tt = {
653
+ const nt = {
654
654
  mx: "2",
655
655
  px: "2",
656
656
  py: "2",
@@ -673,7 +673,7 @@ function rn(e) {
673
673
  },
674
674
  !0
675
675
  ).item, h = u.some((O) => O.value === l), f = Te(l) ? t : !0;
676
- return o.creatable && f && !h ? /* @__PURE__ */ a(pe, { ...tt, ...g, ...r, children: c || `Add ${l}` }) : null;
676
+ return o.creatable && f && !h ? /* @__PURE__ */ a(pe, { ...nt, ...g, ...r, children: c || `Add ${l}` }) : null;
677
677
  }
678
678
  rn.displayName = "AutoCompleteCreatable";
679
679
  const on = B(
@@ -737,8 +737,9 @@ const ln = {
737
737
  ] });
738
738
  }
739
739
  ), cn = B((e, t) => {
740
- const { isLoading: n } = W(), { loadingIcon: r, ...o } = e, i = me(o, ["children", "wrapStyles", "hidePlaceholder"]), l = /* @__PURE__ */ a(yt, { ...i, ref: t });
741
- return n ? /* @__PURE__ */ a(an, { w: "full", endElement: r || /* @__PURE__ */ a(Ye, {}), children: l }) : l;
740
+ const { isLoading: n } = W(), { loadingIcon: r, ...o } = e, i = me(o, ["children", "wrapStyles", "hidePlaceholder"]);
741
+ let l;
742
+ return n && (l = r || /* @__PURE__ */ a(Xe, {})), /* @__PURE__ */ a(an, { w: "full", endElement: /* @__PURE__ */ a(Ye, { children: l }), children: /* @__PURE__ */ a(yt, { ...i, ref: t }) });
742
743
  }), fn = B(
743
744
  (e, t) => {
744
745
  const {
@@ -821,8 +822,8 @@ const dn = (e) => {
821
822
  (e, t) => {
822
823
  const { children: n, loadingState: r, ...o } = e, { listRef: i, isLoading: l } = W(), u = _e(t, i), [c, g] = mn(n);
823
824
  return /* @__PURE__ */ a(Jt, { width: "auto", children: /* @__PURE__ */ Y(en, { ref: u, w: "inherit", ...hn, ...o, children: [
824
- l && /* @__PURE__ */ a(Ct, { children: r || /* @__PURE__ */ a(Ye, { size: "md" }) }),
825
- !l && /* @__PURE__ */ Y(at, { children: [
825
+ l && /* @__PURE__ */ a(Ct, { children: r || /* @__PURE__ */ a(Xe, { size: "md" }) }),
826
+ !l && /* @__PURE__ */ Y(Ye, { children: [
826
827
  c,
827
828
  /* @__PURE__ */ a(dn, {}),
828
829
  g
@@ -895,7 +896,7 @@ export {
895
896
  gn as AutoCompleteList,
896
897
  It as AutoCompleteProvider,
897
898
  An as AutoCompleteTag,
898
- tt as baseItemStyles,
899
+ nt as baseItemStyles,
899
900
  wt as createContext,
900
901
  zt as useAutoComplete,
901
902
  W as useAutoCompleteContext
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),i=require("react"),f=require("@chakra-ui/react");function it(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 R=it(i),[ke,M]=Be();function Be(){const e=R.createContext(void 0);e.displayName="AutoCompleteContext";function t(){const n=R.useContext(e),r="useAutoCompleteContext: `context` is undefined. Seems you forgot to wrap all autoomplete components within `<AutoComplete />`";if(!n){const o=new Error(r);throw o.name="ContextError",Error.captureStackTrace?.(o,t),o}return n}return[e.Provider,t,e]}function ut(e){return e?.[0]}function we(e){return e?.length?e[e.length-1]:void 0}function We(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 at(e,t,n=!0){return We(e,t,-1,n)}function ct(e,t,n=!0){const r=We(e,t.length,1,n);return t[r]}function ft(e,t,n=!0){const r=at(e,t.length,n);return t[r]}function je(e){return Array.isArray(e)}function pt(e){return je(e)&&e.length===0}function Se(e){return e!==null&&typeof e=="object"&&!je(e)}function dt(e){return Se(e)&&Object.keys(e).length===0}function Ae(e){return je(e)?pt(e):Se(e)?dt(e):e==null||e===""}function oe(e){return typeof e>"u"}function ze(e){return typeof e<"u"}function mt(e,t){const n={};return t.forEach(r=>{r in e&&(n[r]=e[r])}),n}function ie(e,t){const n={...e};return t.forEach(r=>{delete n[r]}),n}function gt(e){return typeof e=="function"}function h(e,...t){return gt(e)?e(...t):e}function ht(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 vt(...e){return t=>{e.forEach(n=>{ht(n,t)})}}function Ee(...e){return i.useMemo(()=>vt(...e),e)}var ue=function(e,t){for(var n,r=R.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 c=ue(a.props.children,t);if(c)return c}}},re=function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e},Ve=function(e,t){for(var n,r=R.Children.toArray(e),o=[],s=0,a=r;s<a.length;s++){var c=a[s];t(c)&&(o=re(re([],o),[c])),!((n=c.props)===null||n===void 0)&&n.children&&(o=re(re([],o),Ve(c.props.children,t)))}return o};function De(e,t,n=2){function r(d,x){d=" ".repeat(x-1)+d.toLowerCase()+" ".repeat(x-1);let E=new Array(d.length-x+1);for(let j=0;j<E.length;j++)E[j]=d.slice(j,j+x);return E}if(!e?.length||!t?.length)return 0;let o=e.length<t.length?e:t,s=e.length<t.length?t:e,a=r(o,n),c=r(s,n),p=new Set(a),v=c.length,y=0;for(let d of c)p.delete(d)&&y++;return y/v}const Pe=e=>(typeof e=="string"||typeof e=="number"?e:e[Object.keys(e)[0]])?.toString(),yt=(e,t)=>typeof e!="string"||Ae(t)?e:e.toString().replace(new RegExp(It(t),"gi"),r=>`<mark>${r}</mark>`),bt=e=>Ve(e,n=>n?.type?.displayName==="AutoCompleteItem").map(n=>{const r=mt(n.props,["value","label","fixed","disabled"]),{getValue:o=Pe}=n.props,s=o(r.value);return{...ze(r.label)?r:{...r,label:s},value:s,originalValue:r.value}}),xt=()=>({bg:"whiteAlpha.100",_light:{bg:"gray.200"}}),Ct=(e,t,n)=>t?.toLowerCase().indexOf(e?.toLowerCase())>=0||n?.toLowerCase().indexOf(e?.toLowerCase())>=0||De(e,t)>=.5||De(e,n)>=.5;function It(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}const wt=(e,t)=>ue(e,r=>r?.type?.displayName==="AutoCompleteItem"&&r.props.value===t?.value),jt=(e,t)=>ue(e,r=>r?.type?.displayName==="AutoCompleteItem"&&r.props.value===t?.value),St=(e,t)=>ze(ue(e,n=>{const r=h(n.props?.getValue||Pe,n.props?.value||{});return t.some(o=>o.value===r)}));function $e(e){let{prefocusFirstItem:t=!0,closeOnBlur:n=!0,creatable:r,emphasize:o,emptyState:s=!0,defaultEmptyStateProps:a={},freeSolo:c,isReadOnly:p,listAllValuesOnFocus:v,maxSuggestions:y,multiple:d,closeOnSelect:x=!d,defaultValue:E,defaultValues:j=E?[E]:[],onReady:W,defaultIsOpen:ae,disableFilter:H,isLoading:ce=!1,placement:K="bottom",restoreOnBlurIfEmpty:Y=!c,shouldRenderSuggestions:fe=()=>!0,submitKeys:X=[],suggestWhenEmpty:pe,value:k,values:de=k?typeof k=="string"?[k]:[...k]:void 0}=e;c=c||(d?!0:e.freeSolo);const{open:S,onClose:_,onOpen:z}=f.useDisclosure({open:ae}),me=i.useMemo(()=>h(e.children,{isOpen:S,onClose:_,onOpen:z}),[e.children,S]),I=i.useMemo(()=>bt(me),[me]),G=i.useRef(null),Re=i.useRef(null),ge=i.useRef(null),V=i.useRef(null),[Le,J]=i.useState(!1);let Z="";d?Z="":oe(j)?oe(de)||(Z=de[0]):Z=j[0];const[L,Q]=i.useState(Z??""),he=i.useMemo(()=>H?I:I.filter(l=>l.fixed||h(e.filter||Ct,L,l.value,l.label)||Le).filter((l,m)=>y?l.fixed||m<y:!0),[L,I,Le,y,H]),ee=r?[{value:L,noFilter:!0,creatable:!0}]:[],b=i.useMemo(()=>[...he,...ee],[he,ee]),et=i.useMemo(()=>[...I,...ee],[I,ee]),[T,ve]=f.useControllableState({defaultValue:j.map(l=>l?.toString()),value:de,onChange:l=>{const m=b.find(A=>A.value===l.at(-1));if(!m)return;const w=l.map(A=>et.find(O=>O.value===A));h(e.onChange,d?l:l[0],d?w:m)}});i.useEffect(()=>{b.length===0&&!s&&S&&_()},[b.length,s,S]);const[$,N]=i.useState(t?I[0]?.value:null),tt=e.maxSelections||T.length+1,ye=b.findIndex(l=>l.value===$),nt=ct(ye,b,!!e.rollNavigation),rt=ft(ye,b,!!e.rollNavigation),te=ut(b),ot=we(b),Te=!b.some(l=>l.value===$);i.useEffect(()=>{Te&&N(t?I[0]?.value:null)},[Te]),i.useEffect(()=>{t&&N(te?.value)},[t,N,L,te?.value]),i.useEffect(()=>{!S&&t&&N(I[0]?.value)},[S]),i.useEffect(()=>{S&&v&&J(!0)},[S,v,J]),i.useEffect(()=>{const l=I.find(m=>m.value===$);h(e.onOptionFocus,{item:l,focusMethod:V.current,isNewInput:l?.creatable})},[$,e.onOptionFocus]);const be=l=>{const m=b.find(A=>A.value===l),w=m?.label||m?.value;Q(()=>d?"":w??""),!T.includes(l)&&T.length<tt&&ve(A=>d?[...A,l]:[l]),d&&G.current?.focus(),e.focusInputOnSelect&&G.current?.focus(),h(e.onSelectOption,{item:m,selectMethod:V.current,isNewInput:m?.creatable}),m?.creatable&&h(e.onCreateOption,{item:ie(m,["noFilter"]),selectMethod:V.current}),x&&_()},Ne=(l,m)=>{ve(O=>{let F=I.find(B=>B.value===l);return!F&&r===!0&&(F={label:l,value:l}),F?(h(e.onTagRemoved,l,F,O),O.filter(B=>B!==l)):O});const w=I.find(O=>O.value===l),A=w?.label||w?.value;L===A&&Q(""),m&&G.current?.focus()},st=l=>{ve([]),l&&G.current?.focus()},Fe=d?T.map(l=>({label:I.find(m=>m.value===l?.toString())?.label||l,onRemove:()=>Ne(l)})):[];return i.useEffect(()=>{h(W,{tags:Fe})},[T]),{autoCompleteProps:e,children:me,filteredList:b,filteredResults:he,focusedValue:$,defaultEmptyStateProps:a,getEmptyStateProps:l=>{if(b.every(w=>w.noFilter)&&s&&!r)return typeof s=="boolean"?l:h(s,{query:L})},getGroupProps:l=>{const m=St(l.children,b);return{divider:{hasFirstChild:wt(l.children,te),hasLastChild:jt(l.children,we(b.filter(w=>oe(w?.noFilter))))},group:{display:m?"initial":"none"}}},getInputProps:(l,m)=>{const{onBlur:w,onChange:A,onFocus:O,onKeyDown:F,variant:B,...q}=l;return{wrapper:{ref:Re,onClick:()=>{G?.current?.focus()},...q},input:{isReadOnly:p,onFocus:g=>{h(O,g),e.openOnFocus&&!p&&z(),e.selectOnFocus&&g.target.select(),v&&J(!0)},onBlur:g=>{h(w,g);const C=g.relatedTarget===ge?.current||ge.current?.contains(g.relatedTarget),P=Re.current?.contains(g.relatedTarget);if(!C&&!P&&(n&&_(),!T.includes(g.target.value)&&Y)){const xe=we(T),ne=I.find(Ce=>Ce.value===xe),D=ne?.label||ne?.value||"";Q(D)}},onChange:g=>{const C=g.target.value;h(A,g),Q(C);const P=Ae(C);h(fe,C)&&(!P||pe)?z():_(),J(!1)},onKeyDown:g=>{h(F,g),V.current="keyboard";const{key:C}=g,P=b[ye];if(["Enter",...X].includes(C)){P&&!P?.disabled&&S?be(P?.value):G.current?.focus(),g.preventDefault();return}if(C==="ArrowDown"){S?N(nt?.value):z(),g.preventDefault();return}if(C==="ArrowUp"){S?N(rt?.value):z(),g.preventDefault();return}if(C==="Tab"){S&&P&&!P?.disabled?be(P?.value):_();return}if(C==="Home"){N(te?.value),g.preventDefault();return}if(C==="End"){N(ot?.value),g.preventDefault();return}C==="Escape"&&(_(),g.preventDefault())},value:L,variant:B,...q}}},getItemProps:(l,m)=>{const{_fixed:w,_focus:A,children:O,disabled:F,label:B,value:q,fixed:g,getValue:C=Pe,onClick:P,onMouseOver:xe,...ne}=l,D=m?q:C(q)?.toString(),Ce=D===$,lt=b.findIndex(U=>U.value===D)>=0,Ie=O||B||D;return{item:{...typeof Ie!="string"||!o?{children:Ie}:{dangerouslySetInnerHTML:{__html:yt(Ie,L)}},"aria-selected":T.includes(D),"aria-disabled":F,_disabled:{opacity:.4,cursor:"not-allowed",userSelect:"none"},onMouseDown:U=>{h(P,U),F?G.current?.focus():be(D)},onMouseOver:U=>{h(xe,U),N(D),V.current="mouse"},sx:{mark:{color:"inherit",bg:"transparent",...Se(o)?o:{fontWeight:o?"extrabold":"inherit"}}},...Ce&&(A||xt()),...g&&w,...ne},root:{isValidSuggestion:lt,value:D}}},inputRef:G,interactionRef:V,isLoading:ce,isOpen:S,itemList:I,listRef:ge,onClose:_,onOpen:z,placement:K,query:L,removeItem:Ne,resetItems:st,setQuery:Q,tags:Fe,value:k,values:T}}var He={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Me=i.createContext&&i.createContext(He),At=["attr","size","title"];function Et(e,t){if(e==null)return{};var n=Pt(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 Pt(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 se(){return se=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},se.apply(this,arguments)}function _e(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 le(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?_e(Object(n),!0).forEach(function(r){Ot(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_e(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Ot(e,t,n){return t=Rt(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Rt(e){var t=Lt(e,"string");return typeof t=="symbol"?t:t+""}function Lt(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ke(e){return e&&e.map((t,n)=>i.createElement(t.tag,le({key:n},t.attr),Ke(t.child)))}function Tt(e){return t=>i.createElement(Nt,se({attr:le({},e.attr)},t),Ke(e.child))}function Nt(e){var t=n=>{var{attr:r,size:o,title:s}=e,a=Et(e,At),c=o||n.size||"1em",p;return n.className&&(p=n.className),e.className&&(p=(p?p+" ":"")+e.className),i.createElement("svg",se({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},n.attr,r,a,{className:p,style:le(le({color:e.color||n.color},n.style),e.style),height:c,width:c,xmlns:"http://www.w3.org/2000/svg"}),s&&i.createElement("title",null,s),e.children)};return Me!==void 0?i.createElement(Me.Consumer,null,n=>t(n)):t(He)}function Ft(e){return Tt({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 Dt=R.forwardRef(function(t,n){return u.jsx(f.IconButton,{variant:"ghost","aria-label":"Close",ref:n,...t,children:t.children??u.jsx(Ft,{})})}),Mt=R.forwardRef(function(t,n){const{portalled:r=!0,portalRef:o,...s}=t;return u.jsx(f.Portal,{disabled:!r,container:o,children:u.jsx(f.Popover.Positioner,{children:u.jsx(f.Popover.Content,{ref:n,...s})})})});R.forwardRef(function(t,n){return u.jsx(f.Popover.Arrow,{...t,ref:n,children:u.jsx(f.Popover.ArrowTip,{})})});R.forwardRef(function(t,n){return u.jsx(f.Popover.CloseTrigger,{position:"absolute",top:"1",insetEnd:"1",...t,asChild:!0,ref:n,children:u.jsx(Dt,{size:"sm"})})});f.Popover.Title;f.Popover.Description;f.Popover.Footer;f.Popover.Header;const _t=f.Popover.Root,Gt=f.Popover.Body;f.Popover.Trigger;const Qe=i.forwardRef((e,t)=>{const n=$e(e),{children:r,isOpen:o,onClose:s,onOpen:a,placement:c,resetItems:p,removeItem:v}=n;i.useImperativeHandle(t,()=>({resetItems:p,removeItem:v}));const{matchWidth:y=!0}=n.autoCompleteProps;return u.jsx(ke,{value:n,children:u.jsx(_t,{open:o,autoFocus:!1,positioning:{placement:c,sameWidth:y},present:o,children:u.jsx(f.chakra.div,{w:"full",ref:t,children:r})})})});Qe.displayName="AutoComplete";const qe=i.forwardRef((e,t)=>{const{focusedValue:n,getItemProps:r,interactionRef:o}=M(),s=i.useRef(),a=Ee(t,s),c=r(e),{isValidSuggestion:p,value:v}=c.root,y=n===v;i.useEffect(()=>{y&&o.current==="keyboard"&&s?.current?.scrollIntoView({behavior:"smooth",block:"nearest"})},[y,o]),i.useEffect(()=>{typeof v!="string"&&console.warn("wow"),typeof v!="string"&&oe(e.getValue)&&console.error("You must define the `getValue` prop, when an Item's value is not a string")},[]);const{children:d,dangerouslySetInnerHTML:x,...E}=c.item,j=ie(E,["groupId"]);return p?u.jsx(f.Flex,{ref:a,...Oe,...j,children:d||u.jsx("span",{dangerouslySetInnerHTML:x})}):null});qe.displayName="AutoCompleteItem";const Oe={mx:"2",px:"2",py:"2",rounded:"md",cursor:"pointer"};function Ue(e){const{alwaysDisplay:t,children:n,...r}=e,{autoCompleteProps:o,getItemProps:s,query:a,filteredResults:c}=M(),{children:p,...v}=s({...e,value:a,children:h(n,{value:a})},!0).item,y=c.some(E=>E.value===a),d=Ae(a)?t:!0;return o.creatable&&d&&!y?u.jsx(f.Flex,{...Oe,...v,...r,children:p||`Add ${a}`}):null}Ue.displayName="AutoCompleteCreatable";const Ye=i.forwardRef((e,t)=>{const{children:n,showDivider:r,...o}=e,s=ie(o,["groupSibling"]),{getGroupProps:a}=M(),{group:c}=a(e),p=Bt(e);return u.jsxs(f.Box,{ref:t,...c,...s,children:[u.jsx(f.Separator,{...p.top}),n,u.jsx(f.Separator,{...p.bottom})]})}),Xe=i.forwardRef((e,t)=>u.jsx(f.Flex,{...kt,...e,ref:t}));Ye.displayName="AutoCompleteGroup";Xe.displayName="AutoCompleteGroupTitle";const kt={ml:5,my:1,fontSize:"xs",letterSpacing:"wider",fontWeight:"extrabold",textTransform:"uppercase"},Bt=e=>{const{getGroupProps:t}=M(),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":""},c={...s,display:!e.showDivider||o||n?"none":""};return{top:a,bottom:c}},Wt=R.forwardRef(function(t,n){const{startElement:r,startElementProps:o,endElement:s,endElementProps:a,children:c,startOffset:p="6px",endOffset:v="6px",...y}=t;return u.jsxs(f.Group,{ref:n,...y,children:[r&&u.jsx(f.InputElement,{pointerEvents:"none",...o,children:r}),R.cloneElement(c,{...r&&{ps:`calc(var(--input-height) - ${p})`},...s&&{pe:`calc(var(--input-height) - ${v})`},...c.props}),s&&u.jsx(f.InputElement,{placement:"end",...a,children:s})]})}),zt=i.forwardRef((e,t)=>{const{isLoading:n}=M(),{loadingIcon:r,...o}=e,s=ie(o,["children","wrapStyles","hidePlaceholder"]),a=u.jsx(f.Input,{...s,ref:t});return n?u.jsx(Wt,{w:"full",endElement:r||u.jsx(f.Spinner,{}),children:a}):a}),Je=i.forwardRef((e,t)=>{const{autoCompleteProps:n,inputRef:r,getInputProps:o,tags:s,setQuery:a,value:c,itemList:p}=M(),{children:v,hidePlaceholder:y,...d}=e,{value:x}=d;i.useEffect(()=>{if(c!==void 0&&(typeof c=="string"||c instanceof String)){const X=p.find(k=>k.value===c),pe=X===void 0?c:X.label;a(pe)}},[c]),i.useEffect(()=>{x!==void 0&&(typeof x=="string"||x instanceof String)&&a(x)},[x]);const E={};let{wrapper:j,input:W}=o(d,E);const{ref:ae,...H}=j,ce=Ee(t,r),K=h(v,{tags:s});y&&(W={...W,placeholder:Array.isArray(K)&&K.length?void 0:W.placeholder});const Y=u.jsx(zt,{...W,ref:ce}),fe=u.jsxs(f.Box,{...H,ref:ae,children:[K,Y]});return u.jsx(f.PopoverAnchor,{w:"full",...H,children:n.multiple?fe:Y})});Je.displayName="Input";const Vt=e=>{const{getEmptyStateProps:t,defaultEmptyStateProps:n}=M(),r=t(u.jsx(f.Flex,{...$t,...n,children:"No options found!"}));return u.jsx(f.Box,{...e,children:r})},$t={fontSize:"sm",align:"center",justify:"center",fontWeight:"bold",fontStyle:"italic"},Ge=["AutoCompleteGroup","AutoCompleteItem","AutoCompleteCreatable"],Ht=e=>{const t=i.Children.map(e,(o,s)=>{if(o?.type?.displayName==="AutoCompleteGroup"){const a=i.Children.toArray(e)[s+1];return i.cloneElement(o,{groupSibling:a?a.type.displayName==="AutoCompleteGroup":!1})}return o}),n=i.Children.toArray(t).filter(o=>!Ge.includes(o?.type?.displayName));return[i.Children.toArray(t).filter(o=>Ge.includes(o?.type?.displayName)),n]},Ze=i.forwardRef((e,t)=>{const{children:n,loadingState:r,...o}=e,{listRef:s,isLoading:a}=M(),c=Ee(t,s),[p,v]=Ht(n);return u.jsx(Mt,{width:"auto",children:u.jsxs(Gt,{ref:c,w:"inherit",...Kt,...o,children:[a&&u.jsx(f.Center,{children:r||u.jsx(f.Spinner,{size:"md"})}),!a&&u.jsxs(u.Fragment,{children:[p,u.jsx(Vt,{}),v]})]})})});Ze.displayName="AutoCompleteList";const Kt={px:"0px",bg:"#232934",rounded:"md",maxH:"350px",border:"none",shadow:"base",zIndex:"popover",overflowY:"auto",_light:{bg:"#ffffff"},_focus:{boxShadow:"none"}},Qt=R.forwardRef(function(t,n){const{startElement:r,endElement:o,onClose:s,closable:a=!!s,children:c,...p}=t;return u.jsxs(f.Tag.Root,{ref:n,...p,children:[r&&u.jsx(f.Tag.StartElement,{children:r}),u.jsx(f.Tag.Label,{children:c}),o&&u.jsx(f.Tag.EndElement,{children:o}),a&&u.jsx(f.Tag.EndElement,{children:u.jsx(f.Tag.CloseTrigger,{onClick:s})})]})}),qt=i.memo(e=>{const{label:t,onRemove:n,disabled:r,...o}=e;return u.jsx(Qt,{borderRadius:"md",fontWeight:"normal",closable:!0,onClose:()=>!r&&h(n),...r&&Ut,...o,children:t})}),Ut={cursor:"text",userSelect:"none",opacity:.4,_focus:{boxShadow:"none"}};exports.AutoComplete=Qe;exports.AutoCompleteCreatable=Ue;exports.AutoCompleteGroup=Ye;exports.AutoCompleteGroupTitle=Xe;exports.AutoCompleteInput=Je;exports.AutoCompleteItem=qe;exports.AutoCompleteList=Ze;exports.AutoCompleteProvider=ke;exports.AutoCompleteTag=qt;exports.baseItemStyles=Oe;exports.createContext=Be;exports.useAutoComplete=$e;exports.useAutoCompleteContext=M;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),i=require("react"),f=require("@chakra-ui/react");function it(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 R=it(i),[ke,M]=Be();function Be(){const e=R.createContext(void 0);e.displayName="AutoCompleteContext";function t(){const n=R.useContext(e),r="useAutoCompleteContext: `context` is undefined. Seems you forgot to wrap all autoomplete components within `<AutoComplete />`";if(!n){const o=new Error(r);throw o.name="ContextError",Error.captureStackTrace?.(o,t),o}return n}return[e.Provider,t,e]}function ut(e){return e?.[0]}function we(e){return e?.length?e[e.length-1]:void 0}function We(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 at(e,t,n=!0){return We(e,t,-1,n)}function ct(e,t,n=!0){const r=We(e,t.length,1,n);return t[r]}function ft(e,t,n=!0){const r=at(e,t.length,n);return t[r]}function je(e){return Array.isArray(e)}function dt(e){return je(e)&&e.length===0}function Se(e){return e!==null&&typeof e=="object"&&!je(e)}function pt(e){return Se(e)&&Object.keys(e).length===0}function Ae(e){return je(e)?dt(e):Se(e)?pt(e):e==null||e===""}function oe(e){return typeof e>"u"}function ze(e){return typeof e<"u"}function mt(e,t){const n={};return t.forEach(r=>{r in e&&(n[r]=e[r])}),n}function ie(e,t){const n={...e};return t.forEach(r=>{delete n[r]}),n}function gt(e){return typeof e=="function"}function h(e,...t){return gt(e)?e(...t):e}function ht(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 vt(...e){return t=>{e.forEach(n=>{ht(n,t)})}}function Ee(...e){return i.useMemo(()=>vt(...e),e)}var ue=function(e,t){for(var n,r=R.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 c=ue(a.props.children,t);if(c)return c}}},re=function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e},Ve=function(e,t){for(var n,r=R.Children.toArray(e),o=[],s=0,a=r;s<a.length;s++){var c=a[s];t(c)&&(o=re(re([],o),[c])),!((n=c.props)===null||n===void 0)&&n.children&&(o=re(re([],o),Ve(c.props.children,t)))}return o};function De(e,t,n=2){function r(p,x){p=" ".repeat(x-1)+p.toLowerCase()+" ".repeat(x-1);let E=new Array(p.length-x+1);for(let j=0;j<E.length;j++)E[j]=p.slice(j,j+x);return E}if(!e?.length||!t?.length)return 0;let o=e.length<t.length?e:t,s=e.length<t.length?t:e,a=r(o,n),c=r(s,n),d=new Set(a),v=c.length,y=0;for(let p of c)d.delete(p)&&y++;return y/v}const Oe=e=>(typeof e=="string"||typeof e=="number"?e:e[Object.keys(e)[0]])?.toString(),yt=(e,t)=>typeof e!="string"||Ae(t)?e:e.toString().replace(new RegExp(It(t),"gi"),r=>`<mark>${r}</mark>`),bt=e=>Ve(e,n=>n?.type?.displayName==="AutoCompleteItem").map(n=>{const r=mt(n.props,["value","label","fixed","disabled"]),{getValue:o=Oe}=n.props,s=o(r.value);return{...ze(r.label)?r:{...r,label:s},value:s,originalValue:r.value}}),xt=()=>({bg:"whiteAlpha.100",_light:{bg:"gray.200"}}),Ct=(e,t,n)=>t?.toLowerCase().indexOf(e?.toLowerCase())>=0||n?.toLowerCase().indexOf(e?.toLowerCase())>=0||De(e,t)>=.5||De(e,n)>=.5;function It(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}const wt=(e,t)=>ue(e,r=>r?.type?.displayName==="AutoCompleteItem"&&r.props.value===t?.value),jt=(e,t)=>ue(e,r=>r?.type?.displayName==="AutoCompleteItem"&&r.props.value===t?.value),St=(e,t)=>ze(ue(e,n=>{const r=h(n.props?.getValue||Oe,n.props?.value||{});return t.some(o=>o.value===r)}));function $e(e){let{prefocusFirstItem:t=!0,closeOnBlur:n=!0,creatable:r,emphasize:o,emptyState:s=!0,defaultEmptyStateProps:a={},freeSolo:c,isReadOnly:d,listAllValuesOnFocus:v,maxSuggestions:y,multiple:p,closeOnSelect:x=!p,defaultValue:E,defaultValues:j=E?[E]:[],onReady:W,defaultIsOpen:ae,disableFilter:H,isLoading:ce=!1,placement:K="bottom",restoreOnBlurIfEmpty:Y=!c,shouldRenderSuggestions:fe=()=>!0,submitKeys:X=[],suggestWhenEmpty:de,value:k,values:pe=k?typeof k=="string"?[k]:[...k]:void 0}=e;c=c||(p?!0:e.freeSolo);const{open:S,onClose:_,onOpen:z}=f.useDisclosure({open:ae}),me=i.useMemo(()=>h(e.children,{isOpen:S,onClose:_,onOpen:z}),[e.children,S]),I=i.useMemo(()=>bt(me),[me]),G=i.useRef(null),Re=i.useRef(null),ge=i.useRef(null),V=i.useRef(null),[Le,J]=i.useState(!1);let Z="";p?Z="":oe(j)?oe(pe)||(Z=pe[0]):Z=j[0];const[L,Q]=i.useState(Z??""),he=i.useMemo(()=>H?I:I.filter(l=>l.fixed||h(e.filter||Ct,L,l.value,l.label)||Le).filter((l,m)=>y?l.fixed||m<y:!0),[L,I,Le,y,H]),ee=r?[{value:L,noFilter:!0,creatable:!0}]:[],b=i.useMemo(()=>[...he,...ee],[he,ee]),et=i.useMemo(()=>[...I,...ee],[I,ee]),[T,ve]=f.useControllableState({defaultValue:j.map(l=>l?.toString()),value:pe,onChange:l=>{const m=b.find(A=>A.value===l.at(-1));if(!m)return;const w=l.map(A=>et.find(P=>P.value===A));h(e.onChange,p?l:l[0],p?w:m)}});i.useEffect(()=>{b.length===0&&!s&&S&&_()},[b.length,s,S]);const[$,N]=i.useState(t?I[0]?.value:null),tt=e.maxSelections||T.length+1,ye=b.findIndex(l=>l.value===$),nt=ct(ye,b,!!e.rollNavigation),rt=ft(ye,b,!!e.rollNavigation),te=ut(b),ot=we(b),Te=!b.some(l=>l.value===$);i.useEffect(()=>{Te&&N(t?I[0]?.value:null)},[Te]),i.useEffect(()=>{t&&N(te?.value)},[t,N,L,te?.value]),i.useEffect(()=>{!S&&t&&N(I[0]?.value)},[S]),i.useEffect(()=>{S&&v&&J(!0)},[S,v,J]),i.useEffect(()=>{const l=I.find(m=>m.value===$);h(e.onOptionFocus,{item:l,focusMethod:V.current,isNewInput:l?.creatable})},[$,e.onOptionFocus]);const be=l=>{const m=b.find(A=>A.value===l),w=m?.label||m?.value;Q(()=>p?"":w??""),!T.includes(l)&&T.length<tt&&ve(A=>p?[...A,l]:[l]),p&&G.current?.focus(),e.focusInputOnSelect&&G.current?.focus(),h(e.onSelectOption,{item:m,selectMethod:V.current,isNewInput:m?.creatable}),m?.creatable&&h(e.onCreateOption,{item:ie(m,["noFilter"]),selectMethod:V.current}),x&&_()},Ne=(l,m)=>{ve(P=>{let F=I.find(B=>B.value===l);return!F&&r===!0&&(F={label:l,value:l}),F?(h(e.onTagRemoved,l,F,P),P.filter(B=>B!==l)):P});const w=I.find(P=>P.value===l),A=w?.label||w?.value;L===A&&Q(""),m&&G.current?.focus()},st=l=>{ve([]),l&&G.current?.focus()},Fe=p?T.map(l=>({label:I.find(m=>m.value===l?.toString())?.label||l,onRemove:()=>Ne(l)})):[];return i.useEffect(()=>{h(W,{tags:Fe})},[T]),{autoCompleteProps:e,children:me,filteredList:b,filteredResults:he,focusedValue:$,defaultEmptyStateProps:a,getEmptyStateProps:l=>{if(b.every(w=>w.noFilter)&&s&&!r)return typeof s=="boolean"?l:h(s,{query:L})},getGroupProps:l=>{const m=St(l.children,b);return{divider:{hasFirstChild:wt(l.children,te),hasLastChild:jt(l.children,we(b.filter(w=>oe(w?.noFilter))))},group:{display:m?"initial":"none"}}},getInputProps:(l,m)=>{const{onBlur:w,onChange:A,onFocus:P,onKeyDown:F,variant:B,...q}=l;return{wrapper:{ref:Re,onClick:()=>{G?.current?.focus()},...q},input:{readOnly:d,onFocus:g=>{h(P,g),e.openOnFocus&&!d&&z(),e.selectOnFocus&&g.target.select(),v&&J(!0)},onBlur:g=>{h(w,g);const C=g.relatedTarget===ge?.current||ge.current?.contains(g.relatedTarget),O=Re.current?.contains(g.relatedTarget);if(!C&&!O&&(n&&_(),!T.includes(g.target.value)&&Y)){const xe=we(T),ne=I.find(Ce=>Ce.value===xe),D=ne?.label||ne?.value||"";Q(D)}},onChange:g=>{const C=g.target.value;h(A,g),Q(C);const O=Ae(C);h(fe,C)&&(!O||de)?z():_(),J(!1)},onKeyDown:g=>{h(F,g),V.current="keyboard";const{key:C}=g,O=b[ye];if(["Enter",...X].includes(C)){O&&!O?.disabled&&S?be(O?.value):G.current?.focus(),g.preventDefault();return}if(C==="ArrowDown"){S?N(nt?.value):z(),g.preventDefault();return}if(C==="ArrowUp"){S?N(rt?.value):z(),g.preventDefault();return}if(C==="Tab"){S&&O&&!O?.disabled?be(O?.value):_();return}if(C==="Home"){N(te?.value),g.preventDefault();return}if(C==="End"){N(ot?.value),g.preventDefault();return}C==="Escape"&&(_(),g.preventDefault())},value:L,variant:B,...q}}},getItemProps:(l,m)=>{const{_fixed:w,_focus:A,children:P,disabled:F,label:B,value:q,fixed:g,getValue:C=Oe,onClick:O,onMouseOver:xe,...ne}=l,D=m?q:C(q)?.toString(),Ce=D===$,lt=b.findIndex(U=>U.value===D)>=0,Ie=P||B||D;return{item:{...typeof Ie!="string"||!o?{children:Ie}:{dangerouslySetInnerHTML:{__html:yt(Ie,L)}},"aria-selected":T.includes(D),"aria-disabled":F,_disabled:{opacity:.4,cursor:"not-allowed",userSelect:"none"},onMouseDown:U=>{h(O,U),F?G.current?.focus():be(D)},onMouseOver:U=>{h(xe,U),N(D),V.current="mouse"},sx:{mark:{color:"inherit",bg:"transparent",...Se(o)?o:{fontWeight:o?"extrabold":"inherit"}}},...Ce&&(A||xt()),...g&&w,...ne},root:{isValidSuggestion:lt,value:D}}},inputRef:G,interactionRef:V,isLoading:ce,isOpen:S,itemList:I,listRef:ge,onClose:_,onOpen:z,placement:K,query:L,removeItem:Ne,resetItems:st,setQuery:Q,tags:Fe,value:k,values:T}}var He={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Me=i.createContext&&i.createContext(He),At=["attr","size","title"];function Et(e,t){if(e==null)return{};var n=Ot(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 Ot(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 se(){return se=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},se.apply(this,arguments)}function _e(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 le(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?_e(Object(n),!0).forEach(function(r){Pt(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_e(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Pt(e,t,n){return t=Rt(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Rt(e){var t=Lt(e,"string");return typeof t=="symbol"?t:t+""}function Lt(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ke(e){return e&&e.map((t,n)=>i.createElement(t.tag,le({key:n},t.attr),Ke(t.child)))}function Tt(e){return t=>i.createElement(Nt,se({attr:le({},e.attr)},t),Ke(e.child))}function Nt(e){var t=n=>{var{attr:r,size:o,title:s}=e,a=Et(e,At),c=o||n.size||"1em",d;return n.className&&(d=n.className),e.className&&(d=(d?d+" ":"")+e.className),i.createElement("svg",se({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},n.attr,r,a,{className:d,style:le(le({color:e.color||n.color},n.style),e.style),height:c,width:c,xmlns:"http://www.w3.org/2000/svg"}),s&&i.createElement("title",null,s),e.children)};return Me!==void 0?i.createElement(Me.Consumer,null,n=>t(n)):t(He)}function Ft(e){return Tt({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 Dt=R.forwardRef(function(t,n){return u.jsx(f.IconButton,{variant:"ghost","aria-label":"Close",ref:n,...t,children:t.children??u.jsx(Ft,{})})}),Mt=R.forwardRef(function(t,n){const{portalled:r=!0,portalRef:o,...s}=t;return u.jsx(f.Portal,{disabled:!r,container:o,children:u.jsx(f.Popover.Positioner,{children:u.jsx(f.Popover.Content,{ref:n,...s})})})});R.forwardRef(function(t,n){return u.jsx(f.Popover.Arrow,{...t,ref:n,children:u.jsx(f.Popover.ArrowTip,{})})});R.forwardRef(function(t,n){return u.jsx(f.Popover.CloseTrigger,{position:"absolute",top:"1",insetEnd:"1",...t,asChild:!0,ref:n,children:u.jsx(Dt,{size:"sm"})})});f.Popover.Title;f.Popover.Description;f.Popover.Footer;f.Popover.Header;const _t=f.Popover.Root,Gt=f.Popover.Body;f.Popover.Trigger;const Qe=i.forwardRef((e,t)=>{const n=$e(e),{children:r,isOpen:o,onClose:s,onOpen:a,placement:c,resetItems:d,removeItem:v}=n;i.useImperativeHandle(t,()=>({resetItems:d,removeItem:v}));const{matchWidth:y=!0}=n.autoCompleteProps;return u.jsx(ke,{value:n,children:u.jsx(_t,{open:o,autoFocus:!1,positioning:{placement:c,sameWidth:y},present:o,children:u.jsx(f.chakra.div,{w:"full",ref:t,children:r})})})});Qe.displayName="AutoComplete";const qe=i.forwardRef((e,t)=>{const{focusedValue:n,getItemProps:r,interactionRef:o}=M(),s=i.useRef(),a=Ee(t,s),c=r(e),{isValidSuggestion:d,value:v}=c.root,y=n===v;i.useEffect(()=>{y&&o.current==="keyboard"&&s?.current?.scrollIntoView({behavior:"smooth",block:"nearest"})},[y,o]),i.useEffect(()=>{typeof v!="string"&&console.warn("wow"),typeof v!="string"&&oe(e.getValue)&&console.error("You must define the `getValue` prop, when an Item's value is not a string")},[]);const{children:p,dangerouslySetInnerHTML:x,...E}=c.item,j=ie(E,["groupId"]);return d?u.jsx(f.Flex,{ref:a,...Pe,...j,children:p||u.jsx("span",{dangerouslySetInnerHTML:x})}):null});qe.displayName="AutoCompleteItem";const Pe={mx:"2",px:"2",py:"2",rounded:"md",cursor:"pointer"};function Ue(e){const{alwaysDisplay:t,children:n,...r}=e,{autoCompleteProps:o,getItemProps:s,query:a,filteredResults:c}=M(),{children:d,...v}=s({...e,value:a,children:h(n,{value:a})},!0).item,y=c.some(E=>E.value===a),p=Ae(a)?t:!0;return o.creatable&&p&&!y?u.jsx(f.Flex,{...Pe,...v,...r,children:d||`Add ${a}`}):null}Ue.displayName="AutoCompleteCreatable";const Ye=i.forwardRef((e,t)=>{const{children:n,showDivider:r,...o}=e,s=ie(o,["groupSibling"]),{getGroupProps:a}=M(),{group:c}=a(e),d=Bt(e);return u.jsxs(f.Box,{ref:t,...c,...s,children:[u.jsx(f.Separator,{...d.top}),n,u.jsx(f.Separator,{...d.bottom})]})}),Xe=i.forwardRef((e,t)=>u.jsx(f.Flex,{...kt,...e,ref:t}));Ye.displayName="AutoCompleteGroup";Xe.displayName="AutoCompleteGroupTitle";const kt={ml:5,my:1,fontSize:"xs",letterSpacing:"wider",fontWeight:"extrabold",textTransform:"uppercase"},Bt=e=>{const{getGroupProps:t}=M(),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":""},c={...s,display:!e.showDivider||o||n?"none":""};return{top:a,bottom:c}},Wt=R.forwardRef(function(t,n){const{startElement:r,startElementProps:o,endElement:s,endElementProps:a,children:c,startOffset:d="6px",endOffset:v="6px",...y}=t;return u.jsxs(f.Group,{ref:n,...y,children:[r&&u.jsx(f.InputElement,{pointerEvents:"none",...o,children:r}),R.cloneElement(c,{...r&&{ps:`calc(var(--input-height) - ${d})`},...s&&{pe:`calc(var(--input-height) - ${v})`},...c.props}),s&&u.jsx(f.InputElement,{placement:"end",...a,children:s})]})}),zt=i.forwardRef((e,t)=>{const{isLoading:n}=M(),{loadingIcon:r,...o}=e,s=ie(o,["children","wrapStyles","hidePlaceholder"]);let a;return n&&(a=r||u.jsx(f.Spinner,{})),u.jsx(Wt,{w:"full",endElement:u.jsx(u.Fragment,{children:a}),children:u.jsx(f.Input,{...s,ref:t})})}),Je=i.forwardRef((e,t)=>{const{autoCompleteProps:n,inputRef:r,getInputProps:o,tags:s,setQuery:a,value:c,itemList:d}=M(),{children:v,hidePlaceholder:y,...p}=e,{value:x}=p;i.useEffect(()=>{if(c!==void 0&&(typeof c=="string"||c instanceof String)){const X=d.find(k=>k.value===c),de=X===void 0?c:X.label;a(de)}},[c]),i.useEffect(()=>{x!==void 0&&(typeof x=="string"||x instanceof String)&&a(x)},[x]);const E={};let{wrapper:j,input:W}=o(p,E);const{ref:ae,...H}=j,ce=Ee(t,r),K=h(v,{tags:s});y&&(W={...W,placeholder:Array.isArray(K)&&K.length?void 0:W.placeholder});const Y=u.jsx(zt,{...W,ref:ce}),fe=u.jsxs(f.Box,{...H,ref:ae,children:[K,Y]});return u.jsx(f.PopoverAnchor,{w:"full",...H,children:n.multiple?fe:Y})});Je.displayName="Input";const Vt=e=>{const{getEmptyStateProps:t,defaultEmptyStateProps:n}=M(),r=t(u.jsx(f.Flex,{...$t,...n,children:"No options found!"}));return u.jsx(f.Box,{...e,children:r})},$t={fontSize:"sm",align:"center",justify:"center",fontWeight:"bold",fontStyle:"italic"},Ge=["AutoCompleteGroup","AutoCompleteItem","AutoCompleteCreatable"],Ht=e=>{const t=i.Children.map(e,(o,s)=>{if(o?.type?.displayName==="AutoCompleteGroup"){const a=i.Children.toArray(e)[s+1];return i.cloneElement(o,{groupSibling:a?a.type.displayName==="AutoCompleteGroup":!1})}return o}),n=i.Children.toArray(t).filter(o=>!Ge.includes(o?.type?.displayName));return[i.Children.toArray(t).filter(o=>Ge.includes(o?.type?.displayName)),n]},Ze=i.forwardRef((e,t)=>{const{children:n,loadingState:r,...o}=e,{listRef:s,isLoading:a}=M(),c=Ee(t,s),[d,v]=Ht(n);return u.jsx(Mt,{width:"auto",children:u.jsxs(Gt,{ref:c,w:"inherit",...Kt,...o,children:[a&&u.jsx(f.Center,{children:r||u.jsx(f.Spinner,{size:"md"})}),!a&&u.jsxs(u.Fragment,{children:[d,u.jsx(Vt,{}),v]})]})})});Ze.displayName="AutoCompleteList";const Kt={px:"0px",bg:"#232934",rounded:"md",maxH:"350px",border:"none",shadow:"base",zIndex:"popover",overflowY:"auto",_light:{bg:"#ffffff"},_focus:{boxShadow:"none"}},Qt=R.forwardRef(function(t,n){const{startElement:r,endElement:o,onClose:s,closable:a=!!s,children:c,...d}=t;return u.jsxs(f.Tag.Root,{ref:n,...d,children:[r&&u.jsx(f.Tag.StartElement,{children:r}),u.jsx(f.Tag.Label,{children:c}),o&&u.jsx(f.Tag.EndElement,{children:o}),a&&u.jsx(f.Tag.EndElement,{children:u.jsx(f.Tag.CloseTrigger,{onClick:s})})]})}),qt=i.memo(e=>{const{label:t,onRemove:n,disabled:r,...o}=e;return u.jsx(Qt,{borderRadius:"md",fontWeight:"normal",closable:!0,onClose:()=>!r&&h(n),...r&&Ut,...o,children:t})}),Ut={cursor:"text",userSelect:"none",opacity:.4,_focus:{boxShadow:"none"}};exports.AutoComplete=Qe;exports.AutoCompleteCreatable=Ue;exports.AutoCompleteGroup=Ye;exports.AutoCompleteGroupTitle=Xe;exports.AutoCompleteInput=Je;exports.AutoCompleteItem=qe;exports.AutoCompleteList=Ze;exports.AutoCompleteProvider=ke;exports.AutoCompleteTag=qt;exports.baseItemStyles=Pe;exports.createContext=Be;exports.useAutoComplete=$e;exports.useAutoCompleteContext=M;
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "6.1.5",
2
+ "version": "6.1.7",
3
3
  "license": "MIT",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",