A small library for CSS class composition, it supports both Clojure and ClojureScript.
[ccn "0.1.1"]
(require '[ccn.core :as ccn])
Composes a CSS class for an element with modifiers by BEM methodology.
(ccn/bem "block" ["modifier1" "modifier2"])
"block block--modifier1 block--modifier2"
(ccn/bem "block" "element" ["modifier1" "modifier2"])
"block__element block__element--modifier1 block__element--modifier2"
(ccn/bem "block" [nil])
"block"
Composes a CSS class from given args, removes blanks.
(ccn/css-class "foo" nil "")
"foo"
(ccn/css-class "foo" "bar")
"foo bar"
Composes a CSS class in Twitter Bootstrap way. It handles special cases like disabled
.
(ccn/twbs "table" ["responsive" nil ""])
"table table-responsive"
(ccn/twbs "btn" ["primary" "disabled"])
"disabled btn btn-primary"