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 = {};