1.0.0 • Published 11 months ago

@element-public/react-elevation v1.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
11 months ago

Elevation

Description

Elevation provides a shadow and optionally padding to show the relative distance in space between two surfaces.

See live demos on storybook

Storybook Elevation Demos

Install bundle from npm-e

npm i @element-public/react-components @element-public/themes

Optional: install the component individually

npm i @element-public/react-elevation @element-public/themes

Open ~/.npmrc in an editor and add the following line to enable the @element-public scope:

@element-public:registry=https://npm.platforms.engineering

Troubleshooting

See below if you have never installed a package from Bayer's npm-enterprise or run into the following error:

npm ERR! code E401
npm ERR! Unable to authenticate, your authentication token seems to be invalid.
npm ERR! To correct this please trying logging in again with:
npm ERR!     npm login

Setup an access token

See the devtools npm-e guide to learn how to create an access token if this is the first time you are using a npm-e package at Bayer or you do not have a line that starts with the following in your ~/.npmrc file:

//npm.platforms.engineering/:_authToken=

Notes

Some important props for Elevation include outlined, which determines whether or not the elevated object has a border around or just a shadow beneath it, rounded, which gives the elevated object a border radius of 8px, transition, which shows an animation when the object's elevation is changed, and finally padding, which adds padding around the child content and accepts standard, dense, airy, or custom values.

The customPadding prop for Elevation can be set to any user determined value, but must be passed in as a valid CSS padding declaration. i.e. 38px. This value will overwrite one of the preset padding values, if both are set.

The elevation prop can be set to a value ranging from 0, which shows no visible difference between surfaces, to 24, which creates the darkest shadow between the chosen object and the background surface.

Usage

The Elevation component is used as a container around content or other controls. The elevation applied to other components, like Button and Card, is implemented separately, as shown in Storybook demos and code snippets.

Elevation Props

NameTypeDefaultRequiredDescription
customPaddingstringnullfalseAdds a custom padding style to the child content. Must be a valid CSS padding declaration. i.e. 38px 30px
elevationnumber0falseSets the distance of the elevation. Value must be between 0-24.Accepted Values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
noWrapbooleannullfalseAvoids adding an extra element to the DOM and applies proper classes directly to the child element.
outlinedbooleanfalsefalseThe elevation element will have a visible border.
paddingstringundefinedfalseAdds a universal padding around the child content. dense is 8px, standard is 16px, and airy is 24px. If customPadding is used, this will be ignored.Accepted Values: standard, dense, airy
roundedbooleanfalsefalseThe elevation element will have a border radius of 8px.
tagstring|React.ElementType|React.Component'div'falseHTML tag to render the contents in.
transitionbooleannullfalseAdds animation when elevation is changed.

Elevation Render Props

NameTypeDefaultRequiredDescription
childrenReact.ReactNodenullfalseContent to be rendered inside the elevation.