Layout is meant to be configured once, on the root level of your application.
Calling Layout.configure() on your application's root mount is usually a good place:
import React, { useEffect } from 'react'
import ReactDOM from 'react-dom'
import Layout from 'atomic-layout'
const App = () => {
useEffect(() => {
// A single call to configure layout upon App's mount
Layout.configure(options)
}, [])
return <Tree />
}
ReactDOM.render(<App />, document.getElementById('root'))
Options
defaultUnit
Value type
String
Default value
px
Description
Default measurement unit used as a suffix for numeric prop values.
Example
src/App.jsx
import Layout from 'atomic-layout'
Layout.configure({
defaultUnit: 'rem',
})
src/components/SomeComponent.jsx
<Composition gap={2} /> // reads as "2rem" of "grid-gap"
defaultBehavior
Value type
up | down | only
Default value
up
Description
Breakpoint behavior used for responsive props without explicit behavior.
Example
src/App.jsx
import Layout from 'atomic-layout'
Layout.configure({
defaultBehavior: 'down',
})
src/components/SomeComponent.jsx
<Composition
template={...}
templateMd={...} />
Template prop value is applied for md breakpoint and down, as contrary to the default, mobile-first behavior, which applies the value from the given breakpoint and up.