npm.io
12.2.1 • Published 3 years ago

fela-plugin-custom-property

Licence
MIT
Version
12.2.1
Deps
2
Size
10 kB
Vulns
0
Weekly
0
Stars
2.3K

fela-plugin-custom-property

npm version npm downloads Bundlephobia

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.

Installation

yarn add fela-plugin-custom-property

You may alternatively use npm i --save fela-plugin-custom-property.

Usage

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()],
})
Configuration

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],
})

Example

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.

Input
{
  size: 25
}
Output
{
  width: '25px',
  height: '25px'
}

License

Fela is licensed under the MIT License.
Documentation is licensed under Creative Commons License.
Created with by @robinweser and all the great contributors.

Keywords