Made tooltip optional in IconButton
authorunknown <ajbura@gmail.com>
Thu, 2 Sep 2021 13:47:33 +0000 (19:17 +0530)
committerunknown <ajbura@gmail.com>
Thu, 2 Sep 2021 13:47:33 +0000 (19:17 +0530)
src/app/atoms/button/IconButton.jsx

index 34e2424e2c6a765f6935d70f9a5b7f7df29db026..f92752e5a8c2a7d6640aa782f4d9a973ee688afb 100644 (file)
@@ -16,11 +16,8 @@ import Text from '../text/Text';
 const IconButton = React.forwardRef(({
   variant, size, type,
   tooltip, tooltipPlacement, src, onClick,
-}, ref) => (
-  <Tooltip
-    placement={tooltipPlacement}
-    content={<Text variant="b2">{tooltip}</Text>}
-  >
+}, ref) => {
+  const btn = (
     <button
       ref={ref}
       className={`ic-btn-${variant}`}
@@ -30,13 +27,23 @@ const IconButton = React.forwardRef(({
     >
       <RawIcon size={size} src={src} />
     </button>
-  </Tooltip>
-));
+  );
+  if (tooltip === null) return btn;
+  return (
+    <Tooltip
+      placement={tooltipPlacement}
+      content={<Text variant="b2">{tooltip}</Text>}
+    >
+      {btn}
+    </Tooltip>
+  );
+});
 
 IconButton.defaultProps = {
   variant: 'surface',
   size: 'normal',
   type: 'button',
+  tooltip: null,
   tooltipPlacement: 'top',
   onClick: null,
 };
@@ -45,7 +52,7 @@ IconButton.propTypes = {
   variant: PropTypes.oneOf(['surface']),
   size: PropTypes.oneOf(['normal', 'small', 'extra-small']),
   type: PropTypes.oneOf(['button', 'submit']),
-  tooltip: PropTypes.string.isRequired,
+  tooltip: PropTypes.string,
   tooltipPlacement: PropTypes.oneOf(['top', 'right', 'bottom', 'left']),
   src: PropTypes.string.isRequired,
   onClick: PropTypes.func,