npm.io
1.3.1 • Published 7 years ago

@samtietjen/mapped-classes

Licence
Version
1.3.1
Deps
0
Size
2 kB
Vulns
0
Weekly
0
Stars
10

Mapped Classes

Convert objects into consistent class name strings.

Installation

npm i @samtietjen/mapped-classes --save

Usage

import createMapper from '@samtietjen/mapped-classes';

const mapper = createMapper({
  breakpoints: [null, 'md', 'lg'],
  mappings: { fontSize: 'font-size', padding: 'p' },
  getter: ({ breakpoint, root, value }) => [breakpoint, root, value]
    .filter(x => x && value !== false || x === 0)
    .join('-')
});
 
const classes = mapper({ 
  fontSize: 1,
  padding: [1, 2, 3]
}); 

// 'font-size-1 p-1 md-p-2 lg-p-3'

License

MIT Sam Tietjen