From 990441295c2fb8ad3fab357e9eb21e4e05360753 Mon Sep 17 00:00:00 2001 From: "GitStart-Cal.com" <121884634+gitstart-calcom@users.noreply.github.com> Date: Fri, 25 Aug 2023 20:06:55 +0800 Subject: [PATCH] chore: add ImageUploader in storybook (CALCOM-10760) (#10865) Co-authored-by: gitstart-calcom Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com> Co-authored-by: Keith Williams --- apps/storybook/components/VariantsTable.tsx | 3 +- .../image-uploader/imageUploader.stories.mdx | 57 +++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 packages/ui/components/image-uploader/imageUploader.stories.mdx diff --git a/apps/storybook/components/VariantsTable.tsx b/apps/storybook/components/VariantsTable.tsx index 5ba017c608..1120d4b8ba 100644 --- a/apps/storybook/components/VariantsTable.tsx +++ b/apps/storybook/components/VariantsTable.tsx @@ -18,6 +18,7 @@ export function VariantsTable({ const columns = React.Children.toArray(children) as ReactElement[]; return (
{!isDark && ( -
+
{children} diff --git a/packages/ui/components/image-uploader/imageUploader.stories.mdx b/packages/ui/components/image-uploader/imageUploader.stories.mdx new file mode 100644 index 0000000000..9260a70b9b --- /dev/null +++ b/packages/ui/components/image-uploader/imageUploader.stories.mdx @@ -0,0 +1,57 @@ +import { Canvas, Meta, Story } from "@storybook/addon-docs"; + +import { Title, VariantRow, VariantsTable, CustomArgsTable } from "@calcom/storybook/components"; + +import ImageUploader from "./ImageUploader"; + + + + + +## Definitions + +`ImageUploader` is used to upload images of all image types + +## Structure + +Below are the props for `Image uploader` + +<CustomArgsTable of={ImageUploader} /> + +## ImageUploader Story + +<Canvas> + <Story + name="ImageUploader" + play={({ canvasElement }) => { + const darkVariantContainer = canvasElement.querySelector("#dark-variant"); + const imageUploaderElement = darkVariantContainer.querySelector("button"); + imageUploaderElement?.addEventListener("click", () => { + setTimeout(() => { + document.querySelector('[role="dialog"]')?.classList.add("dark"); + }, 1); + }); + }} + args={{ + id: "image-1", + buttonMsg: "upload", + target: "target", + handleAvatarChange: (src) => { + console.debug(src); + }, + }}> + {({ id, buttonMsg, handleAvatarChange, imageSrc, target }) => ( + <VariantsTable titles={["Default"]} columnMinWidth={150}> + <VariantRow> + <ImageUploader + id={id} + buttonMsg={buttonMsg} + handleAvatarChange={handleAvatarChange} + imageSrc={imageSrc} + target={target} + /> + </VariantRow> + </VariantsTable> + )} + </Story> +</Canvas>