import { ReactNode } from 'react'; import type { Meta } from '@storybook/react'; import { User } from 'lucide-react'; import { Widget } from './Widget'; import { WidgetBody } from './WidgetBody'; import { WidgetTitle } from './WidgetTitle'; import { WidgetFooter } from './WidgetFooter'; import { WidgetTaskbar } from './WidgetTaskbar'; interface WidgetProps { loading: boolean; title: string; icon: ReactNode; bodyText: string; footerText: string; } const meta: Meta = { title: 'Widget', component: Widget, args: { loading: false, title: 'Title', icon: User, bodyText: 'Body', footerText: 'Footer', }, }; export default meta; export { Default, WidgetWithCustomImage, WidgetWithTaskBar }; function Default({ loading, bodyText, footerText, icon, title }: WidgetProps) { return ( {bodyText} {footerText} ); } function WidgetWithCustomImage({ loading, bodyText, footerText, icon, title, }: WidgetProps) { return ( ) : ( icon ) } /> {bodyText} {footerText} ); } WidgetWithCustomImage.args = { icon: 'https://via.placeholder.com/150', }; function WidgetWithTaskBar({ loading, bodyText, footerText, icon, title, }: WidgetProps) { return ( {bodyText} {footerText} ); }