packages/palette-chakra-ui/palette.tsx (1,392 lines of code) (raw):

import React, { useRef } from "react"; import { Category, Component, Variant, Palette, } from "@react-buddy/ide-toolbox"; import { Badge, Box, Button, ButtonGroup, Center, Checkbox, Circle, Container, Editable, EditableInput, EditablePreview, EditableTextarea, Flex, FormControl, FormHelperText, FormLabel, HStack, IconButton, Input, Image, NumberDecrementStepper, NumberIncrementStepper, NumberInput, NumberInputField, NumberInputStepper, PinInput, PinInputField, Radio, RadioGroup, RangeSlider, RangeSliderFilledTrack, RangeSliderThumb, RangeSliderTrack, Select, Slider, SliderFilledTrack, SliderThumb, SliderTrack, Square, Stack, Switch, Textarea, Text, Grid, GridItem, SimpleGrid, VStack, WrapItem, Wrap, Code, Divider, Kbd, UnorderedList, ListItem, OrderedList, Stat, StatLabel, StatNumber, StatHelpText, StatGroup, StatArrow, TableContainer, Table, TableCaption, Thead, Td, Tr, Tbody, Th, Tfoot, Tag, TagLabel, TagLeftIcon, TagCloseButton, Alert, AlertIcon, CircularProgress, CircularProgressLabel, Progress, Skeleton, SkeletonCircle, SkeletonText, Spinner, useToast, Heading, AlertDialog, AlertDialogOverlay, AlertDialogHeader, AlertDialogCloseButton, AlertDialogContent, AlertDialogBody, AlertDialogFooter, Drawer, DrawerOverlay, DrawerContent, DrawerCloseButton, DrawerHeader, DrawerBody, DrawerFooter, Menu, MenuList, MenuItem, MenuButton, Modal, ModalCloseButton, ModalOverlay, ModalContent, ModalHeader, ModalBody, ModalFooter, Popover, PopoverTrigger, PopoverContent, PopoverCloseButton, PopoverArrow, PopoverBody, PopoverHeader, Tooltip, AccordionItem, AccordionButton, Accordion, AccordionIcon, AccordionPanel, Tabs, TabList, Tab, TabPanel, TabPanels, VisuallyHidden, Breadcrumb, BreadcrumbItem, BreadcrumbLink, Link, LinkBox, LinkOverlay, Avatar, useDisclosure, } from "@chakra-ui/react"; import { AddIcon, CheckIcon, ChevronDownIcon, EmailIcon, ExternalLinkIcon, SearchIcon, } from "@chakra-ui/icons"; export default () => ( <Palette embeddable> <Category name="Layout"> <Component name="Box" docURL="https://chakra-ui.com/docs/components/box"> <Variant> <Box bg="tomato" w="100%" p={4} color="white"> This is the Box </Box> </Variant> </Component> <Component name="Center" docURL="https://chakra-ui.com/docs/components/center" > <Variant> <Center bg="tomato" w="100%" h="100px" color="white"> This is the Center </Center> </Variant> </Component> <Component name="Circle" docURL="https://chakra-ui.com/docs/components/center#square-and-circle" > <Variant> <Circle size="40px" bg="tomato" color="white"> 1 </Circle> </Variant> </Component> <Component name="Square" docURL="https://chakra-ui.com/docs/components/center#square-and-circle" > <Variant> <Square size="40px" bg="purple.700" color="white"> 2 </Square> </Variant> </Component> <Component name="Container" docURL="https://chakra-ui.com/docs/components/container" > <Variant> <Container> There are many benefits to a joint design and development system. Not only does it bring benefits to the design team, but it also brings benefits to engineering teams. It makes sure that our experiences have a consistent look and feel, not just in our design specs, but in production </Container> </Variant> </Component> <Component name="Flex" docURL="https://chakra-ui.com/docs/components/flex" > <Variant> <Flex> <Center w="100px" bg="green.500"> <Text>Box 1</Text> </Center> <Square bg="blue.500" size="150px"> <Text>Box 2</Text> </Square> <Box flex="1" bg="tomato"> <Text>Box 3</Text> </Box> </Flex> </Variant> </Component> <Component name="Grid" docURL="https://chakra-ui.com/docs/components/grid" > <Variant> <Grid h="200px" w="100%" templateRows="repeat(2, 1fr)" templateColumns="repeat(5, 1fr)" gap={4} > <GridItem rowSpan={2} colSpan={1} bg="tomato" /> <GridItem colSpan={2} bg="papayawhip" /> <GridItem colSpan={2} bg="papayawhip" /> <GridItem colSpan={4} bg="tomato" /> </Grid> </Variant> </Component> <Component name="SimpleGrid" docURL="https://chakra-ui.com/docs/components/simple-grid" > <Variant> <SimpleGrid columns={2} spacing={10} w="100%"> <Box bg="tomato" height="80px"></Box> <Box bg="tomato" height="80px"></Box> <Box bg="tomato" height="80px"></Box> <Box bg="tomato" height="80px"></Box> <Box bg="tomato" height="80px"></Box> </SimpleGrid> </Variant> </Component> <Component name="HStack" docURL="https://chakra-ui.com/docs/components/stack#feature-cards-with-hstack-component" > <Variant> <HStack spacing="24px"> <Box w="40px" h="40px" bg="green.100"> 1 </Box> <Box w="40px" h="40px" bg="green.100"> 2 </Box> <Box w="40px" h="40px" bg="green.100"> 3 </Box> </HStack> </Variant> </Component> <Component name="VStack" docURL="https://chakra-ui.com/docs/components/stack#stack-dividers" > <Variant> <VStack spacing="24px"> <Box w="40px" h="40px" bg="green.100"> 1 </Box> <Box w="40px" h="40px" bg="green.100"> 2 </Box> <Box w="40px" h="40px" bg="green.100"> 3 </Box> </VStack> </Variant> </Component> <Component name="Wrap" docURL="https://chakra-ui.com/docs/components/wrap" > <Variant> <Wrap> <WrapItem> <Center w="180px" h="80px" bg="red.200"> Box 1 </Center> </WrapItem> <WrapItem> <Center w="180px" h="80px" bg="green.200"> Box 2 </Center> </WrapItem> <WrapItem> <Center w="180px" h="80px" bg="tomato"> Box 3 </Center> </WrapItem> <WrapItem> <Center w="180px" h="80px" bg="blue.200"> Box 4 </Center> </WrapItem> </Wrap> </Variant> </Component> </Category> <Category name="Forms"> <Component name="Button" docURL="https://chakra-ui.com/docs/components/button" > <Variant> <Button>Button</Button> </Variant> <Variant name="outline"> <Button variant="outline">Button</Button> </Variant> <Variant name="ghost"> <Button variant="ghost">Button</Button> </Variant> <Variant name="link"> <Button variant="link">Button</Button> </Variant> <Variant name="with icon"> <Button leftIcon={<EmailIcon />} colorScheme="teal" variant="solid"> Email </Button> </Variant> <Variant name="is loading"> <Button isLoading loadingText="Submitting" colorScheme="teal" variant="outline" > Submit </Button> </Variant> <Variant name="large"> <Button size="lg">Button</Button> </Variant> <Variant name="small"> <Button size="sm">Button</Button> </Variant> <Variant name="extra small"> <Button size="xs">Button</Button> </Variant> <Variant name="button group"> <ButtonGroup variant="outline" spacing="6"> <Button colorScheme="blue">Save</Button> <Button>Cancel</Button> </ButtonGroup> </Variant> </Component> <Component name="Checkbox" docURL="https://chakra-ui.com/docs/components/checkbox" > <Variant> <Checkbox defaultChecked>Checkbox</Checkbox> </Variant> <Variant name="small"> <Checkbox size="sm" colorScheme="red"> Checkbox </Checkbox> </Variant> <Variant name="large"> <Checkbox size="lg" colorScheme="orange" defaultChecked> Checkbox </Checkbox> </Variant> </Component> <Component name="Editable" docURL="https://chakra-ui.com/docs/components/editable" > <Variant name="input"> <Editable defaultValue="Take some chakra"> <EditablePreview /> <EditableInput /> </Editable> </Variant> <Variant name="textarea"> <Editable defaultValue="Take some chakra"> <EditablePreview /> <EditableTextarea /> </Editable> </Variant> </Component> <Component name="FormControl" docURL="https://chakra-ui.com/docs/components/form-control" subComponents={[<FormLabel />, <FormHelperText />]} > <Variant> <FormControl> <FormLabel htmlFor="email">Email address</FormLabel> <Input id="email" type="email" /> <FormHelperText>We'll never share your email.</FormHelperText> </FormControl> </Variant> </Component> <Component name="IconButton" docURL="https://chakra-ui.com/docs/components/icon-button" > <Variant> <IconButton aria-label="Search database" icon={<SearchIcon />} /> </Variant> </Component> <Component name="Input" docURL="https://chakra-ui.com/docs/components/input" > <Variant> <Input placeholder="Basic usage" /> </Variant> <Variant name="outline"> <Input variant="outline" placeholder="Outline" /> </Variant> <Variant name="filled"> <Input variant="filled" placeholder="Filled" /> </Variant> <Variant name="flushed"> <Input variant="flushed" placeholder="Flushed" /> </Variant> <Variant name="unstyled"> <Input variant="unstyled" placeholder="Unstyled" /> </Variant> <Variant name="password"> <Input pr="4.5rem" type="password" placeholder="Enter password" /> </Variant> </Component> <Component name="NumberInput" docURL="https://chakra-ui.com/docs/components/number-input" > <Variant> <NumberInput step={5} defaultValue={15} min={10} max={30}> <NumberInputField /> <NumberInputStepper> <NumberIncrementStepper /> <NumberDecrementStepper /> </NumberInputStepper> </NumberInput> </Variant> </Component> <Component name="PinInput" docURL="https://chakra-ui.com/docs/components/pin-input" > <Variant> <HStack> <PinInput> <PinInputField /> <PinInputField /> <PinInputField /> <PinInputField /> </PinInput> </HStack> </Variant> </Component> <Component name="RadioGroup" docURL="https://chakra-ui.com/docs/components/radio" > <Variant> <RadioGroup> <Stack direction="row"> <Radio value="1">First</Radio> <Radio value="2">Second</Radio> <Radio value="3">Third</Radio> </Stack> </RadioGroup> </Variant> </Component> <Component name="RangeSlider" docURL="https://chakra-ui.com/docs/components/range-slider" > <Variant> <RangeSlider aria-label={["min", "max"]} colorScheme="pink" defaultValue={[10, 30]} > <RangeSliderTrack> <RangeSliderFilledTrack /> </RangeSliderTrack> <RangeSliderThumb index={0} /> <RangeSliderThumb index={1} /> </RangeSlider> </Variant> </Component> <Component name="Select" docURL="https://chakra-ui.com/docs/components/select" > <Variant> <Select placeholder="Select option"> <option value="option1">Option 1</option> <option value="option2">Option 2</option> <option value="option3">Option 3</option> </Select> </Variant> <Variant name="outline"> <Select variant="outline" placeholder="Outline"> <option value="option1">Option 1</option> <option value="option2">Option 2</option> <option value="option3">Option 3</option> </Select> </Variant> <Variant name="filled"> <Select variant="filled" placeholder="Filled"> <option value="option1">Option 1</option> <option value="option2">Option 2</option> <option value="option3">Option 3</option> </Select> </Variant> <Variant name="flushed"> <Select variant="flushed" placeholder="Flushed"> <option value="option1">Option 1</option> <option value="option2">Option 2</option> <option value="option3">Option 3</option> </Select> </Variant> <Variant name="unstyled"> <Select variant="unstyled" placeholder="Unstyled"> <option value="option1">Option 1</option> <option value="option2">Option 2</option> <option value="option3">Option 3</option> </Select> </Variant> </Component> <Component name="Slider" docURL="https://chakra-ui.com/docs/components/slider" > <Variant> <Slider aria-label="slider-ex-1" defaultValue={30}> <SliderTrack> <SliderFilledTrack /> </SliderTrack> <SliderThumb /> </Slider> </Variant> </Component> <Component name="Switch" docURL="https://chakra-ui.com/docs/components/switch" > <Variant> <Switch /> </Variant> <Variant name="small"> <Switch size="sm" /> </Variant> <Variant name="large"> <Switch size="lg" /> </Variant> </Component> <Component name="Textarea" docURL="https://chakra-ui.com/docs/components/textarea" > <Variant> <Textarea placeholder="Here is a sample placeholder" /> </Variant> </Component> </Category> <Category name="Data Display"> <Component name="Badge" docURL="https://chakra-ui.com/docs/components/badge" > <Variant> <Badge>Default</Badge> </Variant> <Variant name="outline"> <Badge variant="outline" colorScheme="green"> Default </Badge> </Variant> <Variant name="solid"> <Badge variant="solid" colorScheme="green"> Success </Badge> </Variant> <Variant name="subtle"> <Badge variant="subtle" colorScheme="green"> Removed </Badge> </Variant> <Variant name="green"> <Badge colorScheme="green">Success</Badge> </Variant> <Variant name="red"> <Badge colorScheme="red">Removed</Badge> </Variant> <Variant name="purple"> <Badge colorScheme="purple">New</Badge> </Variant> </Component> <Component name="Code" docURL="https://chakra-ui.com/docs/components/code" > <Variant> <Code>Hello world</Code> </Variant> </Component> <Component name="Divider" docURL="https://chakra-ui.com/docs/components/divider" > <Variant> <Divider /> </Variant> <Variant name="vertical" style={{ height: "100%" }}> <Divider orientation="vertical" /> </Variant> </Component> <Component name="Kbd" docURL="https://chakra-ui.com/docs/components/kbd"> <Variant> <span> <Kbd>shift</Kbd> + <Kbd>H</Kbd> </span> </Variant> </Component> <Component name="List" docURL="https://chakra-ui.com/docs/components/list" subComponents={[<ListItem />]} > <Variant name="unordered"> <UnorderedList> <ListItem>Lorem ipsum dolor sit amet</ListItem> <ListItem>Consectetur adipiscing elit</ListItem> <ListItem>Integer molestie lorem at massa</ListItem> <ListItem>Facilisis in pretium nisl aliquet</ListItem> </UnorderedList> </Variant> <Variant name="ordered"> <OrderedList> <ListItem>Lorem ipsum dolor sit amet</ListItem> <ListItem>Consectetur adipiscing elit</ListItem> <ListItem>Integer molestie lorem at massa</ListItem> <ListItem>Facilisis in pretium nisl aliquet</ListItem> </OrderedList> </Variant> </Component> <Component name="Stat" docURL="https://chakra-ui.com/docs/components/stat" > <Variant> <Stat> <StatLabel>Collected Fees</StatLabel> <StatNumber>£0.00</StatNumber> <StatHelpText>Feb 12 - Feb 28</StatHelpText> </Stat> </Variant> <Variant name="with indicator"> <StatGroup> <Stat> <StatLabel>Sent</StatLabel> <StatNumber>345,670</StatNumber> <StatHelpText> <StatArrow type="increase" /> 23.36% </StatHelpText> </Stat> <Stat> <StatLabel>Clicked</StatLabel> <StatNumber>45</StatNumber> <StatHelpText> <StatArrow type="decrease" /> 9.05% </StatHelpText> </Stat> </StatGroup> </Variant> </Component> <Component name="Table" docURL="https://chakra-ui.com/docs/components/table" > <Variant> <TableContainer> <Table variant="simple"> <TableCaption>Imperial to metric conversion factors</TableCaption> <Thead> <Tr> <Th>To convert</Th> <Th>into</Th> <Th isNumeric>multiply by</Th> </Tr> </Thead> <Tbody> <Tr> <Td>inches</Td> <Td>millimetres (mm)</Td> <Td isNumeric>25.4</Td> </Tr> <Tr> <Td>feet</Td> <Td>centimetres (cm)</Td> <Td isNumeric>30.48</Td> </Tr> <Tr> <Td>yards</Td> <Td>metres (m)</Td> <Td isNumeric>0.91444</Td> </Tr> </Tbody> <Tfoot> <Tr> <Th>To convert</Th> <Th>into</Th> <Th isNumeric>multiply by</Th> </Tr> </Tfoot> </Table> </TableContainer> </Variant> <Variant name="Striped"> <TableContainer> <Table variant="striped" colorScheme="teal"> <TableCaption>Imperial to metric conversion factors</TableCaption> <Thead> <Tr> <Th>To convert</Th> <Th>into</Th> <Th isNumeric>multiply by</Th> </Tr> </Thead> <Tbody> <Tr> <Td>inches</Td> <Td>millimetres (mm)</Td> <Td isNumeric>25.4</Td> </Tr> <Tr> <Td>feet</Td> <Td>centimetres (cm)</Td> <Td isNumeric>30.48</Td> </Tr> <Tr> <Td>yards</Td> <Td>metres (m)</Td> <Td isNumeric>0.91444</Td> </Tr> </Tbody> <Tfoot> <Tr> <Th>To convert</Th> <Th>into</Th> <Th isNumeric>multiply by</Th> </Tr> </Tfoot> </Table> </TableContainer> </Variant> </Component> <Component name="Tag" docURL="https://chakra-ui.com/docs/components/tag"> <Variant> <Tag>Sample Tag</Tag> </Variant> <Variant name="with icon"> <Tag variant="subtle" colorScheme="cyan"> <TagLeftIcon boxSize="12px" as={AddIcon} /> <TagLabel>Cyan</TagLabel> </Tag> </Variant> <Variant name="with close button"> <Tag borderRadius="full" variant="solid" colorScheme="green"> <TagLabel>Green</TagLabel> <TagCloseButton /> </Tag> </Variant> </Component> </Category> <Category name="Feedback"> <Component name="Alert" docURL="https://chakra-ui.com/docs/components/alert" > <Variant> <Alert status="success" variant="subtle"> <AlertIcon /> Data uploaded to the server. Fire on! </Alert> </Variant> <Variant name="solid"> <Alert status="success" variant="solid"> <AlertIcon /> Data uploaded to the server. Fire on! </Alert> </Variant> <Variant name="left-accent"> <Alert status="success" variant="left-accent"> <AlertIcon /> Data uploaded to the server. Fire on! </Alert> </Variant> <Variant name="top-accent"> <Alert status="success" variant="top-accent"> <AlertIcon /> Data uploaded to the server. Fire on! </Alert> </Variant> <Variant name="error"> <Alert status="error"> <AlertIcon /> There was an error processing your request </Alert> </Variant> <Variant name="warning"> <Alert status="warning"> <AlertIcon /> Seems your account is about expire, upgrade now </Alert> </Variant> <Variant name="info"> <Alert status="info"> <AlertIcon /> Chakra is going live on August 30th. Get ready! </Alert> </Variant> </Component> <Component name="CircularProgress" docURL="https://chakra-ui.com/docs/components/circular-progress" > <Variant> <CircularProgress value={80} /> </Variant> <Variant name="with label"> <CircularProgress value={40} color="green.400"> <CircularProgressLabel>40%</CircularProgressLabel> </CircularProgress> </Variant> <Variant name="indeterminate"> <CircularProgress isIndeterminate color="green.300" /> </Variant> </Component> <Component name="Progress" docURL="https://chakra-ui.com/docs/components/progress" > <Variant> <Progress value={80} w="100%" /> </Variant> <Variant name="indeterminate"> <Progress size="xs" w="100%" isIndeterminate /> </Variant> </Component> <Component name="Skeleton" docURL="https://chakra-ui.com/docs/components/skeleton" > <Variant previewLayout="stretch"> <Stack> <Skeleton height="20px" /> <Skeleton height="20px" /> <Skeleton height="20px" /> </Stack> </Variant> <Variant name="circle and text"> <Box padding="6" boxShadow="lg" bg="white" w="100%"> <SkeletonCircle size="10" /> <SkeletonText mt="4" noOfLines={4} spacing="4" /> </Box> </Variant> </Component> <Component name="Spinner" docURL="https://chakra-ui.com/docs/components/spinner" > <Variant> <Spinner /> </Variant> </Component> <Component name="Toast" docURL="https://chakra-ui.com/docs/components/toast" > <Variant proto={ToastProto} /> </Component> </Category> <Category name="Typography"> <Component name="Text" docURL="https://chakra-ui.com/docs/components/text" > <Variant name="truncated"> <Text color="gray.500" noOfLines={1}> Lorem ipsum is placeholder text commonly used in the graphic, print, and publishing industries for previewing layouts and visual mockups. </Text> </Variant> <Variant name="size 6xl"> <Text fontSize="6xl">(6xl) In love with React & Next</Text> </Variant> <Variant name="size 5xl"> <Text fontSize="5xl">(5xl) In love with React & Next</Text> </Variant> <Variant name="size 4xl"> <Text fontSize="4xl">(4xl) In love with React & Next</Text> </Variant> <Variant name="size 3xl"> <Text fontSize="3xl">(3xl) In love with React & Next</Text> </Variant> <Variant name="size 2xl"> <Text fontSize="2xl">(2xl) In love with React & Next</Text> </Variant> <Variant name="size xl"> <Text fontSize="xl">(xl) In love with React & Next</Text> </Variant> <Variant name="size lg"> <Text fontSize="lg">(lg) In love with React & Next</Text> </Variant> <Variant name="size md"> <Text fontSize="md">(md) In love with React & Next</Text> </Variant> <Variant name="size sm"> <Text fontSize="sm">(sm) In love with React & Next</Text> </Variant> <Variant name="size xs"> <Text fontSize="xs">(xs) In love with React & Next</Text> </Variant> <Variant name="i"> <Text as="i">Italic</Text> </Variant> <Variant name="u"> <Text as="u">Underline</Text> </Variant> <Variant name="abbr"> <Text as="abbr">I18N</Text> </Variant> <Variant name="cite"> <Text as="cite">Citation</Text> </Variant> <Variant name="del"> <Text as="del">Deleted</Text> </Variant> <Variant name="em"> <Text as="em">Emphasis</Text> </Variant> <Variant name="ins"> <Text as="ins">Inserted</Text> </Variant> <Variant name="kbd"> <Text as="kbd">Ctrl + C</Text> </Variant> <Variant name="mark"> <Text as="mark">Highlighted</Text> </Variant> <Variant name="s"> <Text as="s">Strikethrough</Text> </Variant> <Variant name="samp"> <Text as="samp">Sample</Text> </Variant> <Variant name="sub"> <Text as="sub">sub</Text> </Variant> <Variant name="sup"> <Text as="cite">Citation</Text> <Text as="sup">sup</Text> </Variant> </Component> <Component name="Heading" docURL="https://chakra-ui.com/docs/components/heading" > <Variant name="h1"> <Heading as="h1" size="4xl" noOfLines={1}> (4xl) In love with React & Next </Heading> </Variant> <Variant name="h2"> <Heading as="h2" size="3xl" noOfLines={1}> (3xl) In love with React & Next </Heading> </Variant> <Variant name="h3"> <Heading as="h3" size="lg"> (lg) In love with React & Next </Heading> </Variant> <Variant name="h4"> <Heading as="h4" size="md"> (md) In love with React & Next </Heading> </Variant> <Variant name="h5"> <Heading as="h5" size="sm"> (sm) In love with React & Next </Heading> </Variant> <Variant name="h6"> <Heading as="h6" size="xs"> (xs) In love with React & Next </Heading> </Variant> </Component> </Category> <Category name="Overlay"> <Component name="AlertDialog" docURL="https://chakra-ui.com/docs/components/alert-dialog" > <Variant proto={AlertDialogProto} /> </Component> <Component name="Drawer" docURL="https://chakra-ui.com/docs/components/drawer" > <Variant> <Drawer isOpen={true} placement="right" onClose={() => { /*todo*/ }} finalFocusRef={undefined /*todo*/} > <DrawerOverlay /> <DrawerContent> <DrawerCloseButton /> <DrawerHeader>Create your account</DrawerHeader> <DrawerBody> <Input placeholder="Type here..." /> </DrawerBody> <DrawerFooter> <Button variant="outline" mr={3} onClick={() => { /*todo*/ }} > Cancel </Button> <Button colorScheme="blue">Save</Button> </DrawerFooter> </DrawerContent> </Drawer> </Variant> </Component> <Component name="Menu" docURL="https://chakra-ui.com/docs/components/menu" > <Variant> <Menu> <MenuButton as={Button} rightIcon={<ChevronDownIcon />}> Actions </MenuButton> <MenuList> <MenuItem>Download</MenuItem> <MenuItem>Create a Copy</MenuItem> <MenuItem>Mark as Draft</MenuItem> <MenuItem>Delete</MenuItem> <MenuItem>Attend a Workshop</MenuItem> </MenuList> </Menu> </Variant> </Component> <Component name="Modal" docURL="https://chakra-ui.com/docs/components/modal" > <Variant> <Modal isOpen={true} onClose={() => { /*todo*/ }} > <ModalOverlay /> <ModalContent> <ModalHeader>Modal Title</ModalHeader> <ModalCloseButton /> <ModalBody> Sit nulla est ex deserunt exercitation anim occaecat. Nostrud ullamco deserunt aute id consequat veniam incididunt duis in sint irure nisi. </ModalBody> <ModalFooter> <Button colorScheme="blue" mr={3} onClick={() => { /*todo*/ }} > Close </Button> <Button variant="ghost">Secondary Action</Button> </ModalFooter> </ModalContent> </Modal> </Variant> </Component> <Component name="Popover" docURL="https://chakra-ui.com/docs/components/popover" > <Variant> <Popover> <PopoverTrigger> <Button>Trigger</Button> </PopoverTrigger> <PopoverContent> <PopoverArrow /> <PopoverCloseButton /> <PopoverHeader>Confirmation!</PopoverHeader> <PopoverBody> Are you sure you want to have that milkshake? </PopoverBody> </PopoverContent> </Popover> </Variant> </Component> <Component name="Tooltip" docURL="https://chakra-ui.com/docs/components/tooltip" > <Variant> <Tooltip label="Hey, I'm here!" aria-label="A tooltip"> Hover me </Tooltip> </Variant> </Component> </Category> <Category name="Disclosure"> <Component name="Accordion" docURL="https://chakra-ui.com/docs/components/accordion" > <Variant previewLayout="stretch"> <Accordion> <AccordionItem> <h2> <AccordionButton> <Box flex="1" textAlign="left"> Section 1 title </Box> <AccordionIcon /> </AccordionButton> </h2> <AccordionPanel pb={4}> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </AccordionPanel> </AccordionItem> <AccordionItem> <h2> <AccordionButton> <Box flex="1" textAlign="left"> Section 2 title </Box> <AccordionIcon /> </AccordionButton> </h2> <AccordionPanel pb={4}> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </AccordionPanel> </AccordionItem> </Accordion> </Variant> </Component> <Component name="Tabs" docURL="https://chakra-ui.com/docs/components/tabs" > <Variant> <Tabs> <TabList> <Tab>One</Tab> <Tab>Two</Tab> <Tab>Three</Tab> </TabList> <TabPanels> <TabPanel> <p>one!</p> </TabPanel> <TabPanel> <p>two!</p> </TabPanel> <TabPanel> <p>three!</p> </TabPanel> </TabPanels> </Tabs> </Variant> </Component> <Component name="VisuallyHidden" docURL="https://chakra-ui.com/docs/components/visually-hidden" > <Variant> <Button> <VisuallyHidden>Checkmark</VisuallyHidden> <CheckIcon /> </Button> </Variant> </Component> </Category> <Category name="Navigation"> <Component name="Breadcrumb" docURL="https://chakra-ui.com/docs/components/breadcrumb" > <Variant> <Breadcrumb> <BreadcrumbItem> <BreadcrumbLink href="#">Home</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbItem> <BreadcrumbLink href="#">Docs</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbItem isCurrentPage> <BreadcrumbLink href="#">Breadcrumb</BreadcrumbLink> </BreadcrumbItem> </Breadcrumb> </Variant> </Component> <Component name="Link" docURL="https://chakra-ui.com/docs/components/link" > <Variant> <Link>Chakra UI</Link> </Variant> <Variant name="external"> <Link href="https://chakra-ui.com" isExternal> Chakra Design system <ExternalLinkIcon mx="2px" /> </Link> </Variant> </Component> <Component name="LinkOverlay" docURL="https://chakra-ui.com/docs/components/link-overlay" > <Variant name="LinBox"> <LinkBox as="article" maxW="sm" p="5" borderWidth="1px" rounded="md"> <Heading size="md" my="2"> <LinkOverlay href="#"> New Year, New Beginnings: Smashing Workshops & Audits </LinkOverlay> </Heading> </LinkBox> </Variant> </Component> </Category> <Category name="Media and Icons"> <Component name="Avatar" docURL="https://chakra-ui.com/docs/components/avatar" > <Variant> <Wrap> <WrapItem> <Avatar name="Dan Abrahmov" src="https://bit.ly/dan-abramov" /> </WrapItem> <WrapItem> <Avatar name="Kola Tioluwani" src="https://bit.ly/tioluwani-kolawole" /> </WrapItem> <WrapItem> <Avatar name="Kent Dodds" src="https://bit.ly/kent-c-dodds" /> </WrapItem> <WrapItem> <Avatar name="Ryan Florence" src="https://bit.ly/ryan-florence" /> </WrapItem> <WrapItem> <Avatar name="Prosper Otemuyiwa" src="https://bit.ly/prosper-baba" /> </WrapItem> <WrapItem> <Avatar name="Christian Nwamba" src="https://bit.ly/code-beast" /> </WrapItem> <WrapItem> <Avatar name="Segun Adebayo" src="https://bit.ly/sage-adebayo" /> </WrapItem> </Wrap> </Variant> </Component> <Component name="Icon" docURL="https://chakra-ui.com/docs/components/icon" > <Variant> <AddIcon w={6} h={6} /> </Variant> {/*todo provide all icons*/} </Component> <Component name="Image" docURL="https://chakra-ui.com/docs/components/image" > <Variant> <Box boxSize="sm"> <Image src="https://bit.ly/dan-abramov" alt="Dan Abramov" /> </Box> </Variant> </Component> </Category> </Palette> ); export function ToastProto() { const toast = useToast(); return ( <Button onClick={() => toast({ title: "Account created.", description: "We've created your account for you.", status: "success", duration: 9000, isClosable: true, }) } > Show Toast </Button> ); } export function AlertDialogProto() { const { isOpen, onOpen, onClose } = useDisclosure(); const cancelRef = useRef<HTMLButtonElement>(null); return ( <> <Button colorScheme="red" onClick={onOpen}> Delete Customer </Button> <AlertDialog isOpen={isOpen} leastDestructiveRef={cancelRef} onClose={onClose} > <AlertDialogOverlay> <AlertDialogContent> <AlertDialogHeader fontSize="lg" fontWeight="bold"> Delete Customer </AlertDialogHeader> <AlertDialogBody> Are you sure? You can't undo this action afterwards. </AlertDialogBody> <AlertDialogFooter> <Button ref={cancelRef} onClick={onClose}> Cancel </Button> <Button colorScheme="red" onClick={onClose} ml={3}> Delete </Button> </AlertDialogFooter> </AlertDialogContent> </AlertDialogOverlay> </AlertDialog> </> ); }