Skip to content

Instantly share code, notes, and snippets.

@mndvns
Last active August 29, 2015 14:15
Show Gist options
  • Save mndvns/043b1afd64f0c0760d87 to your computer and use it in GitHub Desktop.
Save mndvns/043b1afd64f0c0760d87 to your computer and use it in GitHub Desktop.
.test {}
.test:hover {
color: blue
}
.test {}
.test:hover {
color: blue
}
.test {}
.test:hover {
color: blue;
}
import * as merge from 'utils-merge'
function Constructor(opts)
var opts = merge(opts, opts.defaults)
var sel = opts.sel || ''
`sel`
if opts.children
= opts.children
each name, i in opts.blocks
var pair = opts.blocks[i]
var block = opts[pair[0]]
if pair[0]
`sel + '&' + pair[1]`
if typeof block === 'object'
each value, decl in block
= decl + ': ' + value
else
= block
function Button(opts)
var out = merge(opts, {blocks: [['hover',':hover']]})
= Constructor(out)
.test
Button(defaults={hover:{color:'blue'}})
Button(hover={color:'blue'})
Button
block hover
color blue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment