From 9611114bc1492983d4d1664ab6f57d72101fcd29 Mon Sep 17 00:00:00 2001 From: Wataru Hirayama Date: Wed, 3 Sep 2014 14:29:06 +0900 Subject: [PATCH] add elements-of-type function. --- lib/compass/_functions.scss | 1 + lib/compass/functions/_display.scss | 36 +++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100755 lib/compass/functions/_display.scss diff --git a/lib/compass/_functions.scss b/lib/compass/_functions.scss index 5b722d4..d00590a 100644 --- a/lib/compass/_functions.scss +++ b/lib/compass/_functions.scss @@ -1,2 +1,3 @@ @import "functions/lists"; @import "functions/constants"; +@import "functions/display"; diff --git a/lib/compass/functions/_display.scss b/lib/compass/functions/_display.scss new file mode 100755 index 0000000..0d6a7cb --- /dev/null +++ b/lib/compass/functions/_display.scss @@ -0,0 +1,36 @@ +/* + * A partial implementation of the Ruby display functions from Compass: + * https://github.com/Compass/compass/blob/stable/core/lib/compass/core/sass_extensions/functions/display.rb + */ + +@function elements-of-type($type){ + @if ($type == block){ + @return address, article, aside, blockquote, center, dir, div, dd, details, dl, dt, fieldset, figcaption, figure, form, footer, frameset, h1, h2, h3, h4, h5, h6, hr, header, hgroup, isindex, main, menu, nav, noframes, noscript, ol, p, pre, section, summary, ul; + } @else if ($type == inline){ + @return a, abbr, acronym, audio, b, basefont, bdo, big, br, canvas, cite, code, command, datalist, dfn, em, embed, font, i, img, input, keygen, kbd, label, mark, meter, output, progress, q, rp, rt, ruby, s, samp, select, small, span, strike, strong, sub, sup, textarea, time, tt, u, var, video, wbr; + } @else if ($type == inline-block){ + @return img; + } @else if ($type == table){ + @return table; + } @else if ($type == list-item){ + @return li; + } @else if ($type == table-row-group){ + @return tbody; + } @else if ($type == table-header-group){ + @return thead; + } @else if ($type == table-footer-group){ + @return tfoot; + } @else if ($type == table-row){ + @return tr; + } @else if ($type == table-cell){ + @return th, td; + } @else if ($type == html5-block){ + @return article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary; + } @else if ($type == html5-inline){ + @return audio, canvas, command, datalist, embed, keygen, mark, meter, output, progress, rp, rt, ruby, time, video, wbr; + } @else if ($type == html5){ + @return article, aside, audio, canvas, command, datalist, details, embed, figcaption, figure, footer, header, hgroup, keygen, main, mark, menu, meter, nav, output, progress, rp, rt, ruby, section, summary, time, video, wbr; + } @else if ($type == text-input){ + @return input, textarea; + } +}