UNPKG

@anoki/fse-marche-ui

Version:

FSE UI components library

3 lines (2 loc) 2.37 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./components/ui/SearchGeneric/SearchGeneric.css');const s=require("./index.cjs137.js"),f=require("react"),o=require("./index.cjs139.js");;/* empty css */const I=require("./index.cjs149.js"),L=require("./index.cjs79.js"),S=require("./index.cjs10.js"),k=require("./index.cjs25.js");function M({btnText:g,helperText:u,mobileHelperText:b=u,value:w,items:R,setValue:x,setTypedValue:m,getSearchField:d,getDisplayField:p=d,onItemSelect:h,minCharsToSearch:v=3,className:E}){const[r,c]=f.useState(w||""),[j,i]=f.useState([]),C=I.useMediaQuery("(min-width: 768px)"),N=t=>{const e=t.target.value;if(c(e),m&&m(e),e.length>=v){const l=R.filter(n=>{const a=d(n);return a==null?void 0:a.toLowerCase().includes(e.toLowerCase())});i(l)}else i([])},y=t=>{const e=p(t);c(e),x(e),i([]),h&&h(t)},q=(t,e)=>{if(!e)return t;const l=t.split(new RegExp(`(${e})`,"gi"));return s.jsxRuntimeExports.jsx(s.jsxRuntimeExports.Fragment,{children:l.map((n,a)=>n.toLowerCase()===e.toLowerCase()?s.jsxRuntimeExports.jsx("span",{className:"text-primary fw-bold",children:n},a):n)})};return s.jsxRuntimeExports.jsxs("div",{className:o.clsx("ui-search","br-x4 bg-border-secondary w-full",E),children:[s.jsxRuntimeExports.jsxs("div",{className:"position-relative",children:[s.jsxRuntimeExports.jsx("input",{id:"search",type:"text",className:o.clsx("ui-search-input","fs-6 md-fs-custom text-slate-20 br-x4 w-full pl-x24",r&&r.length>=3&&"has-clear-icon"),placeholder:C?u:b,"aria-label":"Barra di ricerca",value:r,onChange:N,maxLength:30}),r&&s.jsxRuntimeExports.jsx(L.Close,{className:"ui-clean-button",onClick:()=>{c(""),i([])}})]}),j.length>0&&s.jsxRuntimeExports.jsx("div",{className:"ui-wrap-list-item-search shadow position-absolute p-x24",children:s.jsxRuntimeExports.jsx(S.Col,{gap:"x24",fw:"regular",text:"secondary",fs:"6",className:"ui-list-item-search overflow-y-auto ",children:j.map((t,e)=>s.jsxRuntimeExports.jsx("div",{onClick:()=>y(t),className:"hover:bg-primary",children:q(p(t),r)},e))})}),s.jsxRuntimeExports.jsx("div",{className:o.clsx("ui-div-btn"),children:s.jsxRuntimeExports.jsx(k.Button,{className:o.clsx("ui-btn-search","bg-primary text-white fs-7 md-fs-6 fw-semibold br-x4"),onClick:()=>{i([]),x(r)},children:g})})]})}exports.SearchGeneric=M; //# sourceMappingURL=index.cjs15.js.map