ponchojs
Version:
Poncho
38 lines (37 loc) • 3.08 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./emotion-react-jsx-runtime.esm-1fb36074.js"),i=require("react"),s=require("react-spinners"),t=require("formik"),l=require("./useFormContext-33c167b2.js"),n=require("./styled-components.esm-174f8520.js"),o=require("./baseinput.js"),r=require("./iconbutton.js"),a=require("./close-0aa1354f.js"),d=require("./useInputDisable-08b12cf9.js");require("./tslib.es6-ca8de689.js"),require("@material-ui/styles"),require("classnames");const c=i.useEffect,u=n.styled.div`
position: absolute;
top: 50px;
left: 0;
width: 100%;
display: grid;
opacity: ${({showOptions:e})=>e?1:0};
visibility: ${({showOptions:e})=>e?"visible":"hidden"};
transition: all 0.2s linear;
`,p=n.styled.ul`
max-height: 250px;
min-height: 50px;
overflow-y: auto;
background-color: white;
z-index: 20;
`,h=n.styled.div`
position: relative;
display: flex;
`,j=n.styled.div`
position: absolute;
top: 0;
bottom: 0;
right: 16px;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.2s linear;
opacity: ${({showDelete:e})=>e?1:0};
visibility: ${({showDelete:e})=>e?"visible":"hidden"};
`,g=n.styled.a`
cursor: pointer;
`,v=n.styled.div`
display: flex;
justify-content: space-between;
align-items: center;
`,x=(i,s)=>s?e.jsxs("span",{children:[e.jsx("b",{children:i.slice(0,s[0].length)},void 0),i.slice(s[0].length)]},void 0):i,b=(e,i,s)=>new RegExp(""+(s?"":"^")+e,"i").test(i.toString());exports.AutoComplete=n=>{const{options:m,id:y,onChangeText:f}=n,[{value:q},,{setValue:w}]=t.useField(y),[O,C]=i.useState(""),[D,I]=i.useState("");l.usePreparedInput(n);var S=d.useInputDisable(n);const k=1<O.length&&!S,N=i.useMemo((()=>(null==m?void 0:m.filter((({title:e,id:i})=>b(O,e||i))))||[]),[m,O]),B=i.useCallback((()=>{var i=e.jsx("li",Object.assign({className:"list-group-item"},{children:e.jsxs(v,{children:[e.jsx("span",{children:"Buscando"},void 0),e.jsx(s.CircleLoader,{size:25,color:"#0072bb"},void 0)]},void 0)}),void 0);return q===O?null:e.jsx(u,Object.assign({showOptions:k},{children:e.jsxs(p,Object.assign({className:"list-group"},{children:[0===N.length&&!n.loading&&e.jsx("li",Object.assign({className:"list-group-item"},{children:"Sin resultados"}),void 0),n.loading&&i,N.map((({id:i,title:s})=>{const t=s||i.toString()||"";return e.jsx(g,Object.assign({className:"list-group-item",onClick:()=>{I(i),C(t)}},{children:x(t,t.match(new RegExp("^"+O,"i")))}),t)}))]}),void 0)}),void 0)}),[O,n.loading,q,k,N]);return c((()=>{w(D)}),[D]),e.jsx(o.BaseInput,Object.assign({},n,{children:e.jsxs(h,{children:[e.jsx("input",{disabled:S,autoFocus:!0,type:"text",value:O,className:"form-control",onBlur:()=>{C((e=>{const[i]=N;return i&&b(e,i.title||i.id)?(I(i.id),i.title||i.id.toString()):""}))},onChange:({target:e})=>{f(e.value),C(e.value)}},void 0),B(),e.jsx(j,Object.assign({showDelete:!!q},{children:e.jsx(r.IconButton,{onClick:()=>{C(""),I("")},size:22,Icon:a.Delete},void 0)}),void 0)]},void 0)}),void 0)};
//# sourceMappingURL=autocomplete.js.map