cf-component-box
Cloudflare Box Component
This is styling component similar to cf-component-flex which allows for arbitrary styling.
This component should only be used when the built in style doesn't quite fit the bill and when it can't be done with fela. Ideally cfui components should have the right styling built in for most cases. In the few edge cases that pop up in real world feature development this is an alternative to wrapping your component in a <div>
or <span>
and styling it with css to accomodate one-offs.
Also note that using Box effectively performs a component level CSS reset as all props not provided will be pulled from the default theme. These defaults outlined in propertiesSpec either match the browser defaults or are taken from our global styles as defined by cf-style-const.
Installation
Installation with yarn is recommended
$ yarn add cf-component-box
Usage
import React from 'react';import Box from 'cf-component-box'; const BoxComponent = <Box> <Box ="1rem" ="thistle"> This is a box with a margin </Box> <Box ="1rem" ="blanchedalmond"> This is a box with padding </Box> <Box ="1rem" ="1rem" ="black" = ="solid" ="blue" = ="groove" ="teal" = ="dashed" ="purple" = ="dotted" > All the borders! </Box> <Box ="inline-block" ="1rem" ="1rem" ="40%" ="center" ="#3dd" > inline block </Box> <Box ="1rem" ="2rem" ="peachpuff" ="inline-flex" ="space-between" ="40%" > <Box ="lightsalmon" ="1rem" ="1rem"> Flex </Box> <Box ="lightsalmon" ="1rem" ="1rem"> Flex </Box> <Box ="lightsalmon" ="1rem" ="1rem"> Flex </Box> </Box> <Box ="1rem"> <h4>Absolute Positioning</h4> </Box> <Box ="1rem" ="aquamarine" ="relative" = = ="inline-block" > <Box ="pink" ="absolute" = = = = /> <Box ="1rem" ="azure" ="absolute" = = = = /> </Box> <Box ="1rem" ="1rem" ="lightsalmon" ="right" > Floated right </Box> </Box>; ;