mirror of
https://github.com/hanzoai/postcss.git
synced 2026-09-24 17:01:56 +00:00
37 lines
786 B
CoffeeScript
37 lines
786 B
CoffeeScript
Container = require('./container')
|
|
Declaration = require('./declaration')
|
|
|
|
# CSS rule like “a { }”
|
|
class Rule extends Container.WithDecls
|
|
constructor: ->
|
|
@type = 'rule'
|
|
super
|
|
|
|
# Different style for empty and non-empty rules
|
|
styleType: ->
|
|
@type + if @decls.length
|
|
'-body'
|
|
else
|
|
'-empty'
|
|
|
|
defaultStyle: (type) ->
|
|
if type == 'rule-body'
|
|
{ between: ' ', after: @defaultAfter() }
|
|
else
|
|
{ between: ' ', after: '' }
|
|
|
|
@raw 'selector'
|
|
|
|
# Shortcut to get selectors as array
|
|
@prop 'selectors',
|
|
get: ->
|
|
@selector.split(/\s*,\s*/)
|
|
set: (values) ->
|
|
@selector = values.join(', ')
|
|
|
|
# Stringify rule
|
|
stringify: (builder) ->
|
|
@stringifyBlock(builder, @_selector + @style().between + '{')
|
|
|
|
module.exports = Rule
|