import type { Meta, StoryObj } from "@storybook/react"; import * as React from "react"; import { SwitchContainer } from "."; const meta: Meta = { title: "Example/SwitchContainer", component: SwitchContainer, }; type Story = StoryObj; export const Basic: Story = { render: () => { const promise = React.useMemo( () => new Promise((resolve) => { setTimeout(() => resolve("Nick"), 1000); }), [], ); return (

Waiting...

{(data) => }
); }, }; export const Bool: Story = { render: () => { const [loading, setLoading] = React.useState(false); React.useEffect(() => { window.setTimeout(() => { setLoading(true); }, 1000); }, []); return (

Waiting...

); }, }; export const Data: Story = { render: () => { const [data, setData] = React.useState(null); React.useEffect(() => { window.setTimeout(() => { setData("Nick"); }, 1200); }, []); return (

Waiting...

{(d) => }
); }, }; export const Done: Story = { render: () => { return (

Waiting...

{(d) => }
); }, }; export const Suspense: Story = { render: () => { const [ready, setReady] = React.useState(false); return ( <>

Waiting...

{ready ? : null}
); }, }; function Item({ data }) { return

Hello {data}

; } const Suspender = React.lazy( () => new Promise((resolve) => { setTimeout(() => resolve({ default: Item }), 5000); }), ); export default meta;