5.3.3 • Published 4 years ago
@class101/styled-system__edit v5.3.3
@class101/styled-system__edit
WIP Debugging tool for live editing Styled System theme objects
Currently only works with Emotion
npm i @class101/styled-system__editimport React from 'react'
import { ThemeProvider } from 'emotion-theming'
import { EditProvider, ThemeControls } from '@class101/styled-system__edit'
import theme from './theme'
export default props =>
<ThemeProvider theme={theme}>
<EditProvider>
{props.children}
<ThemeControls />
</EditProvider>
</ThemeProvider>Components
EditProvidera stateful theme provider with context for live editing – receivesthemefrom parent contextThemeControlsa full, batteries-included theme editing formFieldSetrenders fields for part of athemeobjectFieldrenders a form field for a single value from thethemeobject
// example using FieldSet
import React from 'react'
import { ThemeProvider } from 'emotion-theming'
import { EditProvider, ThemeControls } from '@class101/styled-system__edit'
import theme from './theme'
export default props =>
<ThemeProvider theme={theme}>
<EditProvider>
{props.children}
<FieldSet name='colors' />
<FieldSet name='fontSizes' />
</EditProvider>
</ThemeProvider>// example using Field
import React from 'react'
import { ThemeProvider } from 'emotion-theming'
import { EditProvider, ThemeControls } from '@class101/styled-system__edit'
import theme from './theme'
export default props =>
<ThemeProvider theme={theme}>
<EditProvider>
{props.children}
<FieldSet name='colors.text' />
<FieldSet name='colors.background' />
</EditProvider>
</ThemeProvider>FieldSet
Props
name(string) dot-notation key path forthemeobjecttype(string) type prop for child Field components (see below)ignore(array) array of key names to omit from the form
Field
Props
name(string) dot-notation key path forthemeobjecttype(string | 'number', 'select', or 'color') type of form field to renderoptions(array) array of options to render forselecttype fieldsrender(function) render prop for custom field UI
MIT License