From 1445f4a22261954431914574683876b08fe2317b Mon Sep 17 00:00:00 2001 From: Nathan Vasse Date: Thu, 18 Jan 2024 14:38:48 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8(react)=20add=20Modal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Here it is! Our really wanted Modal component, based on Figma sketches. --- .changeset/ten-teachers-rescue.md | 5 + apps/demo/src/Create.tsx | 9 +- apps/demo/src/Home.tsx | 7 +- packages/react/src/components/Alert/Utils.tsx | 34 +- .../react/src/components/Alert/index.spec.tsx | 31 +- .../src/components/Alert/index.stories.tsx | 13 +- packages/react/src/components/Alert/index.tsx | 13 +- .../components/Modal/ConfirmationModal.tsx | 39 ++ .../Modal/DeleteConfirmationModal.tsx | 44 ++ .../src/components/Modal/MessageModal.tsx | 47 ++ .../src/components/Modal/ModalProvider.tsx | 159 +++++++ .../src/components/Modal/PreBuilt.stories.tsx | 89 ++++ packages/react/src/components/Modal/index.mdx | 266 +++++++++++ .../react/src/components/Modal/index.scss | 139 ++++++ .../react/src/components/Modal/index.spec.tsx | 419 ++++++++++++++++++ .../src/components/Modal/index.stories.tsx | 170 +++++++ packages/react/src/components/Modal/index.tsx | 165 +++++++ packages/react/src/components/Modal/tokens.ts | 19 + .../react/src/components/Provider/index.tsx | 5 +- .../react/src/components/Toast/DocUtils.tsx | 4 +- .../src/components/Toast/ToastProvider.tsx | 13 +- .../react/src/components/Toast/index.spec.tsx | 19 +- .../src/components/Toast/index.stories.tsx | 29 +- packages/react/src/components/Toast/index.tsx | 5 +- packages/react/src/cunningham-tokens.css | 12 + packages/react/src/cunningham-tokens.js | 2 +- packages/react/src/cunningham-tokens.scss | 14 + packages/react/src/cunningham-tokens.ts | 2 +- packages/react/src/index.scss | 1 + packages/react/src/index.ts | 2 + packages/react/src/locales/en-US.json | 21 + packages/react/src/utils/VariantUtils.ts | 37 ++ 32 files changed, 1723 insertions(+), 111 deletions(-) create mode 100644 .changeset/ten-teachers-rescue.md create mode 100644 packages/react/src/components/Modal/ConfirmationModal.tsx create mode 100644 packages/react/src/components/Modal/DeleteConfirmationModal.tsx create mode 100644 packages/react/src/components/Modal/MessageModal.tsx create mode 100644 packages/react/src/components/Modal/ModalProvider.tsx create mode 100644 packages/react/src/components/Modal/PreBuilt.stories.tsx create mode 100644 packages/react/src/components/Modal/index.mdx create mode 100644 packages/react/src/components/Modal/index.scss create mode 100644 packages/react/src/components/Modal/index.spec.tsx create mode 100644 packages/react/src/components/Modal/index.stories.tsx create mode 100644 packages/react/src/components/Modal/index.tsx create mode 100644 packages/react/src/components/Modal/tokens.ts create mode 100644 packages/react/src/utils/VariantUtils.ts diff --git a/.changeset/ten-teachers-rescue.md b/.changeset/ten-teachers-rescue.md new file mode 100644 index 0000000..0121550 --- /dev/null +++ b/.changeset/ten-teachers-rescue.md @@ -0,0 +1,5 @@ +--- +"@openfun/cunningham-react": minor +--- + +Add Modal component diff --git a/apps/demo/src/Create.tsx b/apps/demo/src/Create.tsx index 384df61..8a17753 100644 --- a/apps/demo/src/Create.tsx +++ b/apps/demo/src/Create.tsx @@ -1,7 +1,6 @@ import React from "react"; import { Alert, - AlertType, Button, Checkbox, DatePicker, @@ -13,8 +12,8 @@ import { Select, Switch, TextArea, - ToastType, useToastProvider, + VariantType, } from "@openfun/cunningham-react"; import { faker } from "@faker-js/faker"; import { Character, database, randomDates } from "./Character"; @@ -35,7 +34,7 @@ export const Create = ({ changePage }: PageProps) => { database.unshift(character); changePage(Page.HOME); - toast("Character created successfully", ToastType.SUCCESS); + toast("Character created successfully", VariantType.SUCCESS); }; return ( @@ -43,7 +42,7 @@ export const Create = ({ changePage }: PageProps) => {

Add a character

General Information

- + You are about to add a new character to the collection {

Bio

- + Please be exhaustive, every detail counts!