UNPKG

@workday/canvas-kit-docs

Version:

Documentation components of Canvas Kit components

178 lines (113 loc) 5.25 kB
import { ExampleCodeBlock, StylePropsTable, StorybookStatusIndicator, } from '@workday/canvas-kit-docs'; import { backgroundStyleFnConfigs, borderStyleFnConfigs, colorStyleFnConfigs, depthStyleFnConfigs, flexStyleFnConfigs, flexItemStyleFnConfigs, gridStyleFnConfigs, gridItemStyleFnConfigs, layoutStyleFnConfigs, otherStyleFnConfigs, positionStyleFnConfigs, spaceStyleFnConfigs, textStyleFnConfigs, } from '@workday/canvas-kit-react/layout'; import {InformationHighlight} from '@workday/canvas-kit-preview-react/information-highlight'; import Background from './examples/Background'; import Border from './examples/Border'; import Color from './examples/Color'; import Depth from './examples/Depth'; import FlexExample from './examples/Flex'; import FlexItem from './examples/FlexItem'; import GridExample from './examples/Grid'; import GridItem from './examples/GridItem'; import Layout from './examples/Layout'; import Other from './examples/Other'; import Position from './examples/Position'; import Space from './examples/Space'; import Text from './examples/Text'; # Style Props <StorybookStatusIndicator type="deprecated" /> Style props provide a common, ergonomic API for modifying a component's styles by passing styles with props. <InformationHighlight className="sb-unstyled" variant="caution"> <InformationHighlight.Icon /> <InformationHighlight.Heading> Style props are deprecated!</InformationHighlight.Heading> <InformationHighlight.Body> As we transition away from Emotion's runtime costs, we advise to move away from using style props. Please use our [styling utilities](https://workday.github.io/canvas-kit/?path=/docs/styling-getting-started-overview--docs) instead. For more information on this change, view our discussion on the [Future of Styling](https://github.com/Workday/canvas-kit/discussions/2265). You can use `14.1` codemod to automatic migration to `cs` prop. [Migration Docs](https://workday.github.io/canvas-kit/?path=/docs/guides-codemods--docs) </InformationHighlight.Body> </InformationHighlight> <br /> ## System Prop Values Many style props are design-system-aware and translate `SystemPropValues` for you automatically. In the example below, the `padding` prop translates the value `s` to `16px` and `frenchVanilla100` to `#ffffff`. These `SystemPropValues` are also included in our types, so your IDE's intellisense should suggest these values as you work. This allows you to use Canvas design tokens fluidly without disrupting your workflow. ```tsx <Box padding="s" backgroundColor="frenchVanilla100"> Hello, style props! </Box> ``` There are seven types of system prop values: `color`, `depth`, `font`, `fontSize`, `fontWeight`, `shape`, and `space` — corresponding to our Canvas design tokens. Each style prop section below includes a table. The "System" column in that table will tell you which system prop values are supported. ## Background Background style props allow you to adjust the background styles of components. <ExampleCodeBlock code={Background} /> <StylePropsTable styleProps={backgroundStyleFnConfigs} /> ## Border Border style props allow you to adjust the border styles of components. <ExampleCodeBlock code={Border} /> <StylePropsTable styleProps={borderStyleFnConfigs} /> ## Color Color style props allow you to adjust the color styles of components. <ExampleCodeBlock code={Color} /> <StylePropsTable styleProps={colorStyleFnConfigs} /> ## Depth Depth style props allow you to adjust the depth styles of components. <ExampleCodeBlock code={Depth} /> <StylePropsTable styleProps={depthStyleFnConfigs} /> ## Flex Flex style props allow you to adjust the flex styles of components. <ExampleCodeBlock code={FlexExample} /> <StylePropsTable styleProps={flexStyleFnConfigs} /> ## Flex Item Flex item style props allow you to adjust the flex item styles of components. <ExampleCodeBlock code={FlexItem} /> <StylePropsTable styleProps={flexItemStyleFnConfigs} /> ## Grid Grid style props allow you to adjust the grid styles of components. <ExampleCodeBlock code={GridExample} /> <StylePropsTable styleProps={gridStyleFnConfigs} /> ## Grid Item Grid item style props allow you to adjust the grid item styles of components. <ExampleCodeBlock code={GridItem} /> <StylePropsTable styleProps={gridItemStyleFnConfigs} /> ## Layout Layout style props allow you to adjust the layout styles of components. <ExampleCodeBlock code={Layout} /> <StylePropsTable styleProps={layoutStyleFnConfigs} /> ## Other Other style props allow you to adjust the other, miscellaneous styles of components. <ExampleCodeBlock code={Other} /> <StylePropsTable styleProps={otherStyleFnConfigs} /> ## Position Position style props allow you to adjust the position styles of components. <ExampleCodeBlock code={Position} /> <StylePropsTable styleProps={positionStyleFnConfigs} /> ## Space Space style props allow you to adjust the space styles of components. <ExampleCodeBlock code={Space} /> <StylePropsTable styleProps={spaceStyleFnConfigs} /> ## Text Text style props allow you to adjust the text styles of components. <ExampleCodeBlock code={Text} /> <StylePropsTable styleProps={textStyleFnConfigs} />