import React, { type FunctionComponent } from 'react' import { type Meta, type StoryObj } from '@storybook/react' import isChromatic from 'chromatic' import { Button } from '~components/Button' import { Focusable } from '~components/Focusable' import { Tag } from '~components/__next__' import { Tooltip, TooltipTrigger } from '../index' import * as testStories from './Tooltip.spec.stories' const meta = { title: 'Components/Tooltip', component: Tooltip, parameters: { layout: 'centered', }, args: { defaultOpen: isChromatic(), }, subcomponents: { TooltipTrigger } as Record>, argTypes: { UNSTABLE_portalContainer: { control: false, table: { disable: true }, }, triggerRef: { control: false }, }, } satisfies Meta export default meta type Story = StoryObj export const Playground: Story = { render: ({ defaultOpen: _, isOpen, ...args }) => ( Tooltip content ), } export const OnButton: Story = { ...testStories.OnButton, play: undefined } export const OnLink: Story = { ...testStories.OnLink, play: undefined } export const OnIconButton: Story = { ...testStories.OnIconButton, play: undefined, } export const Placement: Story = { ...testStories.OnButton, play: undefined, args: { placement: 'end' }, } export const OnTabs: Story = { ...testStories.OnTabs, play: undefined, } export const OnCustomFocusableElement: Story = { render: ({ defaultOpen, isOpen, ...args }) => ( Non-interactive element Tooltip content ), play: undefined, } export const OnReversed: Story = { ...testStories.ReversedColors, play: undefined, }