monday-ui-react-core
Version:
Official monday.com UI resources for application development in React.js
3 lines (2 loc) • 1.69 kB
JavaScript
import{typeof as o}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{getTestId as e,ComponentDefaultTestId as t}from"../../tests/testIds.js";import s from"classnames";import i,{forwardRef as r}from"react";import a from"../../hooks/useMergeRef.js";import{IconType as c}from"./IconConstants.js";import n from"./CustomSvgIcon/CustomSvgIcon.js";import l from"./FontIcon/FontIcon.js";import m from"./hooks/useIconProps.js";import{withStaticProps as d}from"../../types/withStaticProps.js";var u=function(o){};var p=d(r((function(r,d){var p=r.id,f=r.onClick,C=void 0===f?u:f,v=r.icon,b=void 0===v?"":v,j=r.clickable,g=r.iconType,k=void 0===g?c.SVG:g,y=r.iconSize,I=void 0===y?16:y,S=r.ignoreFocusStyle,N=r.tabindex,O=r.style,x=r.useCurrentColor,F=void 0!==x&&x,P=r.customColor,R=r["data-testid"],h=m({onClick:C,iconLabel:r.iconLabel,clickable:void 0===j||j,className:r.className,isDecorationOnly:r.ariaHidden,ignoreFocusStyle:void 0!==S&&S,externalTabIndex:N&&+N}),E=h.screenReaderAccessProps,T=h.onClickCallback,z=h.computedClassName,G=a(d,h.iconRef);if(!b)return null;var H="function"==typeof b,L=R||e(t.ICON,p);return k===c.SVG||H||"object"===o(b)?function(o,s){return i.createElement(o,Object.assign({},s,{"data-testid":s["data-testid"]||e(t.ICON,s.id)}))}(b,Object.assign(Object.assign({id:p},E),{ref:H?void 0:G,size:""+I,onClick:C,className:z,style:O,"data-testid":L})):k===c.SRC?i.createElement(n,Object.assign({id:p,src:b},E,{className:s(z),onClick:T,replaceToCurrentColor:F,customColor:P,"data-testid":L})):i.createElement(l,Object.assign({id:p},E,{className:s(z),onClick:T,ref:G,icon:b,"data-testid":L}))})),{type:c});export{p as default};
//# sourceMappingURL=Icon.js.map