Sometimes it's handy to define some custom properties mostly used as shortcuts.
A custom property basically is just a plain function that takes a value as input and outputs an object of style declarations.
yarn add fela-plugin-custom-property
You may alternatively use npm i --save fela-plugin-custom-property
.
Make sure to read the documentation on how to use plugins.
import { createRenderer } from 'fela'
import customProperty from 'fela-plugin-custom-property'
const renderer = createRenderer({
plugins: [customProperty()],
})
In order to get custom properties resolved, you need to configure the plugin with all custom properties once.
import { createRenderer } from 'fela'
import customProperty from 'fela-plugin-custom-property'
const sizeProperty = (size) => ({
width: size + 'px',
height: size + 'px',
})
const customPropertyPlugin = customProperty({
// the key defines the used CSS property
// the value references the resolving function
size: sizeProperty,
})
const renderer = createRenderer({
plugins: [customPropertyPlugin],
})
Let's say we want to have a custom property size
that accepts a single number which will then be transformed into both width
and height
with a px
unit applied.
{
size: 25
}
{
width: '25px',
height: '25px'
}
Fela is licensed under the MIT License.
Documentation is licensed under Creative Commons License.
Created with ♥ by @robinweser and all the great contributors.