12.0.3 • Published 4 years ago

@fela-next/fela-plugin-custom-property v12.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

fela-plugin-custom-property

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-next/fela'
import customProperty from '@fela-next/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-next/fela'
import customProperty from '@fela-next/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 Common License. Created with ♥ by @robinweser and all the great contributors.