import Alert, { EAlertVariant } from "@Front/Components/DesignSystem/Alert"; import Button, { EButtonSize, EButtonstyletype, EButtonVariant } from "@Front/Components/DesignSystem/Button"; import CircleProgress from "@Front/Components/DesignSystem/CircleProgress"; import Form from "@Front/Components/DesignSystem/Form"; import TextAreaField from "@Front/Components/DesignSystem/Form/TextareaField"; import TextField from "@Front/Components/DesignSystem/Form/TextField"; import IconButton, { EIconButtonVariant } from "@Front/Components/DesignSystem/IconButton"; import Modal from "@Front/Components/DesignSystem/Modal"; import Newsletter from "@Front/Components/DesignSystem/Newsletter"; import Table from "@Front/Components/DesignSystem/Table"; import Tag, { ETagColor, ETagVariant } from "@Front/Components/DesignSystem/Tag"; import Typography, { ETypo, ETypoColor } from "@Front/Components/DesignSystem/Typography"; import NumberPicker from "@Front/Components/Elements/NumberPicker"; import Tabs from "@Front/Components/Elements/Tabs"; import DefaultTemplate from "@Front/Components/LayoutTemplates/DefaultTemplate"; import useOpenable from "@Front/Hooks/useOpenable"; import { ArchiveBoxIcon, ArrowLongLeftIcon, ArrowLongRightIcon, EllipsisHorizontalIcon, PencilSquareIcon, UsersIcon, XMarkIcon, } from "@heroicons/react/24/outline"; import { useCallback, useMemo, useState } from "react"; import classes from "./classes.module.scss"; import ButtonWithSubMenu from "@Front/Components/Elements/ButtonWithSubMenu"; export default function DesignSystem() { const { isOpen, open, close } = useOpenable(); const userDb = useMemo( () => [ { username: "Maxime", id: 1, }, { username: "Vincent", id: 2, }, { username: "Massi", id: 3, }, { username: "Maxime", id: 4, }, { username: "Arnaud", id: 5, }, ], [], ); const userDbArray = useMemo( () => userDb.map((user) => ({ label: user.username, key: user.id.toString(), value: user, })), [userDb], ); const [selectedTab, setSelectedTab] = useState<(typeof userDb)[number]>(userDb[0]!); const onSelect = useCallback((value: (typeof userDb)[number]) => { setSelectedTab(value); }, []); return ( DesignSystem
Button icon with menu } subElements={[ { icon: , text: "Modifier les collaborateurs", onClick: () => alert("yo"), hasSeparator: true, }, { icon: , text: "Modifier les informations du dossier", link: "/", hasSeparator: true, }, { icon: , text: "Archiver le dossier", link: "/", color: ETypoColor.ERROR_WEAK_CONTRAST, }, ]} /> Inputs Number picker avec min à 1 et max à 10 {}} min={1} max={10} />
Modal , rightIcon: }} secondButton={{ children: "Confirmer", leftIcon: , rightIcon: }}> Modal Content Tabs tabs={userDbArray} onSelect={onSelect} /> {selectedTab.id} - {selectedTab.username} Circle Progress
Tags
Table Tags
Table Send email ), }, { key: "2", name: "Doe", firstname: "Jane", button: , }, { key: "3", name: "Doe", firstname: "Jack", button: , }, ]} /> Buttons
} variant={EIconButtonVariant.DEFAULT} /> } variant={EIconButtonVariant.NEUTRAL} /> } variant={EIconButtonVariant.PRIMARY} /> } variant={EIconButtonVariant.ERROR} /> } variant={EIconButtonVariant.SUCCESS} /> } variant={EIconButtonVariant.WARNING} /> } variant={EIconButtonVariant.INFO} /> } variant={EIconButtonVariant.INFO} disabled />
Alerts , rightIcon: , }} secondButton={{ children: "Button", leftIcon: , rightIcon: }} variant={EAlertVariant.INFO} closeButton /> , rightIcon: , }} secondButton={{ children: "Button", leftIcon: , rightIcon: }} variant={EAlertVariant.ERROR} /> , rightIcon: , }} secondButton={{ children: "Button", leftIcon: , rightIcon: }} variant={EAlertVariant.WARNING} /> , rightIcon: , }} secondButton={{ children: "Button", leftIcon: , rightIcon: }} variant={EAlertVariant.SUCCESS} /> , rightIcon: , }} secondButton={{ children: "Button", leftIcon: , rightIcon: }} variant={EAlertVariant.NEUTRAL} /> ); }