Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including fela-plugin-named-keys with all npm packages installed. Try it out:

var felaPluginNamedKeys = require("fela-plugin-named-keys")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

fela-plugin-named-keys v10.5.0

Fela plugin to replace named keys

fela-plugin-named-keys

Note: This plugin was named fela-plugin-named-media-query before. It was renamed to semantically also match @supports rules.

npm version npm downloads Bundlephobia

This plugin is basically a convenient plugin for more readable code and better maintenance.
It allows to define custom key names that are later replaced for valid keys.

Installation

yarn add fela-plugin-named-keys

You may alternatively use npm i --save fela-plugin-named-keys.

Usage

Make sure to read the documentation on how to use plugins.

import { createRenderer } from 'fela'
import namedKeys from 'fela-plugin-named-keys'

const renderer = createRenderer({
  plugins: [ namedKeys() ]
})

Configuration

Parameters
ParameterValueDefaultDescription
keyMap(Object){}An object with key-replacement pairs
Example
import { createRenderer } from 'fela'
import namedKeys from 'fela-plugin-named-keys'

const namedKeysPlugin = namedKeys({
  desktop: '@media (min-width: 1024px)',
  tablet: '@media (min-width: 768px)',
  supportsFlex: '@supports (display: flex)',
  supportsGrid: '@supports (display: grid)'
})

const renderer = createRenderer({
  plugins: [ namedKeysPlugin ]
})

Example

Using the above example code:

Input

{
  color: 'red',
  supportsGrid: {
    color: 'green'
  },
  desktop: {
    color: 'blue',
    supportsGrid: {
      color: 'yellow'
    }
  }
}

Output

{
  color: 'red',
  '@supports (display: grid)' : {
    color: 'green'
  },
  '@media (min-width: 1024px)': {
    color: 'blue',
    '@supports (display: grid)' : {
      color: 'yellow'
    },
  }
}

License

Fela is licensed under the MIT License.
Documentation is licensed under Creative Common License.
Created with ♥ by @rofrischmann and all the great contributors.

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free