monday-ui-react-core
Version:
Official monday.com UI resources for application development in React.js
3 lines (2 loc) • 2.46 kB
JavaScript
import{defineProperty as e}from"../../../_virtual/_rollupPluginBabelHelpers.js";import o from"classnames";import a,{forwardRef as r,useRef as n,useCallback as s}from"react";import t from"../../hooks/useMergeRef.js";import l from"../Icon/Icons/components/CloseSmall.js";import i from"../Icon/Icons/components/Search.js";import{getTestId as c,ComponentDefaultTestId as m}from"../../tests/testIds.js";import d from"./Search.module.scss.js";import u from"../BaseInput/BaseInput.js";import p from"../../hooks/useDebounceEvent/index.js";import f from"../IconButton/IconButton.js";import v from"../Icon/Icon.js";import h from"../Loader/Loader.js";var C=r((function(r,C){var I,b,N,E,j,R,S,g,y,A,L=r.searchIconName,z=void 0===L?i:L,B=r.clearIconName,x=void 0===B?l:B,F=r.clearIconLabel,O=void 0===F?"Clear":F,_=r.renderAction,k=r.hideRenderActionOnInput,w=r.value,D=r.placeholder,H=r.size,T=void 0===H?"medium":H,P=r.disabled,V=r.loading,K=r.autoFocus,M=r.autoComplete,X=void 0===M?"off":M,U=r.inputAriaLabel,W=r.debounceRate,Y=void 0===W?400:W,q=r.searchResultsContainerId,G=r.currentAriaResultId,J=r.onChange,Q=r.onFocus,Z=r.onBlur,$=r.onClear,ee=r.onKeyDown,oe=r.className,ae=r.ariaExpanded,re=r.ariaHasPopup,ne=r.id,se=r["data-testid"];return I=n(null),b=t(C,I),N=p({delay:Y,onChange:J,initialStateValue:w}),E=N.inputValue,j=N.onEventChanged,S=s((function(){var e,o;P||(null===(o=null===(e=I.current)||void 0===e?void 0:e.focus)||void 0===o||o.call(e),R(),null==$||$())}),[P,R=N.clearValue,$]),g=a.createElement(v,{icon:z,className:d.icon,clickable:!1,iconType:v.type.ICON_FONT,iconSize:"small"===T?"16px":"20px"}),y=a.createElement(f,{className:o(d.icon,e({},d.empty,!E)),icon:x,ariaLabel:O,onClick:S,size:"small"===T?f.sizes.XS:f.sizes.SMALL,"data-testid":c(m.CLEAN_SEARCH_BUTTON,ne)}),A=a.createElement(a.Fragment,null,V&&a.createElement(h,{size:"small"===T?h.sizes.XS:20,color:h.colors.SECONDARY,wrapperClassName:o(e({},d.loader,!E&&!_))}),E&&!P&&y,!(k&&E)&&_),a.createElement(u,{ref:b,id:ne,type:"search","data-testid":se||c(m.SEARCH,ne),className:o(d.searchWrapper,oe),inputClassName:d.search,value:E,renderLeft:g,renderRight:A,autoFocus:K,placeholder:D,disabled:P,onChange:j,onBlur:Z,onFocus:Q,onKeyDown:ee,autoComplete:X,size:T,wrapperRole:"search",inputRole:q?"combobox":void 0,"aria-label":U,"aria-busy":V,"aria-controls":ae?q:void 0,"aria-activedescendant":G,"aria-haspopup":re,"aria-expanded":ae})}));export{C as default};
//# sourceMappingURL=Search.js.map