/* eslint-disable react-hooks/rules-of-hooks */ import type { Meta, StoryObj } from '@storybook/react-vite'; import { useOverlayTrigger } from 'react-aria'; import { LoremIpsum } from 'react-lorem-ipsum'; import { useOverlayTriggerState } from 'react-stately'; import { Button } from './Button'; import { Drawer } from './Drawer'; const meta: Meta = { component: Drawer, parameters: { layout: 'fullscreen', }, tags: ['autodocs'], decorators: [ (Story) => (
), ], argTypes: {}, args: {}, }; export default meta; type Story = StoryObj; export const Bottom: Story = { render: () => { const state = useOverlayTriggerState({}); const overlayTriggerProps = useOverlayTrigger( { type: 'dialog', }, state, ); return ( ); }, }; export const BottomExtraLarge: Story = { render: () => { const state = useOverlayTriggerState({}); const overlayTriggerProps = useOverlayTrigger( { type: 'dialog', }, state, ); return ( ); }, }; export const AllowFullScreen: Story = { render: () => { const state = useOverlayTriggerState({}); const overlayTriggerProps = useOverlayTrigger( { type: 'dialog', }, state, ); return ( ); }, }; export const Side: Story = { render: () => { const state = useOverlayTriggerState({}); const overlayTriggerProps = useOverlayTrigger( { type: 'dialog', }, state, ); return (
); }, }; export const SideLarge: Story = { render: () => { const state = useOverlayTriggerState({}); const overlayTriggerProps = useOverlayTrigger( { type: 'dialog', }, state, ); return (
); }, }; export const ScrollingBehavior: Story = { render: () => { const state = useOverlayTriggerState({ defaultOpen: true }); const overlayTriggerProps = useOverlayTrigger( { type: 'dialog', }, state, ); return (

Drawer

); }, }; export const WithMultipleTriggers: Story = { render: () => { const state = useOverlayTriggerState({}); const overlayTriggerProps = useOverlayTrigger( { type: 'dialog', }, state, ); return ( ); }, }; export const AtlasFlexing: Story = { render: () => { const sideBarState = useOverlayTriggerState({ defaultOpen: true }); const sideBarTriggerProps = useOverlayTrigger( { type: 'dialog', }, sideBarState, ); const trayState = useOverlayTriggerState({}); const trayTriggerProps = useOverlayTrigger( { type: 'dialog', }, trayState, ); return (
); }, };