import type { Meta, StoryObj } from '@storybook/nextjs-vite' import { MingoOnboardingCardSkeleton, MingoOnboardingListSkeleton, } from '../components/chat/mingo-onboarding-card-skeleton' const meta: Meta = { title: 'Chat/MingoOnboardingCardSkeleton', component: MingoOnboardingListSkeleton, parameters: { layout: 'centered', docs: { description: { component: 'Loading-state placeholder for the empty-state onboarding list (Figma node `7363:205938`). Mirrors `MingoOnboardingCard`s outer markup pixel-for-pixel — same `p-[var(--spacing-system-s)]` cell, `bg-ods-card` surface, `border-b` divider, `size-4` icon slot, `text-h6`-tall title/description bars, and `h-7` outline-chip placeholders. The list variant wraps N rows in the same `rounded-md border overflow-hidden` shell the live empty-state uses.', }, }, }, decorators: [ (Story) => (
), ], } export default meta type Story = StoryObj // ============================================================================= // List (default) — drop-in replacement for the resolved card stack // ============================================================================= export const Default: Story = { args: { rows: 6, }, } export const FewRows: Story = { args: { rows: 3, }, } export const ManyRows: Story = { args: { rows: 13, }, } // ============================================================================= // Single row — useful when integrating into custom containers // ============================================================================= export const SingleRowDefault: Story = { render: () => (
), } export const SingleRowOneLine: Story = { render: () => (
), } export const SingleRowNoChips: Story = { render: () => (
), } export const SingleRowCustomWidths: Story = { render: () => (
), }