diff --git a/packages/components/src/components/Tooltip/Tooltip.stories.tsx b/packages/components/src/components/Tooltip/Tooltip.stories.tsx index f64f7b54..fc92c9c5 100644 --- a/packages/components/src/components/Tooltip/Tooltip.stories.tsx +++ b/packages/components/src/components/Tooltip/Tooltip.stories.tsx @@ -4,7 +4,7 @@ import { useBoolean } from '@koobiq/react-core'; import { IconCircleQuestion24 } from '@koobiq/react-icons'; import type { Meta, StoryObj } from '@storybook/react'; -import { Button, type ButtonProps } from '../Button'; +import { Button } from '../Button'; import { FlexBox } from '../FlexBox'; import { Grid, GridItem } from '../Grid'; import { IconButton } from '../IconButton'; @@ -207,154 +207,45 @@ export const ControlledOpen: Story = { }; export const Placement: Story = { - render: function Render(args) { - const [isOpen, { on, off, set }] = useBoolean(); - const [placement, setPlacement] = useState(); - const anchorRef = useRef(null); - - const onHoverStart = (placement: TooltipPropPlacement) => { - const fn: ButtonProps['onHoverStart'] = (e) => { - on(); - setPlacement(placement); - anchorRef.current = e.target as HTMLElement; - }; - - return fn; - }; + render: (args) => { + const placements: TooltipPropPlacement[] = [ + 'top start', + 'top', + 'top end', + 'start top', + 'start', + 'start bottom', + 'end top', + 'end', + 'end bottom', + 'bottom start', + 'bottom', + 'bottom end', + ]; return ( - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - set(open)} - placement={placement} - anchorRef={anchorRef} - {...args} - > - Check out my placement - + ( + + )} + {...args} + > + Check out my placement + + + ))} ); }, diff --git a/packages/components/src/components/Tooltip/Tooltip.tsx b/packages/components/src/components/Tooltip/Tooltip.tsx index 61a65977..d76e2897 100644 --- a/packages/components/src/components/Tooltip/Tooltip.tsx +++ b/packages/components/src/components/Tooltip/Tooltip.tsx @@ -33,6 +33,7 @@ export const Tooltip = forwardRef((props, ref) => { // Boolean props should default to `false`. This default is kept for compatibility. hideArrow = true, placement: placementProp = 'top', + arrowBoundaryOffset = 16, closeDelay = 120, delay = 120, isDisabled: isDisabledProp, @@ -47,7 +48,6 @@ export const Tooltip = forwardRef((props, ref) => { onOpenChange, portalContainer, offset: offsetProp, - arrowBoundaryOffset, ...other } = props; diff --git a/packages/components/src/components/Tooltip/types.ts b/packages/components/src/components/Tooltip/types.ts index 936571f9..58edbc75 100644 --- a/packages/components/src/components/Tooltip/types.ts +++ b/packages/components/src/components/Tooltip/types.ts @@ -81,7 +81,7 @@ export type TooltipProps = ExtendableProps< anchorRef?: RefObject; /** * The minimum distance the arrow's edge should be from the edge of the overlay element. - * @default 0 + * @default 16 */ arrowBoundaryOffset?: number; /**