import type { Meta, StoryObj } from "@storybook/react"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { UploadResponse } from "@codex/sdk-js"; import { Upload } from "../src/components/Upload/Upload"; const meta = { title: "Advanced/Upload", component: Upload, parameters: { layout: "centered", }, tags: ["autodocs"], argTypes: {}, } satisfies Meta; export default meta; const queryClient = new QueryClient(); const Template = () => { return ( {} ); }; export const Multiple = Template.bind({}); const slowProvider = () => Promise.resolve( (_: File, onProgress: (loaded: number, total: number) => void) => { return new Promise((resolve) => { let timeout: number; resolve({ abort: () => { window.clearInterval(timeout); }, result: new Promise((resolve) => { let count = 0; timeout = window.setInterval(() => { count++; onProgress(500 * count, 1500); if (count === 3) { window.clearInterval(timeout); resolve({ error: false as false, data: Date.now().toString(), }); } }, 1500); }), }); }); } ); const SlowTemplate = () => { return (
{}
); }; export const Slow = SlowTemplate.bind({}); const SingleTemplate = () => { return (
{ }
); }; export const Single = SingleTemplate.bind({});