// // Copyright 2022 DXOS.org // import { type Meta, type StoryObj } from '@storybook/react-vite'; import React, { type PropsWithChildren, type ReactNode, useRef, useState } from 'react'; import { random } from '@dxos/random'; import { withTheme } from '../../testing'; import { Button } from '../Button'; import { Popover } from './Popover'; random.seed(1234); const DefaultStory = ({ openTrigger, children }: PropsWithChildren<{ openTrigger: ReactNode }>) => { return ( {openTrigger} {children} ); }; const meta = { title: 'ui/react-ui-core/components/Popover', component: Popover.Root, render: DefaultStory, decorators: [withTheme()], } satisfies Meta; export default meta; type Story = StoryObj; export const Default: Story = { args: { openTrigger: Open popover, children: random.lorem.paragraphs(3), }, }; export const VirtualTrigger = { render: () => { const [open, setOpen] = useState(true); const buttonRef = useRef(null); return ( <> setOpen(true)} ref={buttonRef}> Open popover {random.lorem.paragraphs(3)} > ); }, };
{children}
{random.lorem.paragraphs(3)}