@choc-ui/chakra-autocomplete 5.7.2 → 5.7.3
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 +0 -2
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
package/dist/index.js
CHANGED
|
@@ -27,4 +27,4 @@ Check the top-level render call using <`+i+">.")}return n}}function dt(e,n){{if(
|
|
|
27
27
|
<%s {...props} />
|
|
28
28
|
React keys must be passed directly to JSX without using spread:
|
|
29
29
|
let props = %s;
|
|
30
|
-
<%s key={someKey} {...props} />`,et,Re,$t,Re),vt[Re+et]=!0}}return e===a?kt(k):Dt(k),k}}function Lt(e,n,i){return gt(e,n,i,!0)}function Nt(e,n,i){return gt(e,n,i,!1)}var Wt=Nt,Mt=Lt;Ye.Fragment=a,Ye.jsx=Wt,Ye.jsxs=Mt}()),Ye}process.env.NODE_ENV==="production"?rt.exports=Vt():rt.exports=Ut();var x=rt.exports;const[xt,ue]=Rt();function Rt(){const t=Je.createContext(void 0);t.displayName="AutoCompleteContext";function r(){var s;const o=Je.useContext(t),a="useAutoCompleteContext: `context` is undefined. Seems you forgot to wrap all autoomplete components within `<AutoComplete />`";if(!o){const l=new Error(a);throw l.name="ContextError",(s=Error.captureStackTrace)==null||s.call(Error,l,r),l}return o}return[t.Provider,r,t]}function Bt(t){return t==null?void 0:t[0]}function tt(t){return t!=null&&t.length?t[t.length-1]:void 0}function St(t,r,o=1,a=!0){if(r===0)return-1;let s=t+o;return t===-1&&(s=o>0?0:r-1),a?s=(s%r+r)%r:s=Math.max(0,Math.min(s,r-1)),s}function zt(t,r,o=!0){return St(t,r,-1,o)}function Kt(t,r,o=!0){const a=St(t,r.length,1,o);return r[a]}function Ht(t,r,o=!0){const a=zt(t,r.length,o);return r[a]}function nt(t){return Array.isArray(t)}function Jt(t){return nt(t)&&t.length===0}function ot(t){return t!==null&&typeof t=="object"&&!nt(t)}function Xt(t){return ot(t)&&Object.keys(t).length===0}function at(t){return nt(t)?Jt(t):ot(t)?Xt(t):t==null||t===""}function He(t){return typeof t>"u"}function _t(t){return typeof t<"u"}function Qt(t,r){const o={};return r.forEach(a=>{a in t&&(o[a]=t[a])}),o}function st(t,r){const o={...t};return r.forEach(a=>{delete o[a]}),o}function qt(t){return typeof t=="function"}function L(t,...r){return qt(t)?t(...r):t}var Xe=function(t,r){for(var o,a=Je.Children.toArray(t),s=0,l=a;s<l.length;s++){var c=l[s];if(r(c))return c;if(!((o=c.props)===null||o===void 0)&&o.children){var f=Xe(c.props.children,r);if(f)return f}}},Ke=function(t,r){for(var o=0,a=r.length,s=t.length;o<a;o++,s++)t[s]=r[o];return t},wt=function(t,r){for(var o,a=Je.Children.toArray(t),s=[],l=0,c=a;l<c.length;l++){var f=c[l];r(f)&&(s=Ke(Ke([],s),[f])),!((o=f.props)===null||o===void 0)&&o.children&&(s=Ke(Ke([],s),wt(f.props.children,r)))}return s};function yt(t,r,o=2){function a(h,I){h=" ".repeat(I-1)+h.toLowerCase()+" ".repeat(I-1);let A=new Array(h.length-I+1);for(let W=0;W<A.length;W++)A[W]=h.slice(W,W+I);return A}if(!(t!=null&&t.length)||!(r!=null&&r.length))return 0;let s=t.length<r.length?t:r,l=t.length<r.length?r:t,c=a(s,o),f=a(l,o),m=new Set(c),_=f.length,C=0;for(let h of f)m.delete(h)&&C++;return C/_}const it=t=>{var r;return(r=typeof t=="string"||typeof t=="number"?t:t[Object.keys(t)[0]])==null?void 0:r.toString()},Zt=(t,r)=>typeof t!="string"||at(r)?t:t.toString().replace(new RegExp(nr(r),"gi"),a=>`<mark>${a}</mark>`),er=t=>wt(t,o=>{var a;return((a=o==null?void 0:o.type)==null?void 0:a.displayName)==="AutoCompleteItem"}).map(o=>{const a=Qt(o.props,["value","label","fixed","disabled"]),{getValue:s=it}=o.props,l=s(a.value);return{..._t(a.label)?a:{...a,label:l},value:l,originalValue:a.value}}),tr=()=>({bg:"whiteAlpha.100",_light:{bg:"gray.200"}}),rr=(t,r,o)=>(r==null?void 0:r.toLowerCase().indexOf(t==null?void 0:t.toLowerCase()))>=0||(o==null?void 0:o.toLowerCase().indexOf(t==null?void 0:t.toLowerCase()))>=0||yt(t,r)>=.5||yt(t,o)>=.5;function nr(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}const or=(t,r)=>Xe(t,a=>{var s;return((s=a==null?void 0:a.type)==null?void 0:s.displayName)==="AutoCompleteItem"&&a.props.value===(r==null?void 0:r.value)}),ar=(t,r)=>Xe(t,a=>{var s;return((s=a==null?void 0:a.type)==null?void 0:s.displayName)==="AutoCompleteItem"&&a.props.value===(r==null?void 0:r.value)}),sr=(t,r)=>_t(Xe(t,o=>{var s,l;const a=L(((s=o.props)==null?void 0:s.getValue)||it,((l=o.props)==null?void 0:l.value)||{});return r.some(c=>c.value===a)})),ir=(t,r)=>{const o={},a={},{field:s}=t;return s&&Object.keys(s).forEach(l=>{if(l.startsWith("--input")===!1)o[l]=s[l];else{let c=s[l];const m=l.replace("--input-","").replace(/-([a-z])/g,function(_){return _[1].toUpperCase()});c.indexOf(".")!==-1&&(c=c.substring(c.indexOf(".")+1)),a[m]=c}}),{...r&&{...o,...a,_focusWithin:t.field._focus,pos:"relative",minH:9,py:1.5,spacing:3},cursor:"text",h:"fit-content"}};function Ot(t){var Me;let{prefocusFirstItem:r=!0,closeOnBlur:o=!0,creatable:a,emphasize:s,emptyState:l=!0,defaultEmptyStateProps:c={},freeSolo:f,isReadOnly:m,listAllValuesOnFocus:_,maxSuggestions:C,multiple:h,closeOnSelect:I=!h,defaultValue:A,defaultValues:W=A?[A]:[],onReady:le,defaultIsOpen:re,disableFilter:q,isLoading:F=!1,placement:Se="bottom",restoreOnBlurIfEmpty:he=!f,shouldRenderSuggestions:Pe=()=>!0,submitKeys:Ie=[],suggestWhenEmpty:_e,value:ne,values:ce=ne?typeof ne=="string"?[ne]:[...ne]:void 0}=t;f=f||(h?!0:t.freeSolo);const{isOpen:Y,onClose:ee,onOpen:oe}=v.useDisclosure({defaultIsOpen:re}),z=b.useMemo(()=>L(t.children,{isOpen:Y,onClose:ee,onOpen:oe}),[t.children,Y]),D=b.useMemo(()=>er(z),[z]),M=b.useRef(null),Fe=b.useRef(null),fe=b.useRef(null),ae=b.useRef(null),[De,ye]=b.useState(!1);let be="";h?be="":He(W)?He(ce)||(be=ce[0]):be=W[0];const[X,de]=b.useState(be??""),ke=b.useMemo(()=>q?D:D.filter(u=>u.fixed||L(t.filter||rr,X,u.value,u.label)||De).filter((u,p)=>C?u.fixed||p<C:!0),[X,D,De,C,q]),Ge=a?[{value:X,noFilter:!0,creatable:!0}]:[],j=b.useMemo(()=>[...ke,...Ge],[ke,Ge]),[H,pe]=v.useControllableState({defaultValue:W.map(u=>u==null?void 0:u.toString()),value:ce,onChange:u=>{const p=j.find(V=>V.value===u[0]);if(!p)return;const w=u.map(V=>j.find(U=>U.value===V));L(t.onChange,h?u:u[0],h?w:p)}});b.useEffect(()=>{j.length===0&&!l&&Y&&ee()},[j.length,l,Y]);const[te,J]=b.useState(r?(Me=D[0])==null?void 0:Me.value:null),Qe=t.maxSelections||H.length+1,we=j.findIndex(u=>u.value===te),Le=Kt(we,j,!!t.rollNavigation),Ne=Ht(we,j,!!t.rollNavigation),G=Bt(j),se=tt(j),We=!j.some(u=>u.value===te);b.useEffect(()=>{var u;We&&J(r?(u=D[0])==null?void 0:u.value:null)},[We]),v.useUpdateEffect(()=>{r&&J(G==null?void 0:G.value)},[X,G==null?void 0:G.value]),b.useEffect(()=>{var u;!Y&&r&&J((u=D[0])==null?void 0:u.value)},[Y]),b.useEffect(()=>{Y&&_&&ye(!0)},[Y,_,ye]),b.useEffect(()=>{const u=D.find(p=>p.value===te);L(t.onOptionFocus,{item:u,focusMethod:ae.current,isNewInput:u==null?void 0:u.creatable})},[te,t.onOptionFocus]);const Oe=u=>{var V,U;const p=j.find($=>$.value===u),w=(p==null?void 0:p.label)||(p==null?void 0:p.value);de(()=>h?"":w??""),!H.includes(u)&&H.length<Qe&&pe($=>h?[...$,u]:[u]),h&&((V=M.current)==null||V.focus()),t.focusInputOnSelect&&((U=M.current)==null||U.focus()),L(t.onSelectOption,{item:p,selectMethod:ae.current,isNewInput:p==null?void 0:p.creatable}),p!=null&&p.creatable&&L(t.onCreateOption,{item:st(p,["noFilter"]),selectMethod:ae.current}),I&&ee()},Ce=(u,p)=>{var U;pe($=>{const ve=D.find(Z=>Z.value===u);return ve?(L(t.onTagRemoved,u,ve,$),$.filter(Z=>Z!==u)):$});const w=D.find($=>$.value===u),V=(w==null?void 0:w.label)||(w==null?void 0:w.value);X===V&&de(""),p&&((U=M.current)==null||U.focus())},qe=u=>{var p;pe([]),u&&((p=M.current)==null||p.focus())},Ve=h?H.map(u=>{var p;return{label:((p=D.find(w=>w.value===(u==null?void 0:u.toString())))==null?void 0:p.label)||u,onRemove:()=>Ce(u)}}):[];return b.useEffect(()=>{L(le,{tags:Ve})},[H]),{autoCompleteProps:t,children:z,filteredList:j,filteredResults:ke,focusedValue:te,defaultEmptyStateProps:c,getEmptyStateProps:u=>{if(j.every(w=>w.noFilter)&&l&&!a)return typeof l=="boolean"?u:L(l,{query:X})},getGroupProps:u=>{const p=sr(u.children,j);return{divider:{hasFirstChild:or(u.children,G),hasLastChild:ar(u.children,tt(j.filter(w=>He(w==null?void 0:w.noFilter))))},group:{display:p?"initial":"none"}}},getInputProps:(u,p)=>{const{onBlur:w,onChange:V,onFocus:U,onKeyDown:$,variant:ve,...Z}=u;return{wrapper:{ref:Fe,onClick:()=>{var R;(R=M==null?void 0:M.current)==null||R.focus()},...ir(p,h),...Z},input:{isReadOnly:m,onFocus:R=>{L(U,R),t.openOnFocus&&!m&&oe(),t.selectOnFocus&&R.target.select(),_&&ye(!0)},onBlur:R=>{var ie,ge;L(w,R);const N=R.relatedTarget===(fe==null?void 0:fe.current)||((ie=fe.current)==null?void 0:ie.contains(R.relatedTarget)),O=(ge=Fe.current)==null?void 0:ge.contains(R.relatedTarget);if(!N&&!O&&(o&&ee(),!H.includes(R.target.value)&&he)){const Ae=tt(H),T=D.find(xe=>xe.value===Ae),Ee=(T==null?void 0:T.label)||(T==null?void 0:T.value)||"";de(Ee)}},onChange:R=>{const N=R.target.value;L(V,R),de(N);const O=at(N);L(Pe,N)&&(!O||_e)?oe():ee(),ye(!1)},onKeyDown:R=>{var ie;L($,R),ae.current="keyboard";const{key:N}=R,O=j[we];if(["Enter",...Ie].includes(N)){O&&!(O!=null&&O.disabled)&&Y?Oe(O==null?void 0:O.value):(ie=M.current)==null||ie.focus(),R.preventDefault();return}if(N==="ArrowDown"){Y?J(Le==null?void 0:Le.value):oe(),R.preventDefault();return}if(N==="ArrowUp"){Y?J(Ne==null?void 0:Ne.value):oe(),R.preventDefault();return}if(N==="Tab"){Y&&O&&!(O!=null&&O.disabled)?Oe(O==null?void 0:O.value):ee();return}if(N==="Home"){J(G==null?void 0:G.value),R.preventDefault();return}if(N==="End"){J(se==null?void 0:se.value),R.preventDefault();return}N==="Escape"&&(ee(),R.preventDefault())},value:X,variant:h?"unstyled":ve,...Z}}},getItemProps:(u,p)=>{var Be;const{_fixed:w,_focus:V,children:U,disabled:$,label:ve,value:Z,fixed:R,getValue:N=it,onClick:O,onMouseOver:ie,sx:ge,...Ae}=u,T=p?Z:(Be=N(Z))==null?void 0:Be.toString(),Ee=T===te,xe=j.findIndex(me=>me.value===T)>=0,je=U||ve||T;return{item:{...typeof je!="string"||!s?{children:je}:{dangerouslySetInnerHTML:{__html:Zt(je,X)}},"aria-selected":H.includes(T),"aria-disabled":$,_disabled:{opacity:.4,cursor:"not-allowed",userSelect:"none"},onClick:me=>{var ze;L(O,me),$?(ze=M.current)==null||ze.focus():Oe(T)},onMouseOver:me=>{L(ie,me),J(T),ae.current="mouse"},sx:{...ge,mark:{color:"inherit",bg:"transparent",...ot(s)?s:{fontWeight:s?"extrabold":"inherit"}}},...Ee&&(V||tr()),...R&&w,...Ae},root:{isValidSuggestion:xe,value:T}}},inputRef:M,interactionRef:ae,isLoading:F,isOpen:Y,itemList:D,listRef:fe,onClose:ee,onOpen:oe,placement:Se,query:X,removeItem:Ce,resetItems:qe,setQuery:de,tags:Ve,value:ne,values:H}}const At=v.forwardRef((t,r)=>{const o=Ot(t),{children:a,isOpen:s,onClose:l,onOpen:c,placement:f,resetItems:m,removeItem:_}=o;b.useImperativeHandle(r,()=>({resetItems:m,removeItem:_}));const{matchWidth:C=!0}=o.autoCompleteProps;return x.jsx(xt,{value:o,children:x.jsx(v.Popover,{isLazy:!0,isOpen:s,onClose:l,onOpen:c,autoFocus:!1,placement:f,closeOnBlur:!0,matchWidth:C,children:x.jsx(v.chakra.div,{w:"full",ref:r,children:a})})})});At.displayName="AutoComplete";const jt=v.forwardRef((t,r)=>{const{focusedValue:o,getItemProps:a,interactionRef:s}=ue(),l=b.useRef(),c=v.useMergeRefs(r,l),f=a(t),{isValidSuggestion:m,value:_}=f.root,C=o===_;b.useEffect(()=>{var le;C&&s.current==="keyboard"&&((le=l==null?void 0:l.current)==null||le.scrollIntoView({behavior:"smooth",block:"nearest"}))},[C,s]),b.useEffect(()=>{typeof _!="string"&&console.warn("wow"),typeof _!="string"&&He(t.getValue)&&console.error("You must define the `getValue` prop, when an Item's value is not a string")},[]);const{children:h,dangerouslySetInnerHTML:I,...A}=f.item,W=st(A,["groupId"]);return m?x.jsx(v.Flex,{ref:c,...ut,...W,children:h||x.jsx("span",{dangerouslySetInnerHTML:I})}):null});jt.displayName="AutoCompleteItem";const ut={mx:"2",px:"2",py:"2",rounded:"md",cursor:"pointer"};function Tt(t){const{alwaysDisplay:r,children:o,...a}=t,{autoCompleteProps:s,getItemProps:l,query:c,filteredResults:f}=ue(),{children:m,..._}=l({...t,value:c,children:L(o,{value:c})},!0).item,C=f.some(A=>A.value===c),h=at(c)?r:!0;return s.creatable&&h&&!C?x.jsx(v.Flex,{...ut,..._,...a,children:m||`Add ${c}`}):null}Tt.displayName="AutoCompleteCreatable";const Pt=v.forwardRef((t,r)=>{const{children:o,showDivider:a,...s}=t,l=st(s,["groupSibling"]),{getGroupProps:c}=ue(),{group:f}=c(t),m=lr(t);return x.jsxs(v.Box,{ref:r,...f,...l,children:[x.jsx(v.Divider,{...m.top}),o,x.jsx(v.Divider,{...m.bottom})]})}),It=v.forwardRef((t,r)=>x.jsx(v.Flex,{...ur,...t,ref:r}));Pt.displayName="AutoCompleteGroup";It.displayName="AutoCompleteGroupTitle";const ur={ml:5,my:1,fontSize:"xs",letterSpacing:"wider",fontWeight:"extrabold",textTransform:"uppercase"},lr=t=>{const{getGroupProps:r}=ue(),o=t.groupSibling,{divider:{hasFirstChild:a,hasLastChild:s}}=r(t),l={my:2,borderColor:t.dividerColor},c={...l,mb:4,display:!t.showDivider||a?"none":""},f={...l,display:!t.showDivider||s||o?"none":""};return{top:c,bottom:f}},bt=v.forwardRef((t,r)=>{const{isLoading:o}=ue(),{loadingIcon:a,...s}=t;return x.jsxs(v.InputGroup,{children:[x.jsx(v.Input,{...s,ref:r}),o&&x.jsx(v.InputRightElement,{children:a||x.jsx(v.Spinner,{})})]})}),lt=v.forwardRef((t,r)=>{const{autoCompleteProps:o,inputRef:a,getInputProps:s,tags:l,setQuery:c,value:f,itemList:m}=ue(),{children:_,isInvalid:C,hidePlaceholder:h,...I}=t,{value:A}=I;b.useEffect(()=>{if(f!==void 0&&(typeof f=="string"||f instanceof String)){const _e=m.find(ce=>ce.value===f),ne=_e===void 0?f:_e.label;c(ne)}},[f]),b.useEffect(()=>{A!==void 0&&(typeof A=="string"||A instanceof String)&&c(A)},[A]);const W=v.useMultiStyleConfig("Input",t);let{wrapper:le,input:re}=s(I,W);const{ref:q,...F}=le,Se=v.useMergeRefs(r,a),he=L(_,{tags:l});h&&(re={...re,placeholder:Array.isArray(he)&&he.length?void 0:re.placeholder});const Pe=x.jsx(bt,{isInvalid:C,...re,ref:Se}),Ie=x.jsxs(v.Wrap,{"aria-invalid":C,...F,ref:q,children:[he,x.jsx(v.WrapItem,{as:bt,...re,ref:Se})]});return x.jsx(v.PopoverAnchor,{children:o.multiple?Ie:Pe})});lt.displayName="Input";lt.id="Input";const cr=t=>{const{getEmptyStateProps:r,defaultEmptyStateProps:o}=ue(),a=r(x.jsx(v.Flex,{...fr,...o,children:"No options found!"}));return x.jsx(v.Box,{...t,children:a})},fr={fontSize:"sm",align:"center",justify:"center",fontWeight:"bold",fontStyle:"italic"},Ct=["AutoCompleteGroup","AutoCompleteItem","AutoCompleteCreatable"],dr=t=>{const r=b.Children.map(t,(s,l)=>{var c;if(((c=s==null?void 0:s.type)==null?void 0:c.displayName)==="AutoCompleteGroup"){const f=b.Children.toArray(t)[l+1];return b.cloneElement(s,{groupSibling:f?f.type.displayName==="AutoCompleteGroup":!1})}return s}),o=b.Children.toArray(r).filter(s=>{var l;return!Ct.includes((l=s==null?void 0:s.type)==null?void 0:l.displayName)});return[b.Children.toArray(r).filter(s=>{var l;return Ct.includes((l=s==null?void 0:s.type)==null?void 0:l.displayName)}),o]},Ft=v.forwardRef((t,r)=>{const{children:o,loadingState:a,...s}=t,{listRef:l,isLoading:c}=ue(),f=v.useMergeRefs(r,l),[m,_]=dr(o);return x.jsxs(v.PopoverContent,{ref:f,w:"inherit",...pr,...s,children:[c&&x.jsx(v.Center,{children:a||x.jsx(v.Spinner,{size:"md"})}),!c&&x.jsxs(x.Fragment,{children:[m,x.jsx(cr,{}),_]})]})});Ft.displayName="AutoCompleteList";const pr={py:"4",opacity:"0",bg:"#232934",rounded:"md",maxH:"350px",border:"none",shadow:"base",zIndex:"popover",overflowY:"auto",_light:{bg:"#ffffff"},_focus:{boxShadow:"none"}},vr=b.memo(t=>{const{label:r,onRemove:o,disabled:a,...s}=t;return x.jsx(v.WrapItem,{children:x.jsxs(v.Tag,{borderRadius:"md",fontWeight:"normal",...a&&Et,...s,children:[x.jsx(v.TagLabel,{children:r}),x.jsx(v.TagCloseButton,{onClick:()=>!a&&L(o),cursor:"pointer",...a&&Et})]})})}),Et={cursor:"text",userSelect:"none",opacity:.4,_focus:{boxShadow:"none"}};exports.AutoComplete=At;exports.AutoCompleteCreatable=Tt;exports.AutoCompleteGroup=Pt;exports.AutoCompleteGroupTitle=It;exports.AutoCompleteInput=lt;exports.AutoCompleteItem=jt;exports.AutoCompleteList=Ft;exports.AutoCompleteProvider=xt;exports.AutoCompleteTag=vr;exports.baseItemStyles=ut;exports.createContext=Rt;exports.useAutoComplete=Ot;exports.useAutoCompleteContext=ue;
|
|
30
|
+
<%s key={someKey} {...props} />`,et,Re,$t,Re),vt[Re+et]=!0}}return e===a?kt(k):Dt(k),k}}function Lt(e,n,i){return gt(e,n,i,!0)}function Nt(e,n,i){return gt(e,n,i,!1)}var Wt=Nt,Mt=Lt;Ye.Fragment=a,Ye.jsx=Wt,Ye.jsxs=Mt}()),Ye}process.env.NODE_ENV==="production"?rt.exports=Vt():rt.exports=Ut();var x=rt.exports;const[xt,ue]=Rt();function Rt(){const t=Je.createContext(void 0);t.displayName="AutoCompleteContext";function r(){var s;const o=Je.useContext(t),a="useAutoCompleteContext: `context` is undefined. Seems you forgot to wrap all autoomplete components within `<AutoComplete />`";if(!o){const l=new Error(a);throw l.name="ContextError",(s=Error.captureStackTrace)==null||s.call(Error,l,r),l}return o}return[t.Provider,r,t]}function Bt(t){return t==null?void 0:t[0]}function tt(t){return t!=null&&t.length?t[t.length-1]:void 0}function St(t,r,o=1,a=!0){if(r===0)return-1;let s=t+o;return t===-1&&(s=o>0?0:r-1),a?s=(s%r+r)%r:s=Math.max(0,Math.min(s,r-1)),s}function zt(t,r,o=!0){return St(t,r,-1,o)}function Kt(t,r,o=!0){const a=St(t,r.length,1,o);return r[a]}function Ht(t,r,o=!0){const a=zt(t,r.length,o);return r[a]}function nt(t){return Array.isArray(t)}function Jt(t){return nt(t)&&t.length===0}function ot(t){return t!==null&&typeof t=="object"&&!nt(t)}function Xt(t){return ot(t)&&Object.keys(t).length===0}function at(t){return nt(t)?Jt(t):ot(t)?Xt(t):t==null||t===""}function He(t){return typeof t>"u"}function _t(t){return typeof t<"u"}function Qt(t,r){const o={};return r.forEach(a=>{a in t&&(o[a]=t[a])}),o}function st(t,r){const o={...t};return r.forEach(a=>{delete o[a]}),o}function qt(t){return typeof t=="function"}function L(t,...r){return qt(t)?t(...r):t}var Xe=function(t,r){for(var o,a=Je.Children.toArray(t),s=0,l=a;s<l.length;s++){var c=l[s];if(r(c))return c;if(!((o=c.props)===null||o===void 0)&&o.children){var f=Xe(c.props.children,r);if(f)return f}}},Ke=function(t,r){for(var o=0,a=r.length,s=t.length;o<a;o++,s++)t[s]=r[o];return t},wt=function(t,r){for(var o,a=Je.Children.toArray(t),s=[],l=0,c=a;l<c.length;l++){var f=c[l];r(f)&&(s=Ke(Ke([],s),[f])),!((o=f.props)===null||o===void 0)&&o.children&&(s=Ke(Ke([],s),wt(f.props.children,r)))}return s};function yt(t,r,o=2){function a(h,I){h=" ".repeat(I-1)+h.toLowerCase()+" ".repeat(I-1);let A=new Array(h.length-I+1);for(let W=0;W<A.length;W++)A[W]=h.slice(W,W+I);return A}if(!(t!=null&&t.length)||!(r!=null&&r.length))return 0;let s=t.length<r.length?t:r,l=t.length<r.length?r:t,c=a(s,o),f=a(l,o),m=new Set(c),_=f.length,C=0;for(let h of f)m.delete(h)&&C++;return C/_}const it=t=>{var r;return(r=typeof t=="string"||typeof t=="number"?t:t[Object.keys(t)[0]])==null?void 0:r.toString()},Zt=(t,r)=>typeof t!="string"||at(r)?t:t.toString().replace(new RegExp(nr(r),"gi"),a=>`<mark>${a}</mark>`),er=t=>wt(t,o=>{var a;return((a=o==null?void 0:o.type)==null?void 0:a.displayName)==="AutoCompleteItem"}).map(o=>{const a=Qt(o.props,["value","label","fixed","disabled"]),{getValue:s=it}=o.props,l=s(a.value);return{..._t(a.label)?a:{...a,label:l},value:l,originalValue:a.value}}),tr=()=>({bg:"whiteAlpha.100",_light:{bg:"gray.200"}}),rr=(t,r,o)=>(r==null?void 0:r.toLowerCase().indexOf(t==null?void 0:t.toLowerCase()))>=0||(o==null?void 0:o.toLowerCase().indexOf(t==null?void 0:t.toLowerCase()))>=0||yt(t,r)>=.5||yt(t,o)>=.5;function nr(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}const or=(t,r)=>Xe(t,a=>{var s;return((s=a==null?void 0:a.type)==null?void 0:s.displayName)==="AutoCompleteItem"&&a.props.value===(r==null?void 0:r.value)}),ar=(t,r)=>Xe(t,a=>{var s;return((s=a==null?void 0:a.type)==null?void 0:s.displayName)==="AutoCompleteItem"&&a.props.value===(r==null?void 0:r.value)}),sr=(t,r)=>_t(Xe(t,o=>{var s,l;const a=L(((s=o.props)==null?void 0:s.getValue)||it,((l=o.props)==null?void 0:l.value)||{});return r.some(c=>c.value===a)})),ir=(t,r)=>{const o={},a={},{field:s}=t;return s&&Object.keys(s).forEach(l=>{if(l.startsWith("--input")===!1)o[l]=s[l];else{let c=s[l];const m=l.replace("--input-","").replace(/-([a-z])/g,function(_){return _[1].toUpperCase()});c.indexOf(".")!==-1&&(c=c.substring(c.indexOf(".")+1)),a[m]=c}}),{...r&&{...o,...a,_focusWithin:t.field._focus,pos:"relative",minH:9,py:1.5,spacing:3},cursor:"text",h:"fit-content"}};function Ot(t){var Me;let{prefocusFirstItem:r=!0,closeOnBlur:o=!0,creatable:a,emphasize:s,emptyState:l=!0,defaultEmptyStateProps:c={},freeSolo:f,isReadOnly:m,listAllValuesOnFocus:_,maxSuggestions:C,multiple:h,closeOnSelect:I=!h,defaultValue:A,defaultValues:W=A?[A]:[],onReady:le,defaultIsOpen:re,disableFilter:q,isLoading:F=!1,placement:Se="bottom",restoreOnBlurIfEmpty:he=!f,shouldRenderSuggestions:Pe=()=>!0,submitKeys:Ie=[],suggestWhenEmpty:_e,value:ne,values:ce=ne?typeof ne=="string"?[ne]:[...ne]:void 0}=t;f=f||(h?!0:t.freeSolo);const{isOpen:Y,onClose:ee,onOpen:oe}=v.useDisclosure({defaultIsOpen:re}),z=b.useMemo(()=>L(t.children,{isOpen:Y,onClose:ee,onOpen:oe}),[t.children,Y]),D=b.useMemo(()=>er(z),[z]),M=b.useRef(null),Fe=b.useRef(null),fe=b.useRef(null),ae=b.useRef(null),[De,ye]=b.useState(!1);let be="";h?be="":He(W)?He(ce)||(be=ce[0]):be=W[0];const[X,de]=b.useState(be??""),ke=b.useMemo(()=>q?D:D.filter(u=>u.fixed||L(t.filter||rr,X,u.value,u.label)||De).filter((u,p)=>C?u.fixed||p<C:!0),[X,D,De,C,q]),Ge=a?[{value:X,noFilter:!0,creatable:!0}]:[],j=b.useMemo(()=>[...ke,...Ge],[ke,Ge]),[H,pe]=v.useControllableState({defaultValue:W.map(u=>u==null?void 0:u.toString()),value:ce,onChange:u=>{const p=j.find(V=>V.value===u[0]);if(!p)return;const w=u.map(V=>j.find(U=>U.value===V));L(t.onChange,h?u:u[0],h?w:p)}});b.useEffect(()=>{j.length===0&&!l&&Y&&ee()},[j.length,l,Y]);const[te,J]=b.useState(r?(Me=D[0])==null?void 0:Me.value:null),Qe=t.maxSelections||H.length+1,we=j.findIndex(u=>u.value===te),Le=Kt(we,j,!!t.rollNavigation),Ne=Ht(we,j,!!t.rollNavigation),G=Bt(j),se=tt(j),We=!j.some(u=>u.value===te);b.useEffect(()=>{var u;We&&J(r?(u=D[0])==null?void 0:u.value:null)},[We]),v.useUpdateEffect(()=>{r&&J(G==null?void 0:G.value)},[X,G==null?void 0:G.value]),b.useEffect(()=>{var u;!Y&&r&&J((u=D[0])==null?void 0:u.value)},[Y]),b.useEffect(()=>{Y&&_&&ye(!0)},[Y,_,ye]),b.useEffect(()=>{const u=D.find(p=>p.value===te);L(t.onOptionFocus,{item:u,focusMethod:ae.current,isNewInput:u==null?void 0:u.creatable})},[te,t.onOptionFocus]);const Oe=u=>{var V,U;const p=j.find($=>$.value===u),w=(p==null?void 0:p.label)||(p==null?void 0:p.value);de(()=>h?"":w??""),!H.includes(u)&&H.length<Qe&&pe($=>h?[...$,u]:[u]),h&&((V=M.current)==null||V.focus()),t.focusInputOnSelect&&((U=M.current)==null||U.focus()),L(t.onSelectOption,{item:p,selectMethod:ae.current,isNewInput:p==null?void 0:p.creatable}),p!=null&&p.creatable&&L(t.onCreateOption,{item:st(p,["noFilter"]),selectMethod:ae.current}),I&&ee()},Ce=(u,p)=>{var U;pe($=>{const ve=D.find(Z=>Z.value===u);return ve?(L(t.onTagRemoved,u,ve,$),$.filter(Z=>Z!==u)):$});const w=D.find($=>$.value===u),V=(w==null?void 0:w.label)||(w==null?void 0:w.value);X===V&&de(""),p&&((U=M.current)==null||U.focus())},qe=u=>{var p;pe([]),u&&((p=M.current)==null||p.focus())},Ve=h?H.map(u=>{var p;return{label:((p=D.find(w=>w.value===(u==null?void 0:u.toString())))==null?void 0:p.label)||u,onRemove:()=>Ce(u)}}):[];return b.useEffect(()=>{L(le,{tags:Ve})},[H]),{autoCompleteProps:t,children:z,filteredList:j,filteredResults:ke,focusedValue:te,defaultEmptyStateProps:c,getEmptyStateProps:u=>{if(j.every(w=>w.noFilter)&&l&&!a)return typeof l=="boolean"?u:L(l,{query:X})},getGroupProps:u=>{const p=sr(u.children,j);return{divider:{hasFirstChild:or(u.children,G),hasLastChild:ar(u.children,tt(j.filter(w=>He(w==null?void 0:w.noFilter))))},group:{display:p?"initial":"none"}}},getInputProps:(u,p)=>{const{onBlur:w,onChange:V,onFocus:U,onKeyDown:$,variant:ve,...Z}=u;return{wrapper:{ref:Fe,onClick:()=>{var R;(R=M==null?void 0:M.current)==null||R.focus()},...ir(p,h),...Z},input:{isReadOnly:m,onFocus:R=>{L(U,R),t.openOnFocus&&!m&&oe(),t.selectOnFocus&&R.target.select(),_&&ye(!0)},onBlur:R=>{var ie,ge;L(w,R);const N=R.relatedTarget===(fe==null?void 0:fe.current)||((ie=fe.current)==null?void 0:ie.contains(R.relatedTarget)),O=(ge=Fe.current)==null?void 0:ge.contains(R.relatedTarget);if(!N&&!O&&(o&&ee(),!H.includes(R.target.value)&&he)){const Ae=tt(H),T=D.find(xe=>xe.value===Ae),Ee=(T==null?void 0:T.label)||(T==null?void 0:T.value)||"";de(Ee)}},onChange:R=>{const N=R.target.value;L(V,R),de(N);const O=at(N);L(Pe,N)&&(!O||_e)?oe():ee(),ye(!1)},onKeyDown:R=>{var ie;L($,R),ae.current="keyboard";const{key:N}=R,O=j[we];if(["Enter",...Ie].includes(N)){O&&!(O!=null&&O.disabled)&&Y?Oe(O==null?void 0:O.value):(ie=M.current)==null||ie.focus(),R.preventDefault();return}if(N==="ArrowDown"){Y?J(Le==null?void 0:Le.value):oe(),R.preventDefault();return}if(N==="ArrowUp"){Y?J(Ne==null?void 0:Ne.value):oe(),R.preventDefault();return}if(N==="Tab"){Y&&O&&!(O!=null&&O.disabled)?Oe(O==null?void 0:O.value):ee();return}if(N==="Home"){J(G==null?void 0:G.value),R.preventDefault();return}if(N==="End"){J(se==null?void 0:se.value),R.preventDefault();return}N==="Escape"&&(ee(),R.preventDefault())},value:X,variant:h?"unstyled":ve,...Z}}},getItemProps:(u,p)=>{var Be;const{_fixed:w,_focus:V,children:U,disabled:$,label:ve,value:Z,fixed:R,getValue:N=it,onClick:O,onMouseOver:ie,sx:ge,...Ae}=u,T=p?Z:(Be=N(Z))==null?void 0:Be.toString(),Ee=T===te,xe=j.findIndex(me=>me.value===T)>=0,je=U||ve||T;return{item:{...typeof je!="string"||!s?{children:je}:{dangerouslySetInnerHTML:{__html:Zt(je,X)}},"aria-selected":H.includes(T),"aria-disabled":$,_disabled:{opacity:.4,cursor:"not-allowed",userSelect:"none"},onClick:me=>{var ze;L(O,me),$?(ze=M.current)==null||ze.focus():Oe(T)},onMouseOver:me=>{L(ie,me),J(T),ae.current="mouse"},sx:{...ge,mark:{color:"inherit",bg:"transparent",...ot(s)?s:{fontWeight:s?"extrabold":"inherit"}}},...Ee&&(V||tr()),...R&&w,...Ae},root:{isValidSuggestion:xe,value:T}}},inputRef:M,interactionRef:ae,isLoading:F,isOpen:Y,itemList:D,listRef:fe,onClose:ee,onOpen:oe,placement:Se,query:X,removeItem:Ce,resetItems:qe,setQuery:de,tags:Ve,value:ne,values:H}}const At=v.forwardRef((t,r)=>{const o=Ot(t),{children:a,isOpen:s,onClose:l,onOpen:c,placement:f,resetItems:m,removeItem:_}=o;b.useImperativeHandle(r,()=>({resetItems:m,removeItem:_}));const{matchWidth:C=!0}=o.autoCompleteProps;return x.jsx(xt,{value:o,children:x.jsx(v.Popover,{isLazy:!0,isOpen:s,autoFocus:!1,placement:f,closeOnBlur:!0,matchWidth:C,children:x.jsx(v.chakra.div,{w:"full",ref:r,children:a})})})});At.displayName="AutoComplete";const jt=v.forwardRef((t,r)=>{const{focusedValue:o,getItemProps:a,interactionRef:s}=ue(),l=b.useRef(),c=v.useMergeRefs(r,l),f=a(t),{isValidSuggestion:m,value:_}=f.root,C=o===_;b.useEffect(()=>{var le;C&&s.current==="keyboard"&&((le=l==null?void 0:l.current)==null||le.scrollIntoView({behavior:"smooth",block:"nearest"}))},[C,s]),b.useEffect(()=>{typeof _!="string"&&console.warn("wow"),typeof _!="string"&&He(t.getValue)&&console.error("You must define the `getValue` prop, when an Item's value is not a string")},[]);const{children:h,dangerouslySetInnerHTML:I,...A}=f.item,W=st(A,["groupId"]);return m?x.jsx(v.Flex,{ref:c,...ut,...W,children:h||x.jsx("span",{dangerouslySetInnerHTML:I})}):null});jt.displayName="AutoCompleteItem";const ut={mx:"2",px:"2",py:"2",rounded:"md",cursor:"pointer"};function Tt(t){const{alwaysDisplay:r,children:o,...a}=t,{autoCompleteProps:s,getItemProps:l,query:c,filteredResults:f}=ue(),{children:m,..._}=l({...t,value:c,children:L(o,{value:c})},!0).item,C=f.some(A=>A.value===c),h=at(c)?r:!0;return s.creatable&&h&&!C?x.jsx(v.Flex,{...ut,..._,...a,children:m||`Add ${c}`}):null}Tt.displayName="AutoCompleteCreatable";const Pt=v.forwardRef((t,r)=>{const{children:o,showDivider:a,...s}=t,l=st(s,["groupSibling"]),{getGroupProps:c}=ue(),{group:f}=c(t),m=lr(t);return x.jsxs(v.Box,{ref:r,...f,...l,children:[x.jsx(v.Divider,{...m.top}),o,x.jsx(v.Divider,{...m.bottom})]})}),It=v.forwardRef((t,r)=>x.jsx(v.Flex,{...ur,...t,ref:r}));Pt.displayName="AutoCompleteGroup";It.displayName="AutoCompleteGroupTitle";const ur={ml:5,my:1,fontSize:"xs",letterSpacing:"wider",fontWeight:"extrabold",textTransform:"uppercase"},lr=t=>{const{getGroupProps:r}=ue(),o=t.groupSibling,{divider:{hasFirstChild:a,hasLastChild:s}}=r(t),l={my:2,borderColor:t.dividerColor},c={...l,mb:4,display:!t.showDivider||a?"none":""},f={...l,display:!t.showDivider||s||o?"none":""};return{top:c,bottom:f}},bt=v.forwardRef((t,r)=>{const{isLoading:o}=ue(),{loadingIcon:a,...s}=t;return x.jsxs(v.InputGroup,{children:[x.jsx(v.Input,{...s,ref:r}),o&&x.jsx(v.InputRightElement,{children:a||x.jsx(v.Spinner,{})})]})}),lt=v.forwardRef((t,r)=>{const{autoCompleteProps:o,inputRef:a,getInputProps:s,tags:l,setQuery:c,value:f,itemList:m}=ue(),{children:_,isInvalid:C,hidePlaceholder:h,...I}=t,{value:A}=I;b.useEffect(()=>{if(f!==void 0&&(typeof f=="string"||f instanceof String)){const _e=m.find(ce=>ce.value===f),ne=_e===void 0?f:_e.label;c(ne)}},[f]),b.useEffect(()=>{A!==void 0&&(typeof A=="string"||A instanceof String)&&c(A)},[A]);const W=v.useMultiStyleConfig("Input",t);let{wrapper:le,input:re}=s(I,W);const{ref:q,...F}=le,Se=v.useMergeRefs(r,a),he=L(_,{tags:l});h&&(re={...re,placeholder:Array.isArray(he)&&he.length?void 0:re.placeholder});const Pe=x.jsx(bt,{isInvalid:C,...re,ref:Se}),Ie=x.jsxs(v.Wrap,{"aria-invalid":C,...F,ref:q,children:[he,x.jsx(v.WrapItem,{as:bt,...re,ref:Se})]});return x.jsx(v.PopoverAnchor,{children:o.multiple?Ie:Pe})});lt.displayName="Input";lt.id="Input";const cr=t=>{const{getEmptyStateProps:r,defaultEmptyStateProps:o}=ue(),a=r(x.jsx(v.Flex,{...fr,...o,children:"No options found!"}));return x.jsx(v.Box,{...t,children:a})},fr={fontSize:"sm",align:"center",justify:"center",fontWeight:"bold",fontStyle:"italic"},Ct=["AutoCompleteGroup","AutoCompleteItem","AutoCompleteCreatable"],dr=t=>{const r=b.Children.map(t,(s,l)=>{var c;if(((c=s==null?void 0:s.type)==null?void 0:c.displayName)==="AutoCompleteGroup"){const f=b.Children.toArray(t)[l+1];return b.cloneElement(s,{groupSibling:f?f.type.displayName==="AutoCompleteGroup":!1})}return s}),o=b.Children.toArray(r).filter(s=>{var l;return!Ct.includes((l=s==null?void 0:s.type)==null?void 0:l.displayName)});return[b.Children.toArray(r).filter(s=>{var l;return Ct.includes((l=s==null?void 0:s.type)==null?void 0:l.displayName)}),o]},Ft=v.forwardRef((t,r)=>{const{children:o,loadingState:a,...s}=t,{listRef:l,isLoading:c}=ue(),f=v.useMergeRefs(r,l),[m,_]=dr(o);return x.jsxs(v.PopoverContent,{ref:f,w:"inherit",...pr,...s,children:[c&&x.jsx(v.Center,{children:a||x.jsx(v.Spinner,{size:"md"})}),!c&&x.jsxs(x.Fragment,{children:[m,x.jsx(cr,{}),_]})]})});Ft.displayName="AutoCompleteList";const pr={py:"4",opacity:"0",bg:"#232934",rounded:"md",maxH:"350px",border:"none",shadow:"base",zIndex:"popover",overflowY:"auto",_light:{bg:"#ffffff"},_focus:{boxShadow:"none"}},vr=b.memo(t=>{const{label:r,onRemove:o,disabled:a,...s}=t;return x.jsx(v.WrapItem,{children:x.jsxs(v.Tag,{borderRadius:"md",fontWeight:"normal",...a&&Et,...s,children:[x.jsx(v.TagLabel,{children:r}),x.jsx(v.TagCloseButton,{onClick:()=>!a&&L(o),cursor:"pointer",...a&&Et})]})})}),Et={cursor:"text",userSelect:"none",opacity:.4,_focus:{boxShadow:"none"}};exports.AutoComplete=At;exports.AutoCompleteCreatable=Tt;exports.AutoCompleteGroup=Pt;exports.AutoCompleteGroupTitle=It;exports.AutoCompleteInput=lt;exports.AutoCompleteItem=jt;exports.AutoCompleteList=Ft;exports.AutoCompleteProvider=xt;exports.AutoCompleteTag=vr;exports.baseItemStyles=ut;exports.createContext=Rt;exports.useAutoComplete=Ot;exports.useAutoCompleteContext=ue;
|
package/package.json
CHANGED