@devgateway/dvz-ui-react
Version:
A modular, embeddable React component library for data visualization and UI, built with TypeScript. Provides reusable components for charts, maps, dashboards, and more, with built-in support for internationalization and Redux integration.
2 lines (1 loc) • 3.05 kB
JavaScript
;const n=require("react/jsx-runtime"),g=require("semantic-ui-react"),f=require("react"),N=require("clsx"),d=require("../node_modules/.pnpm/semantic-ui-react@3.0.0-beta.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/semantic-ui-react/src/lib/classNameBuilders.js"),I=require("../utils/semanticUtils.js"),U=require("../node_modules/.pnpm/semantic-ui-react@3.0.0-beta.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/semantic-ui-react/src/lib/getUnhandledProps.js"),q=require("react-intl"),S=require("@devgateway/wp-react-lib"),j=(s,t)=>{if(!t)return s;const o=new RegExp(`(${t})`,"gi");return s.replace(o,"<strong>$1</strong>")},E=q.injectIntl(({title:s,slug:t,parent_link:o,extract:m,link:x,searchTerm:i,metadata:r,bread_crumbs:u=[],intl:{locale:a}})=>{let c=o?S.utils.replaceLink(o,a)+`#${t}`:S.utils.replaceLink(x,a);c=r!=null&&r.redirect_url?(r==null?void 0:r.redirect_url)+`#${t}`:c;const y=j(String(s),i),h=j(m,i);return n.jsx("div",{className:"search-results-wrapper searching-results",style:{display:"flex",flexDirection:"column"},children:n.jsxs("div",{className:"has-standard-12-font-size",onClick:()=>document.location.href=c,children:[n.jsx("h5",{className:"breadcrumbs-search",dangerouslySetInnerHTML:{__html:Array.isArray(u)&&u.length>0?j(u.join(" / "),i):""}}),n.jsx("div",{className:"has-standard-14-font-size",children:n.jsx("h4",{className:"search-title",dangerouslySetInnerHTML:{__html:y}})}),n.jsx("div",{className:"has-standard-12-font-size search-content",dangerouslySetInnerHTML:{__html:S.utils.replaceHTMLinks(h,a)}})]})})}),V=s=>{const{results:t,onSearchChange:o,value:m,showNoResults:x,onResultSelect:i,loading:r,placeholder:u,perPage:a,total:c,searchTerm:y}=s,h=q.useIntl(),[w,G]=f.useState(""),[H,R]=f.useState(!1),[L,p]=f.useState(!1),P=t&&t.length>0?[{isHeader:!0,headerText:h.formatMessage({id:"search.results.summary",defaultMessage:"{count} of {} Results"},{count:c<a?c:a,total:c})},...t]:[],M=()=>{const{perPage:e,total:l}=s,k=N("results header",l===1&&"single");return n.jsx(g.Segment,{basic:!0,textAlign:"left",className:k,children:h.formatMessage({id:"search.results.summary",defaultMessage:"{count} of {} Results"},{count:l<e?l:e,total:l})})},v=e=>e.isHeader?M():(console.log("res",e),n.jsx(f.Fragment,{children:n.jsx(E,{...e,searchTerm:y})})),F=e=>n.jsx(g.Input,{icon:"search",placeholder:u,...e}),T=(e,l)=>{R(!1),s.onBlur&&s.onBlur(e,l)},z=(e,l)=>{R(!0),s.onFocus&&s.onFocus(e,l)},A=e=>{p(!0),s.onMouseDown&&s.onMouseDown(e)},{aligned:B,category:C,className:D,fluid:K,size:O}=s,_=N("ui",L&&"active",O,w,d.useKeyOnly(C,"category"),d.useKeyOnly(H,"focus"),d.useKeyOnly(K,"fluid"),d.useKeyOnly(r,"loading"),d.useValueAndKey(B,"aligned"),"search",D),$=U(g.Search,s),[J,b]=I.partitionHTMLProps($,{htmlProps:I.htmlInputAttrs});return n.jsx(g.Search,{...b,className:_,onBlur:T,size:"mini",aligned:"right",placeholder:u,onFocus:z,onMouseDown:A,resultRenderer:e=>v(e),onSearchChange:o,results:P,input:F(),value:m,showNoResults:x,onResultSelect:i,loading:r,header:M()})};module.exports=V;