From 3ff4c37a7a2c40340c17f9e6c1754444bce0f839 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Tue, 31 Oct 2023 16:00:45 +0100 Subject: refactor(components): rewrite Modal component * add an optional close button * add an icon prop --- src/components/molecules/tooltip/tooltip.tsx | 98 ---------------------------- 1 file changed, 98 deletions(-) delete mode 100644 src/components/molecules/tooltip/tooltip.tsx (limited to 'src/components/molecules/tooltip/tooltip.tsx') diff --git a/src/components/molecules/tooltip/tooltip.tsx b/src/components/molecules/tooltip/tooltip.tsx deleted file mode 100644 index 1f54d68..0000000 --- a/src/components/molecules/tooltip/tooltip.tsx +++ /dev/null @@ -1,98 +0,0 @@ -import { type FC, type MouseEventHandler, useRef } from 'react'; -import { useIntl } from 'react-intl'; -import { useOnClickOutside } from '../../../utils/hooks'; -import { Heading, Icon, Modal, type ModalProps } from '../../atoms'; -import { HelpButton } from '../buttons'; -import styles from './tooltip.module.scss'; - -export type TooltipProps = Omit & { - /** - * The tooltip direction when opening. - * - * @default "downwards" - */ - direction?: 'downwards' | 'upwards'; - /** - * The tooltip heading. - */ - heading: string; - /** - * Should the tooltip be opened? - * - * @default false - */ - isOpen?: boolean; - /** - * A callback function to trigger when clicking outside the modal. - */ - onClickOutside?: () => void; - /** - * An event handler when clicking on the help button. - */ - onToggle?: MouseEventHandler; -}; - -/** - * Tooltip component - * - * Render a button and a modal. Note: you should add a CSS rule - * `position: relative;` on the consumer. - */ -export const Tooltip: FC = ({ - children, - className = '', - direction = 'downwards', - heading, - isOpen, - onClickOutside, - onToggle, - ...props -}) => { - const intl = useIntl(); - const helpLabel = intl.formatMessage({ - defaultMessage: 'Show help', - description: 'Tooltip: show help label', - id: '1Xgg7+', - }); - const directionModifier = - direction === 'upwards' ? 'tooltip--up' : 'tooltip--down'; - const visibilityModifier = isOpen ? 'tooltip--visible' : 'tooltip--hidden'; - const tooltipClass = `${styles.tooltip} ${styles[directionModifier]} ${styles[visibilityModifier]} ${className}`; - const btnRef = useRef(null); - - const closeModal = (target: Node) => { - if (!onClickOutside) return; - - if (btnRef.current && !btnRef.current.contains(target)) { - onClickOutside(); - } - }; - - const modalRef = useOnClickOutside(closeModal); - - return ( - <> - - - {heading} - - } - kind="secondary" - ref={modalRef} - > - {children} - - - - ); -}; -- cgit v1.2.3