@anoki/fse-ui
Version:
FSE UI components library
3 lines (2 loc) • 3.66 kB
JavaScript
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./components/ui/SearchGenericV2/SearchGenericV2.css');const e=require("./index.cjs278.js");;/* empty css */const j=require("./index.cjs280.js"),a=require("react"),T=require("./index.cjs235.js"),q=require("./index.cjs80.js"),I=require("./index.cjs82.js"),z=require("./index.cjs36.js");function B(f){const{btnText:y,helperText:_="Cosa vuoi approfondire?",value:t,loading:x,items:m,emptyLabel:C="Nessun risultato disponibile",minCharsToShow:h=3,setValue:S,setSelectedElement:M,className:k,dimensionStrategy:F="fixed"}=f,i="mode"in f&&f.mode==="flat"?"flat":"categorized",[E,p]=a.useState(!1),g=s=>{S(s.target.value)},b=s=>{M(s),p(!1)},w=a.useCallback((s,r)=>{if(!r)return s;const u=s.toLowerCase(),o=r.toLowerCase(),n=[];let c=0,l=u.indexOf(o);for(;l!==-1;)l>c&&n.push(s.slice(c,l)),n.push(e.jsxRuntimeExports.jsx("span",{className:"text-primary fw-bold",children:s.slice(l,l+r.length)},l)),c=l+r.length,l=u.indexOf(o,c);return c<s.length&&n.push(s.slice(c)),n.length>0?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:n}):s},[]),d=a.useMemo(()=>i==="flat"?m:[],[i,m]),v=a.useMemo(()=>i==="categorized"?m:[],[i,m]),R=a.useMemo(()=>i==="flat"?d.length===0:v.every(s=>s.items.length===0),[i,d,v]),N=a.useMemo(()=>!E||t.length<h?!1:!(x&&R),[E,t.length,h,x,R]);return e.jsxRuntimeExports.jsxs("div",{className:j.clsx("ui-search-v2","br-x4 bg-border-secondary w-full",k,{"ui-search-v2--auto":F==="auto"}),onBlur:()=>{setTimeout(()=>p(!1),150)},children:[e.jsxRuntimeExports.jsxs("div",{className:"position-relative w-full",children:[e.jsxRuntimeExports.jsx("input",{type:"search",className:j.clsx("ui-search-v2__input","fs-6 md-fs-custom text-slate-20 br-x4 w-full pl-x24",t&&t.length>=h&&"has-clear-icon"),placeholder:_,"aria-label":"Barra di ricerca",value:t,onChange:g,onFocus:()=>p(!0)}),x&&e.jsxRuntimeExports.jsx(T.Spinner,{className:"ui-search-v2__spinner"}),t&&t.length>=h&&!x&&e.jsxRuntimeExports.jsx(q.Close,{className:"ui-search-v2__clear",onClick:()=>{g({target:{value:""}})}})]}),e.jsxRuntimeExports.jsx("div",{className:j.clsx("ui-search-v2__dropdown shadow position-absolute",{"py-x24":N}),children:e.jsxRuntimeExports.jsx(I.Col,{gap:"x24",fw:"regular",text:"secondary",fs:"6",className:"ui-search-v2__list overflow-y-auto",children:N&&e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[i==="flat"?d.length>0&&e.jsxRuntimeExports.jsx("ul",{className:"list-unstyled",children:d.map(s=>e.jsxRuntimeExports.jsx("li",{onClick:r=>{r.stopPropagation(),r.preventDefault(),b(s)},className:"cursor-pointer py-x8 px-x24",children:w(s.label,t||"")},s.value))}):v.map((s,r)=>{var u;return(u=s.items)!=null&&u.length?e.jsxRuntimeExports.jsx(a.Fragment,{children:e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("h1",{className:"ui-search-v2__category fw-semibold text-dark fs-6 mb-x8 px-x24",children:s.category}),e.jsxRuntimeExports.jsx("ul",{className:"list-unstyled",children:s.items.map(o=>e.jsxRuntimeExports.jsx("li",{onClick:n=>{n.stopPropagation(),n.preventDefault(),b(o)},className:"cursor-pointer py-x8 px-x24",children:w(o.label,t||"")},o.value))})]})},r):e.jsxRuntimeExports.jsx(a.Fragment,{},r)}),!x&&R?e.jsxRuntimeExports.jsx("p",{className:"px-x24 fs-6",children:C}):""]})})}),e.jsxRuntimeExports.jsx("div",{className:"ui-search-v2__btn-wrap",children:e.jsxRuntimeExports.jsx(z.Button,{className:j.clsx("ui-search-v2__btn","bg-primary text-white fs-7 md-fs-6 fw-semibold br-x4"),onClick:()=>{g({target:{value:t}}),p(!0)},children:y})})]})}exports.SearchGenericV2=B;
//# sourceMappingURL=index.cjs224.js.map