@anoki/fse-ui
Version:
FSE UI components library
3 lines (2 loc) • 3.29 kB
JavaScript
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./components/ui/SearchGeneric/SearchGeneric.css');const e=require("./index.cjs237.js"),j=require("react"),x=require("./index.cjs238.js");;/* empty css */const G=require("./index.cjs281.js"),Q=require("./index.cjs179.js"),z=require("./index.cjs61.js"),B=require("./index.cjs32.js");function O({btnText:N,helperText:d,instructionsText:c="Inserisci almeno $minCharsToSearch caratteri per iniziare la ricerca.",mobileHelperText:y=d,value:C,items:$,setValue:m,setTypedValue:b,getSearchField:g,getDisplayField:f=g,onItemSelect:v,minCharsToSearch:u=3,className:I,dimensionStrategy:q="fixed"}){const[i,p]=j.useState(C||""),[r,n]=j.useState([]),L=G.useMediaQuery("(min-width: 768px)"),a=j.useId(),R=`${a}-listbox`,w=`${a}-instructions`,S=`${a}-label`,E=t=>{const s=t.target.value;if(p(s),b&&b(s),s.length>=u){const h=$.filter(l=>{const o=g(l);return o==null?void 0:o.toLowerCase().includes(s.toLowerCase())});n(h)}else n([])},k=t=>{const s=f(t);p(s),m(s),n([]),v&&v(t)},M=(t,s)=>{if(!s)return t;const h=t.split(new RegExp(`(${s})`,"gi"));return e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:h.map((l,o)=>l.toLowerCase()===s.toLowerCase()?e.jsxRuntimeExports.jsx("span",{className:"text-primary fw-bold",children:l},o):l)})};return e.jsxRuntimeExports.jsxs("div",{className:x.clsx("ui-search","br-x4 bg-border-secondary w-full",I,{"ui-search-generic-auto":q==="auto"}),children:[e.jsxRuntimeExports.jsx("label",{id:S,htmlFor:a,className:"sr-only",children:d}),c&&e.jsxRuntimeExports.jsx("div",{id:w,className:"sr-only",children:c==null?void 0:c.replace("$minCharsToSearch",String(u))}),e.jsxRuntimeExports.jsxs("div",{className:"position-relative",children:[e.jsxRuntimeExports.jsx("input",{id:a,type:"text",role:"combobox","aria-expanded":r.length>0,"aria-haspopup":"listbox","aria-owns":r.length>0?R:void 0,"aria-describedby":w,className:x.clsx("ui-search-input","fs-6 md-fs-custom text-slate-20 br-x4 w-full pl-x24",i&&i.length>=3&&"has-clear-icon"),placeholder:L?d:y,value:i,onChange:E,maxLength:30,autoComplete:"off"}),i&&e.jsxRuntimeExports.jsx(Q.Close,{className:"ui-clean-button",ariaLabel:"Cancella ricerca",onClick:()=>{p(""),n([]),m(""),E({target:{value:""}})}})]}),r.length>0&&e.jsxRuntimeExports.jsx("div",{className:"ui-wrap-list-item-search shadow position-absolute p-x24",role:"listbox",id:R,"aria-label":`${r.length} risultati disponibili`,children:e.jsxRuntimeExports.jsx(z.Col,{gap:"x24",fw:"regular",text:"secondary",fs:"6",className:"ui-list-item-search overflow-y-auto ",children:r.map((t,s)=>e.jsxRuntimeExports.jsx("div",{id:`${a}-option-${s}`,role:"option",onClick:()=>k(t),className:"hover:bg-primary",children:M(f(t),i)},s))})}),e.jsxRuntimeExports.jsxs("div",{"aria-live":"polite","aria-atomic":"true",className:"sr-only",children:[r.length>0&&i.length>=u&&`${r.length} risultati trovati`,i.length>=u&&r.length===0&&"Nessun risultato trovato"]}),e.jsxRuntimeExports.jsx("div",{className:x.clsx("ui-div-btn"),children:e.jsxRuntimeExports.jsx(B.Button,{className:x.clsx("ui-btn-search","bg-primary text-white fs-7 md-fs-6 fw-semibold br-x4"),onClick:()=>{n([]),m(i)},children:N})})]})}exports.SearchGeneric=O;
//# sourceMappingURL=index.cjs119.js.map