github.com/minio/console@v1.4.1/web-app/src/screens/Console/Common/TooltipWrapper/TooltipWrapper.tsx (about) 1 // This file is part of MinIO Console Server 2 // Copyright (c) 2022 MinIO, Inc. 3 // 4 // This program is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU Affero General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // This program is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU Affero General Public License for more details. 13 // 14 // You should have received a copy of the GNU Affero General Public License 15 // along with this program. If not, see <http://www.gnu.org/licenses/>. 16 17 import React, { cloneElement } from "react"; 18 import { Tooltip } from "mds"; 19 20 interface ITooltipWrapperProps { 21 tooltip: string; 22 children: any; 23 errorProps?: any; 24 placement?: "bottom" | "left" | "right" | "top"; 25 } 26 27 const TooltipWrapper = ({ 28 tooltip, 29 children, 30 errorProps = null, 31 placement, 32 }: ITooltipWrapperProps) => { 33 return ( 34 <Tooltip tooltip={tooltip} placement={placement}> 35 <span> 36 {errorProps ? cloneElement(children, { ...errorProps }) : children} 37 </span> 38 </Tooltip> 39 ); 40 }; 41 42 export default TooltipWrapper;