import type { Meta, StoryObj } from '@storybook/react-vite'; import { fn } from 'storybook/test'; import { loremIpsum } from 'lorem-ipsum'; import { useState } from 'react'; import { Button, SlidingPanel as SlidingPanelComponent, } from '../src/components'; import { type SlidingPanelLR } from './SlidingPanelsWithArrow.stories'; const SlidingPanelInSlidingPanelRender: SlidingPanelLR = ({ title, position, size, onClose, }) => { const [showPanel, setShowPanel] = useState(false); const [showPanel2, setShowPanel2] = useState(false); return ( <> {showPanel && ( { setShowPanel(false); setShowPanel2(false); onClose?.(reason); }} pathname="#" > <>
{loremIpsum({ count: 25 })} {showPanel2 && ( { setShowPanel2(false); onClose?.(reason); }} pathname="#" > {loremIpsum({ count: 25 })} )}
)} ); }; const meta: Meta = { title: 'Layout/Sliding Panel', component: SlidingPanelComponent as SlidingPanelLR, argTypes: { size: { control: 'select', options: ['small', 'medium', 'large', 'full-screen'], position: { control: 'select', options: ['top', 'right', 'bottom', 'left'], }, }, }, args: { title: 'Title', size: 'medium', position: 'left', onClose: fn(), }, render: (props) => , }; export default meta; type Story = StoryObj; export const SlidingPanelInSlidingPanel: Story = {};